Hello, I am curious, what is the cause of some encoding artifacts, I guess part of them should not be present. - when encoding with a defined bitrate, some artifacts show up which I'd not suppose to be there at all. I attach a screenshot from the beginning og Harry Potter 1 at the moment before the "Privet Drive" plate slowly appears from the darkness. Note the green and red rectangles. It is encoded with -V 600 with encoder_example and the effect is there with ot without mmx-optimizations and at other bitrates too, though as a bit different pattern, in the same part of the screen. I can not see any pattern there in the original. (I gamma-corrected (x2) the screenshot to make the effect more visible) Any comments? Regards, -- Ivan -------------- next part -------------- A non-text attachment was scrubbed... Name: artifact.jpg Type: image/jpeg Size: 5679 bytes Desc: not available Url : http://lists.xiph.org/pipermail/theora-dev/attachments/20040831/10cb0295/artifact.jpg
Hello Ivan I can reproduce this bug. It occured, when I made a bitrate based encode with high bitrates (700000). So far I was not able to reproduce the bug with quality mode. But I have no idea what has happened. Ivan Popov wrote:>Hello, > >I am curious, what is the cause of some encoding artifacts, >I guess part of them should not be present. > >- when encoding with a defined bitrate, some artifacts show up which I'd not > suppose to be there at all. I attach a screenshot from the beginning og > Harry Potter 1 at the moment before the "Privet Drive" plate slowly appears > from the darkness. Note the green and red rectangles. > It is encoded with -V 600 with encoder_example > and the effect is there with ot without mmx-optimizations and at other > bitrates too, though as a bit different pattern, in the same part of the > screen. I can not see any pattern there in the original. > > (I gamma-corrected (x2) the screenshot to make the effect more visible) > >Any comments? > >Regards, >-- >Ivan >
Given the low level of changes from previous frames and the obvious predilection for block boundaries, this is probably caused by the fact that the encoder does not apply the loop filter, even though it is inside the prediction loop in the decoder. This is a known bug from the original VP3 implementation.
On Thu, Sep 02, 2004 at 08:53:33AM -0400, Timothy B. Terriberry wrote:> this is probably caused by the fact > that the encoder does not apply the loop filter, even though it is > inside the prediction loop in the decoder. This is a known bug from the > original VP3 implementation.It is good news that the bug is known, so somebody hopefully knows also how to fix it? :) I guess the fix would remarkably improve the quality of fixed bitrate encoding. It suffers bad artifacts at scenes where it should be superior to variable rate one - like text and other "almost no changes" situations. Regards, -- Ivan