aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMallikarjun Kamble <Mallikarjun.Kamble@ittiam.com>2023-12-11 16:23:04 +0530
committerHarish Mahendrakar <harish.mahendrakar@ittiam.com>2023-12-11 10:41:02 -0800
commit3cc9ff94db44f8739905d8ea9bff1723c19c2745 (patch)
tree4e748a1dca8f6991d84f2da69676a00b08b277f7
parenta8a8a80c5fb02befe37bfd92d3089d62612c8f2e (diff)
downloadlibavc-3cc9ff94db44f8739905d8ea9bff1723c19c2745.tar.gz
Update intra resamp flags
-rw-r--r--decoder/svc/isvcd_intra_resamp.c39
-rw-r--r--decoder/svc/isvcd_intra_resamp.h2
-rw-r--r--decoder/svc/isvcd_parse_slice.c5
3 files changed, 46 insertions, 0 deletions
diff --git a/decoder/svc/isvcd_intra_resamp.c b/decoder/svc/isvcd_intra_resamp.c
index 34e3779..326dd5c 100644
--- a/decoder/svc/isvcd_intra_resamp.c
+++ b/decoder/svc/isvcd_intra_resamp.c
@@ -4959,6 +4959,45 @@ void isvcd_crop_wnd_flag_res_int(void *pv_svc_dec)
/* 26 08 2021 vijayakumar creation */
/* */
/*****************************************************************************/
+void isvcd_intra_resamp_res_init_update_flags(void *pv_svc_dec)
+{
+ intra_sampling_ctxt_t *ps_ctxt;
+ intra_samp_lyr_ctxt *ps_lyr_ctxt;
+ svc_dec_lyr_struct_t *ps_svc_lyr_dec = (svc_dec_lyr_struct_t *) pv_svc_dec;
+
+ ps_ctxt = (intra_sampling_ctxt_t *) ps_svc_lyr_dec->pv_intra_sample_ctxt;;
+ /* get the current layer ctxt */
+ ps_lyr_ctxt = &ps_ctxt->as_res_lyrs[ps_svc_lyr_dec->u1_layer_id - 1];
+
+ ps_lyr_ctxt->i1_constrained_intra_rsmpl_flag =
+ ps_svc_lyr_dec->s_svc_slice_params.u1_constrained_intra_resampling_flag;
+}
+
+/*****************************************************************************/
+/* */
+/* Function Name : isvcd_intra_resamp_res_init */
+/* */
+/* Description : this function calculates the scale factors and initialise*/
+/* the context structure */
+/* */
+/* Inputs : pv_intra_samp_ctxt: handle to private structure */
+/* ps_curr_lyr_res_prms: pointer to current resolution */
+/* params */
+/* ps_ref_lyr_res_prms : pointer to ref resolution params */
+/* Globals : none */
+/* Processing : it stores the layer dimensions */
+/* */
+/* Outputs : none */
+/* Returns : none */
+/* */
+/* Issues : none */
+/* */
+/* Revision History: */
+/* */
+/* DD MM YYYY Author(s) Changes (Describe the changes made) */
+/* 26 08 2021 vijayakumar creation */
+/* */
+/*****************************************************************************/
WORD32 isvcd_intra_resamp_res_init(void *pv_svc_dec)
{
intra_sampling_ctxt_t *ps_ctxt;
diff --git a/decoder/svc/isvcd_intra_resamp.h b/decoder/svc/isvcd_intra_resamp.h
index 9b15a6d..7f09117 100644
--- a/decoder/svc/isvcd_intra_resamp.h
+++ b/decoder/svc/isvcd_intra_resamp.h
@@ -628,4 +628,6 @@ void isvcd_crop_wnd_flag_res_int(void *ps_svc_dec);
WORD32 isvcd_intra_resamp_res_init(void *ps_svc_dec);
+void isvcd_intra_resamp_res_init_update_flags(void *ps_svc_dec);
+
#endif /* _ISVCD_INTRA_RESAMPLE_H_ */
diff --git a/decoder/svc/isvcd_parse_slice.c b/decoder/svc/isvcd_parse_slice.c
index 05d89ef..226a6e4 100644
--- a/decoder/svc/isvcd_parse_slice.c
+++ b/decoder/svc/isvcd_parse_slice.c
@@ -1700,6 +1700,11 @@ WORD32 isvcd_parse_slice_header(svc_dec_lyr_struct_t *ps_svc_lyr_dec)
ps_svc_slice_params->u1_constrained_intra_resampling_flag = ih264d_get_bit_h264(ps_bitstrm);
COPYTHECONTEXT("Slice Header SVC ext: u1_constrained_intra_resampling_flag",
ps_svc_slice_params->u1_constrained_intra_resampling_flag);
+
+ ps_svc_lyr_dec->s_res_prms.i1_constrained_intra_rsmpl_flag =
+ ps_svc_lyr_dec->s_svc_slice_params.u1_constrained_intra_resampling_flag;
+ isvcd_intra_resamp_res_init_update_flags(ps_svc_lyr_dec);
+
if(2 == ps_sps_svc_ext->u1_extended_spatial_scalability_idc)
{
/* ChromaArrayType = i4_chroma_format_idc if separate_colour_plane_flag