Lines Matching refs:bx

112 static inline RK_S32 m2vd_get_readbits(BitReadCtx_t *bx)  in m2vd_get_readbits()  argument
114 return bx->used_bits; in m2vd_get_readbits()
117 static inline RK_S32 m2vd_get_leftbits(BitReadCtx_t *bx) in m2vd_get_leftbits() argument
119 return (bx->bytes_left_ * 8 + bx->num_remaining_bits_in_curr_byte_); in m2vd_get_leftbits()
122 static RK_S32 m2vd_read_bits(BitReadCtx_t *bx, RK_U32 bits) in m2vd_read_bits() argument
126 mpp_read_bits(bx, bits, &ret); in m2vd_read_bits()
128 mpp_read_longbits(bx, bits, (RK_U32 *)&ret); in m2vd_read_bits()
132 static RK_S32 m2vd_show_bits(BitReadCtx_t *bx, RK_U32 bits) in m2vd_show_bits() argument
135 mpp_show_bits(bx, bits, &ret); in m2vd_show_bits()
567 static RK_U32 m2vd_search_header(BitReadCtx_t *bx) in m2vd_search_header() argument
569 mpp_align_get_bits(bx); in m2vd_search_header()
570 while (m2vd_show_bits(bx, 24) != 0x01) { in m2vd_search_header()
571 mpp_skip_bits(bx, 8); in m2vd_search_header()
572 if (m2vd_get_leftbits(bx) < 32) { in m2vd_search_header()
574 mpp_log("[m2v]: seach_header: str.leftbit()[%d] < 32", m2vd_get_leftbits(bx)); in m2vd_search_header()
579 return m2vd_show_bits(bx, 32); in m2vd_search_header()
584 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_seq_ext_header() local
587 ctx->seq_ext_head.profile_and_level_indication = m2vd_read_bits(bx, 8); in m2vd_decode_seq_ext_header()
588 ctx->seq_ext_head.progressive_sequence = m2vd_read_bits(bx, 1); in m2vd_decode_seq_ext_header()
589 ctx->seq_ext_head.chroma_format = m2vd_read_bits(bx, 2); in m2vd_decode_seq_ext_header()
592 ctx->seq_ext_head.horizontal_size_extension = m2vd_read_bits(bx, 2); in m2vd_decode_seq_ext_header()
593 ctx->seq_ext_head.vertical_size_extension = m2vd_read_bits(bx, 2); in m2vd_decode_seq_ext_header()
594 ctx->seq_ext_head.bit_rate_extension = m2vd_read_bits(bx, 12); in m2vd_decode_seq_ext_header()
595 mpp_skip_bits(bx, 1); in m2vd_decode_seq_ext_header()
596 ctx->seq_ext_head.vbv_buffer_size_extension = m2vd_read_bits(bx, 8); in m2vd_decode_seq_ext_header()
597 ctx->seq_ext_head.low_delay = m2vd_read_bits(bx, 1); in m2vd_decode_seq_ext_header()
598 ctx->seq_ext_head.frame_rate_extension_n = m2vd_read_bits(bx, 2); in m2vd_decode_seq_ext_header()
599 ctx->seq_ext_head.frame_rate_extension_d = m2vd_read_bits(bx, 5); in m2vd_decode_seq_ext_header()
610 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_seqdisp_ext_header() local
611 ctx->seq_disp_ext_head.video_format = m2vd_read_bits(bx, 3); in m2vd_decode_seqdisp_ext_header()
612 ctx->seq_disp_ext_head.color_description = m2vd_read_bits(bx, 1); in m2vd_decode_seqdisp_ext_header()
615 ctx->seq_disp_ext_head.color_primaries = m2vd_read_bits(bx, 8); in m2vd_decode_seqdisp_ext_header()
616 ctx->seq_disp_ext_head.transfer_characteristics = m2vd_read_bits(bx, 8); in m2vd_decode_seqdisp_ext_header()
617 ctx->seq_disp_ext_head.matrix_coefficients = m2vd_read_bits(bx, 8); in m2vd_decode_seqdisp_ext_header()
620 m2vd_read_bits(bx, 14); in m2vd_decode_seqdisp_ext_header()
621 mpp_skip_bits(bx, 1); in m2vd_decode_seqdisp_ext_header()
622 m2vd_read_bits(bx, 14); in m2vd_decode_seqdisp_ext_header()
633 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_matrix_ext_header() local
635 load_intra_quantizer_matrix = m2vd_read_bits(bx, 1); in m2vd_decode_matrix_ext_header()
638 ctx->seq_head.pIntra_table[scanOrder[0][i]] = (unsigned char)m2vd_read_bits(bx, 8); in m2vd_decode_matrix_ext_header()
641 load_non_intra_quantizer_matrix = m2vd_read_bits(bx, 1); in m2vd_decode_matrix_ext_header()
644 ctx->seq_head.pInter_table[scanOrder[0][i]] = (unsigned char)m2vd_read_bits(bx, 8); in m2vd_decode_matrix_ext_header()
646 load_chroma_intra_quantizer_matrix = m2vd_read_bits(bx, 1); in m2vd_decode_matrix_ext_header()
650 load_chroma_non_intra_quantizer_matrix = m2vd_read_bits(bx, 1); in m2vd_decode_matrix_ext_header()
668 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_scalable_ext_header() local
677 scalable_mode = m2vd_read_bits(bx, 2) + 1; /* add 1 to make SC_DP != SC_NONE */ in m2vd_decode_scalable_ext_header()
679 layer_id = m2vd_read_bits(bx, 4); in m2vd_decode_scalable_ext_header()
682 lower_layer_prediction_horizontal_size = m2vd_read_bits(bx, 14); in m2vd_decode_scalable_ext_header()
683 mpp_skip_bits(bx, 1); in m2vd_decode_scalable_ext_header()
684 lower_layer_prediction_vertical_size = m2vd_read_bits(bx, 14); in m2vd_decode_scalable_ext_header()
685 horizontal_subsampling_factor_m = m2vd_read_bits(bx, 5); in m2vd_decode_scalable_ext_header()
686 horizontal_subsampling_factor_n = m2vd_read_bits(bx, 5); in m2vd_decode_scalable_ext_header()
687 vertical_subsampling_factor_m = m2vd_read_bits(bx, 5); in m2vd_decode_scalable_ext_header()
688 vertical_subsampling_factor_n = m2vd_read_bits(bx, 5); in m2vd_decode_scalable_ext_header()
710 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_picdisp_ext_header() local
737 ctx->pic_disp_ext_head.frame_center_horizontal_offset[i] = m2vd_read_bits(bx, 16); in m2vd_decode_picdisp_ext_header()
738 mpp_skip_bits(bx, 1); in m2vd_decode_picdisp_ext_header()
740 ctx->pic_disp_ext_head.frame_center_vertical_offset[i] = m2vd_read_bits(bx, 16); in m2vd_decode_picdisp_ext_header()
741 mpp_skip_bits(bx, 1); in m2vd_decode_picdisp_ext_header()
755 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_spatial_ext_header() local
757 lower_layer_temporal_reference = m2vd_read_bits(bx, 10); in m2vd_decode_spatial_ext_header()
758 mpp_skip_bits(bx, 1); in m2vd_decode_spatial_ext_header()
759 lower_layer_horizontal_offset = m2vd_read_bits(bx, 15); in m2vd_decode_spatial_ext_header()
762 mpp_skip_bits(bx, 1); in m2vd_decode_spatial_ext_header()
763 lower_layer_vertical_offset = m2vd_read_bits(bx, 15); in m2vd_decode_spatial_ext_header()
766 spatial_temporal_weight_code_table_index = m2vd_read_bits(bx, 2); in m2vd_decode_spatial_ext_header()
767 lower_layer_progressive_frame = m2vd_read_bits(bx, 1); in m2vd_decode_spatial_ext_header()
768 lower_layer_deinterlaced_field_select = m2vd_read_bits(bx, 1); in m2vd_decode_spatial_ext_header()
781 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_pic_ext_header() local
782 ctx->pic_code_ext_head.f_code[0][0] = m2vd_read_bits(bx, 4); in m2vd_decode_pic_ext_header()
783 ctx->pic_code_ext_head.f_code[0][1] = m2vd_read_bits(bx, 4); in m2vd_decode_pic_ext_header()
784 ctx->pic_code_ext_head.f_code[1][0] = m2vd_read_bits(bx, 4); in m2vd_decode_pic_ext_header()
785 ctx->pic_code_ext_head.f_code[1][1] = m2vd_read_bits(bx, 4); in m2vd_decode_pic_ext_header()
793 ctx->pic_code_ext_head.intra_dc_precision = m2vd_read_bits(bx, 2); in m2vd_decode_pic_ext_header()
794 ctx->pic_code_ext_head.picture_structure = m2vd_read_bits(bx, 2); in m2vd_decode_pic_ext_header()
796 ctx->pic_code_ext_head.top_field_first = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
798 m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
811 ctx->pic_code_ext_head.frame_pred_frame_dct = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
812 ctx->pic_code_ext_head.concealment_motion_vectors = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
813 ctx->pic_code_ext_head.q_scale_type = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
814 ctx->pic_code_ext_head.intra_vlc_format = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
815 ctx->pic_code_ext_head.alternate_scan = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
816 ctx->pic_code_ext_head.repeat_first_field = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
817 ctx->pic_code_ext_head.chroma_420_type = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
818 ctx->pic_code_ext_head.progressive_frame = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
819 ctx->pic_code_ext_head.composite_display_flag = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
821 ctx->pic_code_ext_head.v_axis = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
822 ctx->pic_code_ext_head.field_sequence = m2vd_read_bits(bx, 3); in m2vd_decode_pic_ext_header()
823 ctx->pic_code_ext_head.sub_carrier = m2vd_read_bits(bx, 1); in m2vd_decode_pic_ext_header()
824 ctx->pic_code_ext_head.burst_amplitude = m2vd_read_bits(bx, 7); in m2vd_decode_pic_ext_header()
825 ctx->pic_code_ext_head.sub_carrier_phase = m2vd_read_bits(bx, 8); in m2vd_decode_pic_ext_header()
844 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_copyright_ext_header() local
846 copyright_flag = m2vd_read_bits(bx, 1); in m2vd_decode_copyright_ext_header()
847 copyright_identifier = m2vd_read_bits(bx, 8); in m2vd_decode_copyright_ext_header()
848 original_or_copy = m2vd_read_bits(bx, 1); in m2vd_decode_copyright_ext_header()
851 reserved_data = m2vd_read_bits(bx, 7); in m2vd_decode_copyright_ext_header()
853 mpp_skip_bits(bx, 1); in m2vd_decode_copyright_ext_header()
854 copyright_number_1 = m2vd_read_bits(bx, 20); in m2vd_decode_copyright_ext_header()
855 mpp_skip_bits(bx, 1); in m2vd_decode_copyright_ext_header()
856 copyright_number_2 = m2vd_read_bits(bx, 22); in m2vd_decode_copyright_ext_header()
857 mpp_skip_bits(bx, 1); in m2vd_decode_copyright_ext_header()
858 copyright_number_3 = m2vd_read_bits(bx, 22); in m2vd_decode_copyright_ext_header()
876 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_ext_header() local
878 code = m2vd_search_header(bx); in m2vd_decode_ext_header()
885 mpp_skip_bits(bx, 32); in m2vd_decode_ext_header()
886 ext_ID = m2vd_read_bits(bx, 4); in m2vd_decode_ext_header()
930 mpp_skip_bits(bx, 32); in m2vd_decode_ext_header()
932 code = m2vd_search_header(bx); in m2vd_decode_ext_header()
940 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_gop_header() local
942 ctx->gop_head.drop_flag = m2vd_read_bits(bx, 1); in m2vd_decode_gop_header()
943 ctx->gop_head.hour = m2vd_read_bits(bx, 5); in m2vd_decode_gop_header()
944 ctx->gop_head.minute = m2vd_read_bits(bx, 6); in m2vd_decode_gop_header()
946 mpp_skip_bits(bx, 1); in m2vd_decode_gop_header()
948 ctx->gop_head.sec = m2vd_read_bits(bx, 6); in m2vd_decode_gop_header()
949 ctx->gop_head.frame = m2vd_read_bits(bx, 6); in m2vd_decode_gop_header()
950 ctx->gop_head.closed_gop = m2vd_read_bits(bx, 1); in m2vd_decode_gop_header()
951 ctx->gop_head.broken_link = m2vd_read_bits(bx, 1); in m2vd_decode_gop_header()
960 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_seq_header() local
961 RK_U32 width = m2vd_read_bits(bx, 12); in m2vd_decode_seq_header()
962 RK_U32 height = m2vd_read_bits(bx, 12); in m2vd_decode_seq_header()
978 ctx->seq_head.aspect_ratio_information = m2vd_read_bits(bx, 4); in m2vd_decode_seq_header()
979 ctx->seq_head.frame_rate_code = m2vd_read_bits(bx, 4); in m2vd_decode_seq_header()
982 ctx->seq_head.bit_rate_value = m2vd_read_bits(bx, 18); in m2vd_decode_seq_header()
983 mpp_skip_bits(bx, 1); in m2vd_decode_seq_header()
984 ctx->seq_head.vbv_buffer_size = m2vd_read_bits(bx, 10); in m2vd_decode_seq_header()
985 ctx->seq_head.constrained_parameters_flag = m2vd_read_bits(bx, 1); in m2vd_decode_seq_header()
986 ctx->seq_head.load_intra_quantizer_matrix = m2vd_read_bits(bx, 1); in m2vd_decode_seq_header()
989 ctx->seq_head.pIntra_table[scanOrder[0][i]] = (unsigned char)m2vd_read_bits(bx, 8); in m2vd_decode_seq_header()
995 ctx->seq_head.load_non_intra_quantizer_matrix = m2vd_read_bits(bx, 1); in m2vd_decode_seq_header()
998 ctx->seq_head.pInter_table[scanOrder[0][i]] = (unsigned char)m2vd_read_bits(bx, 8); in m2vd_decode_seq_header()
1009 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_extra_bit_information() local
1010 while (m2vd_read_bits(bx, 1)) { in m2vd_extra_bit_information()
1011 mpp_skip_bits(bx, 8); in m2vd_extra_bit_information()
1018 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_pic_header() local
1019 ctx->pic_head.temporal_reference = m2vd_read_bits(bx, 10); in m2vd_decode_pic_header()
1020 ctx->pic_head.picture_coding_type = m2vd_read_bits(bx, 3); in m2vd_decode_pic_header()
1021 ctx->pic_head.vbv_delay = m2vd_read_bits(bx, 16); in m2vd_decode_pic_header()
1033 ctx->pic_head.full_pel_forward_vector = m2vd_read_bits(bx, 1); in m2vd_decode_pic_header()
1034 ctx->pic_head.forward_f_code = m2vd_read_bits(bx, 3); in m2vd_decode_pic_header()
1037 ctx->pic_head.full_pel_backward_vector = m2vd_read_bits(bx, 1); in m2vd_decode_pic_header()
1038 ctx->pic_head.backward_f_code = m2vd_read_bits(bx, 3); in m2vd_decode_pic_header()
1050 BitReadCtx_t *bx = ctx->bitread_ctx; in m2vd_decode_head() local
1054 code = m2vd_search_header(bx); in m2vd_decode_head()
1060 code = m2vd_read_bits(bx, 32); in m2vd_decode_head()
1086 mpp_log("code=%x,leftbit=%d", code, m2vd_get_leftbits(bx)); in m2vd_decode_head()
1345 BitReadCtx_t *bx = p->bitread_ctx; in m2vd_convert_to_dxva() local
1349 RK_S32 readbits = m2vd_get_readbits(bx); in m2vd_convert_to_dxva()