Go to the documentation of this file.
249 for (
i = 0;
i < 3;
i++) {
266 if (
code >= 0x400 &&
code != 0x7fff) {
267 for (
i = 2;
i >= 0;
i--) {
334 int object_type_id =
avio_r8(pb);
350 if (object_type_id == 0x69 || object_type_id == 0x6b)
352 if (!
len || (uint64_t)
len > (1<<30))
372 "sample rate %d ext sample rate %d\n", cfg.
channels,
417 uint32_t layout_tag = 0;
420 if (channel_layout ==
layouts->channel_layout) {
421 layout_tag =
layouts->layout_tag;
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
#define AV_CH_LAYOUT_5POINT0_BACK
int ff_mp4_read_dec_config_descr(void *logctx, AVStream *st, AVIOContext *pb)
const AVCodecTag ff_mp4_obj_type[]
enum MovChannelLayoutTag * layouts
@ AOT_PS
N Parametric Stereo.
#define AV_CH_LAYOUT_MONO
enum AVChannelOrder order
Channel order used in this layout.
int nb_channels
Number of channels in this layout.
int ff_mov_lang_to_iso639(unsigned code, char to[4])
int ff_get_extradata(void *logctx, AVCodecParameters *par, AVIOContext *pb, int size)
Allocate extradata with additional AV_INPUT_BUFFER_PADDING_SIZE at end which is always set to 0 and f...
#define MP4DecSpecificDescrTag
@ AV_CODEC_ID_MP3
preferred ID for decoding MPEG audio layer 1, 2 or 3
#define AV_CH_LAYOUT_STEREO
#define AV_CH_LAYOUT_QUAD
void ff_mp4_parse_es_descr(AVIOContext *pb, int *es_id)
unsigned int avio_rb32(AVIOContext *s)
#define AV_LOG_TRACE
Extremely verbose debugging, useful for libav* development.
#define FF_ARRAY_ELEMS(a)
#define AV_CH_LOW_FREQUENCY
@ AV_CODEC_ID_MPEG4SYSTEMS
FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)
int avpriv_mpeg4audio_get_config2(MPEG4AudioConfig *c, const uint8_t *buf, int size, int sync_extension, void *logctx)
Parse MPEG-4 systems extradata from a raw buffer to retrieve audio configuration.
@ AV_CHANNEL_ORDER_UNSPEC
Only the channel count is specified, without any further information about the channel order.
#define AV_CH_LAYOUT_STEREO_DOWNMIX
static const MovChannelLayout mov_channel_layout[]
AVCodecParameters * codecpar
Codec parameters associated with this stream.
@ AV_CODEC_ID_DVD_SUBTITLE
#define AV_CH_LAYOUT_5POINT1
static const char mov_mdhd_language_map[][4]
AVChannelLayout ch_layout
Audio only.
const AVCodecTag ff_codec_movdata_tags[]
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
int ff_mp4_read_descr(void *logctx, AVIOContext *pb, int *tag)
int sample_rate
Audio only.
AVCodecID
Identify the syntax and semantics of the bitstream.
int extradata_size
Size of the extradata content in bytes.
unsigned int avio_rb24(AVIOContext *s)
static const struct MP4TrackKindValueMapping dash_role_map[]
int ff_mov_iso639_to_lang(const char lang[4], int mp4)
void avio_wb32(AVIOContext *s, unsigned int val)
int avio_r8(AVIOContext *s)
#define AV_CH_LAYOUT_5POINT1_BACK
int ff_mp4_read_descr_len(AVIOContext *pb)
#define AV_CH_LAYOUT_5POINT0
#define i(width, name, range_min, range_max)
and forward the test the status of outputs and forward it to the corresponding return FFERROR_NOT_READY If the filters stores internally one or a few frame for some it can consider them to be part of the FIFO and delay acknowledging a status change accordingly Example code
#define AV_CH_LAYOUT_7POINT1
#define AV_CH_LAYOUT_7POINT1_WIDE
static const AVCodecTag mp4_audio_types[]
#define AV_CH_LAYOUT_SURROUND
unsigned int avio_rb16(AVIOContext *s)
void av_channel_layout_uninit(AVChannelLayout *channel_layout)
Free any allocated data in the channel layout and reset the channel count to 0.
const uint16_t ff_mpa_freq_tab[3]
const AVCodecTag ff_codec_movsubtitle_tags[]
int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward.
@ AOT_ALS
Y Audio LosslesS.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
#define AV_CH_LAYOUT_4POINT0
#define flags(name, subs,...)
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
const struct MP4TrackKindMapping ff_mov_track_kind_table[]
#define MKTAG(a, b, c, d)
void ff_mov_write_chan(AVIOContext *pb, int64_t channel_layout)
@ AV_CODEC_ID_MPEG2VIDEO
preferred ID for MPEG-1/2 video decoding