Showing the changes to codec/decoder (2 of 2 files). Show all
Unified · Split
| @@ -0,0 +1,18 @@ | ||
| 1 | +typedef struct H264Aux H264Aux; | |
| 2 | + | |
| 3 | +struct H264Aux { | |
| 4 | + SPictReoderingStatus; | |
| 5 | + SPictInfo pics[16]; | |
| 6 | + | |
| 7 | + SWelsDecoderContext ctx; | |
| 8 | + SLogContext logctx; | |
| 9 | + SBufferInfo info; | |
| 10 | + SWelsLastDecPicInfo pic; | |
| 11 | + SVlcTable vlctbl; | |
| 12 | + SDecoderStatistics stat; | |
| 13 | + uint8_t *data[3]; | |
| 14 | +}; | |
| 15 | + | |
| 16 | +int h264decode(H264Aux *a, u8int *buf, int sz, uvlong *timestamp); | |
| 17 | +void h264flush(H264Aux *a); | |
| 18 | +char *h264err2s(int err); | |
| @@ -404,7 +404,7 @@ void CreateImplicitWeightTable (PWelsDecoderContext pCtx) { · 403 unmodified lines | ||
| 404 | 404 | //fix Bugzilla 1485229 check if pointers are NULL |
| 405 | 405 | if (pCtx->sRefPic.pRefList[LIST_0][0] && pCtx->sRefPic.pRefList[LIST_1][0]) { |
| 406 | 406 | if (pSliceHeader->uiRefCount[0] == 1 && pSliceHeader->uiRefCount[1] == 1 |
| 407 | − && int64_t(pCtx->sRefPic.pRefList[LIST_0][0]->iFramePoc) + int64_t(pCtx->sRefPic.pRefList[LIST_1][0]->iFramePoc) == 2 * int64_t(iPoc)) { | |
| 407 | + && (int64_t)(pCtx->sRefPic.pRefList[LIST_0][0]->iFramePoc) + (int64_t)(pCtx->sRefPic.pRefList[LIST_1][0]->iFramePoc) == 2 * (int64_t)(iPoc)) { | |
| 408 | 408 | pCurDqLayer->bUseWeightedBiPredIdc = false; |
| 409 | 409 | return; |
| 410 | 410 | } |