Showing the changes to codec/decoder/core/src/decode_slice.cpp (1 of 1 file). Show all
Unified · Split
| @@ -517,7 +517,7 @@ int32_t WelsActualDecodeMbCavlcISlice (PWelsDecoderContext pCtx) { · 516 unmodified lines | |||
| 517 | //step 3: update QP and pNonZeroCount | 517 | //step 3: update QP and pNonZeroCount |
| 518 | pCurLayer->pLumaQp[iMbXy] = 0; | 518 | pCurLayer->pLumaQp[iMbXy] = 0; |
| 519 | pCurLayer->pChromaQp[iMbXy] = 0; | 519 | pCurLayer->pChromaQp[iMbXy] = 0; |
| 520 | memset (pCurLayer->pNzc[iMbXy], 16, sizeof (pCurLayer->pNzc[iMbXy])); //JVT-x201wcm1.doc, page229, 2009.10.23 | 520 | memset (pCurLayer->pNzc[iMbXy], 16, sizeof (pCurLayer->pNzc[iMbXy])); //Rec. 9.2.1 for PCM, nzc=16 |
| 521 | return 0; | 521 | return 0; |
| 522 | } else if (0 == uiMbType) { //reference to JM | 522 | } else if (0 == uiMbType) { //reference to JM |
| 523 | ENFORCE_STACK_ALIGN_1D (int8_t, pIntraPredMode, 48, 16); | 523 | ENFORCE_STACK_ALIGN_1D (int8_t, pIntraPredMode, 48, 16); |
| @@ -683,13 +683,6 @@ int32_t WelsActualDecodeMbCavlcISlice (PWelsDecoderContext pCtx) { · 159 unmodified lines | |||
| 683 | ST16 (&pCurLayer->pNzc[iMbXy][22], 0); | 683 | ST16 (&pCurLayer->pNzc[iMbXy][22], 0); |
| 684 | } | 684 | } |
| 685 | BsEndCavlc (pBs); | 685 | BsEndCavlc (pBs); |
| 686 | } else { | ||
| 687 | ST32 (&pCurLayer->pNzc[iMbXy][0], 0); | ||
| 688 | ST32 (&pCurLayer->pNzc[iMbXy][4], 0); | ||
| 689 | ST32 (&pCurLayer->pNzc[iMbXy][8], 0); | ||
| 690 | ST32 (&pCurLayer->pNzc[iMbXy][12], 0); | ||
| 691 | ST32 (&pCurLayer->pNzc[iMbXy][16], 0); | ||
| 692 | ST32 (&pCurLayer->pNzc[iMbXy][20], 0); | ||
| 693 | } | 686 | } |
| 694 | 687 | ||
| 695 | return 0; | 688 | return 0; |
| @@ -827,10 +820,13 @@ int32_t WelsActualDecodeMbCavlcPSlice (PWelsDecoderContext pCtx) { · 131 unmodified lines | |||
| 827 | //step 3: update QP and pNonZeroCount | 820 | //step 3: update QP and pNonZeroCount |
| 828 | pCurLayer->pLumaQp[iMbXy] = 0; | 821 | pCurLayer->pLumaQp[iMbXy] = 0; |
| 829 | pCurLayer->pChromaQp[iMbXy] = 0; | 822 | pCurLayer->pChromaQp[iMbXy] = 0; |
| 830 | ST32 (&pCurLayer->pNzc[iMbXy][0], 0); | 823 | //Rec. 9.2.1 for PCM, nzc=16 |
| 831 | ST32 (&pCurLayer->pNzc[iMbXy][4], 0); | 824 | ST32 (&pCurLayer->pNzc[iMbXy][0], 0x10101010); |
| 832 | ST32 (&pCurLayer->pNzc[iMbXy][8], 0); | 825 | ST32 (&pCurLayer->pNzc[iMbXy][4], 0x10101010); |
| 833 | ST32 (&pCurLayer->pNzc[iMbXy][12], 0); | 826 | ST32 (&pCurLayer->pNzc[iMbXy][8], 0x10101010); |
| 827 | ST32 (&pCurLayer->pNzc[iMbXy][12], 0x10101010); | ||
| 828 | ST32 (&pCurLayer->pNzc[iMbXy][16], 0x10101010); | ||
| 829 | ST32 (&pCurLayer->pNzc[iMbXy][20], 0x10101010); | ||
| 834 | return 0; | 830 | return 0; |
| 835 | } else { | 831 | } else { |
| 836 | if (0 == uiMbType) { | 832 | if (0 == uiMbType) { |
| @@ -883,6 +879,7 @@ int32_t WelsActualDecodeMbCavlcPSlice (PWelsDecoderContext pCtx) { · 46 unmodified lines | |||
| 883 | ST32 (&pCurLayer->pNzc[iMbXy][4], 0); | 879 | ST32 (&pCurLayer->pNzc[iMbXy][4], 0); |
| 884 | ST32 (&pCurLayer->pNzc[iMbXy][8], 0); | 880 | ST32 (&pCurLayer->pNzc[iMbXy][8], 0); |
| 885 | ST32 (&pCurLayer->pNzc[iMbXy][12], 0); | 881 | ST32 (&pCurLayer->pNzc[iMbXy][12], 0); |
| 882 | ST32 (&pCurLayer->pNzc[iMbXy][16], 0); | ||
| 886 | ST32 (&pCurLayer->pNzc[iMbXy][20], 0); | 883 | ST32 (&pCurLayer->pNzc[iMbXy][20], 0); |
| 887 | if (pCurLayer->pCbp[iMbXy] == 0 && !IS_INTRA16x16 (pCurLayer->pMbType[iMbXy]) && !IS_I_BL (pCurLayer->pMbType[iMbXy])) { | 884 | if (pCurLayer->pCbp[iMbXy] == 0 && !IS_INTRA16x16 (pCurLayer->pMbType[iMbXy]) && !IS_I_BL (pCurLayer->pMbType[iMbXy])) { |
| 888 | pCurLayer->pLumaQp[iMbXy] = pSlice->iLastMbQp; | 885 | pCurLayer->pLumaQp[iMbXy] = pSlice->iLastMbQp; |
| @@ -1004,13 +1001,6 @@ int32_t WelsActualDecodeMbCavlcPSlice (PWelsDecoderContext pCtx) { · 115 unmodified lines | |||
| 1004 | ST32 (&pCurLayer->pNzc[iMbXy][20], 0); | 1001 | ST32 (&pCurLayer->pNzc[iMbXy][20], 0); |
| 1005 | } | 1002 | } |
| 1006 | BsEndCavlc (pBs); | 1003 | BsEndCavlc (pBs); |
| 1007 | } else { | ||
| 1008 | ST32 (&pCurLayer->pNzc[iMbXy][0], 0); | ||
| 1009 | ST32 (&pCurLayer->pNzc[iMbXy][4], 0); | ||
| 1010 | ST32 (&pCurLayer->pNzc[iMbXy][8], 0); | ||
| 1011 | ST32 (&pCurLayer->pNzc[iMbXy][12], 0); | ||
| 1012 | ST32 (&pCurLayer->pNzc[iMbXy][16], 0); | ||
| 1013 | ST32 (&pCurLayer->pNzc[iMbXy][20], 0); | ||
| 1014 | } | 1004 | } |
| 1015 | 1005 | ||
| 1016 | return 0; | 1006 | return 0; |