There is no implementation available for actually doing decoding in HW.
Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 10 files). Show all
Unified · Split
| @@ -76,9 +76,6 @@ static inline int32_t DecodeFrameConstruction (PWelsDecoderContext pCtx, uint8_t · 75 unmodified lines | |||
| 76 | "DecodeFrameConstruction()::::output good I frame, %d x %d, crop_left:%d, crop_right:%d, crop_top:%d, crop_bottom:%d.\n", | 76 | "DecodeFrameConstruction()::::output good I frame, %d x %d, crop_left:%d, crop_right:%d, crop_top:%d, crop_bottom:%d.\n", |
| 77 | kiWidth, kiHeight, pCtx->sFrameCrop.iLeftOffset, pCtx->sFrameCrop.iRightOffset, pCtx->sFrameCrop.iTopOffset, | 77 | kiWidth, kiHeight, pCtx->sFrameCrop.iLeftOffset, pCtx->sFrameCrop.iRightOffset, pCtx->sFrameCrop.iTopOffset, |
| 78 | pCtx->sFrameCrop.iBottomOffset); | 78 | pCtx->sFrameCrop.iBottomOffset); |
| 79 | WelsLog (pCtx, WELS_LOG_INFO, "After decoding, set_mode:[%s], eWorkMode:[%s], eBufferProperty:[%s]\n", | ||
| 80 | DECODER_MODE_NAME (pCtx->iSetMode), DECODER_MODE_NAME (pCtx->iDecoderMode), | ||
| 81 | OUTPUT_PROPERTY_NAME (pDstInfo->eBufferProperty)); | ||
| 82 | } | 79 | } |
| 83 | 80 | ||
| 84 | //////output:::normal path | 81 | //////output:::normal path |
| @@ -99,7 +96,6 @@ static inline int32_t DecodeFrameConstruction (PWelsDecoderContext pCtx, uint8_t · 14 unmodified lines | |||
| 99 | ppDst[0] = ppDst[0] + pCtx->sFrameCrop.iTopOffset * 2 * pPic->iLinesize[0] + pCtx->sFrameCrop.iLeftOffset * 2; | 96 | ppDst[0] = ppDst[0] + pCtx->sFrameCrop.iTopOffset * 2 * pPic->iLinesize[0] + pCtx->sFrameCrop.iLeftOffset * 2; |
| 100 | ppDst[1] = ppDst[1] + pCtx->sFrameCrop.iTopOffset * pPic->iLinesize[1] + pCtx->sFrameCrop.iLeftOffset; | 97 | ppDst[1] = ppDst[1] + pCtx->sFrameCrop.iTopOffset * pPic->iLinesize[1] + pCtx->sFrameCrop.iLeftOffset; |
| 101 | ppDst[2] = ppDst[2] + pCtx->sFrameCrop.iTopOffset * pPic->iLinesize[1] + pCtx->sFrameCrop.iLeftOffset; | 98 | ppDst[2] = ppDst[2] + pCtx->sFrameCrop.iTopOffset * pPic->iLinesize[1] + pCtx->sFrameCrop.iLeftOffset; |
| 102 | pDstInfo->eBufferProperty = BUFFER_HOST; | ||
| 103 | pDstInfo->iBufferStatus = 1; | 99 | pDstInfo->iBufferStatus = 1; |
| 104 | 100 | ||
| 105 | return 0; | 101 | return 0; |
| @@ -935,7 +931,6 @@ int32_t InitialDqLayersContext (PWelsDecoderContext pCtx, const int32_t kiMaxWid · 829 unmodified lines | |||
| 935 | return ERR_INFO_OUT_OF_MEMORY; | 931 | return ERR_INFO_OUT_OF_MEMORY; |
| 936 | 932 | ||
| 937 | memset (pDq, 0, sizeof (SDqLayer)); | 933 | memset (pDq, 0, sizeof (SDqLayer)); |
| 938 | if (pCtx->iDecoderMode == SW_MODE) { | ||
| 939 | 934 | ||
| 940 | do { | 935 | do { |
| 941 | const int32_t kiHshift = iPlaneIdx ? 1 : 0; | 936 | const int32_t kiHshift = iPlaneIdx ? 1 : 0; |
| @@ -1015,7 +1010,6 @@ int32_t InitialDqLayersContext (PWelsDecoderContext pCtx, const int32_t kiMaxWid · 73 unmodified lines | |||
| 1015 | (NULL == pCtx->sMb.pInterPredictionDoneFlag[i]) | 1010 | (NULL == pCtx->sMb.pInterPredictionDoneFlag[i]) |
| 1016 | ) | 1011 | ) |
| 1017 | ) | 1012 | ) |
| 1018 | } // end of if(pCtx->iDecoderMode == SW_MODE) | ||
| 1019 | 1013 | ||
| 1020 | pCtx->pDqLayersList[i] = pDq; | 1014 | pCtx->pDqLayersList[i] = pDq; |
| 1021 | ++ i; | 1015 | ++ i; |
| @@ -1580,8 +1574,6 @@ int32_t ConstructAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferI · 558 unmodified lines | |||
| 1580 | } | 1574 | } |
| 1581 | 1575 | ||
| 1582 | 1576 | ||
| 1583 | pDstInfo->eBufferProperty = (EBufferProperty)pCtx->iDecoderOutputProperty; | ||
| 1584 | |||
| 1585 | iErr = DecodeCurrentAccessUnit (pCtx, ppDst, iStride, &iWidth, &iHeight, pDstInfo); | 1577 | iErr = DecodeCurrentAccessUnit (pCtx, ppDst, iStride, &iWidth, &iHeight, pDstInfo); |
| 1586 | 1578 | ||
| 1587 | WelsDecodeAccessUnitEnd (pCtx); | 1579 | WelsDecodeAccessUnitEnd (pCtx); |