Showing the changes to codec/decoder (1 of 2 files). Show all
Unified · Split
| @@ -73,9 +73,9 @@ void DoErrorConFrameCopy (PWelsDecoderContext pCtx) { · 72 unmodified lines | |||
| 73 | int32_t iStrideY = pDstPic->iLinesize[0]; | 73 | int32_t iStrideY = pDstPic->iLinesize[0]; |
| 74 | int32_t iStrideUV = pDstPic->iLinesize[1]; | 74 | int32_t iStrideUV = pDstPic->iLinesize[1]; |
| 75 | if (pSrcPic == NULL) { //no ref pic, assign specific data to picture | 75 | if (pSrcPic == NULL) { //no ref pic, assign specific data to picture |
| 76 | memset (pDstPic->pData[0], 0, uiHeightInPixelY * iStrideY); | 76 | memset (pDstPic->pData[0], 128, uiHeightInPixelY * iStrideY); |
| 77 | memset (pDstPic->pData[1], 0, (uiHeightInPixelY >> 1) * iStrideUV); | 77 | memset (pDstPic->pData[1], 128, (uiHeightInPixelY >> 1) * iStrideUV); |
| 78 | memset (pDstPic->pData[2], 0, (uiHeightInPixelY >> 1) * iStrideUV); | 78 | memset (pDstPic->pData[2], 128, (uiHeightInPixelY >> 1) * iStrideUV); |
| 79 | } else { //has ref pic here | 79 | } else { //has ref pic here |
| 80 | memcpy (pDstPic->pData[0], pSrcPic->pData[0], uiHeightInPixelY * iStrideY); | 80 | memcpy (pDstPic->pData[0], pSrcPic->pData[0], uiHeightInPixelY * iStrideY); |
| 81 | memcpy (pDstPic->pData[1], pSrcPic->pData[1], (uiHeightInPixelY >> 1) * iStrideUV); | 81 | memcpy (pDstPic->pData[1], pSrcPic->pData[1], (uiHeightInPixelY >> 1) * iStrideUV); |
| @@ -121,19 +121,19 @@ void DoErrorConSliceCopy (PWelsDecoderContext pCtx) { · 39 unmodified lines | |||
| 121 | //Y component | 121 | //Y component |
| 122 | pDstData = pDstPic->pData[0] + iMbY * 16 * iDstStride + iMbX * 16; | 122 | pDstData = pDstPic->pData[0] + iMbY * 16 * iDstStride + iMbX * 16; |
| 123 | for (int32_t i = 0; i < 16; ++i) { | 123 | for (int32_t i = 0; i < 16; ++i) { |
| 124 | memset (pDstData, 0, 16); | 124 | memset (pDstData, 128, 16); |
| 125 | pDstData += iDstStride; | 125 | pDstData += iDstStride; |
| 126 | } | 126 | } |
| 127 | //U component | 127 | //U component |
| 128 | pDstData = pDstPic->pData[1] + iMbY * 8 * iDstStride / 2 + iMbX * 8; | 128 | pDstData = pDstPic->pData[1] + iMbY * 8 * iDstStride / 2 + iMbX * 8; |
| 129 | for (int32_t i = 0; i < 8; ++i) { | 129 | for (int32_t i = 0; i < 8; ++i) { |
| 130 | memset (pDstData, 0, 8); | 130 | memset (pDstData, 128, 8); |
| 131 | pDstData += iDstStride / 2; | 131 | pDstData += iDstStride / 2; |
| 132 | } | 132 | } |
| 133 | //V component | 133 | //V component |
| 134 | pDstData = pDstPic->pData[2] + iMbY * 8 * iDstStride / 2 + iMbX * 8; | 134 | pDstData = pDstPic->pData[2] + iMbY * 8 * iDstStride / 2 + iMbX * 8; |
| 135 | for (int32_t i = 0; i < 8; ++i) { | 135 | for (int32_t i = 0; i < 8; ++i) { |
| 136 | memset (pDstData, 0, 8); | 136 | memset (pDstData, 128, 8); |
| 137 | pDstData += iDstStride / 2; | 137 | pDstData += iDstStride / 2; |
| 138 | } | 138 | } |
| 139 | } // | 139 | } // |