From 540c287a73ce526ac1ce17ac67ca5d36470dbe0c Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Wed, 13 May 2020 17:23:12 -0400 Subject: [PATCH] codecparsers: h264: Only set relevant default weight values This is minor optimization to avoid setting values we don't need. It also makes debugging easier since only relevant values a non-zero now. Part-of: --- gst-libs/gst/codecparsers/gsth264parser.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c index a7ddad4b6f..1c40b6517c 100644 --- a/gst-libs/gst/codecparsers/gsth264parser.c +++ b/gst-libs/gst/codecparsers/gsth264parser.c @@ -773,10 +773,10 @@ gst_h264_slice_parse_pred_weight_table (GstH264SliceHdr * slice, READ_UE_MAX (nr, p->luma_log2_weight_denom, 7); /* set default values */ default_luma_weight = 1 << p->luma_log2_weight_denom; - for (i = 0; i < G_N_ELEMENTS (p->luma_weight_l0); i++) + for (i = 0; i <= slice->num_ref_idx_l0_active_minus1; i++) p->luma_weight_l0[i] = default_luma_weight; if (GST_H264_IS_B_SLICE (slice)) { - for (i = 0; i < G_N_ELEMENTS (p->luma_weight_l1); i++) + for (i = 0; i <= slice->num_ref_idx_l1_active_minus1; i++) p->luma_weight_l1[i] = default_luma_weight; } @@ -784,12 +784,12 @@ gst_h264_slice_parse_pred_weight_table (GstH264SliceHdr * slice, READ_UE_MAX (nr, p->chroma_log2_weight_denom, 7); /* set default values */ default_chroma_weight = 1 << p->chroma_log2_weight_denom; - for (i = 0; i < G_N_ELEMENTS (p->chroma_weight_l0); i++) { + for (i = 0; i <= slice->num_ref_idx_l0_active_minus1; i++) { p->chroma_weight_l0[i][0] = default_chroma_weight; p->chroma_weight_l0[i][1] = default_chroma_weight; } if (GST_H264_IS_B_SLICE (slice)) { - for (i = 0; i < G_N_ELEMENTS (p->chroma_weight_l1); i++) { + for (i = 0; i <= slice->num_ref_idx_l0_active_minus1; i++) { p->chroma_weight_l1[i][0] = default_chroma_weight; p->chroma_weight_l1[i][1] = default_chroma_weight; }