Flip zerocodec output.

Fixes ticket #1218
This commit is contained in:
Carl Eugen Hoyos 2012-12-09 10:24:16 +01:00
parent e8ca7cfa4f
commit 66dc3ba356
3 changed files with 45 additions and 42 deletions

View File

@ -30,7 +30,7 @@
#define LIBAVCODEC_VERSION_MAJOR 54
#define LIBAVCODEC_VERSION_MINOR 79
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_MICRO 101
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \

View File

@ -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 */

View File

@ -1,39 +1,39 @@
#tb 0: 417083/10000000
0, 0, 0, 1, 1843200, 0x09f24bd5
0, 1, 1, 1, 1843200, 0x8c932d04
0, 2, 2, 1, 1843200, 0xe04904a0
0, 3, 3, 1, 1843200, 0x1969f383
0, 4, 4, 1, 1843200, 0x70781331
0, 5, 5, 1, 1843200, 0xf494496b
0, 6, 6, 1, 1843200, 0xf6226da2
0, 7, 7, 1, 1843200, 0x5d657925
0, 8, 8, 1, 1843200, 0xde15820d
0, 9, 9, 1, 1843200, 0xb6768df1
0, 10, 10, 1, 1843200, 0xc4318e08
0, 11, 11, 1, 1843200, 0x8530a7d5
0, 12, 12, 1, 1843200, 0x0ee29f10
0, 13, 13, 1, 1843200, 0xcbb6b185
0, 14, 14, 1, 1843200, 0x085aac47
0, 15, 15, 1, 1843200, 0xb42e7b1b
0, 16, 16, 1, 1843200, 0xea3a2cd6
0, 17, 17, 1, 1843200, 0x7600ee09
0, 18, 18, 1, 1843200, 0xe39fc9d4
0, 19, 19, 1, 1843200, 0xc122cd4c
0, 20, 20, 1, 1843200, 0x5fb4c1cb
0, 21, 21, 1, 1843200, 0x1552cb6c
0, 22, 22, 1, 1843200, 0x5b66ce2f
0, 23, 23, 1, 1843200, 0x70a8c318
0, 24, 24, 1, 1843200, 0x8b86af2d
0, 25, 25, 1, 1843200, 0x94886a49
0, 26, 26, 1, 1843200, 0xda05684f
0, 27, 27, 1, 1843200, 0xe57c8f33
0, 28, 28, 1, 1843200, 0x39ef9c7e
0, 29, 29, 1, 1843200, 0xe7a0cab8
0, 30, 30, 1, 1843200, 0x43f0d766
0, 31, 31, 1, 1843200, 0x733d3c7b
0, 32, 32, 1, 1843200, 0x42713cea
0, 33, 33, 1, 1843200, 0xdd844e53
0, 34, 34, 1, 1843200, 0xa0875ba8
0, 35, 35, 1, 1843200, 0x318b6114
0, 36, 36, 1, 1843200, 0xcc986275
0, 37, 37, 1, 1843200, 0x14eb6704
0, 0, 0, 1, 1843200, 0x04154bd5
0, 1, 1, 1, 1843200, 0x3a872d04
0, 2, 2, 1, 1843200, 0x3b1304a0
0, 3, 3, 1, 1843200, 0x7474f383
0, 4, 4, 1, 1843200, 0xce7d1331
0, 5, 5, 1, 1843200, 0x3cdf496b
0, 6, 6, 1, 1843200, 0xe9096da2
0, 7, 7, 1, 1843200, 0x30be7925
0, 8, 8, 1, 1843200, 0x600b820d
0, 9, 9, 1, 1843200, 0xe7bb8df1
0, 10, 10, 1, 1843200, 0x62848e08
0, 11, 11, 1, 1843200, 0x9a71a7d5
0, 12, 12, 1, 1843200, 0x743a9f10
0, 13, 13, 1, 1843200, 0x62b0b185
0, 14, 14, 1, 1843200, 0xd94eac47
0, 15, 15, 1, 1843200, 0xa1007b1b
0, 16, 16, 1, 1843200, 0x11d72cd6
0, 17, 17, 1, 1843200, 0x141aee09
0, 18, 18, 1, 1843200, 0x9a90c9d4
0, 19, 19, 1, 1843200, 0x6bd5cd4c
0, 20, 20, 1, 1843200, 0xdf2ec1cb
0, 21, 21, 1, 1843200, 0xeecbcb6c
0, 22, 22, 1, 1843200, 0x9ecace2f
0, 23, 23, 1, 1843200, 0x7b59c318
0, 24, 24, 1, 1843200, 0x050baf2d
0, 25, 25, 1, 1843200, 0xada36a49
0, 26, 26, 1, 1843200, 0x4f4d684f
0, 27, 27, 1, 1843200, 0x9ddc8f33
0, 28, 28, 1, 1843200, 0x914d9c7e
0, 29, 29, 1, 1843200, 0x0dc3cab8
0, 30, 30, 1, 1843200, 0x98f8d766
0, 31, 31, 1, 1843200, 0x872e3c7b
0, 32, 32, 1, 1843200, 0xdf7b3cea
0, 33, 33, 1, 1843200, 0xf7864e53
0, 34, 34, 1, 1843200, 0x13315ba8
0, 35, 35, 1, 1843200, 0xc4586114
0, 36, 36, 1, 1843200, 0x57a96275
0, 37, 37, 1, 1843200, 0x6e756704