FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
mpeg4audio.h File Reference
#include <stdint.h>
#include "libavutil/attributes.h"
#include "get_bits.h"
#include "internal.h"
#include "put_bits.h"

Go to the source code of this file.

Data Structures

struct  MPEG4AudioConfig
 

Macros

#define MAX_PCE_SIZE   320
 Maximum size of a PCE including the 3-bit ID_PCE. More...
 

Enumerations

enum  AudioObjectType {
  AOT_NULL, AOT_AAC_MAIN, AOT_AAC_LC, AOT_AAC_SSR,
  AOT_AAC_LTP, AOT_SBR, AOT_AAC_SCALABLE, AOT_TWINVQ,
  AOT_CELP, AOT_HVXC, AOT_TTSI = 12, AOT_MAINSYNTH,
  AOT_WAVESYNTH, AOT_MIDI, AOT_SAFX, AOT_ER_AAC_LC,
  AOT_ER_AAC_LTP = 19, AOT_ER_AAC_SCALABLE, AOT_ER_TWINVQ, AOT_ER_BSAC,
  AOT_ER_AAC_LD, AOT_ER_CELP, AOT_ER_HVXC, AOT_ER_HILN,
  AOT_ER_PARAM, AOT_SSC, AOT_PS, AOT_SURROUND,
  AOT_ESCAPE, AOT_L1, AOT_L2, AOT_L3,
  AOT_DST, AOT_ALS, AOT_SLS, AOT_SLS_NON_CORE,
  AOT_ER_AAC_ELD, AOT_SMR_SIMPLE, AOT_SMR_MAIN, AOT_USAC_NOSBR,
  AOT_SAOC, AOT_LD_SURROUND, AOT_USAC
}
 

Functions

int ff_mpeg4audio_get_config_gb (MPEG4AudioConfig *c, GetBitContext *gb, int sync_extension)
 Parse MPEG-4 systems extradata from a potentially unaligned GetBitContext to retrieve audio configuration. More...
 
int avpriv_mpeg4audio_get_config (MPEG4AudioConfig *c, const uint8_t *buf, int bit_size, int sync_extension)
 Parse MPEG-4 systems extradata from a raw buffer to retrieve audio configuration. More...
 
static av_always_inline unsigned int ff_pce_copy_bits (PutBitContext *pb, GetBitContext *gb, int bits)
 
static int ff_copy_pce_data (PutBitContext *pb, GetBitContext *gb)
 

Variables

const av_export_avcodec int avpriv_mpeg4audio_sample_rates [16]
 
const uint8_t ff_mpeg4audio_channels [8]
 

Macro Definition Documentation

◆ MAX_PCE_SIZE

#define MAX_PCE_SIZE   320

Maximum size of a PCE including the 3-bit ID_PCE.

marker and the comment

Definition at line 119 of file mpeg4audio.h.

Enumeration Type Documentation

◆ AudioObjectType

Enumerator
AOT_NULL 
AOT_AAC_MAIN 

Y Main.

AOT_AAC_LC 

Y Low Complexity.

AOT_AAC_SSR 

N (code in SoC repo) Scalable Sample Rate.

AOT_AAC_LTP 

Y Long Term Prediction.

AOT_SBR 

Y Spectral Band Replication.

AOT_AAC_SCALABLE 

N Scalable.

AOT_TWINVQ 

N Twin Vector Quantizer.

AOT_CELP 

N Code Excited Linear Prediction.

AOT_HVXC 

N Harmonic Vector eXcitation Coding.

AOT_TTSI 

N Text-To-Speech Interface.

AOT_MAINSYNTH 

N Main Synthesis.

AOT_WAVESYNTH 

N Wavetable Synthesis.

AOT_MIDI 

N General MIDI.

AOT_SAFX 

N Algorithmic Synthesis and Audio Effects.

AOT_ER_AAC_LC 

N Error Resilient Low Complexity.

AOT_ER_AAC_LTP 

N Error Resilient Long Term Prediction.

AOT_ER_AAC_SCALABLE 

N Error Resilient Scalable.

AOT_ER_TWINVQ 

N Error Resilient Twin Vector Quantizer.

AOT_ER_BSAC 

