diff options
author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2008-05-10 15:15:10 +0000 |
---|---|---|
committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2008-05-10 15:15:10 +0000 |
commit | a7a2baa97f8ee7c4d1b751d66f095120b9f62778 (patch) | |
tree | 6a1aa6bfe374f54ff6bce704f56e172994ea9443 /apps/codecs/libmusepack/mpc_decoder.c | |
parent | 27bb9986f6e0bfc8f21a2dc1317accd2c6097048 (diff) | |
download | rockbox-a7a2baa97f8ee7c4d1b751d66f095120b9f62778.tar.gz rockbox-a7a2baa97f8ee7c4d1b751d66f095120b9f62778.zip |
Some changes for musepack: Disable SV4-SV6 support (I guess I am the only one who oned such). Remove tabs, perform some minor code beautification and add ICONST_ATTR to some requantization constants.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17438 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libmusepack/mpc_decoder.c')
-rw-r--r-- | apps/codecs/libmusepack/mpc_decoder.c | 45 |
1 files changed, 18 insertions, 27 deletions
diff --git a/apps/codecs/libmusepack/mpc_decoder.c b/apps/codecs/libmusepack/mpc_decoder.c index a5a24d6c8a..f3aff7e54b 100644 --- a/apps/codecs/libmusepack/mpc_decoder.c +++ b/apps/codecs/libmusepack/mpc_decoder.c | |||
@@ -87,7 +87,8 @@ mpc_uint8_t LUT5_0 [1<< 6]; | |||
87 | mpc_uint8_t LUT5_1 [1<< 8]; // 320 Bytes | 87 | mpc_uint8_t LUT5_1 [1<< 8]; // 320 Bytes |
88 | mpc_uint8_t LUT6_0 [1<< 7]; | 88 | mpc_uint8_t LUT6_0 [1<< 7]; |
89 | mpc_uint8_t LUT6_1 [1<< 7]; // 256 Bytes | 89 | mpc_uint8_t LUT6_1 [1<< 7]; // 256 Bytes |
90 | mpc_uint8_t LUT7_0 [1<< 8];mpc_uint8_t LUT7_1 [1<< 8]; // 512 Bytes | 90 | mpc_uint8_t LUT7_0 [1<< 8]; |
91 | mpc_uint8_t LUT7_1 [1<< 8]; // 512 Bytes | ||
91 | mpc_uint8_t LUTDSCF [1<< 6]; // 64 Bytes = 2976 Bytes | 92 | mpc_uint8_t LUTDSCF [1<< 6]; // 64 Bytes = 2976 Bytes |
92 | 93 | ||
93 | //------------------------------------------------------------------------------ | 94 | //------------------------------------------------------------------------------ |
@@ -95,9 +96,6 @@ mpc_uint8_t LUTDSCF [1<< 6]; // 64 Bytes = 2976 Bytes | |||
95 | //------------------------------------------------------------------------------ | 96 | //------------------------------------------------------------------------------ |
96 | enum | 97 | enum |
97 | { | 98 | { |
98 | EQ_TAP = 13, // length of FIR filter for EQ | ||
99 | DELAY = ((EQ_TAP + 1) / 2), // delay of FIR | ||
100 | FIR_BANDS = 4, // number of subbands to be FIR filtered | ||
101 | MEMSIZE = MPC_DECODER_MEMSIZE, // overall buffer size | 99 | MEMSIZE = MPC_DECODER_MEMSIZE, // overall buffer size |
102 | MEMSIZE2 = (MEMSIZE/2), // size of one buffer | 100 | MEMSIZE2 = (MEMSIZE/2), // size of one buffer |
103 | MEMMASK = (MEMSIZE-1) | 101 | MEMMASK = (MEMSIZE-1) |
@@ -226,6 +224,7 @@ mpc_decoder_make_huffman_lookup( | |||
226 | return; | 224 | return; |
227 | } | 225 | } |
228 | 226 | ||
227 | #ifdef MPC_SUPPORT_SV456 | ||
229 | // decode SCFI-bundle (sv4,5,6) | 228 | // decode SCFI-bundle (sv4,5,6) |
230 | static void | 229 | static void |
231 | mpc_decoder_scfi_bundle_read( | 230 | mpc_decoder_scfi_bundle_read( |
@@ -273,6 +272,7 @@ mpc_decoder_huffman_decode(mpc_decoder *d, const HuffmanTyp *Table) | |||
273 | 272 | ||
274 | return Table->Value; | 273 | return Table->Value; |
275 | } | 274 | } |
275 | #endif | ||
276 | 276 | ||
277 | // faster huffman through previewing less bits | 277 | // faster huffman through previewing less bits |
278 | // works with maximum lengths up to 10 | 278 | // works with maximum lengths up to 10 |
@@ -391,28 +391,26 @@ mpc_decoder_reset_globals(mpc_decoder *d) | |||
391 | { | 391 | { |
392 | mpc_decoder_reset_bitstream_decode(d); | 392 | mpc_decoder_reset_bitstream_decode(d); |
393 | 393 | ||
394 | d->DecodedFrames = 0; | 394 | d->DecodedFrames = 0; |
395 | d->SeekTableIndex = 0; | 395 | d->SeekTableIndex = 0; |
396 | d->MaxDecodedFrames = 0; | 396 | d->MaxDecodedFrames = 0; |
397 | d->StreamVersion = 0; | 397 | d->StreamVersion = 0; |
398 | d->MS_used = 0; | 398 | d->MS_used = 0; |
399 | 399 | ||
400 | memset(d->Y_L , 0, sizeof Y_L ); | 400 | memset(d->Y_L , 0, sizeof Y_L ); |
401 | memset(d->Y_R , 0, sizeof Y_R ); | 401 | memset(d->Y_R , 0, sizeof Y_R ); |
402 | memset(d->SCF_Index_L , 0, sizeof d->SCF_Index_L ); | 402 | memset(d->SCF_Index_L , 0, sizeof d->SCF_Index_L); |
403 | memset(d->SCF_Index_R , 0, sizeof d->SCF_Index_R ); | 403 | memset(d->SCF_Index_R , 0, sizeof d->SCF_Index_R); |
404 | memset(d->Res_L , 0, sizeof d->Res_L ); | 404 | memset(d->Res_L , 0, sizeof d->Res_L ); |
405 | memset(d->Res_R , 0, sizeof d->Res_R ); | 405 | memset(d->Res_R , 0, sizeof d->Res_R ); |
406 | memset(d->SCFI_L , 0, sizeof d->SCFI_L ); | 406 | memset(d->SCFI_L , 0, sizeof d->SCFI_L ); |
407 | memset(d->SCFI_R , 0, sizeof d->SCFI_R ); | 407 | memset(d->SCFI_R , 0, sizeof d->SCFI_R ); |
408 | #ifdef MPC_SUPPORT_SV456 | 408 | #ifdef MPC_SUPPORT_SV456 |
409 | memset(d->DSCF_Flag_L , 0, sizeof d->DSCF_Flag_L ); | 409 | memset(d->DSCF_Flag_L , 0, sizeof d->DSCF_Flag_L); |
410 | memset(d->DSCF_Flag_R , 0, sizeof d->DSCF_Flag_R ); | 410 | memset(d->DSCF_Flag_R , 0, sizeof d->DSCF_Flag_R); |
411 | #endif | 411 | #endif |
412 | //memset(d->DSCF_Reference_L, 0, sizeof d->DSCF_Reference_L ); | 412 | memset(d->Q , 0, sizeof d->Q ); |
413 | //memset(d->DSCF_Reference_R, 0, sizeof d->DSCF_Reference_R ); | 413 | memset(d->MS_Flag , 0, sizeof d->MS_Flag ); |
414 | memset(d->Q , 0, sizeof d->Q ); | ||
415 | memset(d->MS_Flag , 0, sizeof d->MS_Flag ); | ||
416 | } | 414 | } |
417 | 415 | ||
418 | mpc_uint32_t | 416 | mpc_uint32_t |
@@ -856,7 +854,6 @@ mpc_decoder_read_bitstream_sv6(mpc_decoder *d) | |||
856 | /*********** DSCF ************/ | 854 | /*********** DSCF ************/ |
857 | if (d->DSCF_Flag_L[n]==1) | 855 | if (d->DSCF_Flag_L[n]==1) |
858 | { | 856 | { |
859 | //L[2] = d->DSCF_Reference_L[n]; | ||
860 | switch (d->SCFI_L[n]) | 857 | switch (d->SCFI_L[n]) |
861 | { | 858 | { |
862 | case 3: | 859 | case 3: |
@@ -914,12 +911,9 @@ mpc_decoder_read_bitstream_sv6(mpc_decoder *d) | |||
914 | break; | 911 | break; |
915 | } | 912 | } |
916 | } | 913 | } |
917 | // update Reference for DSCF | ||
918 | //d->DSCF_Reference_L[n] = L[2]; | ||
919 | } | 914 | } |
920 | if (*ResR) | 915 | if (*ResR) |
921 | { | 916 | { |
922 | //R[2] = d->DSCF_Reference_R[n]; | ||
923 | /*********** DSCF ************/ | 917 | /*********** DSCF ************/ |
924 | if (d->DSCF_Flag_R[n]==1) | 918 | if (d->DSCF_Flag_R[n]==1) |
925 | { | 919 | { |
@@ -1086,7 +1080,6 @@ mpc_decoder_read_bitstream_sv7(mpc_decoder *d, mpc_bool_t fastSeeking) | |||
1086 | for (n=0; n<=Max_used_Band; ++n, ++ResL, ++ResR, L+=3, R+=3) { | 1080 | for (n=0; n<=Max_used_Band; ++n, ++ResL, ++ResR, L+=3, R+=3) { |
1087 | if (*ResL) | 1081 | if (*ResL) |
1088 | { | 1082 | { |
1089 | //L[2] = d->DSCF_Reference_L[n]; | ||
1090 | switch (d->SCFI_L[n]) | 1083 | switch (d->SCFI_L[n]) |
1091 | { | 1084 | { |
1092 | case 1: | 1085 | case 1: |
@@ -1663,8 +1656,6 @@ void mpc_decoder_reset_state(mpc_decoder *d) { | |||
1663 | memset(d->DSCF_Flag_L , 0, sizeof d->DSCF_Flag_L ); | 1656 | memset(d->DSCF_Flag_L , 0, sizeof d->DSCF_Flag_L ); |
1664 | memset(d->DSCF_Flag_R , 0, sizeof d->DSCF_Flag_R ); | 1657 | memset(d->DSCF_Flag_R , 0, sizeof d->DSCF_Flag_R ); |
1665 | #endif | 1658 | #endif |
1666 | //memset(d->DSCF_Reference_L, 0, sizeof d->DSCF_Reference_L ); | ||
1667 | //memset(d->DSCF_Reference_R, 0, sizeof d->DSCF_Reference_R ); | ||
1668 | memset(d->Q , 0, sizeof d->Q ); | 1659 | memset(d->Q , 0, sizeof d->Q ); |
1669 | memset(d->MS_Flag , 0, sizeof d->MS_Flag ); | 1660 | memset(d->MS_Flag , 0, sizeof d->MS_Flag ); |
1670 | 1661 | ||