|
|
|
@ -547,6 +547,10 @@ static int rv10_decode_packet(AVCodecContext *avctx, |
|
|
|
|
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 |
|
|
|
|
printf("qscale=%d\n", s->qscale); |
|
|
|
|
#endif |
|
|
|
@ -575,7 +579,7 @@ static int rv10_decode_packet(AVCodecContext *avctx, |
|
|
|
|
s->rv10_first_dc_coded[0] = 0; |
|
|
|
|
s->rv10_first_dc_coded[1] = 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[1]= |
|
|
|
|
s->block_wrap[2]= |
|
|
|
@ -600,7 +604,8 @@ 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); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
ff_h263_update_motion_val(s); |
|
|
|
|
if(s->pict_type != B_TYPE) |
|
|
|
|
ff_h263_update_motion_val(s); |
|
|
|
|
MPV_decode_mb(s, s->block); |
|
|
|
|
if(s->loop_filter) |
|
|
|
|
ff_h263_loop_filter(s); |
|
|
|
@ -635,7 +640,7 @@ static int rv10_decode_frame(AVCodecContext *avctx, |
|
|
|
|
*data_size = 0; |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(avctx->slice_count){ |
|
|
|
|
for(i=0; i<avctx->slice_count; i++){ |
|
|
|
|
int offset= avctx->slice_offset[i]; |
|
|
|
|