]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/aacenc.h
avcodec/dvaudiodec: now that we got samples, fix 12bit case
[ffmpeg] / libavcodec / aacenc.h
index 2b721d374f48e870f11d807e3ba03edfe7a6aab4..63e789366f46dee5bedbc723419d5c1a4f769d50 100644 (file)
@@ -34,8 +34,7 @@
 #include "lpc.h"
 
 typedef enum AACCoder {
-    AAC_CODER_FAAC = 0,
-    AAC_CODER_ANMR,
+    AAC_CODER_ANMR = 0,
     AAC_CODER_TWOLOOP,
     AAC_CODER_FAST,
 
@@ -85,10 +84,10 @@ extern AACCoefficientsEncoder ff_aac_coders[];
 typedef struct AACQuantizeBandCostCacheEntry {
     float rd;
     float energy;
-    int bits; ///< -1 means uninitialized entry
+    int bits;
     char cb;
     char rtz;
-    char padding[2]; ///< Keeps the entry size a multiple of 32 bits
+    uint16_t generation;
 } AACQuantizeBandCostCacheEntry;
 
 /**
@@ -118,6 +117,7 @@ typedef struct AACEncContext {
     int last_frame;
     int random_state;
     float lambda;
+    int last_frame_pb_count;                     ///< number of bits for the previous frame
     float lambda_sum;                            ///< sum(lambda), for Qvg reporting
     int lambda_count;                            ///< count(lambda), for Qvg reporting
     enum RawDataBlockType cur_type;              ///< channel group type cur_channel belongs to
@@ -126,6 +126,7 @@ typedef struct AACEncContext {
     DECLARE_ALIGNED(16, int,   qcoefs)[96];      ///< quantized coefficients
     DECLARE_ALIGNED(32, float, scoefs)[1024];    ///< scaled coefficients
 
+    uint16_t quantize_band_cost_cache_generation;
     AACQuantizeBandCostCacheEntry quantize_band_cost_cache[256][128]; ///< memoization area for quantize_band_cost
 
     struct {