[FFmpeg-cvslog] avcodec/h264_sei: fix H.274 film grain parsing

Niklas Haas git at videolan.org
Sun Aug 15 21:11:25 EEST 2021


ffmpeg | branch: master | Niklas Haas <git at haasn.dev> | Mon Aug  2 12:24:27 2021 +0200| [33756c539b652fc6c2d10f92ab1ca71559619fa6] | committer: James Almer

avcodec/h264_sei: fix H.274 film grain parsing

The current code reads the wrong number of bits for `fg_model_id`, which
causes all of the values downstream of this to contain corrupt values.

Fixes: corrupt SEI values
Fixes: 4ff73add5dbe6c319d693355be44df2e17a0b8bf

Signed-off-by: Niklas Haas <git at haasn.dev>

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

 libavcodec/h264_sei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c
index 7797f24650..329c2ea4f2 100644
--- a/libavcodec/h264_sei.c
+++ b/libavcodec/h264_sei.c
@@ -424,7 +424,7 @@ static int decode_film_grain_characteristics(H264SEIFilmGrainCharacteristics *h,
 
     if (h->present) {
         memset(h, 0, sizeof(*h));
-        h->model_id = get_bits(gb, 8);
+        h->model_id = get_bits(gb, 2);
         h->separate_colour_description_present_flag = get_bits1(gb);
         if (h->separate_colour_description_present_flag) {
             h->bit_depth_luma = get_bits(gb, 3) + 8;



More information about the ffmpeg-cvslog mailing list