[FFmpeg-devel] [PATCH] mjpegenc: make optimal huffman coding the default

Michael Niedermayer michael at niedermayer.cc
Thu Feb 23 05:02:28 EET 2017


On Wed, Feb 22, 2017 at 11:03:58PM -0300, James Almer wrote:
> On 2/22/2017 10:56 PM, Michael Niedermayer wrote:
> > On Wed, Feb 22, 2017 at 10:47:13PM +0000, Rostislav Pehlivanov wrote:
> >> Its been extensively tested and it gives gain for practically free, so
> >> make it enabled by default.
> >>
> >> Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> >> ---
> >>  libavcodec/mjpegenc.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
> >> index cc917edb7f..03c3d0ab13 100644
> >> --- a/libavcodec/mjpegenc.c
> >> +++ b/libavcodec/mjpegenc.c
> >> @@ -444,7 +444,7 @@ FF_MPV_COMMON_OPTS
> >>      { "left",   NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "pred" },
> >>      { "plane",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 2 }, INT_MIN, INT_MAX, VE, "pred" },
> >>      { "median", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 3 }, INT_MIN, INT_MAX, VE, "pred" },
> >> -{ "huffman", "Huffman table strategy", OFFSET(huffman), AV_OPT_TYPE_INT, { .i64 = HUFFMAN_TABLE_DEFAULT }, 0, NB_HUFFMAN_TABLE_OPTION - 1, VE, "huffman" },
> >> +{ "huffman", "Huffman table strategy", OFFSET(huffman), AV_OPT_TYPE_INT, { .i64 = HUFFMAN_TABLE_OPTIMAL }, 0, NB_HUFFMAN_TABLE_OPTION - 1, VE, "huffman" },
> >>      { "default", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = HUFFMAN_TABLE_DEFAULT }, INT_MIN, INT_MAX, VE, "huffman" },
> >>      { "optimal", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = HUFFMAN_TABLE_OPTIMAL }, INT_MIN, INT_MAX, VE, "huffman" },
> >>  { NULL},
> > 
> > breaks fate
> > 
> > --- ./tests/ref/vsynth/vsynth1-amv      2017-02-20 17:22:51.769108273 +0100
> > +++ tests/data/fate/vsynth1-amv 2017-02-23 02:54:42.983732697 +0100
> > @@ -1,4 +1,4 @@
> > -9e155fcedb3b853876e9ea4233971803 *tests/data/fate/vsynth1-amv.avi
> > -1365500 tests/data/fate/vsynth1-amv.avi
> > -e38681b9527b6d2531942f8a176a0265 *tests/data/fate/vsynth1-amv.out.rawvideo
> > -stddev:   10.07 PSNR: 28.06 MAXDIFF:   98 bytes:  7603200/  7603200
> > +1ab7232e1948a9ae92c745b6ed1dc0b4 *tests/data/fate/vsynth1-amv.avi
> > +1283516 tests/data/fate/vsynth1-amv.avi
> > +58b9ac246e9888c71a7b4e502abb898b *tests/data/fate/vsynth1-amv.out.rawvideo
> > +stddev:  117.66 PSNR:  6.72 MAXDIFF:  239 bytes:  7603200/  7603200
> > Test vsynth1-amv failed. Look at tests/data/fate/vsynth1-amv.err for details.
> > make: *** [fate-vsynth1-amv] Error 1
> 
> Aren't those numbers worse for that matter?

yes, thats why i quoted that one
there are other fate tests changing but not getting worse.
the amv ones get worse IIRC

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you drop bombs on a foreign country and kill a hundred thousand
innocent people, expect your government to call the consequence
"unprovoked inhuman terrorist attacks" and use it to justify dropping
more bombs and killing more people. The technology changed, the idea is old.
-------------- 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/20170223/cadbb12f/attachment.sig>


More information about the ffmpeg-devel mailing list