FFmpeg
Data Structures | Functions | Variables
isom.c File Reference
#include "avformat.h"
#include "internal.h"
#include "isom.h"
#include "libavcodec/mpeg4audio.h"
#include "libavcodec/mpegaudiodata.h"
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"

Go to the source code of this file.

Data Structures

struct  MovChannelLayout
 

Functions

int ff_mov_iso639_to_lang (const char lang[4], int mp4)
 
int ff_mov_lang_to_iso639 (unsigned code, char to[4])
 
int ff_mp4_read_descr_len (AVIOContext *pb)
 
int ff_mp4_read_descr (AVFormatContext *fc, AVIOContext *pb, int *tag)
 
void ff_mp4_parse_es_descr (AVIOContext *pb, int *es_id)
 
int ff_mp4_read_dec_config_descr (AVFormatContext *fc, AVStream *st, AVIOContext *pb)
 
void ff_mov_write_chan (AVIOContext *pb, int64_t channel_layout)
 
const struct AVCodecTagavformat_get_mov_video_tags (void)
 
const struct AVCodecTagavformat_get_mov_audio_tags (void)
 

Variables

const AVCodecTag ff_mp4_obj_type []
 
const AVCodecTag ff_codec_movvideo_tags []
 
const AVCodecTag ff_codec_movaudio_tags []
 
const AVCodecTag ff_codec_movsubtitle_tags []
 
const AVCodecTag ff_codec_movdata_tags []
 
static const char mov_mdhd_language_map [][4]
 
static const AVCodecTag mp4_audio_types []
 
static const MovChannelLayout mov_channel_layout []
 

Function Documentation

◆ ff_mov_iso639_to_lang()

int ff_mov_iso639_to_lang ( const char  lang[4],
int  mp4 
)

Definition at line 414 of file isom.c.

Referenced by get_metadata_lang(), mov_init(), and mov_write_string_data_tag().

◆ ff_mov_lang_to_iso639()

int ff_mov_lang_to_iso639 ( unsigned  code,
char  to[4] 
)

Definition at line 441 of file isom.c.

Referenced by mov_metadata_loci(), mov_read_mdhd(), and mov_read_udta_string().

◆ ff_mp4_read_descr_len()

int ff_mp4_read_descr_len ( AVIOContext pb)

Definition at line 463 of file isom.c.

Referenced by ff_mp4_read_descr(), and read_pakt_chunk().

◆ ff_mp4_read_descr()

int ff_mp4_read_descr ( AVFormatContext fc,
AVIOContext pb,
int tag 
)

Definition at line 476 of file isom.c.

Referenced by ff_mov_read_esds(), ff_mp4_read_dec_config_descr(), and parse_mp4_descr().

◆ ff_mp4_parse_es_descr()

void ff_mp4_parse_es_descr ( AVIOContext pb,
int es_id 
)

Definition at line 485 of file isom.c.

Referenced by ff_mov_read_esds(), and parse_MP4ESDescrTag().

◆ ff_mp4_read_dec_config_descr()

int ff_mp4_read_dec_config_descr ( AVFormatContext fc,
AVStream st,
AVIOContext pb 
)

Definition at line 510 of file isom.c.

Referenced by ff_mov_read_esds(), ff_parse_mpeg2_descriptor(), and m4sl_cb().

◆ ff_mov_write_chan()

void ff_mov_write_chan ( AVIOContext pb,
int64_t  channel_layout 
)

Definition at line 642 of file isom.c.

Referenced by aiff_write_header(), and caf_write_header().

Variable Documentation

◆ ff_mp4_obj_type

const AVCodecTag ff_mp4_obj_type[]

Definition at line 34 of file isom.c.

Referenced by ff_mp4_read_dec_config_descr(), mov_write_esds_tag(), and set_codec_str().

◆ ff_codec_movvideo_tags

const AVCodecTag ff_codec_movvideo_tags[]

◆ ff_codec_movaudio_tags

const AVCodecTag ff_codec_movaudio_tags[]

◆ ff_codec_movsubtitle_tags

const AVCodecTag ff_codec_movsubtitle_tags[]
Initial value:
= {
{ AV_CODEC_ID_MOV_TEXT, MKTAG('t', 'e', 'x', 't') },
{ AV_CODEC_ID_MOV_TEXT, MKTAG('t', 'x', '3', 'g') },
{ AV_CODEC_ID_EIA_608, MKTAG('c', '6', '0', '8') },
}

Definition at line 376 of file isom.c.

Referenced by mov_codec_id(), and mov_get_codec_tag().

◆ ff_codec_movdata_tags

const AVCodecTag ff_codec_movdata_tags[]
Initial value:
= {
{ AV_CODEC_ID_BIN_DATA, MKTAG('g', 'p', 'm', 'd') },
}

Definition at line 383 of file isom.c.

Referenced by mov_codec_id().

◆ mov_mdhd_language_map

const char mov_mdhd_language_map[][4]
static
Initial value:
= {
"eng", "fra", "ger", "ita", "dut", "sve", "spa", "dan", "por", "nor",
"heb", "jpn", "ara", "fin", "gre", "ice", "mlt", "tur", "hr ", "chi",
"urd", "hin", "tha", "kor", "lit", "pol", "hun", "est", "lav", "",
"fo ", "", "rus", "chi", "", "iri", "alb", "ron", "ces", "slk",
"slv", "yid", "sr ", "mac", "bul", "ukr", "bel", "uzb", "kaz", "aze",
"aze", "arm", "geo", "mol", "kir", "tgk", "tuk", "mon", "", "pus",
"kur", "kas", "snd", "tib", "nep", "san", "mar", "ben", "asm", "guj",
"pa ", "ori", "mal", "kan", "tam", "tel", "", "bur", "khm", "lao",
"vie", "ind", "tgl", "may", "may", "amh", "tir", "orm", "som", "swa",
"", "run", "", "mlg", "epo", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "wel", "baq",
"cat", "lat", "que", "grn", "aym", "tat", "uig", "dzo", "jav"
}