N Error Resilient Bit-Sliced Arithmetic Coding.

AOT_ER_AAC_LD 

N Error Resilient Low Delay.

AOT_ER_CELP 

N Error Resilient Code Excited Linear Prediction.

AOT_ER_HVXC 

N Error Resilient Harmonic Vector eXcitation Coding.

AOT_ER_HILN 

N Error Resilient Harmonic and Individual Lines plus Noise.

AOT_ER_PARAM 

N Error Resilient Parametric.

AOT_SSC 

N SinuSoidal Coding.

AOT_PS 

N Parametric Stereo.

AOT_SURROUND 

N MPEG Surround.

AOT_ESCAPE 

Y Escape Value.

AOT_L1 

Y Layer 1.

AOT_L2 

Y Layer 2.

AOT_L3 

Y Layer 3.

AOT_DST 

N Direct Stream Transfer.

AOT_ALS 

Y Audio LosslesS.

AOT_SLS 

N Scalable LosslesS.

AOT_SLS_NON_CORE 

N Scalable LosslesS (non core)

AOT_ER_AAC_ELD 

N Error Resilient Enhanced Low Delay.

AOT_SMR_SIMPLE 

N Symbolic Music Representation Simple.

AOT_SMR_MAIN 

N Symbolic Music Representation Main.

AOT_USAC_NOSBR 

N Unified Speech and Audio Coding (no SBR)

AOT_SAOC 

N Spatial Audio Object Coding.

AOT_LD_SURROUND 

N Low Delay MPEG Surround.

AOT_USAC 

N Unified Speech and Audio Coding.

Definition at line 72 of file mpeg4audio.h.

Function Documentation

◆ ff_mpeg4audio_get_config_gb()

int ff_mpeg4audio_get_config_gb ( MPEG4AudioConfig c,
GetBitContext gb,
int  sync_extension 
)

Parse MPEG-4 systems extradata from a potentially unaligned GetBitContext to retrieve audio configuration.

Parameters
[in]cMPEG4AudioConfig structure to fill.
[in]gbExtradata from container.
[in]sync_extensionlook for a sync extension after config if true.
Returns
On error -1 is returned, on success AudioSpecificConfig bit index in extradata.

Definition at line 86 of file mpeg4audio.c.

Referenced by avpriv_mpeg4audio_get_config(), and decode_audio_specific_config_gb().

◆ avpriv_mpeg4audio_get_config()

int avpriv_mpeg4audio_get_config ( MPEG4AudioConfig c,
const uint8_t buf,
int  bit_size,
int  sync_extension 
)

Parse MPEG-4 systems extradata from a raw buffer to retrieve audio configuration.

Parameters
[in]cMPEG4AudioConfig structure to fill.
[in]bufExtradata from container.
[in]bit_sizeExtradata size in bits.
[in]sync_extensionlook for a sync extension after config if true.
Returns
On error -1 is returned, on success AudioSpecificConfig bit index in extradata.

Definition at line 159 of file mpeg4audio.c.

Referenced by aac_adtstoasc_init(), adts_decode_extradata(), ff_mp4_read_dec_config_descr(), flv_read_packet(), get_aac_sample_rates(), latm_decode_extradata(), and read_specific_config().

◆ ff_pce_copy_bits()

static av_always_inline unsigned int ff_pce_copy_bits ( PutBitContext pb,
GetBitContext gb,
int  bits 
)
static

Definition at line 122 of file mpeg4audio.h.

Referenced by ff_copy_pce_data().

◆ ff_copy_pce_data()

static int ff_copy_pce_data ( PutBitContext pb,
GetBitContext gb 
)
inlinestatic

Variable Documentation

◆ avpriv_mpeg4audio_sample_rates

const av_export_avcodec int avpriv_mpeg4audio_sample_rates[16]

Definition at line 62 of file mpeg4audio.c.

Referenced by aac_encode_init(), ff_adts_header_parse(), and get_sample_rate().

◆ ff_mpeg4audio_channels

const uint8_t ff_mpeg4audio_channels[8]

Definition at line 67 of file mpeg4audio.c.

Referenced by aac_decode_init(), aac_sync(), and ff_mpeg4audio_get_config_gb().