[x264-devel] Bug found in --intra-refresh
Alain Champenois
achampen at matrox.com
Tue Jul 23 01:44:13 CEST 2013
The current --intra-refresh implementation in x264 has a hole which allow
corruption to subsist even after a full 'frame refresh'. This problem can
in some case leave important visual artifact (after a corruption of the
stream occurred).
I've included an example of the visual corruption that can subsist after a
full 'frame refresh'. In this example, from the same x264 stream, the image
to the left is the result of a normal decode, and the image to the right is
the same frame decoded after the first IDR of the stream has been corrupted
(and one full 'frame refresh' has completed).
The hole is related to dct8x8 not being handled properly. In intra_refresh
mode, the Intra column stop corruption from propagating from right to left
because the 'top-right' Intra modes are disabled for the Intra columns.
However in Intra 8x8 (with dct8x8 enabled), some top-right pixels are still
used for the Intra prediction and therefore corruption to the right can
propagate left, in and over the Intra columns.
The suggestions I have for --intra-refresh:
(1) To fix the issue, disable dct8x8 in the right-most Intra column.
Alternatively the --no-dct8x8 option can be use to hidee this issue
but it will have a big negative impact on compression.
(2) To increase compression ratio, only disable top-right intra mode on
the rigth-most Intra column. Currently, all Intra column have top-right
Intra mode disabled even if this is not needed. If a 'right-most' column
flag is implemented to fix the bug, then this will be straightforward to
implement.
Since this issue can be handle in multiple ways, I don't have one patch to
suggest. If needed, I can provide more info for my example.
Regards
Alain
-------------- next part --------------
A non-text attachment was scrubbed...
Name: intrarefresh_bug.jpg
Type: image/jpeg
Size: 51254 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20130722/db0e9c48/attachment-0001.jpg>
More information about the x264-devel
mailing list