codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
authorXuGuangxin <Guangxin.Xu@intel.com>
Mon, 24 Aug 2015 01:18:52 +0000 (04:18 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 24 Aug 2015 18:21:29 +0000 (21:21 +0300)
Being more strict on specification, According to 7.4.7.3,
delta_chroma_log2_weight_denom should be in the range of
[(0 - luma_log2_weight_denom), (7 - luma_log2_weight_denom)]

https://bugzilla.gnome.org/show_bug.cgi?id=754024

gst-libs/gst/codecparsers/gsth265parser.c

index 51d8b99..841f430 100644 (file)
@@ -933,8 +933,10 @@ gst_h265_slice_parse_pred_weight_table (GstH265SliceHdr * slice, NalReader * nr)
     }
   }
 
-  if (sps->chroma_format_idc != 0)
-    READ_SE_ALLOWED (nr, p->delta_chroma_log2_weight_denom, -7, 7);
+  if (sps->chroma_format_idc != 0) {
+    READ_SE_ALLOWED (nr, p->delta_chroma_log2_weight_denom,
+        (0 - p->luma_log2_weight_denom), (7 - p->luma_log2_weight_denom));
+  }
 
   for (i = 0; i <= slice->num_ref_idx_l0_active_minus1; i++)
     READ_UINT8 (nr, p->luma_weight_l0_flag[i], 1);