diff options
author | Mallikarjun Kamble <Mallikarjun.Kamble@ittiam.com> | 2023-12-11 16:23:04 +0530 |
---|---|---|
committer | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2023-12-11 10:41:02 -0800 |
commit | 3cc9ff94db44f8739905d8ea9bff1723c19c2745 (patch) | |
tree | 4e748a1dca8f6991d84f2da69676a00b08b277f7 | |
parent | a8a8a80c5fb02befe37bfd92d3089d62612c8f2e (diff) | |
download | libavc-3cc9ff94db44f8739905d8ea9bff1723c19c2745.tar.gz |
Update intra resamp flags
-rw-r--r-- | decoder/svc/isvcd_intra_resamp.c | 39 | ||||
-rw-r--r-- | decoder/svc/isvcd_intra_resamp.h | 2 | ||||
-rw-r--r-- | decoder/svc/isvcd_parse_slice.c | 5 |
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 |