]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/blobdiff - libavcodec/mpeg4audio.h
Subroutine to copy an AAC Program Config Element (PCE)
[frescor/ffmpeg.git] / libavcodec / mpeg4audio.h
index 7a9950d5a1b21b2994fe294748bb11f04a4b5f7d..fd78bdbee995fa78cc09135d6803c55e3108626a 100644 (file)
@@ -23,6 +23,8 @@
 #define AVCODEC_MPEG4AUDIO_H
 
 #include <stdint.h>
+#include "get_bits.h"
+#include "put_bits.h"
 
 typedef struct {
     int object_type;
@@ -33,6 +35,7 @@ typedef struct {
     int ext_object_type;
     int ext_sampling_index;
     int ext_sample_rate;
+    int ext_chan_config;
 } MPEG4AudioConfig;
 
 extern const int ff_mpeg4audio_sample_rates[16];
@@ -74,6 +77,24 @@ enum AudioObjectType {
     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,                ///< N                       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,                   ///< N                       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
 };
 
+#define MAX_PCE_SIZE 304 ///<Maximum size of a PCE including the 3-bit ID_PCE
+                         ///<marker and the comment
+
+int ff_copy_pce_data(PutBitContext *pb, GetBitContext *gb);
+
 #endif /* AVCODEC_MPEG4AUDIO_H */