mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
itu H.263: Fix handling of PB blocks
This fixes artifacts in Ticket744 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
c3bb3334f6
commit
623184afa2
@ -566,11 +566,13 @@ static int h263_skip_b_part(MpegEncContext *s, int cbp)
|
||||
{
|
||||
LOCAL_ALIGNED_16(DCTELEM, dblock, [64]);
|
||||
int i, mbi;
|
||||
int bli[6];
|
||||
|
||||
/* we have to set s->mb_intra to zero to decode B-part of PB-frame correctly
|
||||
* but real value should be restored in order to be used later (in OBMC condition)
|
||||
*/
|
||||
mbi = s->mb_intra;
|
||||
memcpy(bli, s->block_last_index, sizeof(bli));
|
||||
s->mb_intra = 0;
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (h263_decode_block(s, dblock, i, cbp&32) < 0)
|
||||
@ -578,6 +580,7 @@ static int h263_skip_b_part(MpegEncContext *s, int cbp)
|
||||
cbp+=cbp;
|
||||
}
|
||||
s->mb_intra = mbi;
|
||||
memcpy(s->block_last_index, bli, sizeof(bli));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user