FFmpeg
Functions
iamf_parse.c File Reference
#include "libavutil/avassert.h"
#include "libavutil/iamf.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "libavcodec/get_bits.h"
#include "libavcodec/flac.h"
#include "libavcodec/leb.h"
#include "libavcodec/mpeg4audio.h"
#include "libavcodec/put_bits.h"
#include "avio_internal.h"
#include "iamf_parse.h"
#include "isom.h"

Go to the source code of this file.

Functions

static int opus_decoder_config (IAMFCodecConfig *codec_config, AVIOContext *pb, int len)
 
static int aac_decoder_config (IAMFCodecConfig *codec_config, AVIOContext *pb, int len, void *logctx)
 
static int flac_decoder_config (IAMFCodecConfig *codec_config, AVIOContext *pb, int len)
 
static int ipcm_decoder_config (IAMFCodecConfig *codec_config, AVIOContext *pb, int len)
 
static int codec_config_obu (void *s, IAMFContext *c, AVIOContext *pb, int len)
 
static int update_extradata (AVCodecParameters *codecpar)
 
static int scalable_channel_layout_config (void *s, AVIOContext *pb, IAMFAudioElement *audio_element, const IAMFCodecConfig *codec_config)
 
static int ambisonics_config (void *s, AVIOContext *pb, IAMFAudioElement *audio_element, const IAMFCodecConfig *codec_config)
 
static int param_parse (void *s, IAMFContext *c, AVIOContext *pb, unsigned int type, const IAMFAudioElement *audio_element, AVIAMFParamDefinition **out_param_definition)
 
static int audio_element_obu (void *s, IAMFContext *c, AVIOContext *pb, int len)
 
static int label_string (AVIOContext *pb, char **label)
 
static int mix_presentation_obu (void *s, IAMFContext *c, AVIOContext *pb, int len)
 
int ff_iamf_parse_obu_header (const uint8_t *buf, int buf_size, unsigned *obu_size, int *start_pos, enum IAMF_OBU_Type *type, unsigned *skip_samples, unsigned *discard_padding)
 
int ff_iamfdec_read_descriptors (IAMFContext *c, AVIOContext *pb, int max_size, void *log_ctx)
 

Function Documentation

◆ opus_decoder_config()

static int opus_decoder_config ( IAMFCodecConfig codec_config,
AVIOContext pb,
int  len 
)
static

Definition at line 36 of file iamf_parse.c.

Referenced by codec_config_obu().

◆ aac_decoder_config()

static int aac_decoder_config ( IAMFCodecConfig codec_config,
AVIOContext pb,
int  len,
void *  logctx 
)
static

Definition at line 60 of file iamf_parse.c.

Referenced by codec_config_obu().

◆ flac_decoder_config()

static int flac_decoder_config ( IAMFCodecConfig codec_config,
AVIOContext pb,
int  len 
)
static

Definition at line 117 of file iamf_parse.c.

Referenced by codec_config_obu().

◆ ipcm_decoder_config()

static int ipcm_decoder_config ( IAMFCodecConfig codec_config,
AVIOContext pb,
int  len 
)
static

Definition at line 145 of file iamf_parse.c.

Referenced by codec_config_obu().

◆ codec_config_obu()

static int codec_config_obu ( void *  s,
IAMFContext c,
AVIOContext pb,
int  len 
)
static

Definition at line 166 of file iamf_parse.c.

Referenced by ff_iamfdec_read_descriptors().

◆ update_extradata()

static int update_extradata ( AVCodecParameters codecpar)
static

Definition at line 274 of file iamf_parse.c.

Referenced by ambisonics_config(), and scalable_channel_layout_config().

◆ scalable_channel_layout_config()

static int scalable_channel_layout_config ( void *  s,
AVIOContext pb,
IAMFAudioElement audio_element,
const IAMFCodecConfig codec_config 
)
static

Definition at line 338 of file iamf_parse.c.

Referenced by audio_element_obu().

◆ ambisonics_config()

static int ambisonics_config ( void *  s,
AVIOContext pb,
IAMFAudioElement audio_element,
const IAMFCodecConfig codec_config 
)
static

Definition at line 405 of file iamf_parse.c.

Referenced by audio_element_obu().

◆ param_parse()

static int param_parse ( void *  s,
IAMFContext c,
AVIOContext pb,
unsigned int  type,
const IAMFAudioElement audio_element,
AVIAMFParamDefinition **  out_param_definition 
)
static

Definition at line 490 of file iamf_parse.c.

Referenced by audio_element_obu(), and mix_presentation_obu().

◆ audio_element_obu()

static int audio_element_obu ( void *  s,
IAMFContext c,
AVIOContext pb,
int  len 
)
static

Definition at line 600 of file iamf_parse.c.

Referenced by ff_iamfdec_read_descriptors().

◆ label_string()

static int label_string ( AVIOContext pb,
char **  label 
)
static

Definition at line 770 of file iamf_parse.c.

Referenced by mix_presentation_obu().

◆ mix_presentation_obu()

static int mix_presentation_obu ( void *  s,
IAMFContext c,
AVIOContext pb,
int  len 
)
static

Definition at line 787 of file iamf_parse.c.

Referenced by ff_iamfdec_read_descriptors().

◆ ff_iamf_parse_obu_header()

int ff_iamf_parse_obu_header ( const uint8_t *  buf,
int  buf_size,
unsigned *  obu_size,
int *  start_pos,
enum IAMF_OBU_Type type,
unsigned *  skip_samples,
unsigned *  discard_padding 
)

Definition at line 1004 of file iamf_parse.c.

Referenced by ff_iamf_read_packet(), ff_iamfdec_read_descriptors(), and iamf_probe().

◆ ff_iamfdec_read_descriptors()

int ff_iamfdec_read_descriptors ( IAMFContext c,
AVIOContext pb,
int  max_size,
void *  log_ctx 
)

Definition at line 1059 of file iamf_parse.c.

Referenced by iamf_read_header().