Definition at line 392 of file isom.c.

Referenced by ff_mov_iso639_to_lang(), and ff_mov_lang_to_iso639().

◆ mp4_audio_types

const AVCodecTag mp4_audio_types[]
static

◆ mov_channel_layout

const MovChannelLayout mov_channel_layout[]
static
Initial value:
= {
{ AV_CH_LAYOUT_MONO, (100<<16) | 1},
{ AV_CH_LAYOUT_STEREO, (101<<16) | 2},
{ AV_CH_LAYOUT_STEREO, (102<<16) | 2},
{ AV_CH_LAYOUT_2_1, (131<<16) | 3},
{ AV_CH_LAYOUT_QUAD, (132<<16) | 4},
{ AV_CH_LAYOUT_2_2, (132<<16) | 4},
{ AV_CH_LAYOUT_QUAD, (108<<16) | 4},
{ AV_CH_LAYOUT_SURROUND, (113<<16) | 3},
{ AV_CH_LAYOUT_4POINT0, (115<<16) | 4},
{ AV_CH_LAYOUT_5POINT0_BACK, (117<<16) | 5},
{ AV_CH_LAYOUT_5POINT0, (117<<16) | 5},
{ AV_CH_LAYOUT_5POINT1_BACK, (121<<16) | 6},
{ AV_CH_LAYOUT_5POINT1, (121<<16) | 6},
{ AV_CH_LAYOUT_7POINT1, (128<<16) | 8},
{ AV_CH_LAYOUT_7POINT1_WIDE, (126<<16) | 8},
{ 0, 0},
}

Definition at line 577 of file isom.c.

Referenced by ff_mov_write_chan().

AV_CODEC_ID_EIA_608
@ AV_CODEC_ID_EIA_608
Definition: avcodec.h:669
AV_CH_LAYOUT_5POINT0_BACK
#define AV_CH_LAYOUT_5POINT0_BACK
Definition: channel_layout.h:97
MKTAG
#define MKTAG(a, b, c, d)
Definition: common.h:366
AOT_PS
@ AOT_PS
N Parametric Stereo.
Definition: mpeg4audio.h:100
AV_CH_LAYOUT_MONO
#define AV_CH_LAYOUT_MONO
Definition: channel_layout.h:85
AV_CODEC_ID_MP3ON4
@ AV_CODEC_ID_MP3ON4
Definition: avcodec.h:578
AOT_L1
@ AOT_L1
Y Layer 1.
Definition: mpeg4audio.h:103
AV_CODEC_ID_BIN_DATA
@ AV_CODEC_ID_BIN_DATA
Definition: avcodec.h:698
AV_CH_LAYOUT_STEREO
#define AV_CH_LAYOUT_STEREO
Definition: channel_layout.h:86
AV_CH_LAYOUT_QUAD
#define AV_CH_LAYOUT_QUAD
Definition: channel_layout.h:94
AV_CH_LOW_FREQUENCY
#define AV_CH_LOW_FREQUENCY
Definition: channel_layout.h:52
AV_CH_LAYOUT_STEREO_DOWNMIX
#define AV_CH_LAYOUT_STEREO_DOWNMIX
Definition: channel_layout.h:112
AV_CH_LAYOUT_2_1
#define AV_CH_LAYOUT_2_1
Definition: channel_layout.h:88
AV_CODEC_ID_MOV_TEXT
@ AV_CODEC_ID_MOV_TEXT
Definition: avcodec.h:663
AV_CH_LAYOUT_5POINT1
#define AV_CH_LAYOUT_5POINT1
Definition: channel_layout.h:96
AV_CODEC_ID_MP4ALS
@ AV_CODEC_ID_MP4ALS
Definition: avcodec.h:609
AOT_L2
@ AOT_L2
Y Layer 2.
Definition: mpeg4audio.h:104
AV_CH_LAYOUT_5POINT1_BACK
#define AV_CH_LAYOUT_5POINT1_BACK
Definition: channel_layout.h:98
AV_CH_LAYOUT_5POINT0
#define AV_CH_LAYOUT_5POINT0
Definition: channel_layout.h:95
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: avcodec.h:216
AV_CH_LAYOUT_7POINT1
#define AV_CH_LAYOUT_7POINT1
Definition: channel_layout.h:107
AV_CH_LAYOUT_7POINT1_WIDE
#define AV_CH_LAYOUT_7POINT1_WIDE
Definition: channel_layout.h:108
AOT_NULL
@ AOT_NULL
Definition: mpeg4audio.h:73
AV_CH_LAYOUT_SURROUND
#define AV_CH_LAYOUT_SURROUND
Definition: channel_layout.h:89
AOT_ALS
@ AOT_ALS
Y Audio LosslesS.
Definition: mpeg4audio.h:107
AV_CH_LAYOUT_4POINT0
#define AV_CH_LAYOUT_4POINT0
Definition: channel_layout.h:91
AOT_L3
@ AOT_L3
Y Layer 3.
Definition: mpeg4audio.h:105
AV_CH_LAYOUT_2_2
#define AV_CH_LAYOUT_2_2
Definition: channel_layout.h:93