Lines Matching refs:subset_sps
298 static MPP_RET sps_mvc_extension(BitReadCtx_t *p_bitctx, H264_subSPS_t *subset_sps) in sps_mvc_extension() argument
303 READ_UE(p_bitctx, &subset_sps->num_views_minus1); in sps_mvc_extension()
304 VAL_CHECK(ret, subset_sps->num_views_minus1 < 16); in sps_mvc_extension()
305 num_views = 1 + subset_sps->num_views_minus1; in sps_mvc_extension()
308 subset_sps->view_id = mpp_calloc(RK_S32, num_views); in sps_mvc_extension()
309 subset_sps->num_anchor_refs_l0 = mpp_calloc(RK_S32, num_views); in sps_mvc_extension()
310 subset_sps->num_anchor_refs_l1 = mpp_calloc(RK_S32, num_views); in sps_mvc_extension()
311 subset_sps->anchor_ref_l0 = mpp_calloc(RK_S32*, num_views); in sps_mvc_extension()
312 subset_sps->anchor_ref_l1 = mpp_calloc(RK_S32*, num_views); in sps_mvc_extension()
313 subset_sps->num_non_anchor_refs_l0 = mpp_calloc(RK_S32, num_views); in sps_mvc_extension()
314 subset_sps->num_non_anchor_refs_l1 = mpp_calloc(RK_S32, num_views); in sps_mvc_extension()
315 subset_sps->non_anchor_ref_l0 = mpp_calloc(RK_S32*, num_views); in sps_mvc_extension()
316 subset_sps->non_anchor_ref_l1 = mpp_calloc(RK_S32*, num_views); in sps_mvc_extension()
317 MEM_CHECK(ret, subset_sps->view_id && subset_sps->num_anchor_refs_l0 in sps_mvc_extension()
318 && subset_sps->num_anchor_refs_l1 && subset_sps->anchor_ref_l0 in sps_mvc_extension()
319 && subset_sps->anchor_ref_l1 && subset_sps->num_non_anchor_refs_l0 in sps_mvc_extension()
320 && subset_sps->num_non_anchor_refs_l1 && subset_sps->non_anchor_ref_l0 in sps_mvc_extension()
321 && subset_sps->non_anchor_ref_l1); in sps_mvc_extension()
324 READ_UE(p_bitctx, &subset_sps->view_id[i]); in sps_mvc_extension()
327 READ_UE(p_bitctx, &subset_sps->num_anchor_refs_l0[i]); in sps_mvc_extension()
328 if (subset_sps->num_anchor_refs_l0[i]) { in sps_mvc_extension()
329 subset_sps->anchor_ref_l0[i] = mpp_calloc(RK_S32, subset_sps->num_anchor_refs_l0[i]); in sps_mvc_extension()
330 MEM_CHECK(ret, subset_sps->anchor_ref_l0[i]); in sps_mvc_extension()
331 for (j = 0; j < subset_sps->num_anchor_refs_l0[i]; j++) { in sps_mvc_extension()
332 READ_UE(p_bitctx, &subset_sps->anchor_ref_l0[i][j]); in sps_mvc_extension()
335 READ_UE(p_bitctx, &subset_sps->num_anchor_refs_l1[i]); in sps_mvc_extension()
336 if (subset_sps->num_anchor_refs_l1[i]) { in sps_mvc_extension()
337 subset_sps->anchor_ref_l1[i] = mpp_calloc(RK_S32, subset_sps->num_anchor_refs_l1[i]); in sps_mvc_extension()
338 MEM_CHECK(ret, subset_sps->anchor_ref_l1[i]); in sps_mvc_extension()
339 for (j = 0; j < subset_sps->num_anchor_refs_l1[i]; j++) { in sps_mvc_extension()
340 READ_UE(p_bitctx, &subset_sps->anchor_ref_l1[i][j]); in sps_mvc_extension()
345 READ_UE(p_bitctx, &subset_sps->num_non_anchor_refs_l0[i]); in sps_mvc_extension()
346 if (subset_sps->num_non_anchor_refs_l0[i]) { in sps_mvc_extension()
347 … subset_sps->non_anchor_ref_l0[i] = mpp_calloc(RK_S32, subset_sps->num_non_anchor_refs_l0[i]); in sps_mvc_extension()
348 MEM_CHECK(ret, subset_sps->non_anchor_ref_l0[i]); in sps_mvc_extension()
349 for (j = 0; j < subset_sps->num_non_anchor_refs_l0[i]; j++) { in sps_mvc_extension()
350 READ_UE(p_bitctx, &subset_sps->non_anchor_ref_l0[i][j]); in sps_mvc_extension()
353 READ_UE(p_bitctx, &subset_sps->num_non_anchor_refs_l1[i]); in sps_mvc_extension()
354 if (subset_sps->num_non_anchor_refs_l1[i]) { in sps_mvc_extension()
355 … subset_sps->non_anchor_ref_l1[i] = mpp_calloc(RK_S32, subset_sps->num_non_anchor_refs_l1[i]); in sps_mvc_extension()
356 MEM_CHECK(ret, subset_sps->non_anchor_ref_l1[i]); in sps_mvc_extension()
358 for (j = 0; j < subset_sps->num_non_anchor_refs_l1[i]; j++) { in sps_mvc_extension()
359 READ_UE(p_bitctx, &subset_sps->non_anchor_ref_l1[i][j]); in sps_mvc_extension()
494 void recycle_subsps(H264_subSPS_t *subset_sps) in recycle_subsps() argument
498 num_views = 1 + subset_sps->num_views_minus1; in recycle_subsps()
500 if (subset_sps->num_anchor_refs_l0[i] > 0) { in recycle_subsps()
501 MPP_FREE(subset_sps->anchor_ref_l0[i]); in recycle_subsps()
503 if (subset_sps->num_anchor_refs_l1[i] > 0) { in recycle_subsps()
504 MPP_FREE(subset_sps->anchor_ref_l1[i]); in recycle_subsps()
506 if (subset_sps->num_non_anchor_refs_l0[i] > 0) { in recycle_subsps()
507 MPP_FREE(subset_sps->non_anchor_ref_l0[i]); in recycle_subsps()
509 if (subset_sps->num_non_anchor_refs_l1[i] > 0) { in recycle_subsps()
510 MPP_FREE(subset_sps->non_anchor_ref_l1[i]); in recycle_subsps()
514 MPP_FREE(subset_sps->view_id); in recycle_subsps()
515 MPP_FREE(subset_sps->num_anchor_refs_l0); in recycle_subsps()
516 MPP_FREE(subset_sps->num_anchor_refs_l1); in recycle_subsps()
517 MPP_FREE(subset_sps->anchor_ref_l0); in recycle_subsps()
518 MPP_FREE(subset_sps->anchor_ref_l1); in recycle_subsps()
519 MPP_FREE(subset_sps->num_non_anchor_refs_l0); in recycle_subsps()
520 MPP_FREE(subset_sps->num_non_anchor_refs_l1); in recycle_subsps()
521 MPP_FREE(subset_sps->non_anchor_ref_l0); in recycle_subsps()
522 MPP_FREE(subset_sps->non_anchor_ref_l1); in recycle_subsps()
524 subset_sps->Valid = 0; in recycle_subsps()
578 MPP_RET activate_sps(H264dVideoCtx_t *p_Vid, H264_SPS_t *sps, H264_subSPS_t *subset_sps) in activate_sps() argument
581 INP_CHECK(ret, !p_Vid && !sps && !subset_sps); in activate_sps()
586 p_Vid->active_sps = &subset_sps->sps; in activate_sps()
587 p_Vid->active_subsps = subset_sps; in activate_sps()
589 p_Vid->active_sps_id[1] = subset_sps->sps.seq_parameter_set_id; in activate_sps()