Commit 542864b2 authored by michael's avatar michael

rv20 mv prediction in b frames fix


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@2712 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent e2544c1f
...@@ -547,6 +547,10 @@ static int rv10_decode_packet(AVCodecContext *avctx, ...@@ -547,6 +547,10 @@ static int rv10_decode_packet(AVCodecContext *avctx,
return -1; return -1;
} }
if(s->pict_type == B_TYPE){ //FIXME remove after cleaning mottion_val indexing
memset(s->current_picture.motion_val[0], 0, sizeof(int16_t)*2*(s->mb_width*2+2)*(s->mb_height*2+2));
}
#ifdef DEBUG #ifdef DEBUG
printf("qscale=%d\n", s->qscale); printf("qscale=%d\n", s->qscale);
#endif #endif
...@@ -575,7 +579,7 @@ static int rv10_decode_packet(AVCodecContext *avctx, ...@@ -575,7 +579,7 @@ static int rv10_decode_packet(AVCodecContext *avctx,
s->rv10_first_dc_coded[0] = 0; s->rv10_first_dc_coded[0] = 0;
s->rv10_first_dc_coded[1] = 0; s->rv10_first_dc_coded[1] = 0;
s->rv10_first_dc_coded[2] = 0; s->rv10_first_dc_coded[2] = 0;
//printf("%d %X %X\n", s->pict_type, s->current_picture.motion_val[0], s->current_picture.motion_val[1]);
s->block_wrap[0]= s->block_wrap[0]=
s->block_wrap[1]= s->block_wrap[1]=
s->block_wrap[2]= s->block_wrap[2]=
...@@ -600,6 +604,7 @@ static int rv10_decode_packet(AVCodecContext *avctx, ...@@ -600,6 +604,7 @@ static int rv10_decode_packet(AVCodecContext *avctx,
av_log(s->avctx, AV_LOG_ERROR, "ERROR at MB %d %d\n", s->mb_x, s->mb_y); av_log(s->avctx, AV_LOG_ERROR, "ERROR at MB %d %d\n", s->mb_x, s->mb_y);
return -1; return -1;
} }
if(s->pict_type != B_TYPE)
ff_h263_update_motion_val(s); ff_h263_update_motion_val(s);
MPV_decode_mb(s, s->block); MPV_decode_mb(s, s->block);
if(s->loop_filter) if(s->loop_filter)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment