summaryrefslogtreecommitdiff
path: root/gst-libs/gst/codecparsers
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2020-05-13 17:23:12 -0400
committerNicolas Dufresne <nicolas@ndufresne.ca>2020-05-19 16:57:09 +0000
commit540c287a73ce526ac1ce17ac67ca5d36470dbe0c (patch)
treee1fde3a93140f516c21ad1432596f35221fbbd37 /gst-libs/gst/codecparsers
parentd062677b3fb0a3acbb1feebb1f55c41227547fc7 (diff)
downloadgstreamer-plugins-bad-540c287a73ce526ac1ce17ac67ca5d36470dbe0c.tar.gz
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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1238>
Diffstat (limited to 'gst-libs/gst/codecparsers')
-rw-r--r--gst-libs/gst/codecparsers/gsth264parser.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c
index a7ddad4b6..1c40b6517 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;
}