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