[FFmpeg-cvslog] doc/examples/decoder_targeted: Disable error concealment after 20 frames

Michael Niedermayer git at videolan.org
Sun Jan 29 17:13:10 EET 2017


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sun Jan 29 03:22:50 2017 +0100| [bbd4d9230407d70a9c93af4ac00f2e6d894358be] | committer: Michael Niedermayer

doc/examples/decoder_targeted: Disable error concealment after 20 frames

This allows testing EC and non EC. Avoids spending most time in EC on
high res samples and reduces the likelyhood of hitting timeouts

Fixes: Timeout in 467/fuzz-2-ffmpeg_VIDEO_AV_CODEC_ID_H263_fuzzer

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 doc/examples/decoder_targeted.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/doc/examples/decoder_targeted.c b/doc/examples/decoder_targeted.c
index e7e02b0..030eba6 100644
--- a/doc/examples/decoder_targeted.c
+++ b/doc/examples/decoder_targeted.c
@@ -180,6 +180,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
         while (avpkt.size > 0 && it++ < maxiteration) {
             av_frame_unref(frame);
             int ret = decode_handler(ctx, frame, &got_frame, &avpkt);
+
+            if (it > 20)
+                ctx->error_concealment = 0;
+
             if (ret <= 0 || ret > avpkt.size)
                break;
             avpkt.data += ret;



More information about the ffmpeg-cvslog mailing list