~ft/openh264

f6cd3db60ddd64e593306db381f3190c5488f4ac — Sigrid Solveig Haflínudóttir 9 months ago 3eb2a13 master
update plan 9 port
2 files changed, 19 insertions(+), 1 deletions(-)

A codec/decoder/core/inc/decoder9.h
M codec/decoder/core/src/decoder_core.cpp
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;
      }