Changeset 18 for branches/zorg/src/mpc_decoder.c
- Timestamp:
- 09/16/06 16:33:17 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/zorg/src/mpc_decoder.c
r16 r18 169 169 mpc_decoder_scfi_bundle_read( 170 170 mpc_decoder *d, 171 const HuffmanTyp* Table, mpc_int 32_t* SCFI, mpc_bool_t* DSCF)171 const HuffmanTyp* Table, mpc_int8_t* SCFI, mpc_bool_t* DSCF) 172 172 { 173 173 // load preview and decode … … 300 300 memset(d->SCFI_L , 0, sizeof d->SCFI_L ); 301 301 memset(d->SCFI_R , 0, sizeof d->SCFI_R ); 302 #ifdef MPC_SUPPORT_SV456 302 303 memset(d->DSCF_Flag_L , 0, sizeof d->DSCF_Flag_L ); 303 304 memset(d->DSCF_Flag_R , 0, sizeof d->DSCF_Flag_R ); 304 memset(d->DSCF_Reference_L, 0, sizeof d->DSCF_Reference_L ); 305 memset(d->DSCF_Reference_R, 0, sizeof d->DSCF_Reference_R ); 305 #endif 306 //memset(d->DSCF_Reference_L, 0, sizeof d->DSCF_Reference_L ); 307 //memset(d->DSCF_Reference_R, 0, sizeof d->DSCF_Reference_R ); 306 308 memset(d->Q , 0, sizeof d->Q ); 307 309 memset(d->MS_Flag , 0, sizeof d->MS_Flag ); … … 489 491 MPC_SAMPLE_FORMAT* YL; 490 492 MPC_SAMPLE_FORMAT* YR; 491 mpc_int 32_t* L;492 mpc_int 32_t* R;493 mpc_int16_t* L; 494 mpc_int16_t* R; 493 495 494 496 #ifdef MPC_FIXED_POINT … … 515 517 if ( d->Res_L [Band] ) { 516 518 if ( d->Res_R [Band] ) { // M!=0, S!=0 517 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][0]);518 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][0]);519 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][0]); 520 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][0]); 519 521 for ( n = 0; n < 12; n++, YL += 32, YR += 32 ) { 520 522 *YL = (templ = MPC_MULTIPLY_FLOAT_INT(facL,*L++))+(tempr = MPC_MULTIPLY_FLOAT_INT(facR,*R++)); 521 523 *YR = templ - tempr; 522 524 } 523 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][1]);524 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][1]);525 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][1]); 526 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][1]); 525 527 for ( ; n < 24; n++, YL += 32, YR += 32 ) { 526 528 *YL = (templ = MPC_MULTIPLY_FLOAT_INT(facL,*L++))+(tempr = MPC_MULTIPLY_FLOAT_INT(facR,*R++)); 527 529 *YR = templ - tempr; 528 530 } 529 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][2]);530 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][2]);531 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][2]); 532 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][2]); 531 533 for ( ; n < 36; n++, YL += 32, YR += 32 ) { 532 534 *YL = (templ = MPC_MULTIPLY_FLOAT_INT(facL,*L++))+(tempr = MPC_MULTIPLY_FLOAT_INT(facR,*R++)); … … 534 536 } 535 537 } else { // M!=0, S==0 536 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][0]);538 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][0]); 537 539 for ( n = 0; n < 12; n++, YL += 32, YR += 32 ) { 538 540 *YR = *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); 539 541 } 540 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][1]);542 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][1]); 541 543 for ( ; n < 24; n++, YL += 32, YR += 32 ) { 542 544 *YR = *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); 543 545 } 544 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][2]);546 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][2]); 545 547 for ( ; n < 36; n++, YL += 32, YR += 32 ) { 546 548 *YR = *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); … … 550 552 if (d->Res_R[Band]) // M==0, S!=0 551 553 { 552 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][0]);554 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][0]); 553 555 for ( n = 0; n < 12; n++, YL += 32, YR += 32 ) { 554 556 *YR = - (*YL = MPC_MULTIPLY_FLOAT_INT(facR,*(R++))); 555 557 } 556 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][1]);558 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][1]); 557 559 for ( ; n < 24; n++, YL += 32, YR += 32 ) { 558 560 *YR = - (*YL = MPC_MULTIPLY_FLOAT_INT(facR,*(R++))); 559 561 } 560 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][2]);562 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][2]); 561 563 for ( ; n < 36; n++, YL += 32, YR += 32 ) { 562 564 *YR = - (*YL = MPC_MULTIPLY_FLOAT_INT(facR,*(R++))); … … 573 575 if ( d->Res_L [Band] ) { 574 576 if ( d->Res_R [Band] ) { // L!=0, R!=0 575 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][0]);576 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][0]);577 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][0]); 578 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][0]); 577 579 for (n = 0; n < 12; n++, YL += 32, YR += 32 ) { 578 580 *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); 579 581 *YR = MPC_MULTIPLY_FLOAT_INT(facR,*R++); 580 582 } 581 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][1]);582 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][1]);583 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][1]); 584 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][1]); 583 585 for (; n < 24; n++, YL += 32, YR += 32 ) { 584 586 *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); 585 587 *YR = MPC_MULTIPLY_FLOAT_INT(facR,*R++); 586 588 } 587 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][2]);588 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][2]);589 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][2]); 590 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][2]); 589 591 for (; n < 36; n++, YL += 32, YR += 32 ) { 590 592 *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); … … 592 594 } 593 595 } else { // L!=0, R==0 594 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][0]);596 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][0]); 595 597 for ( n = 0; n < 12; n++, YL += 32, YR += 32 ) { 596 598 *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); 597 599 *YR = 0; 598 600 } 599 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][1]);601 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][1]); 600 602 for ( ; n < 24; n++, YL += 32, YR += 32 ) { 601 603 *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); 602 604 *YR = 0; 603 605 } 604 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , (unsigned char)d->SCF_Index_L[Band][2]);606 facL = MPC_MULTIPLY_SCF( Cc[d->Res_L[Band]] , d->SCF_Index_L[Band][2]); 605 607 for ( ; n < 36; n++, YL += 32, YR += 32 ) { 606 608 *YL = MPC_MULTIPLY_FLOAT_INT(facL,*L++); … … 611 613 else { 612 614 if ( d->Res_R [Band] ) { // L==0, R!=0 613 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][0]);615 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][0]); 614 616 for ( n = 0; n < 12; n++, YL += 32, YR += 32 ) { 615 617 *YL = 0; 616 618 *YR = MPC_MULTIPLY_FLOAT_INT(facR,*R++); 617 619 } 618 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][1]);620 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][1]); 619 621 for ( ; n < 24; n++, YL += 32, YR += 32 ) { 620 622 *YL = 0; 621 623 *YR = MPC_MULTIPLY_FLOAT_INT(facR,*R++); 622 624 } 623 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , (unsigned char)d->SCF_Index_R[Band][2]);625 facR = MPC_MULTIPLY_SCF( Cc[d->Res_R[Band]] , d->SCF_Index_R[Band][2]); 624 626 for ( ; n < 36; n++, YL += 32, YR += 32 ) { 625 627 *YL = 0; … … 637 639 638 640 #ifdef MPC_SUPPORT_SV456 639 static const unsigned charQ_res[32][16] = {641 static const mpc_uint8_t Q_res[32][16] = { 640 642 {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17}, 641 643 {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17}, … … 681 683 const HuffmanTyp *x1; 682 684 const HuffmanTyp *x2; 683 mpc_int32_t *L; 684 mpc_int32_t *R; 685 mpc_int32_t *ResL = d->Res_L; 686 mpc_int32_t *ResR = d->Res_R; 685 mpc_int8_t *L; 686 mpc_int8_t *R; 687 mpc_int16_t *QL; 688 mpc_int16_t *QR; 689 mpc_int8_t *ResL = d->Res_L; 690 mpc_int8_t *ResR = d->Res_R; 687 691 688 692 /************************ HEADER **************************/ … … 697 701 *ResL = Q_res[n][mpc_decoder_huffman_decode(d, Table)]; 698 702 if (d->MS_used) { 699 d->MS_Flag[n] = mpc_decoder_bitstream_read(d, 1);703 d->MS_Flag[n] = (mpc_bool_t) mpc_decoder_bitstream_read(d, 1); 700 704 } 701 705 *ResR = Q_res[n][mpc_decoder_huffman_decode(d, Table)]; … … 725 729 if (d->DSCF_Flag_L[n]==1) 726 730 { 727 L[2] = d->DSCF_Reference_L[n];731 //L[2] = d->DSCF_Reference_L[n]; 728 732 switch (d->SCFI_L[n]) 729 733 { … … 784 788 } 785 789 // update Reference for DSCF 786 d->DSCF_Reference_L[n] = L[2];790 //d->DSCF_Reference_L[n] = L[2]; 787 791 } 788 792 if (*ResR) 789 793 { 790 R[2] = d->DSCF_Reference_R[n];794 //R[2] = d->DSCF_Reference_R[n]; 791 795 /*********** DSCF ************/ 792 796 if (d->DSCF_Flag_R[n]==1) … … 850 854 } 851 855 // update Reference for DSCF 852 d->DSCF_Reference_R[n] = R[2];856 //d->DSCF_Reference_R[n] = R[2]; 853 857 } 854 858 } … … 862 866 x1 = mpc_table_SampleHuff[*ResL]; 863 867 x2 = mpc_table_SampleHuff[*ResR]; 864 L = d->Q[n].L;865 R = d->Q[n].R;868 QL = d->Q[n].L; 869 QR = d->Q[n].R; 866 870 867 871 if (x1!=NULL || x2!=NULL) 868 872 for (k=0; k<36; ++k) 869 873 { 870 if (x1 != NULL) * L++ = mpc_decoder_huffman_decode_fast(d, x1);871 if (x2 != NULL) * R++ = mpc_decoder_huffman_decode_fast(d, x2);874 if (x1 != NULL) *QL++ = mpc_decoder_huffman_decode_fast(d, x1); 875 if (x2 != NULL) *QR++ = mpc_decoder_huffman_decode_fast(d, x2); 872 876 } 873 877 … … 875 879 for (k=0; k<36; ++k) 876 880 { 877 if (*ResL>7) * L++ = (mpc_int32_t)mpc_decoder_bitstream_read(d, Res_bit[*ResL]) - Dc[*ResL];878 if (*ResR>7) * R++ = (mpc_int32_t)mpc_decoder_bitstream_read(d, Res_bit[*ResR]) - Dc[*ResR];881 if (*ResL>7) *QL++ = (mpc_int16_t)mpc_decoder_bitstream_read(d, Res_bit[*ResL]) - Dc[*ResL]; 882 if (*ResR>7) *QR++ = (mpc_int16_t)mpc_decoder_bitstream_read(d, Res_bit[*ResR]) - Dc[*ResR]; 879 883 } 880 884 } … … 892 896 /*static*/ mpc_int32_t idx51[] = { -2,-2,-2,-2,-2,-1,-1,-1,-1,-1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2}; 893 897 894 mpc_int32_t n, k;898 mpc_int32_t n, k; 895 899 mpc_int32_t Max_used_Band=0; 896 900 const HuffmanTyp *Table; 897 mpc_int32_t idx; 898 mpc_int32_t *L ,*R; 899 mpc_int32_t *ResL,*ResR; 901 mpc_int32_t idx; 902 mpc_int8_t *L, *R; 903 mpc_int16_t *LQ, *RQ; 904 mpc_int8_t *ResL, *ResR; 900 905 mpc_uint32_t tmp; 901 906 … … 948 953 if (*ResL) 949 954 { 950 L[2] = d->DSCF_Reference_L[n];955 //L[2] = d->DSCF_Reference_L[n]; 951 956 switch (d->SCFI_L[n]) 952 957 { … … 984 989 } 985 990 // update Reference for DSCF 986 d->DSCF_Reference_L[n] = L[2];991 //d->DSCF_Reference_L[n] = L[2]; 987 992 } 988 993 if (*ResR) 989 994 { 990 R[2] = d->DSCF_Reference_R[n];995 //R[2] = d->DSCF_Reference_R[n]; 991 996 switch (d->SCFI_R[n]) 992 997 { … … 1024 1029 } 1025 1030 // update Reference for DSCF 1026 d->DSCF_Reference_R[n] = R[2];1031 //d->DSCF_Reference_R[n] = R[2]; 1027 1032 } 1028 1033 } … … 1030 1035 ResL = d->Res_L; 1031 1036 ResR = d->Res_R; 1032 L 1033 R 1034 for (n=0; n <= Max_used_Band; ++n, ++ResL, ++ResR, L +=36, R+=36)1037 LQ = d->Q[0].L; 1038 RQ = d->Q[0].R; 1039 for (n=0; n <= Max_used_Band; ++n, ++ResL, ++ResR, LQ+=36, RQ+=36) 1035 1040 { 1036 1041 /************** links **************/ … … 1039 1044 case -2: case -3: case -4: case -5: case -6: case -7: case -8: case -9: 1040 1045 case -10: case -11: case -12: case -13: case -14: case -15: case -16: case -17: 1041 L += 36;1046 LQ += 36; 1042 1047 break; 1043 1048 case -1: 1044 1049 for (k=0; k<36; k++ ) { 1045 1050 tmp = mpc_random_int(d); 1046 *L ++ = ((tmp >> 24) & 0xFF) + ((tmp >> 16) & 0xFF) + ((tmp >> 8) & 0xFF) + ((tmp >> 0) & 0xFF) - 510;1051 *LQ++ = ((tmp >> 24) & 0xFF) + ((tmp >> 16) & 0xFF) + ((tmp >> 8) & 0xFF) + ((tmp >> 0) & 0xFF) - 510; 1047 1052 } 1048 1053 break; 1049 1054 case 0: 1050 L += 36;// increase pointer1055 LQ += 36;// increase pointer 1051 1056 break; 1052 1057 case 1: … … 1055 1060 { 1056 1061 idx = mpc_decoder_huffman_decode_fast(d, Table); 1057 *L ++ = idx30[idx];1058 *L ++ = idx31[idx];1059 *L ++ = idx32[idx];1062 *LQ++ = idx30[idx]; 1063 *LQ++ = idx31[idx]; 1064 *LQ++ = idx32[idx]; 1060 1065 } 1061 1066 break; … … 1065 1070 { 1066 1071 idx = mpc_decoder_huffman_decode_fast(d, Table); 1067 *L ++ = idx50[idx];1068 *L ++ = idx51[idx];1072 *LQ++ = idx50[idx]; 1073 *LQ++ = idx51[idx]; 1069 1074 } 1070 1075 break; … … 1073 1078 Table = mpc_table_HuffQ[mpc_decoder_bitstream_read(d, 1)][*ResL]; 1074 1079 for (k=0; k<36; ++k) 1075 *L ++ = mpc_decoder_huffman_decode_faster(d, Table);1080 *LQ++ = mpc_decoder_huffman_decode_faster(d, Table); 1076 1081 break; 1077 1082 case 5: 1078 1083 Table = mpc_table_HuffQ[mpc_decoder_bitstream_read(d, 1)][*ResL]; 1079 1084 for (k=0; k<36; ++k) 1080 *L ++ = mpc_decoder_huffman_decode_fast(d, Table);1085 *LQ++ = mpc_decoder_huffman_decode_fast(d, Table); 1081 1086 break; 1082 1087 case 6: … … 1084 1089 Table = mpc_table_HuffQ[mpc_decoder_bitstream_read(d, 1)][*ResL]; 1085 1090 for (k=0; k<36; ++k) 1086 *L ++ = mpc_decoder_huffman_decode(d, Table);1091 *LQ++ = mpc_decoder_huffman_decode(d, Table); 1087 1092 break; 1088 1093 case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: 1089 1094 tmp = Dc[*ResL]; 1090 1095 for (k=0; k<36; ++k) 1091 *L ++ = (mpc_int32_t)mpc_decoder_bitstream_read(d, Res_bit[*ResL]) - tmp;1096 *LQ++ = (mpc_int32_t)mpc_decoder_bitstream_read(d, Res_bit[*ResL]) - tmp; 1092 1097 break; 1093 1098 default: … … 1099 1104 case -2: case -3: case -4: case -5: case -6: case -7: case -8: case -9: 1100 1105 case -10: case -11: case -12: case -13: case -14: case -15: case -16: case -17: 1101 R += 36;1106 RQ += 36; 1102 1107 break; 1103 1108 case -1: 1104 1109 for (k=0; k<36; k++ ) { 1105 1110 tmp = mpc_random_int(d); 1106 *R ++ = ((tmp >> 24) & 0xFF) + ((tmp >> 16) & 0xFF) + ((tmp >> 8) & 0xFF) + ((tmp >> 0) & 0xFF) - 510;1111 *RQ++ = ((tmp >> 24) & 0xFF) + ((tmp >> 16) & 0xFF) + ((tmp >> 8) & 0xFF) + ((tmp >> 0) & 0xFF) - 510; 1107 1112 } 1108 1113 break; 1109 1114 case 0: 1110 R += 36;// increase pointer1115 RQ += 36;// increase pointer 1111 1116 break; 1112 1117 case 1: … … 1115 1120 { 1116 1121 idx = mpc_decoder_huffman_decode_fast(d, Table); 1117 *R ++ = idx30[idx];1118 *R ++ = idx31[idx];1119 *R ++ = idx32[idx];1122 *RQ++ = idx30[idx]; 1123 *RQ++ = idx31[idx]; 1124 *RQ++ = idx32[idx]; 1120 1125 } 1121 1126 break; … … 1125 1130 { 1126 1131 idx = mpc_decoder_huffman_decode_fast(d, Table); 1127 *R ++ = idx50[idx];1128 *R ++ = idx51[idx];1132 *RQ++ = idx50[idx]; 1133 *RQ++ = idx51[idx]; 1129 1134 } 1130 1135 break; … … 1133 1138 Table = mpc_table_HuffQ[mpc_decoder_bitstream_read(d, 1)][*ResR]; 1134 1139 for (k=0; k<36; ++k) 1135 *R ++ = mpc_decoder_huffman_decode_faster(d, Table);1140 *RQ++ = mpc_decoder_huffman_decode_faster(d, Table); 1136 1141 break; 1137 1142 case 5: 1138 1143 Table = mpc_table_HuffQ[mpc_decoder_bitstream_read(d, 1)][*ResR]; 1139 1144 for (k=0; k<36; ++k) 1140 *R ++ = mpc_decoder_huffman_decode_fast(d, Table);1145 *RQ++ = mpc_decoder_huffman_decode_fast(d, Table); 1141 1146 break; 1142 1147 case 6: … … 1144 1149 Table = mpc_table_HuffQ[mpc_decoder_bitstream_read(d, 1)][*ResR]; 1145 1150 for (k=0; k<36; ++k) 1146 *R ++ = mpc_decoder_huffman_decode(d, Table);1151 *RQ++ = mpc_decoder_huffman_decode(d, Table); 1147 1152 break; 1148 1153 case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: 1149 1154 tmp = Dc[*ResR]; 1150 1155 for (k=0; k<36; ++k) 1151 *R ++ = (mpc_int32_t)mpc_decoder_bitstream_read(d, Res_bit[*ResR]) - tmp;1156 *RQ++ = (mpc_int32_t)mpc_decoder_bitstream_read(d, Res_bit[*ResR]) - tmp; 1152 1157 break; 1153 1158 default: … … 1300 1305 memset(d->SCFI_L , 0, sizeof d->SCFI_L ); 1301 1306 memset(d->SCFI_R , 0, sizeof d->SCFI_R ); 1307 #ifdef MPC_SUPPORT_SV456 1302 1308 memset(d->DSCF_Flag_L , 0, sizeof d->DSCF_Flag_L ); 1303 1309 memset(d->DSCF_Flag_R , 0, sizeof d->DSCF_Flag_R ); 1304 memset(d->DSCF_Reference_L, 0, sizeof d->DSCF_Reference_L ); 1305 memset(d->DSCF_Reference_R, 0, sizeof d->DSCF_Reference_R ); 1310 #endif 1311 //memset(d->DSCF_Reference_L, 0, sizeof d->DSCF_Reference_L ); 1312 //memset(d->DSCF_Reference_R, 0, sizeof d->DSCF_Reference_R ); 1306 1313 memset(d->Q , 0, sizeof d->Q ); 1307 1314 memset(d->MS_Flag , 0, sizeof d->MS_Flag );
Note: See TracChangeset
for help on using the changeset viewer.