Lines Matching refs:pps
849 static RK_S32 compare_pps(HEVCPPS *openhevc_pps, HEVCPPS *pps) in compare_pps() argument
852 if (openhevc_pps->sps_id != pps->sps_id) { in compare_pps()
857 if (openhevc_pps->pps_id != pps->pps_id) { in compare_pps()
862 if (openhevc_pps->sign_data_hiding_flag != pps->sign_data_hiding_flag) { in compare_pps()
867 if (openhevc_pps->cabac_init_present_flag != pps->cabac_init_present_flag) { in compare_pps()
872 if (openhevc_pps->num_ref_idx_l0_default_active != pps->num_ref_idx_l0_default_active) { in compare_pps()
876 if (openhevc_pps->num_ref_idx_l1_default_active != pps->num_ref_idx_l1_default_active) { in compare_pps()
880 if (openhevc_pps->pic_init_qp_minus26 != pps->pic_init_qp_minus26) { in compare_pps()
885 if (openhevc_pps->constrained_intra_pred_flag != pps->constrained_intra_pred_flag) { in compare_pps()
889 if (openhevc_pps->transform_skip_enabled_flag != pps->transform_skip_enabled_flag) { in compare_pps()
894 if (openhevc_pps->cu_qp_delta_enabled_flag != pps->cu_qp_delta_enabled_flag) { in compare_pps()
898 if (openhevc_pps->diff_cu_qp_delta_depth != pps->diff_cu_qp_delta_depth) { in compare_pps()
903 if (openhevc_pps->cb_qp_offset != pps->cb_qp_offset) { in compare_pps()
908 if (openhevc_pps->cr_qp_offset != pps->cr_qp_offset) { in compare_pps()
914 pps->pic_slice_level_chroma_qp_offsets_present_flag) { in compare_pps()
918 if (openhevc_pps->weighted_pred_flag != pps->weighted_pred_flag) { in compare_pps()
922 if (openhevc_pps->weighted_bipred_flag != pps->weighted_bipred_flag) { in compare_pps()
926 if (openhevc_pps->output_flag_present_flag != pps->output_flag_present_flag) { in compare_pps()
931 pps->transquant_bypass_enable_flag) { in compare_pps()
937 pps->dependent_slice_segments_enabled_flag) { in compare_pps()
941 if (openhevc_pps->tiles_enabled_flag != pps->tiles_enabled_flag) { in compare_pps()
946 pps->entropy_coding_sync_enabled_flag) { in compare_pps()
951 if (openhevc_pps->num_tile_columns != pps->num_tile_columns) { in compare_pps()
955 if (openhevc_pps->num_tile_rows != pps->num_tile_rows) { in compare_pps()
959 if (openhevc_pps->uniform_spacing_flag != pps->uniform_spacing_flag) { in compare_pps()
964 pps->loop_filter_across_tiles_enabled_flag) { in compare_pps()
970 pps->seq_loop_filter_across_slices_enabled_flag) { in compare_pps()
976 pps->deblocking_filter_control_present_flag) { in compare_pps()
981 pps->deblocking_filter_override_enabled_flag) { in compare_pps()
985 if (openhevc_pps->disable_dbf != pps->disable_dbf) { in compare_pps()
989 if (openhevc_pps->beta_offset != pps->beta_offset) { in compare_pps()
993 if (openhevc_pps->tc_offset != pps->tc_offset) { in compare_pps()
999 pps->scaling_list_data_present_flag) { in compare_pps()
1005 pps->lists_modification_present_flag) { in compare_pps()
1009 if (openhevc_pps->log2_parallel_merge_level != pps->log2_parallel_merge_level) { in compare_pps()
1014 pps->num_extra_slice_header_bits) { in compare_pps()
1020 pps->slice_header_extension_present_flag) { in compare_pps()
1025 if (openhevc_pps->pps_extension_flag != pps->pps_extension_flag) { in compare_pps()
1029 if (openhevc_pps->pps_extension_data_flag != pps->pps_extension_data_flag) { in compare_pps()
1917 HEVCPPS *pps = (HEVCPPS*)data; in mpp_hevc_pps_free() local
1919 if (pps) { in mpp_hevc_pps_free()
1920 MPP_FREE(pps->bufs.column_width); in mpp_hevc_pps_free()
1921 MPP_FREE(pps->bufs.row_height); in mpp_hevc_pps_free()
1922 MPP_FREE(pps); in mpp_hevc_pps_free()
1930 HEVCPPS *pps = mpp_calloc(HEVCPPS, 1); in mpp_hevc_decode_nal_pps() local
1939 if (!pps) in mpp_hevc_decode_nal_pps()
1953 bufs = &pps->bufs; in mpp_hevc_decode_nal_pps()
1956 pps->pps_id = pps_id; in mpp_hevc_decode_nal_pps()
1958 pps->loop_filter_across_tiles_enabled_flag = 1; in mpp_hevc_decode_nal_pps()
1959 pps->num_tile_columns = 1; in mpp_hevc_decode_nal_pps()
1960 pps->num_tile_rows = 1; in mpp_hevc_decode_nal_pps()
1961 pps->uniform_spacing_flag = 1; in mpp_hevc_decode_nal_pps()
1962 pps->disable_dbf = 0; in mpp_hevc_decode_nal_pps()
1963 pps->beta_offset = 0; in mpp_hevc_decode_nal_pps()
1964 pps->tc_offset = 0; in mpp_hevc_decode_nal_pps()
1966 READ_UE(gb, &pps->sps_id); in mpp_hevc_decode_nal_pps()
1967 if (pps->sps_id >= MAX_SPS_COUNT) { in mpp_hevc_decode_nal_pps()
1968 mpp_err( "SPS id out of range: %d\n", pps->sps_id); in mpp_hevc_decode_nal_pps()
1972 if (!s->sps_list[pps->sps_id]) { in mpp_hevc_decode_nal_pps()
1973 mpp_err( "SPS %u does not exist.\n", pps->sps_id); in mpp_hevc_decode_nal_pps()
1977 sps = (HEVCSPS *)s->sps_list[pps->sps_id]; in mpp_hevc_decode_nal_pps()
1980 READ_ONEBIT(gb, &pps->dependent_slice_segments_enabled_flag); in mpp_hevc_decode_nal_pps()
1981 READ_ONEBIT(gb, &pps->output_flag_present_flag ); in mpp_hevc_decode_nal_pps()
1982 READ_BITS(gb, 3, &pps->num_extra_slice_header_bits); in mpp_hevc_decode_nal_pps()
1984 READ_ONEBIT(gb, &pps->sign_data_hiding_flag); in mpp_hevc_decode_nal_pps()
1986 READ_ONEBIT(gb, &pps->cabac_init_present_flag); in mpp_hevc_decode_nal_pps()
1988 READ_UE(gb, &pps->num_ref_idx_l0_default_active); in mpp_hevc_decode_nal_pps()
1989 pps->num_ref_idx_l0_default_active += 1; in mpp_hevc_decode_nal_pps()
1990 READ_UE(gb, &pps->num_ref_idx_l1_default_active); in mpp_hevc_decode_nal_pps()
1991 pps->num_ref_idx_l1_default_active += 1; in mpp_hevc_decode_nal_pps()
1993 READ_SE(gb, &pps->pic_init_qp_minus26); in mpp_hevc_decode_nal_pps()
1995 READ_ONEBIT(gb, & pps->constrained_intra_pred_flag); in mpp_hevc_decode_nal_pps()
1996 READ_ONEBIT(gb, &pps->transform_skip_enabled_flag); in mpp_hevc_decode_nal_pps()
1998 READ_ONEBIT(gb, &pps->cu_qp_delta_enabled_flag); in mpp_hevc_decode_nal_pps()
1999 pps->diff_cu_qp_delta_depth = 0; in mpp_hevc_decode_nal_pps()
2000 if (pps->cu_qp_delta_enabled_flag) in mpp_hevc_decode_nal_pps()
2001 READ_UE(gb, &pps->diff_cu_qp_delta_depth); in mpp_hevc_decode_nal_pps()
2003 READ_SE(gb, &pps->cb_qp_offset); in mpp_hevc_decode_nal_pps()
2004 if (pps->cb_qp_offset < -12 || pps->cb_qp_offset > 12) { in mpp_hevc_decode_nal_pps()
2006 pps->cb_qp_offset); in mpp_hevc_decode_nal_pps()
2010 READ_SE(gb, &pps->cr_qp_offset); in mpp_hevc_decode_nal_pps()
2011 if (pps->cr_qp_offset < -12 || pps->cr_qp_offset > 12) { in mpp_hevc_decode_nal_pps()
2013 pps->cr_qp_offset); in mpp_hevc_decode_nal_pps()
2017 READ_ONEBIT(gb, &pps->pic_slice_level_chroma_qp_offsets_present_flag); in mpp_hevc_decode_nal_pps()
2019 READ_ONEBIT(gb, &pps->weighted_pred_flag); in mpp_hevc_decode_nal_pps()
2021 READ_ONEBIT(gb, &pps->weighted_bipred_flag); in mpp_hevc_decode_nal_pps()
2023 READ_ONEBIT(gb, &pps->transquant_bypass_enable_flag); in mpp_hevc_decode_nal_pps()
2024 READ_ONEBIT(gb, &pps->tiles_enabled_flag); in mpp_hevc_decode_nal_pps()
2025 READ_ONEBIT(gb, &pps->entropy_coding_sync_enabled_flag); in mpp_hevc_decode_nal_pps()
2033 RK_S32 max_supt_height = pps->tiles_enabled_flag ? PIXH_1080P : PIXW_1080P; in mpp_hevc_decode_nal_pps()
2037 max_supt_height = pps->tiles_enabled_flag ? PIXH_8Kx4K : PIXW_8Kx4K; in mpp_hevc_decode_nal_pps()
2040 max_supt_height = pps->tiles_enabled_flag ? PIXH_4Kx2K : PIXW_4Kx2K; in mpp_hevc_decode_nal_pps()
2043 … if (sps->width > max_supt_width || (sps->height > max_supt_height && pps->tiles_enabled_flag) in mpp_hevc_decode_nal_pps()
2058 if (pps->tiles_enabled_flag) { in mpp_hevc_decode_nal_pps()
2059 READ_UE(gb, &pps->num_tile_columns); in mpp_hevc_decode_nal_pps()
2060 pps->num_tile_columns += 1; in mpp_hevc_decode_nal_pps()
2061 READ_UE(gb, &pps->num_tile_rows); in mpp_hevc_decode_nal_pps()
2062 pps->num_tile_rows += 1; in mpp_hevc_decode_nal_pps()
2063 if (pps->num_tile_columns == 0 || in mpp_hevc_decode_nal_pps()
2064 pps->num_tile_columns >= sps->width) { in mpp_hevc_decode_nal_pps()
2066 pps->num_tile_columns - 1); in mpp_hevc_decode_nal_pps()
2070 if (pps->num_tile_rows == 0 || in mpp_hevc_decode_nal_pps()
2071 pps->num_tile_rows >= sps->height) { in mpp_hevc_decode_nal_pps()
2073 pps->num_tile_rows - 1); in mpp_hevc_decode_nal_pps()
2078 buf_size = pps->num_tile_columns * sizeof(RK_U32); in mpp_hevc_decode_nal_pps()
2084 buf_size = pps->num_tile_rows * sizeof(RK_U32); in mpp_hevc_decode_nal_pps()
2095 READ_ONEBIT(gb, &pps->uniform_spacing_flag ); in mpp_hevc_decode_nal_pps()
2096 if (!pps->uniform_spacing_flag) { in mpp_hevc_decode_nal_pps()
2098 for (i = 0; i < pps->num_tile_columns - 1; i++) { in mpp_hevc_decode_nal_pps()
2108 bufs->column_width[pps->num_tile_columns - 1] = sps->ctb_width - sum; in mpp_hevc_decode_nal_pps()
2111 for (i = 0; i < pps->num_tile_rows - 1; i++) { in mpp_hevc_decode_nal_pps()
2121 bufs->row_height[pps->num_tile_rows - 1] = sps->ctb_height - sum; in mpp_hevc_decode_nal_pps()
2123 READ_ONEBIT(gb, &pps->loop_filter_across_tiles_enabled_flag); in mpp_hevc_decode_nal_pps()
2126 READ_ONEBIT(gb, &pps->seq_loop_filter_across_slices_enabled_flag); in mpp_hevc_decode_nal_pps()
2127 READ_ONEBIT(gb, &pps->deblocking_filter_control_present_flag); in mpp_hevc_decode_nal_pps()
2128 if (pps->deblocking_filter_control_present_flag) { in mpp_hevc_decode_nal_pps()
2129 READ_ONEBIT(gb, &pps->deblocking_filter_override_enabled_flag); in mpp_hevc_decode_nal_pps()
2130 READ_ONEBIT(gb, & pps->disable_dbf); in mpp_hevc_decode_nal_pps()
2131 if (!pps->disable_dbf) { in mpp_hevc_decode_nal_pps()
2132 READ_SE(gb, &pps->beta_offset); in mpp_hevc_decode_nal_pps()
2133 pps->beta_offset = pps->beta_offset * 2; in mpp_hevc_decode_nal_pps()
2134 READ_SE(gb, &pps->tc_offset); in mpp_hevc_decode_nal_pps()
2135 pps->tc_offset = pps->tc_offset * 2; in mpp_hevc_decode_nal_pps()
2136 if (pps->beta_offset / 2 < -6 || pps->beta_offset / 2 > 6) { in mpp_hevc_decode_nal_pps()
2138 pps->beta_offset / 2); in mpp_hevc_decode_nal_pps()
2142 if (pps->tc_offset / 2 < -6 || pps->tc_offset / 2 > 6) { in mpp_hevc_decode_nal_pps()
2144 pps->tc_offset / 2); in mpp_hevc_decode_nal_pps()
2151 READ_ONEBIT(gb, &pps->scaling_list_data_present_flag); in mpp_hevc_decode_nal_pps()
2152 if (pps->scaling_list_data_present_flag) { in mpp_hevc_decode_nal_pps()
2153 set_default_scaling_list_data(&pps->scaling_list); in mpp_hevc_decode_nal_pps()
2154 ret = scaling_list_data(s, &pps->scaling_list, sps); in mpp_hevc_decode_nal_pps()
2162 READ_ONEBIT(gb, & pps->lists_modification_present_flag); in mpp_hevc_decode_nal_pps()
2166 READ_UE(gb, &pps->log2_parallel_merge_level); in mpp_hevc_decode_nal_pps()
2169 pps->log2_parallel_merge_level += 2; in mpp_hevc_decode_nal_pps()
2170 if (pps->log2_parallel_merge_level > sps->log2_ctb_size) { in mpp_hevc_decode_nal_pps()
2172 pps->log2_parallel_merge_level - 2); in mpp_hevc_decode_nal_pps()
2176 READ_ONEBIT(gb, &pps->slice_header_extension_present_flag); in mpp_hevc_decode_nal_pps()
2177 READ_ONEBIT(gb, &pps->pps_extension_flag); in mpp_hevc_decode_nal_pps()
2178 h265d_dbg(H265D_DBG_PPS, "pps_extension_flag %d", pps->pps_extension_flag); in mpp_hevc_decode_nal_pps()
2179 if (pps->pps_extension_flag) { in mpp_hevc_decode_nal_pps()
2180 READ_ONEBIT(gb, &pps->pps_range_extensions_flag); in mpp_hevc_decode_nal_pps()
2186 HEVCPPS *openhevc_pps = (HEVCPPS*)&info->pps[pps_id]; in mpp_hevc_decode_nal_pps()
2188 if (compare_pps(openhevc_pps, (HEVCPPS*)pps) < 0) { in mpp_hevc_decode_nal_pps()
2197 if (pps->uniform_spacing_flag) { in mpp_hevc_decode_nal_pps()
2198 buf_size = pps->num_tile_columns * sizeof(RK_U32); in mpp_hevc_decode_nal_pps()
2204 buf_size = pps->num_tile_rows * sizeof(RK_U32); in mpp_hevc_decode_nal_pps()
2214 for (i = 0; i < pps->num_tile_columns; i++) { in mpp_hevc_decode_nal_pps()
2215 bufs->column_width[i] = ((i + 1) * sps->ctb_width) / pps->num_tile_columns - in mpp_hevc_decode_nal_pps()
2216 (i * sps->ctb_width) / pps->num_tile_columns; in mpp_hevc_decode_nal_pps()
2219 for (i = 0; i < pps->num_tile_rows; i++) { in mpp_hevc_decode_nal_pps()
2220 bufs->row_height[i] = ((i + 1) * sps->ctb_height) / pps->num_tile_rows - in mpp_hevc_decode_nal_pps()
2221 (i * sps->ctb_height) / pps->num_tile_rows; in mpp_hevc_decode_nal_pps()
2226 memcpy(s->pps_list[pps_id], pps, sizeof(*pps) - sizeof(pps->bufs)); in mpp_hevc_decode_nal_pps()
2227 mpp_hevc_pps_free((RK_U8 *)pps); in mpp_hevc_decode_nal_pps()
2229 s->pps_list[pps_id] = (RK_U8 *)pps; in mpp_hevc_decode_nal_pps()
2240 if (pps) in mpp_hevc_decode_nal_pps()
2241 mpp_hevc_pps_free((RK_U8 *)pps); in mpp_hevc_decode_nal_pps()