Lines Matching refs:s
58 static RK_S32 decode_nal_sei_frame_packing_arrangement(HEVCContext *s, BitReadCtx_t *gb) in decode_nal_sei_frame_packing_arrangement() argument
64 s->sei_frame_packing_present = !value; in decode_nal_sei_frame_packing_arrangement()
66 if (s->sei_frame_packing_present) { in decode_nal_sei_frame_packing_arrangement()
67 READ_BITS(gb, 7, &s->frame_packing_arrangement_type); in decode_nal_sei_frame_packing_arrangement()
68 READ_ONEBIT(gb, &s->quincunx_subsampling); in decode_nal_sei_frame_packing_arrangement()
69 READ_BITS(gb, 6, &s->content_interpretation_type); in decode_nal_sei_frame_packing_arrangement()
76 if (!s->quincunx_subsampling && s->frame_packing_arrangement_type != 5) in decode_nal_sei_frame_packing_arrangement()
87 static RK_S32 decode_pic_timing(HEVCContext *s, BitReadCtx_t *gb) in decode_pic_timing() argument
91 if (!s->sps_list[s->active_seq_parameter_set_id]) in decode_pic_timing()
93 sps = (HEVCSPS*)s->sps_list[s->active_seq_parameter_set_id]; in decode_pic_timing()
94 s->picture_struct = MPP_PICTURE_STRUCTURE_UNKNOWN; in decode_pic_timing()
96 READ_BITS(gb, 4, &s->picture_struct); in decode_pic_timing()
97 switch (s->picture_struct) { in decode_pic_timing()
98 …case 0 : s->picture_struct = MPP_PICTURE_STRUCTURE_FRAME; h265d_dbg(H265D_DBG_SEI, "(prog… in decode_pic_timing()
99 …case 1 : s->picture_struct = MPP_PICTURE_STRUCTURE_TOP_FIELD; h265d_dbg(H265D_DBG_SEI, "top f… in decode_pic_timing()
100 …case 2 : s->picture_struct = MPP_PICTURE_STRUCTURE_BOTTOM_FIELD; h265d_dbg(H265D_DBG_SEI, "botto… in decode_pic_timing()
101 …case 3 : s->picture_struct = MPP_PICTURE_STRUCTURE_FRAME; h265d_dbg(H265D_DBG_SEI, "top f… in decode_pic_timing()
102 …case 4 : s->picture_struct = MPP_PICTURE_STRUCTURE_FRAME; h265d_dbg(H265D_DBG_SEI, "botto… in decode_pic_timing()
103 …case 5 : s->picture_struct = MPP_PICTURE_STRUCTURE_FRAME; h265d_dbg(H265D_DBG_SEI, "top f… in decode_pic_timing()
104 …case 6 : s->picture_struct = MPP_PICTURE_STRUCTURE_FRAME; h265d_dbg(H265D_DBG_SEI, "botto… in decode_pic_timing()
105 …case 7 : s->picture_struct = MPP_PICTURE_STRUCTURE_FRAME; h265d_dbg(H265D_DBG_SEI, "frame… in decode_pic_timing()
106 …case 8 : s->picture_struct = MPP_PICTURE_STRUCTURE_FRAME; h265d_dbg(H265D_DBG_SEI, "frame… in decode_pic_timing()
107 …case 9 : s->picture_struct = MPP_PICTURE_STRUCTURE_TOP_FIELD; h265d_dbg(H265D_DBG_SEI, "top f… in decode_pic_timing()
108 …case 10 : s->picture_struct = MPP_PICTURE_STRUCTURE_BOTTOM_FIELD; h265d_dbg(H265D_DBG_SEI, "botto… in decode_pic_timing()
109 …case 11 : s->picture_struct = MPP_PICTURE_STRUCTURE_TOP_FIELD; h265d_dbg(H265D_DBG_SEI, "top f… in decode_pic_timing()
110 …case 12 : s->picture_struct = MPP_PICTURE_STRUCTURE_BOTTOM_FIELD; h265d_dbg(H265D_DBG_SEI, "botto… in decode_pic_timing()
120 static RK_S32 active_parameter_sets(HEVCContext *s, BitReadCtx_t *gb) in active_parameter_sets() argument
136 s->active_seq_parameter_set_id = active_seq_parameter_set_id; in active_parameter_sets()
146 static RK_S32 mastering_display_colour_volume(HEVCContext *s, BitReadCtx_t *gb) in mastering_display_colour_volume() argument
154 s->mastering_display.display_primaries[i][0] = value; in mastering_display_colour_volume()
156 s->mastering_display.display_primaries[i][1] = value; in mastering_display_colour_volume()
159 s->mastering_display.white_point[0] = value; in mastering_display_colour_volume()
161 s->mastering_display.white_point[1] = value; in mastering_display_colour_volume()
163 s->mastering_display.max_luminance = lum; in mastering_display_colour_volume()
165 s->mastering_display.min_luminance = lum; in mastering_display_colour_volume()
168 s->mastering_display.display_primaries[0][0], in mastering_display_colour_volume()
169 s->mastering_display.display_primaries[0][1], in mastering_display_colour_volume()
170 s->mastering_display.display_primaries[1][0], in mastering_display_colour_volume()
171 s->mastering_display.display_primaries[1][1], in mastering_display_colour_volume()
172 s->mastering_display.display_primaries[2][0], in mastering_display_colour_volume()
173 s->mastering_display.display_primaries[2][1], in mastering_display_colour_volume()
174 s->mastering_display.white_point[0], in mastering_display_colour_volume()
175 s->mastering_display.white_point[1], in mastering_display_colour_volume()
176 s->mastering_display.max_luminance, in mastering_display_colour_volume()
177 s->mastering_display.min_luminance); in mastering_display_colour_volume()
185 static RK_S32 content_light_info(HEVCContext *s, BitReadCtx_t *gb) in content_light_info() argument
189 s->content_light.MaxCLL = value; in content_light_info()
191 s->content_light.MaxFALL = value; in content_light_info()
332 static RK_S32 vivid_display_info(HEVCContext *s, BitReadCtx_t *gb, RK_U32 size) in vivid_display_info() argument
335 mpp_hevc_fill_dynamic_meta(s, gb->data_, size, HDRVIVID); in vivid_display_info()
339 static RK_S32 hdr10plus_dynamic_data(HEVCContext *s, BitReadCtx_t *gb, RK_U32 size) in hdr10plus_dynamic_data() argument
342 mpp_hevc_fill_dynamic_meta(s, gb->data_, size, HDR10PLUS); in hdr10plus_dynamic_data()
346 static RK_S32 user_data_registered_itu_t_t35(HEVCContext *s, BitReadCtx_t *gb, int size) in user_data_registered_itu_t_t35() argument
374 vivid_display_info(s, gb, mpp_get_bits_left(gb) >> 3); in user_data_registered_itu_t_t35()
385 hdr10plus_dynamic_data(s, gb, mpp_get_bits_left(gb) >> 3); in user_data_registered_itu_t_t35()
397 static RK_S32 decode_nal_sei_alternative_transfer(HEVCContext *s, BitReadCtx_t *gb) in decode_nal_sei_alternative_transfer() argument
399 HEVCSEIAlternativeTransfer *alternative_transfer = &s->alternative_transfer; in decode_nal_sei_alternative_transfer()
405 s->is_hdr = 1; in decode_nal_sei_alternative_transfer()
411 MPP_RET decode_recovery_point(BitReadCtx_t *gb, HEVCContext *s) in decode_recovery_point() argument
421 memset(&s->recovery, 0, sizeof(RecoveryPoint)); in decode_recovery_point()
422 s->recovery.valid_flag = 1; in decode_recovery_point()
423 s->recovery.recovery_frame_cnt = val; in decode_recovery_point()
425 h265d_dbg(H265D_DBG_SEI, "Recovery point: poc_cnt %d", s->recovery.recovery_frame_cnt); in decode_recovery_point()
431 MPP_RET mpp_hevc_decode_nal_sei(HEVCContext *s) in mpp_hevc_decode_nal_sei() argument
434 BitReadCtx_t *gb = &s->HEVClc->gb; in mpp_hevc_decode_nal_sei()
476 mpp_set_bitread_ctx(&payload_bitctx, s->HEVClc->gb.data_, payload_size); in mpp_hevc_decode_nal_sei()
479 …h265d_dbg(H265D_DBG_SEI, "s->nal_unit_type %d payload_type %d payload_size %d\n", s->nal_unit_type… in mpp_hevc_decode_nal_sei()
481 if (s->nal_unit_type == NAL_SEI_PREFIX) { in mpp_hevc_decode_nal_sei()
485 ret = decode_nal_sei_frame_packing_arrangement(s, &payload_bitctx); in mpp_hevc_decode_nal_sei()
487 ret = decode_pic_timing(s, &payload_bitctx); in mpp_hevc_decode_nal_sei()
490 ret = user_data_registered_itu_t_t35(s, &payload_bitctx, payload_size); in mpp_hevc_decode_nal_sei()
492 ret = check_encoder_sei_info(&payload_bitctx, payload_size, &s->deny_flag); in mpp_hevc_decode_nal_sei()
494 if (s->deny_flag) in mpp_hevc_decode_nal_sei()
497 ret = active_parameter_sets(s, &payload_bitctx); in mpp_hevc_decode_nal_sei()
501 ret = mastering_display_colour_volume(s, &payload_bitctx); in mpp_hevc_decode_nal_sei()
502 s->is_hdr = 1; in mpp_hevc_decode_nal_sei()
505 ret = content_light_info(s, &payload_bitctx); in mpp_hevc_decode_nal_sei()
514 s->max_ra = INT_MIN; in mpp_hevc_decode_nal_sei()
515 ret = decode_recovery_point(&payload_bitctx, s); in mpp_hevc_decode_nal_sei()
518 ret = decode_nal_sei_alternative_transfer(s, &payload_bitctx); in mpp_hevc_decode_nal_sei()