]> git.sesse.net Git - vlc/blobdiff - modules/codec/a52.h
avcodec: blacklist some codecs for multithreading
[vlc] / modules / codec / a52.h
index f678da99cd9e08362d26525a9ea790a151f14683..204be334fd9b8dfbe22ac1b191f65676d80efe8d 100644 (file)
@@ -54,6 +54,7 @@ typedef struct
     unsigned int i_bitrate;
 
     unsigned int i_size;
+    unsigned int i_samples;
 
 } vlc_a52_header_t;
 
@@ -122,6 +123,8 @@ static inline int vlc_a52_header_ParseAc3( vlc_a52_header_t *p_header,
     default:
         return VLC_EGENERIC;
     }
+    p_header->i_samples = 6*256;
+
     p_header->b_eac3 = false;
     return VLC_SUCCESS;
 }
@@ -170,6 +173,7 @@ static inline int vlc_a52_header_ParseEac3( vlc_a52_header_t *p_header,
     p_header->i_channels      = p_acmod[i_acmod].i_count + i_lfeon;
     p_header->i_channels_conf = p_acmod[i_acmod].i_configuration | ( i_lfeon ? AOUT_CHAN_LFE : 0);
     p_header->i_bitrate = 8 * p_header->i_size * (p_header->i_rate) / (i_numblkscod * 256);
+    p_header->i_samples = i_numblkscod * 256;
 
     p_header->b_eac3 = true;
     return VLC_SUCCESS;
@@ -192,9 +196,9 @@ static inline int vlc_a52_header_Parse( vlc_a52_header_t *p_header,
         { 3, AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_REARCENTER }, /* 2F1R 2/1 */
         { 4, AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER |
              AOUT_CHAN_REARCENTER },                                    /* 3F1R 3/1 */
-        { 5, AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT |
+        { 4, AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT |
              AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT },                /* 2F2R 2/2 */
-        { 6, AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER |
+        { 5, AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER |
              AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT },                /* 3F2R 3/2 */
     };