h261: Set 'still image mode off' in picture header
authorStian Selnes <stian@pexip.com>
Fri, 12 Dec 2014 15:08:19 +0000 (16:08 +0100)
committerLuca Barbato <lu_zero@gentoo.org>
Tue, 7 Jul 2015 13:04:55 +0000 (15:04 +0200)
Ref H.261 recommendation section 4.2.1.3, setting the still image flag
to 1 disables still image mode. Some decoders require this in order to
decode the bitstream as normal video.

Fixes H.261 calls to Cisco E20.

Also, reserved (aka spare) bits should be set to 1 unless specified
otherwise.

Bug-Id: 872
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavcodec/h261enc.c
tests/ref/vsynth/vsynth1-h261
tests/ref/vsynth/vsynth2-h261

index db81f832a70ed9bd9bf11278159027f431c2eb2e..30ba1379186475a09f74400f0f4689629129fdee 100644 (file)
@@ -70,8 +70,8 @@ void ff_h261_encode_picture_header(MpegEncContext *s, int picture_number)
 
     put_bits(&s->pb, 1, format); /* 0 == QCIF, 1 == CIF */
 
-    put_bits(&s->pb, 1, 0); /* still image mode */
-    put_bits(&s->pb, 1, 0); /* reserved */
+    put_bits(&s->pb, 1, 1); /* still image mode */
+    put_bits(&s->pb, 1, 1); /* reserved */
 
     put_bits(&s->pb, 1, 0); /* no PEI */
     if (format == 0)
index b350e6f35827cc90e610e4df713b22630e0d5424..4526f5723684ead9139eff45de346132c8ca8829 100644 (file)
@@ -1,4 +1,4 @@
-d3397557ad8a02d28cb5feeb0b51e5c8 *tests/data/fate/vsynth1-h261.avi
+34263080870c91c5e6c3c7dca799c50d *tests/data/fate/vsynth1-h261.avi
 707576 tests/data/fate/vsynth1-h261.avi
 716e83cb51afb1246bfaa80967df48ea *tests/data/fate/vsynth1-h261.out.rawvideo
 stddev:    9.11 PSNR: 28.93 MAXDIFF:  113 bytes:  7603200/  7603200
index 2c3d99b3aee64fa31e3bcbdb4bba3e436205dd49..611da5584f3a9b87d8b6603580d475e6a5c7453f 100644 (file)
@@ -1,4 +1,4 @@
-b5187bd5be8b422ff220f297de90fbcb *tests/data/fate/vsynth2-h261.avi
+70e9342de71456cd6fbe9a771cceefd5 *tests/data/fate/vsynth2-h261.avi
 257928 tests/data/fate/vsynth2-h261.avi
 1a9bb0d52bd24cb62162c5e3c2aed317 *tests/data/fate/vsynth2-h261.out.rawvideo
 stddev:    7.21 PSNR: 30.97 MAXDIFF:   96 bytes:  7603200/  7603200