[FFmpeg-devel] Corrupted blocks and seeking issues in H264 disc sources

Guillaume POIRIER poirierg
Mon Jul 30 23:20:37 CEST 2007


Hi,

On 7/30/07, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Mon, Jul 30, 2007 at 10:43:32AM +0200, Andreas ?man wrote:
> > Michael Niedermayer wrote:
> >
> > >cavlc contains:
> > >                pred_direct_motion(h, &mb_type);
> > >                h->ref_cache[0][scan8[4]] =
> > >                h->ref_cache[1][scan8[4]] =
> > >                h->ref_cache[0][scan8[12]] =
> > >                h->ref_cache[1][scan8[12]] = PART_NOT_AVAILABLE;
> > >...
> > >                if(IS_DIRECT(h->sub_mb_type[i])) {
> > >                    h->ref_cache[list][ scan8[4*i] ] = h->ref_cache[list][
> > >                    scan8[4*i]+1 ];
> > >                    continue;
> > >                }
> > >
> > >cabac does:
> > >                pred_direct_motion(h, &mb_type);
> > >                if( h->ref_count[0] > 1 || h->ref_count[1] > 1 ) {
> > >                    for( i = 0; i < 4; i++ )
> > >                        if( IS_DIRECT(h->sub_mb_type[i]) )
> > >                            fill_rectangle( &h->direct_cache[scan8[4*i]],
> > >                            2, 2, 8, 1, 1 );
> > >                }
> > >            }
> > >
> > >id say this is suspicious
> >
> > Yes, the cabac code is incorrect here.
> > Patch attached.
>
> looks ok

Seems to work well, patch applied.

Guillaume
-- 
A soldier will fight long and hard for a bit of colored ribbon.
 -- Napoleon Bonaparte



More information about the ffmpeg-devel mailing list