h261: Signal freeze picture release for intra frames
authorStian Selnes <stian@pexip.com>
Tue, 2 Dec 2014 17:55:13 +0000 (18:55 +0100)
committerLuca Barbato <lu_zero@gentoo.org>
Tue, 7 Jul 2015 13:11:15 +0000 (15:11 +0200)
Freeze picture release should be set to 1 when we're responding to a
fast update request. For simplicity we set it for all intra frames,
including those that starts a GOP.

Fixes issue where Tandberg MXP1700 does not recover from packet loss
state since it's waiting for the freeze picture relase indication.

Bug-Id: 873
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 30ba137..94e8cec 100644 (file)
@@ -64,7 +64,7 @@ void ff_h261_encode_picture_header(MpegEncContext *s, int picture_number)
 
     put_bits(&s->pb, 1, 0); /* split screen off */
     put_bits(&s->pb, 1, 0); /* camera  off */
-    put_bits(&s->pb, 1, 0); /* freeze picture release off */
+    put_bits(&s->pb, 1, s->pict_type == AV_PICTURE_TYPE_I); /* freeze picture release on/off */
 
     format = ff_h261_get_picture_format(s->width, s->height);
 
index 4526f57..5d667fc 100644 (file)
@@ -1,4 +1,4 @@
-34263080870c91c5e6c3c7dca799c50d *tests/data/fate/vsynth1-h261.avi
+e7adc829541417888df4ac031768679f *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 611da55..465e2f9 100644 (file)
@@ -1,4 +1,4 @@
-70e9342de71456cd6fbe9a771cceefd5 *tests/data/fate/vsynth2-h261.avi
+0292ca022247f978f6e894831310682b *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