100l, correct wrong H.264+adaptive MBAFF decoding
Fixes several FATE tests. Originally committed as revision 21445 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
9104cd5161
commit
1e4f1c56d7
@ -987,8 +987,8 @@ static inline void xchg_mb_border(H264Context *h, uint8_t *src_y, uint8_t *src_c
|
|||||||
int deblock_top;
|
int deblock_top;
|
||||||
int mb_xy;
|
int mb_xy;
|
||||||
int top_idx = 1;
|
int top_idx = 1;
|
||||||
uint8_t *top_border_m1 = h->top_borders[top_idx][s->mb_x-1];
|
uint8_t *top_border_m1;
|
||||||
uint8_t *top_border = h->top_borders[top_idx][s->mb_x];
|
uint8_t *top_border;
|
||||||
|
|
||||||
if(!simple && FRAME_MBAFF){
|
if(!simple && FRAME_MBAFF){
|
||||||
if(s->mb_y&1){
|
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_cb -= uvlinesize + 1;
|
||||||
src_cr -= 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)\
|
#define XCHG(a,b,xchg)\
|
||||||
if (xchg) AV_SWAP64(b,a);\
|
if (xchg) AV_SWAP64(b,a);\
|
||||||
else AV_COPY64(b,a);
|
else AV_COPY64(b,a);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user