diff options
author | John Stebbins <[email protected]> | 2017-02-09 09:29:16 -0700 |
---|---|---|
committer | John Stebbins <[email protected]> | 2017-02-09 09:32:27 -0700 |
commit | 5869f45d7c83f17a8c079ae85d7f54a300449aae (patch) | |
tree | 7ffadccd8e7e051ba65b942996208c5dc9d3b203 /contrib | |
parent | e25a17c020e5605a85afd1f537ef444166044b6c (diff) |
libav: fix h.264 initial recovery point detection
Initial GOP of video was dropped during decode.
Fixes https://github.com/HandBrake/HandBrake/issues/520
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ffmpeg/A05-h264-recovery.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A05-h264-recovery.patch b/contrib/ffmpeg/A05-h264-recovery.patch new file mode 100644 index 000000000..d27b35bdd --- /dev/null +++ b/contrib/ffmpeg/A05-h264-recovery.patch @@ -0,0 +1,20 @@ +diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c +index 5137039..6d7aa7b 100644 +--- a/libavcodec/h264dec.c ++++ b/libavcodec/h264dec.c +@@ -452,7 +452,6 @@ void ff_h264_flush_change(H264Context *h) + if (h->cur_pic_ptr) + h->cur_pic_ptr->reference = 0; + h->first_field = 0; +- ff_h264_sei_uninit(&h->sei); + h->recovery_frame = -1; + h->frame_recovered = 0; + } +@@ -466,6 +465,7 @@ static void flush_dpb(AVCodecContext *avctx) + memset(h->delayed_pic, 0, sizeof(h->delayed_pic)); + + ff_h264_flush_change(h); ++ ff_h264_sei_uninit(&h->sei); + + for (i = 0; i < H264_MAX_PICTURE_COUNT; i++) + ff_h264_unref_picture(h, &h->DPB[i]); |