Mercurial > libavcodec.hg
comparison h264.c @ 11003:72c026446d67 libavcodec
100l, correct wrong H.264+adaptive MBAFF decoding
Fixes several FATE tests.
author | astrange |
---|---|
date | Mon, 25 Jan 2010 01:56:13 +0000 |
parents | 1c8892d7a090 |
children | aa5bcf07731a |
comparison
equal
deleted
inserted
replaced
11002:1c8892d7a090 | 11003:72c026446d67 |
---|---|
985 uint64_t temp64; | 985 uint64_t temp64; |
986 int deblock_left; | 986 int deblock_left; |
987 int deblock_top; | 987 int deblock_top; |
988 int mb_xy; | 988 int mb_xy; |
989 int top_idx = 1; | 989 int top_idx = 1; |
990 uint8_t *top_border_m1 = h->top_borders[top_idx][s->mb_x-1]; | 990 uint8_t *top_border_m1; |
991 uint8_t *top_border = h->top_borders[top_idx][s->mb_x]; | 991 uint8_t *top_border; |
992 | 992 |
993 if(!simple && FRAME_MBAFF){ | 993 if(!simple && FRAME_MBAFF){ |
994 if(s->mb_y&1){ | 994 if(s->mb_y&1){ |
995 if(!MB_MBAFF) | 995 if(!MB_MBAFF) |
996 return; | 996 return; |
1009 } | 1009 } |
1010 | 1010 |
1011 src_y -= linesize + 1; | 1011 src_y -= linesize + 1; |
1012 src_cb -= uvlinesize + 1; | 1012 src_cb -= uvlinesize + 1; |
1013 src_cr -= uvlinesize + 1; | 1013 src_cr -= uvlinesize + 1; |
1014 | |
1015 top_border_m1 = h->top_borders[top_idx][s->mb_x-1]; | |
1016 top_border = h->top_borders[top_idx][s->mb_x]; | |
1014 | 1017 |
1015 #define XCHG(a,b,xchg)\ | 1018 #define XCHG(a,b,xchg)\ |
1016 if (xchg) AV_SWAP64(b,a);\ | 1019 if (xchg) AV_SWAP64(b,a);\ |
1017 else AV_COPY64(b,a); | 1020 else AV_COPY64(b,a); |
1018 | 1021 |