[Ffmpeg-devel] few remarks for h264 decoder

Gábor Kovács picard
Sat Dec 31 12:17:33 CET 2005

I don't have FRext specs (only JM sources), but ffmpeg's decode_scaling_list() 
seems to make no difference between list not present "if (!get_bits1(&s->gb))" and 
using default list "if(!i && !next)". The later should always use default_scaling4/default_scaling8
constant tables.

From: "Loren Merritt" <lorenm at u.washington.edu>
> I re-read pred_direct_motion(), and see
>    if(is_b8x8 && !IS_DIRECT(h->sub_mb_type[i8]))
>      continue;
> Are you sure there's a problem?

I know it's hard to understand my explanation. Here is another one:
There is a reason why fill_caches() has these lines:
  h->ref_cache[list][scan8[4 ]] =
  h->ref_cache[list][scan8[12]] = PART_NOT_AVAILABLE;
This is what can be overwritten by pred_direct_motion() before they
could have had their effect on fetch_diagonal_mv()

bye, Picard

More information about the ffmpeg-devel mailing list