[FFmpeg-devel] [PATCH 1/2] libavcodec/zmbvenc: block scoring improvements/bug fixes

Tomas Härdin tjoppen at acc.umu.se
Thu Feb 21 12:26:42 EET 2019


ons 2019-02-20 klockan 23:33 +0100 skrev Carl Eugen Hoyos:
> > 2019-02-10 16:42 GMT+01:00, Tomas Härdin <tjoppen at acc.umu.se>:
> > lör 2019-02-09 klockan 13:10 +0000 skrev Matthew Fearnley:
> > > - Improve block choices by counting 0-bytes in the entropy score
> > > - Make histogram use uint16_t type, to allow byte counts from 16*16
> > > (current block size) up to 255*255 (maximum allowed 8bpp block size)
> > > - Make sure score table is big enough for a full block's worth of bytes
> > > - Calculate *xored without using code in inner loop
> > > ---
> > >  libavcodec/zmbvenc.c | 22 ++++++++++++++++------
> > >  1 file changed, 16 insertions(+), 6 deletions(-)
> > 
> > Passes FATE, looks good to me
> 
> I believe you asked on irc about fate tests:
> Since such a test would depend on the zlib version, you cannot test
> exact output, you could only test a round-trip (assuming the codec
> really is lossless).

Right, we'd need to embed a specific version of zlib. But we probably
don't want to do that, for many reasons.

A dummy DEFLATE implementation that just passes the bytes along could
be useful. I know there's a mode in the DEFLATE format for blocks that
fail to compress. That way we could test many encoders that depend on
zlib, and their output should decode just fine.

/Tomas


More information about the ffmpeg-devel mailing list