A codec/decoder/core/inc/decoder9.h => codec/decoder/core/inc/decoder9.h +18 -0
@@ 0,0 1,18 @@
+typedef struct H264Aux H264Aux;
+
+struct H264Aux {
+ SPictReoderingStatus;
+ SPictInfo pics[16];
+
+ SWelsDecoderContext ctx;
+ SLogContext logctx;
+ SBufferInfo info;
+ SWelsLastDecPicInfo pic;
+ SVlcTable vlctbl;
+ SDecoderStatistics stat;
+ uint8_t *data[3];
+};
+
+int h264decode(H264Aux *a, u8int *buf, int sz, uvlong *timestamp);
+void h264flush(H264Aux *a);
+char *h264err2s(int err);
M codec/decoder/core/src/decoder_core.cpp => codec/decoder/core/src/decoder_core.cpp +1 -1
@@ 404,7 404,7 @@ void CreateImplicitWeightTable (PWelsDecoderContext pCtx) {
//fix Bugzilla 1485229 check if pointers are NULL
if (pCtx->sRefPic.pRefList[LIST_0][0] && pCtx->sRefPic.pRefList[LIST_1][0]) {
if (pSliceHeader->uiRefCount[0] == 1 && pSliceHeader->uiRefCount[1] == 1
- && int64_t(pCtx->sRefPic.pRefList[LIST_0][0]->iFramePoc) + int64_t(pCtx->sRefPic.pRefList[LIST_1][0]->iFramePoc) == 2 * int64_t(iPoc)) {
+ && (int64_t)(pCtx->sRefPic.pRefList[LIST_0][0]->iFramePoc) + (int64_t)(pCtx->sRefPic.pRefList[LIST_1][0]->iFramePoc) == 2 * (int64_t)(iPoc)) {
pCurDqLayer->bUseWeightedBiPredIdc = false;
return;
}