[x264-devel] Bug in X264: Intra-refresh uses non-refreshed pixels
Chris Brien
chris.brien at tandberg.com
Tue Sep 14 11:18:00 CEST 2010
On 14.09.2010 00:19, Jason Garrett-Glaser wrote:
> On Mon, Sep 13, 2010 at 9:46 AM, Chris Brien<chris.brien at tandberg.com> wrote:
>> When decoding from a GDR recovery point, the stripe of intra macroblocks
>> X264 generates as the refresh boundary is supposed to be pristine, using
>> only pixel data from the left of the good/bad boundary in order to ensure
>> that (prior to deblocking) the pixels to the left of the boundary are all
>> known and correct.
>>
>> I4x4 macroblocks using vertical-left or diagonal-down-left prediction in the
>> top-right 4x4 block use the C neighbour pixel. This means that there is a
>> dependency on unknown pixels which can propagate down-left through the
>> frame, and will not be cleared-up. These modes should be disabled for these
>> blocks.
>
> Can you confirm that disabling these modes actually fixes it? Here's a patch.
>
> Dark Shikari
After applying the patch, it would appear to be fixed. I can now decode
the X264 encoded stream from any recovery point and eventually get
pixel-exact results, both with the JM decoder, and ours.
Thanks!
Chris
More information about the x264-devel
mailing list