diff options
author | Alexander Strange <astrange@ithinksw.com> | 2010-01-25 01:56:13 +0000 |
---|---|---|
committer | Alexander Strange <astrange@ithinksw.com> | 2010-01-25 01:56:13 +0000 |
commit | 1e4f1c56d7f13a1425d6c8b1f2edb3194e295482 (patch) | |
tree | 72c44a0be65b15bdad64ccb634fa6f09caf14943 /libavcodec | |
parent | 9104cd5161ec7cb31361f3dabd73a8a813d4f7d0 (diff) | |
download | ffmpeg-1e4f1c56d7f13a1425d6c8b1f2edb3194e295482.tar.gz |
100l, correct wrong H.264+adaptive MBAFF decoding
Fixes several FATE tests.
Originally committed as revision 21445 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h264.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index e07cd2ef22..2de6f6ccc4 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -987,8 +987,8 @@ static inline void xchg_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_c int deblock_top; int mb_xy; int top_idx = 1; - uint8_t *top_border_m1 = h->top_borders[top_idx][s->mb_x-1]; - uint8_t *top_border = h->top_borders[top_idx][s->mb_x]; + uint8_t *top_border_m1; + uint8_t *top_border; if(!simple && FRAME_MBAFF){ if(s->mb_y&1){ @@ -1012,6 +1012,9 @@ static inline void xchg_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_c src_cb -= uvlinesize + 1; src_cr -= uvlinesize + 1; + top_border_m1 = h->top_borders[top_idx][s->mb_x-1]; + top_border = h->top_borders[top_idx][s->mb_x]; + #define XCHG(a,b,xchg)\ if (xchg) AV_SWAP64(b,a);\ else AV_COPY64(b,a); |