316 "eng",
"fra",
"ger",
"ita",
"dut",
"sve",
"spa",
"dan",
"por",
"nor",
317 "heb",
"jpn",
"ara",
"fin",
"gre",
"ice",
"mlt",
"tur",
"hr ",
"chi",
318 "urd",
"hin",
"tha",
"kor",
"lit",
"pol",
"hun",
"est",
"lav",
"",
319 "fo ",
"",
"rus",
"chi",
"",
"iri",
"alb",
"ron",
"ces",
"slk",
320 "slv",
"yid",
"sr ",
"mac",
"bul",
"ukr",
"bel",
"uzb",
"kaz",
"aze",
322 "aze",
"arm",
"geo",
"mol",
"kir",
"tgk",
"tuk",
"mon",
"",
"pus",
323 "kur",
"kas",
"snd",
"tib",
"nep",
"san",
"mar",
"ben",
"asm",
"guj",
324 "pa ",
"ori",
"mal",
"kan",
"tam",
"tel",
"",
"bur",
"khm",
"lao",
326 "vie",
"ind",
"tgl",
"may",
"may",
"amh",
"tir",
"orm",
"som",
"swa",
328 "",
"run",
"",
"mlg",
"epo",
"",
"",
"",
"",
"",
330 "",
"",
"",
"",
"",
"",
"",
"",
"",
"",
331 "",
"",
"",
"",
"",
"",
"",
"",
"",
"",
332 "",
"",
"",
"",
"",
"",
"",
"",
"wel",
"baq",
333 "cat",
"lat",
"que",
"grn",
"aym",
"tat",
"uig",
"dzo",
"jav" 352 for (i = 0; i < 3; i++) {
369 if (code >= 0x400 && code != 0x7fff) {
370 for (i = 2; i >= 0; i--) {
371 to[i] = 0x60 + (code & 0x1f);
391 len = (len << 7) | (c & 0x7f);
403 av_dlog(fc,
"MPEG4 description: tag=0x%02x len=%d\n", *tag, len);
435 int object_type_id =
avio_r8(pb);
442 av_dlog(fc,
"esds object type id 0x%02x\n", object_type_id);
445 av_dlog(fc,
"Specific MPEG4 header len=%d\n", len);
446 if (!len || (uint64_t)len > (1<<30))
465 av_dlog(fc,
"mp4a config channels %d obj %d ext obj %d "
int ff_mov_iso639_to_lang(const char lang[4], int mp4)
static const AVCodecTag mp4_audio_types[]
void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id)
#define FF_ARRAY_ELEMS(a)
unsigned int avio_rb16(AVIOContext *s)
mpeg audio layer common tables.
static const char mov_mdhd_language_map[][4]
av_dlog(ac->avr, "%d samples - audio_convert: %s to %s (%s)\, 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)
const AVCodecTag ff_codec_movvideo_tags[]
unsigned int avio_rb32(AVIOContext *s)
const uint16_t avpriv_mpa_freq_tab[3]
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
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
preferred ID for decoding MPEG audio layer 1, 2 or 3
const AVCodecTag ff_mp4_obj_type[]
const AVCodecTag ff_codec_movsubtitle_tags[]
int avio_r8(AVIOContext *s)
AVCodecContext * codec
Codec context associated with this stream.
#define FF_INPUT_BUFFER_PADDING_SIZE
Required number of additionally allocated bytes at the end of the input bitstream for decoding...
unsigned int avio_rb24(AVIOContext *s)
static av_always_inline int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward.
preferred ID for MPEG-1/2 video decoding
int ff_mov_lang_to_iso639(unsigned code, char to[4])
FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)
const AVCodecTag ff_codec_movaudio_tags[]
int sample_rate
samples per second
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.
as in Berlin toast format
int channels
number of audio channels
#define MKTAG(a, b, c, d)
void * av_mallocz(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...