Lines Matching refs:pic
291 struct pipe_h265_picture_desc *pic)
300 (pic->pps->sps->bit_depth_luma_minus8 || pic->pps->sps->bit_depth_chroma_minus8) ? 2 : 1;
309 log2_ctb_size = pic->pps->sps->log2_min_luma_coding_block_size_minus3 + 3 +
310 pic->pps->sps->log2_diff_max_min_luma_coding_block_size;
488 static struct ruvd_h264 get_h264_msg(struct ruvd_decoder *dec, struct pipe_h264_picture_desc *pic)
493 switch (pic->base.profile) {
515 result.sps_info_flags |= pic->pps->sps->direct_8x8_inference_flag << 0;
516 result.sps_info_flags |= pic->pps->sps->mb_adaptive_frame_field_flag << 1;
517 result.sps_info_flags |= pic->pps->sps->frame_mbs_only_flag << 2;
518 result.sps_info_flags |= pic->pps->sps->delta_pic_order_always_zero_flag << 3;
520 result.bit_depth_luma_minus8 = pic->pps->sps->bit_depth_luma_minus8;
521 result.bit_depth_chroma_minus8 = pic->pps->sps->bit_depth_chroma_minus8;
522 result.log2_max_frame_num_minus4 = pic->pps->sps->log2_max_frame_num_minus4;
523 result.pic_order_cnt_type = pic->pps->sps->pic_order_cnt_type;
524 result.log2_max_pic_order_cnt_lsb_minus4 = pic->pps->sps->log2_max_pic_order_cnt_lsb_minus4;
545 result.pps_info_flags |= pic->pps->transform_8x8_mode_flag << 0;
546 result.pps_info_flags |= pic->pps->redundant_pic_cnt_present_flag << 1;
547 result.pps_info_flags |= pic->pps->constrained_intra_pred_flag << 2;
548 result.pps_info_flags |= pic->pps->deblocking_filter_control_present_flag << 3;
549 result.pps_info_flags |= pic->pps->weighted_bipred_idc << 4;
550 result.pps_info_flags |= pic->pps->weighted_pred_flag << 6;
551 result.pps_info_flags |= pic->pps->bottom_field_pic_order_in_frame_present_flag << 7;
552 result.pps_info_flags |= pic->pps->entropy_coding_mode_flag << 8;
554 result.num_slice_groups_minus1 = pic->pps->num_slice_groups_minus1;
555 result.slice_group_map_type = pic->pps->slice_group_map_type;
556 result.slice_group_change_rate_minus1 = pic->pps->slice_group_change_rate_minus1;
557 result.pic_init_qp_minus26 = pic->pps->pic_init_qp_minus26;
558 result.chroma_qp_index_offset = pic->pps->chroma_qp_index_offset;
559 result.second_chroma_qp_index_offset = pic->pps->second_chroma_qp_index_offset;
561 memcpy(result.scaling_list_4x4, pic->pps->ScalingList4x4, 6 * 16);
562 memcpy(result.scaling_list_8x8, pic->pps->ScalingList8x8, 2 * 64);
569 result.num_ref_frames = pic->num_ref_frames;
571 result.num_ref_idx_l0_active_minus1 = pic->num_ref_idx_l0_active_minus1;
572 result.num_ref_idx_l1_active_minus1 = pic->num_ref_idx_l1_active_minus1;
574 result.frame_num = pic->frame_num;
575 memcpy(result.frame_num_list, pic->frame_num_list, 4 * 16);
576 result.curr_field_order_cnt_list[0] = pic->field_order_cnt[0];
577 result.curr_field_order_cnt_list[1] = pic->field_order_cnt[1];
578 memcpy(result.field_order_cnt_list, pic->field_order_cnt_list, 4 * 16 * 2);
580 result.decoded_pic_idx = pic->frame_num;
587 struct pipe_h265_picture_desc *pic)
595 result.sps_info_flags |= pic->pps->sps->scaling_list_enabled_flag << 0;
596 result.sps_info_flags |= pic->pps->sps->amp_enabled_flag << 1;
597 result.sps_info_flags |= pic->pps->sps->sample_adaptive_offset_enabled_flag << 2;
598 result.sps_info_flags |= pic->pps->sps->pcm_enabled_flag << 3;
599 result.sps_info_flags |= pic->pps->sps->pcm_loop_filter_disabled_flag << 4;
600 result.sps_info_flags |= pic->pps->sps->long_term_ref_pics_present_flag << 5;
601 result.sps_info_flags |= pic->pps->sps->sps_temporal_mvp_enabled_flag << 6;
602 result.sps_info_flags |= pic->pps->sps->strong_intra_smoothing_enabled_flag << 7;
603 result.sps_info_flags |= pic->pps->sps->separate_colour_plane_flag << 8;
606 if (pic->UseRefPicList == true)
609 result.chroma_format = pic->pps->sps->chroma_format_idc;
610 result.bit_depth_luma_minus8 = pic->pps->sps->bit_depth_luma_minus8;
611 result.bit_depth_chroma_minus8 = pic->pps->sps->bit_depth_chroma_minus8;
612 result.log2_max_pic_order_cnt_lsb_minus4 = pic->pps->sps->log2_max_pic_order_cnt_lsb_minus4;
613 result.sps_max_dec_pic_buffering_minus1 = pic->pps->sps->sps_max_dec_pic_buffering_minus1;
615 pic->pps->sps->log2_min_luma_coding_block_size_minus3;
617 pic->pps->sps->log2_diff_max_min_luma_coding_block_size;
619 pic->pps->sps->log2_min_transform_block_size_minus2;
621 pic->pps->sps->log2_diff_max_min_transform_block_size;
622 result.max_transform_hierarchy_depth_inter = pic->pps->sps->max_transform_hierarchy_depth_inter;
623 result.max_transform_hierarchy_depth_intra = pic->pps->sps->max_transform_hierarchy_depth_intra;
624 result.pcm_sample_bit_depth_luma_minus1 = pic->pps->sps->pcm_sample_bit_depth_luma_minus1;
625 result.pcm_sample_bit_depth_chroma_minus1 = pic->pps->sps->pcm_sample_bit_depth_chroma_minus1;
627 pic->pps->sps->log2_min_pcm_luma_coding_block_size_minus3;
629 pic->pps->sps->log2_diff_max_min_pcm_luma_coding_block_size;
630 result.num_short_term_ref_pic_sets = pic->pps->sps->num_short_term_ref_pic_sets;
633 result.pps_info_flags |= pic->pps->dependent_slice_segments_enabled_flag << 0;
634 result.pps_info_flags |= pic->pps->output_flag_present_flag << 1;
635 result.pps_info_flags |= pic->pps->sign_data_hiding_enabled_flag << 2;
636 result.pps_info_flags |= pic->pps->cabac_init_present_flag << 3;
637 result.pps_info_flags |= pic->pps->constrained_intra_pred_flag << 4;
638 result.pps_info_flags |= pic->pps->transform_skip_enabled_flag << 5;
639 result.pps_info_flags |= pic->pps->cu_qp_delta_enabled_flag << 6;
640 result.pps_info_flags |= pic->pps->pps_slice_chroma_qp_offsets_present_flag << 7;
641 result.pps_info_flags |= pic->pps->weighted_pred_flag << 8;
642 result.pps_info_flags |= pic->pps->weighted_bipred_flag << 9;
643 result.pps_info_flags |= pic->pps->transquant_bypass_enabled_flag << 10;
644 result.pps_info_flags |= pic->pps->tiles_enabled_flag << 11;
645 result.pps_info_flags |= pic->pps->entropy_coding_sync_enabled_flag << 12;
646 result.pps_info_flags |= pic->pps->uniform_spacing_flag << 13;
647 result.pps_info_flags |= pic->pps->loop_filter_across_tiles_enabled_flag << 14;
648 result.pps_info_flags |= pic->pps->pps_loop_filter_across_slices_enabled_flag << 15;
649 result.pps_info_flags |= pic->pps->deblocking_filter_override_enabled_flag << 16;
650 result.pps_info_flags |= pic->pps->pps_deblocking_filter_disabled_flag << 17;
651 result.pps_info_flags |= pic->pps->lists_modification_present_flag << 18;
652 result.pps_info_flags |= pic->pps->slice_segment_header_extension_present_flag << 19;
653 // result.pps_info_flags |= pic->pps->deblocking_filter_control_present_flag; ???
655 result.num_extra_slice_header_bits = pic->pps->num_extra_slice_header_bits;
656 result.num_long_term_ref_pic_sps = pic->pps->sps->num_long_term_ref_pics_sps;
657 result.num_ref_idx_l0_default_active_minus1 = pic->pps->num_ref_idx_l0_default_active_minus1;
658 result.num_ref_idx_l1_default_active_minus1 = pic->pps->num_ref_idx_l1_default_active_minus1;
659 result.pps_cb_qp_offset = pic->pps->pps_cb_qp_offset;
660 result.pps_cr_qp_offset = pic->pps->pps_cr_qp_offset;
661 result.pps_beta_offset_div2 = pic->pps->pps_beta_offset_div2;
662 result.pps_tc_offset_div2 = pic->pps->pps_tc_offset_div2;
663 result.diff_cu_qp_delta_depth = pic->pps->diff_cu_qp_delta_depth;
664 result.num_tile_columns_minus1 = pic->pps->num_tile_columns_minus1;
665 result.num_tile_rows_minus1 = pic->pps->num_tile_rows_minus1;
666 result.log2_parallel_merge_level_minus2 = pic->pps->log2_parallel_merge_level_minus2;
667 result.init_qp_minus26 = pic->pps->init_qp_minus26;
670 result.column_width_minus1[i] = pic->pps->column_width_minus1[i];
673 result.row_height_minus1[i] = pic->pps->row_height_minus1[i];
675 result.num_delta_pocs_ref_rps_idx = pic->NumDeltaPocsOfRefRpsIdx;
676 result.curr_poc = pic->CurrPicOrderCntVal;
679 for (j = 0; (pic->ref[j] != NULL) && (j < 16); j++) {
680 if (dec->render_pic_list[i] == pic->ref[j])
684 else if (pic->ref[j + 1] == NULL)
700 struct pipe_video_buffer *ref = pic->ref[i];
703 result.poc_list[i] = pic->PicOrderCntVal[i];
718 for (i = 0; i < pic->NumPocStCurrBefore; ++i)
719 result.ref_pic_set_st_curr_before[i] = pic->RefPicSetStCurrBefore[i];
721 for (i = 0; i < pic->NumPocStCurrAfter; ++i)
722 result.ref_pic_set_st_curr_after[i] = pic->RefPicSetStCurrAfter[i];
724 for (i = 0; i < pic->NumPocLtCurr; ++i)
725 result.ref_pic_set_lt_curr[i] = pic->RefPicSetLtCurr[i];
728 result.ucScalingListDCCoefSizeID2[i] = pic->pps->sps->ScalingListDCCoeff16x16[i];
731 result.ucScalingListDCCoefSizeID3[i] = pic->pps->sps->ScalingListDCCoeff32x32[i];
733 memcpy(dec->it, pic->pps->sps->ScalingList4x4, 6 * 16);
734 memcpy(dec->it + 96, pic->pps->sps->ScalingList8x8, 6 * 64);
735 memcpy(dec->it + 480, pic->pps->sps->ScalingList16x16, 6 * 64);
736 memcpy(dec->it + 864, pic->pps->sps->ScalingList32x32, 2 * 64);
740 result.direct_reflist[i][j] = pic->RefPicList[i][j];
743 if (pic->base.profile == PIPE_VIDEO_PROFILE_HEVC_MAIN_10) {
772 static struct ruvd_vc1 get_vc1_msg(struct pipe_vc1_picture_desc *pic)
778 switch (pic->base.profile) {
799 result.sps_info_flags |= pic->postprocflag << 7;
800 result.sps_info_flags |= pic->pulldown << 6;
801 result.sps_info_flags |= pic->interlace << 5;
802 result.sps_info_flags |= pic->tfcntrflag << 4;
803 result.sps_info_flags |= pic->finterpflag << 3;
804 result.sps_info_flags |= pic->psf << 1;
806 result.pps_info_flags |= pic->range_mapy_flag << 31;
807 result.pps_info_flags |= pic->range_mapy << 28;
808 result.pps_info_flags |= pic->range_mapuv_flag << 27;
809 result.pps_info_flags |= pic->range_mapuv << 24;
810 result.pps_info_flags |= pic->multires << 21;
811 result.pps_info_flags |= pic->maxbframes << 16;
812 result.pps_info_flags |= pic->overlap << 11;
813 result.pps_info_flags |= pic->quantizer << 9;
814 result.pps_info_flags |= pic->panscan_flag << 7;
815 result.pps_info_flags |= pic->refdist_flag << 6;
816 result.pps_info_flags |= pic->vstransform << 0;
819 if (pic->base.profile != PIPE_VIDEO_PROFILE_VC1_SIMPLE) {
820 result.pps_info_flags |= pic->syncmarker << 20;
821 result.pps_info_flags |= pic->rangered << 19;
822 result.pps_info_flags |= pic->loopfilter << 5;
823 result.pps_info_flags |= pic->fastuvmc << 4;
824 result.pps_info_flags |= pic->extended_mv << 3;
825 result.pps_info_flags |= pic->extended_dmv << 8;
826 result.pps_info_flags |= pic->dquant << 1;
863 struct pipe_mpeg12_picture_desc *pic)
865 const int *zscan = pic->alternate_scan ? vl_zscan_alternate : vl_zscan_normal;
872 result.ref_pic_idx[i] = get_ref_pic_idx(dec, pic->ref[i]);
874 if (pic->intra_matrix) {
877 result.intra_quantiser_matrix[i] = pic->intra_matrix[zscan[i]];
880 if (pic->non_intra_matrix) {
883 result.nonintra_quantiser_matrix[i] = pic->non_intra_matrix[zscan[i]];
890 result.picture_coding_type = pic->picture_coding_type;
891 result.f_code[0][0] = pic->f_code[0][0] + 1;
892 result.f_code[0][1] = pic->f_code[0][1] + 1;
893 result.f_code[1][0] = pic->f_code[1][0] + 1;
894 result.f_code[1][1] = pic->f_code[1][1] + 1;
895 result.intra_dc_precision = pic->intra_dc_precision;
896 result.pic_structure = pic->picture_structure;
897 result.top_field_first = pic->top_field_first;
898 result.frame_pred_frame_dct = pic->frame_pred_frame_dct;
899 result.concealment_motion_vectors = pic->concealment_motion_vectors;
900 result.q_scale_type = pic->q_scale_type;
901 result.intra_vlc_format = pic->intra_vlc_format;
902 result.alternate_scan = pic->alternate_scan;
909 struct pipe_mpeg4_picture_desc *pic)
917 result.ref_pic_idx[i] = get_ref_pic_idx(dec, pic->ref[i]);
928 result.vop_time_increment_resolution = pic->vop_time_increment_resolution;
930 result.flags |= pic->short_video_header << 0;
932 result.flags |= pic->interlaced << 2;
935 result.flags |= pic->quarter_sample << 5;
937 result.flags |= pic->resync_marker_disable << 7;
947 result.quant_type = pic->quant_type;
950 result.intra_quant_mat[i] = pic->intra_matrix[vl_zscan_normal[i]];
951 result.nonintra_quant_mat[i] = pic->non_intra_matrix[vl_zscan_normal[i]];