321 "eng",
"fra",
"ger",
"ita",
"dut",
"sve",
"spa",
"dan",
"por",
"nor",
322 "heb",
"jpn",
"ara",
"fin",
"gre",
"ice",
"mlt",
"tur",
"hr ",
"chi",
323 "urd",
"hin",
"tha",
"kor",
"lit",
"pol",
"hun",
"est",
"lav",
"",
324 "fo ",
"",
"rus",
"chi",
"",
"iri",
"alb",
"ron",
"ces",
"slk",
325 "slv",
"yid",
"sr ",
"mac",
"bul",
"ukr",
"bel",
"uzb",
"kaz",
"aze",
327 "aze",
"arm",
"geo",
"mol",
"kir",
"tgk",
"tuk",
"mon",
"",
"pus",
328 "kur",
"kas",
"snd",
"tib",
"nep",
"san",
"mar",
"ben",
"asm",
"guj",
329 "pa ",
"ori",
"mal",
"kan",
"tam",
"tel",
"",
"bur",
"khm",
"lao",
331 "vie",
"ind",
"tgl",
"may",
"may",
"amh",
"tir",
"orm",
"som",
"swa",
333 "",
"run",
"",
"mlg",
"epo",
"",
"",
"",
"",
"",
335 "",
"",
"",
"",
"",
"",
"",
"",
"",
"",
336 "",
"",
"",
"",
"",
"",
"",
"",
"",
"",
337 "",
"",
"",
"",
"",
"",
"",
"",
"wel",
"baq",
338 "cat",
"lat",
"que",
"grn",
"aym",
"tat",
"uig",
"dzo",
"jav"
357 for (i = 0; i < 3; i++) {
374 if (code >= 0x400 && code != 0x7fff) {
375 for (i = 2; i >= 0; i--) {
376 to[i] = 0x60 + (code & 0x1f);
396 len = (len << 7) | (c & 0x7f);
408 av_dlog(fc,
"MPEG4 description: tag=0x%02x len=%d\n", *tag, len);
440 int object_type_id =
avio_r8(pb);
452 av_dlog(fc,
"esds object type id 0x%02x\n", object_type_id);
455 av_dlog(fc,
"Specific MPEG4 header len=%d\n", len);
456 if (!len || (uint64_t)len > (1<<30))
473 av_dlog(fc,
"mp4a config channels %d obj %d ext obj %d "
528 if (layout_tag == 0) {
534 if (layout_tag == 0x10000) {
558 uint32_t layout_tag = 0;
560 for (layouts = mov_channel_layout; layouts->
channel_layout; layouts++)
int ff_mov_iso639_to_lang(const char lang[4], int mp4)
static const AVCodecTag mp4_audio_types[]
#define AV_CH_LAYOUT_7POINT1
void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id)
#define AV_LOG_WARNING
Something somehow does not look correct.
#define AV_CH_LAYOUT_SURROUND
static const MovChannelLayout mov_channel_layout[]
AVCodecContext * codec
Codec context associated with this stream.
void av_log(void *avcl, int level, const char *fmt,...) av_printf_format(3
Send the specified message to the log if the level is less than or equal to the current av_log_level...
#define AV_CH_LAYOUT_4POINT0
av_dlog(ac->avr,"%d samples - audio_convert: %s to %s (%s)\n", len, av_get_sample_fmt_name(ac->in_fmt), av_get_sample_fmt_name(ac->out_fmt), use_generic?ac->func_descr_generic:ac->func_descr)
#define AV_CH_LAYOUT_STEREO
#define AV_CH_LAYOUT_5POINT0
mpeg audio layer common tables.
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
static const char mov_mdhd_language_map[][4]
const AVCodecTag ff_codec_movvideo_tags[]
const uint16_t avpriv_mpa_freq_tab[3]
#define AV_CH_LOW_FREQUENCY
#define AV_CH_LAYOUT_5POINT1
int ff_mp4_read_dec_config_descr(AVFormatContext *fc, AVStream *st, AVIOContext *pb)
void av_free(void *ptr)
Free a memory block which has been allocated with av_malloc(z)() or av_realloc(). ...
int ff_mp4_read_descr_len(AVIOContext *pb)
#define MP4DecSpecificDescrTag
int avcodec_is_open(AVCodecContext *s)
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
preferred ID for decoding MPEG audio layer 1, 2 or 3
#define AV_CH_LAYOUT_QUAD
const AVCodecTag ff_mp4_obj_type[]
const AVCodecTag ff_codec_movsubtitle_tags[]
uint64_t channel_layout
Audio channel layout.
#define FF_ARRAY_ELEMS(a)
#define AV_CH_LAYOUT_STEREO_DOWNMIX
#define AV_CH_LAYOUT_5POINT1_BACK
preferred ID for MPEG-1/2 video decoding
int ff_mov_read_chan(AVFormatContext *s, AVIOContext *pb, AVStream *st, int64_t size)
Read 'chan' tag from the input stream.
int ff_mov_lang_to_iso639(unsigned code, char to[4])
FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)
attribute_deprecated void av_log_ask_for_sample(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message asking for a sample.
const AVCodecTag ff_codec_movaudio_tags[]
int sample_rate
samples per second
main external API structure.
AVIOContext * pb
I/O context.
#define MKTAG(a, b, c, d)
#define AV_CH_LAYOUT_5POINT0_BACK
enum MovChannelLayoutTag * layouts
#define AV_CH_LAYOUT_7POINT1_WIDE
void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout)
int ff_mp4_read_descr(AVFormatContext *fc, AVIOContext *pb, int *tag)
int avpriv_mpeg4audio_get_config(MPEG4AudioConfig *c, const uint8_t *buf, int bit_size, int sync_extension)
Parse MPEG-4 systems extradata to retrieve audio configuration.
#define AVERROR_INVALIDDATA
as in Berlin toast format
int channels
number of audio channels
#define AV_CH_LAYOUT_MONO