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

Andreas Öman andreas
Mon Jul 30 10:43:32 CEST 2007


Hello

Michael Niedermayer wrote:
> Hi
> 

> 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.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: neighbour-c.patch
Type: text/x-patch
Size: 1379 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070730/da97d00a/attachment.bin>



More information about the ffmpeg-devel mailing list