diff options
Diffstat (limited to 'src/libffmpeg/libavcodec/wmv2.c')
-rw-r--r-- | src/libffmpeg/libavcodec/wmv2.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libffmpeg/libavcodec/wmv2.c b/src/libffmpeg/libavcodec/wmv2.c index cbe5de215..75e924cb6 100644 --- a/src/libffmpeg/libavcodec/wmv2.c +++ b/src/libffmpeg/libavcodec/wmv2.c @@ -369,7 +369,7 @@ return -1; s->pict_type = get_bits(&s->gb, 1) + 1; if(s->pict_type == I_TYPE){ code = get_bits(&s->gb, 7); - av_log(s->avctx, AV_LOG_ERROR, "I7:%X/\n", code); + av_log(s->avctx, AV_LOG_DEBUG, "I7:%X/\n", code); } s->chroma_qscale= s->qscale = get_bits(&s->gb, 5); if(s->qscale < 0) @@ -513,9 +513,12 @@ static int16_t *wmv2_pred_motion(Wmv2Context *w, int *px, int *py){ B = s->current_picture.motion_val[0][xy - wrap]; C = s->current_picture.motion_val[0][xy + 2 - wrap]; - diff= FFMAX(ABS(A[0] - B[0]), ABS(A[1] - B[1])); + if(s->mb_x && !s->first_slice_line && !s->mspel && w->top_left_mv_flag) + diff= FFMAX(ABS(A[0] - B[0]), ABS(A[1] - B[1])); + else + diff=0; - if(s->mb_x && !s->first_slice_line && !s->mspel && w->top_left_mv_flag && diff >= 8) + if(diff >= 8) type= get_bits1(&s->gb); else type= 2; |