OSDN Git Service

Merge commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 16 Feb 2015 01:29:41 +0000 (02:29 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 16 Feb 2015 01:29:41 +0000 (02:29 +0100)
* commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda':
  dca: Add array sizes to array declarations

Conflicts:
libavcodec/dcadata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/dcadata.h

@@@ -7663,96 -7663,7 +7663,96 @@@ static const float dca_default_coeffs[1
   * where Ch(n) represents the subband samples in the (n)th audio channel.
   */
  
- static const int8_t dca_lfe_index[] = {
 +static const uint32_t map_xxch_to_native[28] = {
 +    AV_CH_FRONT_CENTER,
 +    AV_CH_FRONT_LEFT,
 +    AV_CH_FRONT_RIGHT,
 +    AV_CH_SIDE_LEFT,
 +    AV_CH_SIDE_RIGHT,
 +    AV_CH_LOW_FREQUENCY,
 +    AV_CH_BACK_CENTER,
 +    AV_CH_BACK_LEFT,
 +    AV_CH_BACK_RIGHT,
 +    AV_CH_SIDE_LEFT,           /* side surround left -- dup sur side L */
 +    AV_CH_SIDE_RIGHT,          /* side surround right -- dup sur side R */
 +    AV_CH_FRONT_LEFT_OF_CENTER,
 +    AV_CH_FRONT_RIGHT_OF_CENTER,
 +    AV_CH_TOP_FRONT_LEFT,
 +    AV_CH_TOP_FRONT_CENTER,
 +    AV_CH_TOP_FRONT_RIGHT,
 +    AV_CH_LOW_FREQUENCY,        /* lfe2 -- duplicate lfe1 position */
 +    AV_CH_FRONT_LEFT_OF_CENTER, /* side front left -- dup front cntr L */
 +    AV_CH_FRONT_RIGHT_OF_CENTER,/* side front right -- dup front cntr R */
 +    AV_CH_TOP_CENTER,           /* overhead */
 +    AV_CH_TOP_FRONT_LEFT,       /* side high left -- dup */
 +    AV_CH_TOP_FRONT_RIGHT,      /* side high right -- dup */
 +    AV_CH_TOP_BACK_CENTER,
 +    AV_CH_TOP_BACK_LEFT,
 +    AV_CH_TOP_BACK_RIGHT,
 +    AV_CH_BACK_CENTER,          /* rear low center -- dup */
 +    AV_CH_BACK_LEFT,            /* rear low left -- dup */
 +    AV_CH_BACK_RIGHT            /* read low right -- dup  */
 +};
 +
 +/* -1 are reserved or unknown */
 +static const int dca_ext_audio_descr_mask[] = {
 +    DCA_EXT_XCH,
 +    -1,
 +    DCA_EXT_X96,
 +    DCA_EXT_XCH | DCA_EXT_X96,
 +    -1,
 +    -1,
 +    DCA_EXT_XXCH,
 +    -1,
 +};
 +
 +/* Tables for mapping dts channel configurations to libavcodec multichannel api.
 + * Some compromises have been made for special configurations. Most configurations
 + * are never used so complete accuracy is not needed.
 + *
 + * L = left, R = right, C = center, S = surround, F = front, R = rear, T = total, OV = overhead.
 + * S  -> side, when both rear and back are configured move one of them to the side channel
 + * OV -> center back
 + * All 2 channel configurations -> AV_CH_LAYOUT_STEREO
 + */
 +static const uint64_t dca_core_channel_layout[] = {
 +    AV_CH_FRONT_CENTER,                                                     ///< 1, A
 +    AV_CH_LAYOUT_STEREO,                                                    ///< 2, A + B (dual mono)
 +    AV_CH_LAYOUT_STEREO,                                                    ///< 2, L + R (stereo)
 +    AV_CH_LAYOUT_STEREO,                                                    ///< 2, (L + R) + (L - R) (sum-difference)
 +    AV_CH_LAYOUT_STEREO,                                                    ///< 2, LT + RT (left and right total)
 +    AV_CH_LAYOUT_STEREO | AV_CH_FRONT_CENTER,                               ///< 3, C + L + R
 +    AV_CH_LAYOUT_STEREO | AV_CH_BACK_CENTER,                                ///< 3, L + R + S
 +    AV_CH_LAYOUT_STEREO | AV_CH_FRONT_CENTER | AV_CH_BACK_CENTER,           ///< 4, C + L + R + S
 +    AV_CH_LAYOUT_STEREO | AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT,               ///< 4, L + R + SL + SR
 +
 +    AV_CH_LAYOUT_STEREO | AV_CH_FRONT_CENTER | AV_CH_SIDE_LEFT |
 +    AV_CH_SIDE_RIGHT,                                                       ///< 5, C + L + R + SL + SR
 +
 +    AV_CH_LAYOUT_STEREO | AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT |
 +    AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER,               ///< 6, CL + CR + L + R + SL + SR
 +
 +    AV_CH_LAYOUT_STEREO | AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT |
 +    AV_CH_FRONT_CENTER  | AV_CH_BACK_CENTER,                                ///< 6, C + L + R + LR + RR + OV
 +
 +    AV_CH_FRONT_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER |
 +    AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_BACK_CENTER   |
 +    AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT,                                     ///< 6, CF + CR + LF + RF + LR + RR
 +
 +    AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_CENTER   |
 +    AV_CH_FRONT_RIGHT_OF_CENTER | AV_CH_LAYOUT_STEREO |
 +    AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT,                                     ///< 7, CL + C + CR + L + R + SL + SR
 +
 +    AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_RIGHT_OF_CENTER |
 +    AV_CH_LAYOUT_STEREO | AV_CH_SIDE_LEFT | AV_CH_SIDE_RIGHT |
 +    AV_CH_BACK_LEFT | AV_CH_BACK_RIGHT,                                     ///< 8, CL + CR + L + R + SL1 + SL2 + SR1 + SR2
 +
 +    AV_CH_FRONT_LEFT_OF_CENTER | AV_CH_FRONT_CENTER   |
 +    AV_CH_FRONT_RIGHT_OF_CENTER | AV_CH_LAYOUT_STEREO |
 +    AV_CH_SIDE_LEFT | AV_CH_BACK_CENTER | AV_CH_SIDE_RIGHT,                 ///< 8, CL + C + CR + L + R + SL + S + SR
 +};
 +
+ static const int8_t dca_lfe_index[16] = {
      1, 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 3, 1, 3, 2, 3
  };