]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/cbs_av1: add missing valid range of values for num_cb_points and num_cr_points
authorJames Almer <jamrial@gmail.com>
Thu, 12 Dec 2019 01:39:56 +0000 (22:39 -0300)
committerJames Almer <jamrial@gmail.com>
Thu, 19 Dec 2019 04:04:10 +0000 (01:04 -0300)
It is a requirement of bitstream conformance that num_cr_points is less than or equal to 10.
It is a requirement of bitstream conformance that num_cb_points is less than or equal to 10.

Signed-off-by: James Almer <jamrial@gmail.com>
libavcodec/cbs_av1.h
libavcodec/cbs_av1_syntax_template.c

index 5466151f732d8496a9e83a993d485d27669a6574..fdc629b00cecd6c585617f3eef88edb1ca16ef6b 100644 (file)
@@ -260,11 +260,11 @@ typedef struct AV1RawFrameHeader {
     uint8_t  point_y_scaling[14];
     uint8_t  chroma_scaling_from_luma;
     uint8_t  num_cb_points;
-    uint8_t  point_cb_value[16];
-    uint8_t  point_cb_scaling[16];
+    uint8_t  point_cb_value[10];
+    uint8_t  point_cb_scaling[10];
     uint8_t  num_cr_points;
-    uint8_t  point_cr_value[16];
-    uint8_t  point_cr_scaling[16];
+    uint8_t  point_cr_value[10];
+    uint8_t  point_cr_scaling[10];
     uint8_t  grain_scaling_minus_8;
     uint8_t  ar_coeff_lag;
     uint8_t  ar_coeffs_y_plus_128[24];
index 523f9359e4c7c8b36e71f2634018478cfeaeece0..f830fb1517f3a6ea97a7a187e6b73d9555776250 100644 (file)
@@ -1174,12 +1174,12 @@ static int FUNC(film_grain_params)(CodedBitstreamContext *ctx, RWContext *rw,
         infer(num_cb_points, 0);
         infer(num_cr_points, 0);
     } else {
-        fb(4, num_cb_points);
+        fc(4, num_cb_points, 0, 10);
         for (i = 0; i < current->num_cb_points; i++) {
             fbs(8, point_cb_value[i],   1, i);
             fbs(8, point_cb_scaling[i], 1, i);
         }
-        fb(4, num_cr_points);
+        fc(4, num_cr_points, 0, 10);
         for (i = 0; i < current->num_cr_points; i++) {
             fbs(8, point_cr_value[i],   1, i);
             fbs(8, point_cr_scaling[i], 1, i);