[FFmpeg-cvslog] h261: Signal freeze picture release for intra frames

Stian Selnes git at videolan.org
Thu Jul 9 00:58:00 CEST 2015


ffmpeg | branch: master | Stian Selnes <stian at pexip.com> | Tue Dec  2 18:55:13 2014 +0100| [02b7c630875c0bc63cee5ec597aa33baf9bf4e20] | committer: Luca Barbato

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 at libav.org

Signed-off-by: Luca Barbato <lu_zero at gentoo.org>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=02b7c630875c0bc63cee5ec597aa33baf9bf4e20
---

 libavcodec/h261enc.c          |    2 +-
 tests/ref/vsynth/vsynth1-h261 |    2 +-
 tests/ref/vsynth/vsynth2-h261 |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c
index 30ba137..94e8cec 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 4526f57..5d667fc 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 611da55..465e2f9 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



More information about the ffmpeg-cvslog mailing list