diff options
author | Bradley Sepos <[email protected]> | 2017-08-18 09:47:54 -0400 |
---|---|---|
committer | Bradley Sepos <[email protected]> | 2017-08-18 09:47:59 -0400 |
commit | b3b26dfbd1e0ad6d24e7ff823fbd45eb1ffb2428 (patch) | |
tree | b57b215ff5e3388203e112a0bab6d980cad5ad3c | |
parent | d375071be1158deb73ccb1d262310f15f231eca9 (diff) |
contrib: Fix Libav H.264 decoder pixelation in scenes with solid colors.
Fixes #787.
-rw-r--r-- | contrib/ffmpeg/A21-h264-reflist.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/contrib/ffmpeg/A21-h264-reflist.patch b/contrib/ffmpeg/A21-h264-reflist.patch new file mode 100644 index 000000000..8c7a51d5f --- /dev/null +++ b/contrib/ffmpeg/A21-h264-reflist.patch @@ -0,0 +1,31 @@ +From 67d5f1023e4299a5f2741e2523e559d892f1bb56 Mon Sep 17 00:00:00 2001 +From: Anton Khirnov <[email protected]> +Date: Thu, 17 Aug 2017 12:15:58 +0200 +Subject: [PATCH] h264dec: use a large enough field for reference list + modification values + +pic_num can be at most 17-bit, so uint8_t is not sufficient. + +Found-By: Bradley Sepos <[email protected]> +CC: [email protected] +(cherry picked from commit f70f71d60c7ae88c19078a48dc6e0789b78c7300) +Signed-off-by: Anton Khirnov <[email protected]> +--- + libavcodec/h264dec.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavcodec/h264dec.h b/libavcodec/h264dec.h +index d27f98b..b815aa4 100644 +--- a/libavcodec/h264dec.h ++++ b/libavcodec/h264dec.h +@@ -268,7 +268,7 @@ typedef struct H264SliceContext { + * according to picture reordering in slice header */ + struct { + uint8_t op; +- uint8_t val; ++ uint32_t val; + } ref_modifications[2][32]; + int nb_ref_modifications[2]; + +-- +2.1.4 |