Browse Source

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>
tags/n1.1
Carl Eugen Hoyos Derek Buitenhuis 12 years ago
parent
commit
2ddf7c88d1
3 changed files with 45 additions and 42 deletions
  1. +1
    -1
      libavcodec/version.h
  2. +6
    -3
      libavcodec/zerocodec.c
  3. +38
    -38
      tests/ref/fate/zerocodec

+ 1
- 1
libavcodec/version.h View File

@@ -28,7 +28,7 @@

#define LIBAVCODEC_VERSION_MAJOR 54
#define LIBAVCODEC_VERSION_MINOR 34
#define LIBAVCODEC_VERSION_MICRO 0
#define LIBAVCODEC_VERSION_MICRO 1

#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \


+ 6
- 3
libavcodec/zerocodec.c 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 */


+ 38
- 38
tests/ref/fate/zerocodec 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

Loading…
Cancel
Save