]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/mlp.h
pthread_frame: ensure the threads don't run simultaneously with hwaccel
[ffmpeg] / libavcodec / mlp.h
index b001ad270d055cf872d5d39aaa7c3bf6d2ab28d4..8a1584e1127486f77ca5ccedf418e2f2b2f02d01 100644 (file)
@@ -45,7 +45,7 @@
 /** Maximum number of substreams that can be decoded.
  *  MLP's limit is 2. TrueHD supports at least up to 3.
  */
-#define MAX_SUBSTREAMS      3
+#define MAX_SUBSTREAMS      4
 
 /** which multiple of 48000 the maximum sample rate is */
 #define MAX_RATEFACTOR      4
@@ -71,7 +71,7 @@
 #define IIR 1
 
 /** filter data */
-typedef struct {
+typedef struct FilterParams {
     uint8_t     order; ///< number of taps in filter
     uint8_t     shift; ///< Right shift to apply to output of filter.
 
@@ -79,7 +79,7 @@ typedef struct {
 } FilterParams;
 
 /** sample data coding information */
-typedef struct {
+typedef struct ChannelParams {
     FilterParams filter_params[NUM_FILTERS];
     int32_t     coeff[NUM_FILTERS][MAX_FIR_ORDER];
 
@@ -124,4 +124,14 @@ static inline uint8_t xor_32_to_8(uint32_t value)
     return value;
 }
 
+typedef enum THDChannelModifier {
+    THD_CH_MODIFIER_NOTINDICATED  = 0x0,
+    THD_CH_MODIFIER_STEREO        = 0x0, // Stereo (not Dolby Surround)
+    THD_CH_MODIFIER_LTRT          = 0x1, // Dolby Surround
+    THD_CH_MODIFIER_LBINRBIN      = 0x2, // Dolby Headphone
+    THD_CH_MODIFIER_MONO          = 0x3, // Mono or Dual Mono
+    THD_CH_MODIFIER_NOTSURROUNDEX = 0x1, // Not Dolby Digital EX
+    THD_CH_MODIFIER_SURROUNDEX    = 0x2, // Dolby Digital EX
+} THDChannelModifier;
+
 #endif /* AVCODEC_MLP_H */