libs: decoder: h265: fill missing predictor_palette_size field.

The predictor_palette_size of VAPictureParameterBufferHEVCScc is
forgotten and need to be filled when streams have palettes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/396>
This commit is contained in:
He Junyan 2020-09-17 16:47:43 +08:00 committed by GStreamer Merge Bot
parent d72f818029
commit ed9a708397

View file

@ -2121,11 +2121,15 @@ fill_picture (GstVaapiDecoderH265 * decoder, GstVaapiPictureH265 * picture)
num_comps = sps->chroma_format_idc ? 3 : 1; num_comps = sps->chroma_format_idc ? 3 : 1;
if (pps_scc->pps_palette_predictor_initializers_present_flag) { if (pps_scc->pps_palette_predictor_initializers_present_flag) {
pic_scc_param->predictor_palette_size =
pps_scc->pps_num_palette_predictor_initializer;
for (n = 0; n < num_comps; n++) for (n = 0; n < num_comps; n++)
for (i = 0; i < pps_scc->pps_num_palette_predictor_initializer; i++) for (i = 0; i < pps_scc->pps_num_palette_predictor_initializer; i++)
pic_scc_param->predictor_palette_entries[n][i] = pic_scc_param->predictor_palette_entries[n][i] =
(uint16_t) pps_scc->pps_palette_predictor_initializer[n][i]; (uint16_t) pps_scc->pps_palette_predictor_initializer[n][i];
} else if (sps_scc->sps_palette_predictor_initializers_present_flag) { } else if (sps_scc->sps_palette_predictor_initializers_present_flag) {
pic_scc_param->predictor_palette_size =
sps_scc->sps_num_palette_predictor_initializer_minus1 + 1;
for (n = 0; n < num_comps; n++) for (n = 0; n < num_comps; n++)
for (i = 0; for (i = 0;
i < sps_scc->sps_num_palette_predictor_initializer_minus1 + 1; i++) i < sps_scc->sps_num_palette_predictor_initializer_minus1 + 1; i++)