[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