1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
use libc::{c_char, c_int, c_uint, c_ulonglong, uint64_t, int64_t}; use super::bprint::AVBPrint; pub const AV_CH_FRONT_LEFT: c_ulonglong = 0x00000001; pub const AV_CH_FRONT_RIGHT: c_ulonglong = 0x00000002; pub const AV_CH_FRONT_CENTER: c_ulonglong = 0x00000004; pub const AV_CH_LOW_FREQUENCY: c_ulonglong = 0x00000008; pub const AV_CH_BACK_LEFT: c_ulonglong = 0x00000010; pub const AV_CH_BACK_RIGHT: c_ulonglong = 0x00000020; pub const AV_CH_FRONT_LEFT_OF_CENTER: c_ulonglong = 0x00000040; pub const AV_CH_FRONT_RIGHT_OF_CENTER: c_ulonglong = 0x00000080; pub const AV_CH_BACK_CENTER: c_ulonglong = 0x00000100; pub const AV_CH_SIDE_LEFT: c_ulonglong = 0x00000200; pub const AV_CH_SIDE_RIGHT: c_ulonglong = 0x00000400; pub const AV_CH_TOP_CENTER: c_ulonglong = 0x00000800; pub const AV_CH_TOP_FRONT_LEFT: c_ulonglong = 0x00001000; pub const AV_CH_TOP_FRONT_CENTER: c_ulonglong = 0x00002000; pub const AV_CH_TOP_FRONT_RIGHT: c_ulonglong = 0x00004000; pub const AV_CH_TOP_BACK_LEFT: c_ulonglong = 0x00008000; pub const AV_CH_TOP_BACK_CENTER: c_ulonglong = 0x00010000; pub const AV_CH_TOP_BACK_RIGHT: c_ulonglong = 0x00020000; pub const AV_CH_STEREO_LEFT: c_ulonglong = 0x20000000; pub const AV_CH_STEREO_RIGHT: c_ulonglong = 0x40000000; pub const AV_CH_WIDE_LEFT: c_ulonglong = 0x0000000080000000; pub const AV_CH_WIDE_RIGHT: c_ulonglong = 0x0000000100000000; pub const AV_CH_SURROUND_DIRECT_LEFT: c_ulonglong = 0x0000000200000000; pub const AV_CH_SURROUND_DIRECT_RIGHT: c_ulonglong = 0x0000000400000000; pub const AV_CH_LOW_FREQUENCY_2: c_ulonglong = 0x0000000800000000; pub const AV_CH_LAYOUT_NATIVE: c_ulonglong = 0x8000000000000000; pub const AV_CH_LAYOUT_MONO: c_ulonglong = AV_CH_FRONT_CENTER; pub const AV_CH_LAYOUT_STEREO: c_ulonglong = AV_CH_FRONT_LEFT | AV_CH_FRONT_RIGHT; pub const AV_CH_LAYOUT_2POINT1: c_ulonglong = AV_CH_LAYOUT_STEREO | AV_CH_LOW_FREQUENCY; pub const AV_CH_LAYOUT_2_1: c_ulonglong = AV_CH_LAYOUT_STEREO | AV_CH_BACK_CENTER; pub const AV_CH_LAYOUT_SURROUND: c_ulonglong = AV_CH_LAYOUT_STEREO | AV_CH_FRONT_CENTER; pub const AV_CH_LAYOUT_3POINT1: c_ulonglong = AV_CH_LAYOUT_SURROUND | AV_CH_LOW_FREQUENCY; pub const AV_CH_LAYOUT_4POINT0: c_ulonglong = AV_CH_LAYOUT_SURROUND | AV_CH_BACK_CENTER; pub const AV_CH_LAYOUT_4POINT1: c_ulonglong = AV_CH_LAYOUT_4POINT0 | AV_CH_LOW_FREQUENCY; pub const AV_CH_LAYOUT_2_2: c_ulonglong = AV_CH_LAYOUT_STEREO | AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT; pub const AV_CH_LAYOUT_QUAD: c_ulonglong = AV_CH_LAYOUT_STEREO | AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT; pub const AV_CH_LAYOUT_5POINT0: c_ulonglong = AV_CH_LAYOUT_SURROUND | AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT; pub const AV_CH_LAYOUT_5POINT1: c_ulonglong = AV_CH_LAYOUT_5POINT0 | AV_CH_LOW_FREQUENCY; pub const AV_CH_LAYOUT_5POINT0_BACK: c_ulonglong = AV_CH_LAYOUT_SURROUND | AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT; pub const AV_CH_LAYOUT_5POINT1_BACK: c_ulonglong = AV_CH_LAYOUT_5POINT0_BACK | AV_CH_LOW_FREQUENCY; pub const AV_CH_LAYOUT_6POINT0: c_ulonglong = AV_CH_LAYOUT_5POINT0 | AV_CH_BACK_CENTER; pub const AV_CH_LAYOUT_6POINT0_FRONT: c_ulonglong = AV_CH_LAYOUT_2_2 | AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER; pub const AV_CH_LAYOUT_HEXAGONAL: c_ulonglong = AV_CH_LAYOUT_5POINT0_BACK | AV_CH_BACK_CENTER; pub const AV_CH_LAYOUT_6POINT1: c_ulonglong = AV_CH_LAYOUT_5POINT1 | AV_CH_BACK_CENTER; pub const AV_CH_LAYOUT_6POINT1_BACK: c_ulonglong = AV_CH_LAYOUT_5POINT1_BACK | AV_CH_BACK_CENTER; pub const AV_CH_LAYOUT_6POINT1_FRONT: c_ulonglong = AV_CH_LAYOUT_6POINT0_FRONT | AV_CH_LOW_FREQUENCY; pub const AV_CH_LAYOUT_7POINT0: c_ulonglong = AV_CH_LAYOUT_5POINT0 | AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT; pub const AV_CH_LAYOUT_7POINT0_FRONT: c_ulonglong = AV_CH_LAYOUT_5POINT0 | AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER; pub const AV_CH_LAYOUT_7POINT1: c_ulonglong = AV_CH_LAYOUT_5POINT1 | AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT; pub const AV_CH_LAYOUT_7POINT1_WIDE: c_ulonglong = AV_CH_LAYOUT_5POINT1 | AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER; pub const AV_CH_LAYOUT_7POINT1_WIDE_BACK: c_ulonglong = AV_CH_LAYOUT_5POINT1_BACK | AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER; pub const AV_CH_LAYOUT_OCTAGONAL: c_ulonglong = AV_CH_LAYOUT_5POINT0 | AV_CH_BACK_LEFT | AV_CH_BACK_CENTER | AV_CH_BACK_RIGHT; pub const AV_CH_LAYOUT_HEXADECAGONAL: c_ulonglong = AV_CH_LAYOUT_OCTAGONAL | AV_CH_WIDE_LEFT | AV_CH_WIDE_RIGHT | AV_CH_TOP_BACK_LEFT | AV_CH_TOP_BACK_RIGHT | AV_CH_TOP_BACK_CENTER | AV_CH_TOP_FRONT_CENTER | AV_CH_TOP_FRONT_LEFT | AV_CH_TOP_FRONT_RIGHT; pub const AV_CH_LAYOUT_STEREO_DOWNMIX: c_ulonglong = AV_CH_STEREO_LEFT | AV_CH_STEREO_RIGHT; #[derive(Eq, PartialEq, Copy, Clone, Debug)] #[repr(C)] pub enum AVMatrixEncoding { AV_MATRIX_ENCODING_NONE, AV_MATRIX_ENCODING_DOLBY, AV_MATRIX_ENCODING_DPLII, AV_MATRIX_ENCODING_DPLIIX, AV_MATRIX_ENCODING_DPLIIZ, AV_MATRIX_ENCODING_DOLBYEX, AV_MATRIX_ENCODING_DOLBYHEADPHONE, AV_MATRIX_ENCODING_NB } extern { pub fn av_get_channel_layout(name: *const c_char) -> uint64_t; pub fn av_get_channel_layout_string(buf: *mut c_char, buf_size: c_int, nb_channels: c_int, channel_layout: uint64_t); pub fn av_bprint_channel_layout(bp: *mut AVBPrint, nb_channels: c_int, channel_layout: uint64_t); pub fn av_get_channel_layout_nb_channels(channel_layout: uint64_t) -> c_int; pub fn av_get_default_channel_layout(nb_channels: c_int) -> int64_t; pub fn av_get_channel_layout_channel_index(channel_layout: uint64_t, channel: uint64_t) -> c_int; pub fn av_channel_layout_extract_channel(channel_layout: uint64_t, index: c_int) -> uint64_t; pub fn av_get_channel_name(channel: uint64_t) -> *const c_char; pub fn av_get_channel_description(channel: uint64_t) -> *const c_char; pub fn av_get_standard_channel_layout(index: c_uint, layout: *mut uint64_t, name: *const *const c_char) -> c_int; }