[Ffmpeg-devel] [PATCH] lowres chroma bug
Loren Merritt
lorenm
Mon Feb 12 12:02:53 CET 2007
On Mon, 12 Feb 2007, Oleg Metelitsa wrote:
>
> In this case the only solution is your idea to separate lowres codes.
> I like this idea because there is an additional serious image quality
> bug in lowres mode. To see it try set frame rate 1 fps and lowres=2
> and look at moving parts of an MPEG4 image. (Look for example at faces
> of moving people). All moving parts of the image are cumulatively
> loosing details between I-frames. The effect is more visible in case
> of big GOP size (i.e. 60). There is no such effect in case of lowres =
> 0. I do not have any idea how to fix this bug without writing separate
> code for lowres.
It's not possible to fix that. That's just how lowres works. Discarding
high-frequency coefficients and performing motion compensation at lower
resolution is not quite equivalent to decoding the full video and then
downscaling.
Yes, the motion compensation algorithm currently used for lowres was
dictated by what optimized 8th-pel precision functions we already had
from other purposes, and it might not be the best approximation. But it
can only be tweaked for a better approximation, there is no exact result.
lowres has already thrown away information from the previous frames (by
decoding them at low resolution) that would have been needed to exactly
decode the current frame. Those errors are cumulative, and will produce
visible artifacts if there's a large distance between intra refreshes.
--Loren Merritt
More information about the ffmpeg-devel
mailing list