aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStian Selnes <stian@pexip.com>2014-12-02 18:55:13 +0100
committerLuca Barbato <lu_zero@gentoo.org>2015-07-07 15:11:15 +0200
commit02b7c630875c0bc63cee5ec597aa33baf9bf4e20 (patch)
tree0c20457b8386c89832e9ebe0cd4d2c5005385b6b
parentdc1de0b958836545339611e9c050a1d4fdded263 (diff)
downloadffmpeg-02b7c630875c0bc63cee5ec597aa33baf9bf4e20.tar.gz
h261: Signal freeze picture release for intra frames
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>
-rw-r--r--libavcodec/h261enc.c2
-rw-r--r--tests/ref/vsynth/vsynth1-h2612
-rw-r--r--tests/ref/vsynth/vsynth2-h2612
3 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c
index 30ba137918..94e8cec2a2 100644
--- a/libavcodec/h261enc.c
+++ b/libavcodec/h261enc.c
@@ -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);
diff --git a/tests/ref/vsynth/vsynth1-h261 b/tests/ref/vsynth/vsynth1-h261
index 4526f57236..5d667fc0fb 100644
--- a/tests/ref/vsynth/vsynth1-h261
+++ b/tests/ref/vsynth/vsynth1-h261
@@ -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
diff --git a/tests/ref/vsynth/vsynth2-h261 b/tests/ref/vsynth/vsynth2-h261
index 611da5584f..465e2f92d4 100644
--- a/tests/ref/vsynth/vsynth2-h261
+++ b/tests/ref/vsynth/vsynth2-h261
@@ -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