[FFmpeg-devel] [PATCH] vc2enc_dwt: use 32 bit coefficients by default

Michael Niedermayer michael at niedermayer.cc
Sun May 8 02:09:00 CEST 2016


On Sat, May 07, 2016 at 06:12:43PM +0100, Rostislav Pehlivanov wrote:
> The problem is that with particularly complex images and especially at
> high bit depths and 5-level transforms the coefficients would overflow,
> causing huge artifacts to appear. This was discovered thanks to the fate
> tests, which will have to be redone as this fixes a multitude of
> problems and increases PSNR.
> 
> There is a slight performance drop associated with this change, making
> the encoder slower by 1.15 times, however this is necessary in order to
> avoid undefined behavior and overflows.
> 
> It would be worth to template the transforms to keep the performance for
> 8 bit images as 32 bit coefficients are unnecessary for that case, but
> the primary use of the encoder is to encode video at 10 bits.
> 
> Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> ---
>  libavcodec/vc2enc_dwt.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

i guess things first should be correct and then be optimized so
LGTM

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Rewriting code that is poorly written but fully understood is good.
Rewriting code that one doesnt understand is a sign that one is less smart
then the original author, trying to rewrite it will not make it better.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160508/e9e8d4c7/attachment.sig>


More information about the ffmpeg-devel mailing list