ZeroCodec: Flip output
The initial testing of the VFW binary codec was flawed, likely due to an AviSynth bug. Re-testing using VirtualDub and various professional editing applications has revealed it should have been flipped. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:

committed by
Derek Buitenhuis

parent
ccb59c106a
commit
2ddf7c88d1
@@ -49,6 +49,9 @@ static int zerocodec_decode_frame(AVCodecContext *avctx, void *data,
|
||||
av_log(avctx, AV_LOG_ERROR, "Missing reference frame.\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
prev += (avctx->height - 1) * prev_pic->linesize[0];
|
||||
|
||||
pic->key_frame = 0;
|
||||
pic->pict_type = AV_PICTURE_TYPE_P;
|
||||
}
|
||||
@@ -67,7 +70,7 @@ static int zerocodec_decode_frame(AVCodecContext *avctx, void *data,
|
||||
zstream->next_in = avpkt->data;
|
||||
zstream->avail_in = avpkt->size;
|
||||
|
||||
dst = pic->data[0];
|
||||
dst = pic->data[0] + (avctx->height - 1) * pic->linesize[0];
|
||||
|
||||
/**
|
||||
* ZeroCodec has very simple interframe compression. If a value
|
||||
@@ -90,8 +93,8 @@ static int zerocodec_decode_frame(AVCodecContext *avctx, void *data,
|
||||
for (j = 0; j < avctx->width << 1; j++)
|
||||
dst[j] += prev[j] & -!dst[j];
|
||||
|
||||
prev += prev_pic->linesize[0];
|
||||
dst += pic->linesize[0];
|
||||
prev -= prev_pic->linesize[0];
|
||||
dst -= pic->linesize[0];
|
||||
}
|
||||
|
||||
/* Release the previous buffer if need be */
|
||||
|
Reference in New Issue
Block a user