📄 bitstream_controller.v
字号:
.i_run(i_run), .i_TotalCoeff(i_TotalCoeff), .suffix_length_initialized(suffix_length_initialized), .IsRunLoop(IsRunLoop) ); pc_decoding pc_decoding ( .clk(clk), .reset_n(reset_n), .parser_state(parser_state), .nal_unit_state(nal_unit_state), .slice_header_state(slice_header_state), .ref_pic_list_reordering_state(ref_pic_list_reordering_state), .dec_ref_pic_marking_state(dec_ref_pic_marking_state), .slice_data_state(slice_data_state), .sub_mb_pred_state(sub_mb_pred_state), .mb_pred_state(mb_pred_state), .seq_parameter_set_state(seq_parameter_set_state), .pic_parameter_set_state(pic_parameter_set_state), .exp_golomb_len(exp_golomb_len), .dependent_variable_len(dependent_variable_len), .cavlc_consumed_bits_len(cavlc_consumed_bits_len), .pc(pc) ); heading_one_detector heading_one_detector ( .heading_one_en(heading_one_en), .BitStream_buffer_output(BitStream_buffer_output), .heading_one_pos(heading_one_pos) ); exp_golomb_decoding exp_golomb_decoding ( .reset_n(reset_n), .heading_one_pos(heading_one_pos), .BitStream_buffer_output(BitStream_buffer_output), .num_ref_idx_l0_active_minus1(num_ref_idx_l0_active_minus1), .exp_golomb_decoding_output(exp_golomb_decoding_output), .exp_golomb_len(exp_golomb_len), .slice_header_state(slice_header_state), .slice_data_state(slice_data_state), .mb_pred_state(mb_pred_state), .sub_mb_pred_state(sub_mb_pred_state), .seq_parameter_set_state(seq_parameter_set_state), .pic_parameter_set_state(pic_parameter_set_state) ); dependent_variable_decoding dependent_variable_decoding ( .slice_header_state(slice_header_state), .log2_max_frame_num_minus4(log2_max_frame_num_minus4), .log2_max_pic_order_cnt_lsb_minus4(log2_max_pic_order_cnt_lsb_minus4), .BitStream_buffer_output(BitStream_buffer_output), .dependent_variable_len(dependent_variable_len), .dependent_variable_decoding_output(dependent_variable_decoding_output) ); QP_decoding QP_decoding ( .clk(clk), .reset_n(reset_n), .slice_header_state(slice_header_state), .slice_data_state(slice_data_state), .pic_init_qp_minus26(pic_init_qp_minus26), .exp_golomb_decoding_output_5to0(exp_golomb_decoding_output[5:0]), .chroma_qp_index_offset(chroma_qp_index_offset), .QPy(QPy), .QPc(QPc) ); CodedBlockPattern_decoding CodedBlockPattern_decoding ( .clk(clk), .reset_n(reset_n), .slice_data_state(slice_data_state), .slice_type(slice_type), .mb_type(mb_type), .mb_type_general(mb_type_general), .exp_golomb_decoding_output_5to0(exp_golomb_decoding_output[5:0]), .CodedBlockPatternLuma(CodedBlockPatternLuma), .CodedBlockPatternChroma(CodedBlockPatternChroma) ); Intra4x4_PredMode_decoding Intra4x4_PredMode_decoding ( .clk(clk), .reset_n(reset_n), .mb_pred_state(mb_pred_state), .luma4x4BlkIdx(luma4x4BlkIdx), .mb_num_h(mb_num_h), .mb_num_v(mb_num_v), .MBTypeGen_mbAddrA(MBTypeGen_mbAddrA), .MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg), .constrained_intra_pred_flag(constrained_intra_pred_flag), .rem_intra4x4_pred_mode(rem_intra4x4_pred_mode), .prev_intra4x4_pred_mode_flag(prev_intra4x4_pred_mode_flag), .Intra4x4PredMode_mbAddrB_dout(Intra4x4PredMode_mbAddrB_dout), //pic_num can be wired out for debug purpose //.pic_num(pic_num), .Intra4x4PredMode_CurrMb(Intra4x4_predmode_CurrMb), .Intra4x4PredMode_mbAddrB_cs_n(Intra4x4PredMode_mbAddrB_cs_n), .Intra4x4PredMode_mbAddrB_wr_n(Intra4x4PredMode_mbAddrB_wr_n), .Intra4x4PredMode_mbAddrB_rd_addr(Intra4x4PredMode_mbAddrB_rd_addr), .Intra4x4PredMode_mbAddrB_wr_addr(Intra4x4PredMode_mbAddrB_wr_addr), .Intra4x4PredMode_mbAddrB_din(Intra4x4PredMode_mbAddrB_din) ); ram_async_1r_sync_1w # (`Intra4x4_PredMode_RF_data_width,`Intra4x4_PredMode_RF_data_depth) Intra4x4_PredMode_RF ( .clk(gclk_Intra4x4PredMode_mbAddrB_RF), .rst_n(reset_n), .cs_n(Intra4x4PredMode_mbAddrB_cs_n), .wr_n(Intra4x4PredMode_mbAddrB_wr_n), .rd_addr(Intra4x4PredMode_mbAddrB_rd_addr), .wr_addr(Intra4x4PredMode_mbAddrB_wr_addr), .data_in(Intra4x4PredMode_mbAddrB_din), .data_out(Intra4x4PredMode_mbAddrB_dout) ); Inter_mv_decoding Inter_mv_decoding ( .clk(clk), .reset_n(reset_n), .Is_skip_run_entry(Is_skip_run_entry), .Is_skip_run_end(Is_skip_run_end), .slice_data_state(slice_data_state), .mb_pred_state(mb_pred_state), .sub_mb_pred_state(sub_mb_pred_state), .mvd(mvd), .mb_num(mb_num), .mb_num_h(mb_num_h), .mb_num_v(mb_num_v), .mb_type_general(mb_type_general), .sub_mb_type(sub_mb_type), .end_of_MB_DEC(end_of_MB_DEC), .mbPartIdx(mbPartIdx), .subMbPartIdx(subMbPartIdx), .compIdx(compIdx), .MBTypeGen_mbAddrA(MBTypeGen_mbAddrA), .MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg), .MBTypeGen_mbAddrD(MBTypeGen_mbAddrD), .mvx_mbAddrB_dout(mvx_mbAddrB_dout), .mvy_mbAddrB_dout(mvy_mbAddrB_dout), .mvx_mbAddrC_dout(mvx_mbAddrC_dout), .mvy_mbAddrC_dout(mvy_mbAddrC_dout), .mv_mbAddrB_rd_for_DF(mv_mbAddrB_rd_for_DF), .skip_mv_calc(skip_mv_calc), .Is_skipMB_mv_calc(Is_skipMB_mv_calc), .mvx_mbAddrA(mvx_mbAddrA), .mvy_mbAddrA(mvy_mbAddrA), .mvx_mbAddrB_cs_n(mvx_mbAddrB_cs_n), .mvx_mbAddrB_wr_n(mvx_mbAddrB_wr_n), .mvx_mbAddrB_rd_addr(mvx_mbAddrB_rd_addr), .mvx_mbAddrB_wr_addr(mvx_mbAddrB_wr_addr), .mvx_mbAddrB_din(mvx_mbAddrB_din), .mvy_mbAddrB_cs_n(mvy_mbAddrB_cs_n), .mvy_mbAddrB_wr_n(mvy_mbAddrB_wr_n), .mvy_mbAddrB_rd_addr(mvy_mbAddrB_rd_addr), .mvy_mbAddrB_wr_addr(mvy_mbAddrB_wr_addr), .mvy_mbAddrB_din(mvy_mbAddrB_din), .mvx_mbAddrC_cs_n(mvx_mbAddrC_cs_n), .mvx_mbAddrC_wr_n(mvx_mbAddrC_wr_n), .mvx_mbAddrC_rd_addr(mvx_mbAddrC_rd_addr), .mvx_mbAddrC_wr_addr(mvx_mbAddrC_wr_addr), .mvx_mbAddrC_din(mvx_mbAddrC_din), .mvy_mbAddrC_cs_n(mvy_mbAddrC_cs_n), .mvy_mbAddrC_wr_n(mvy_mbAddrC_wr_n), .mvy_mbAddrC_rd_addr(mvy_mbAddrC_rd_addr), .mvy_mbAddrC_wr_addr(mvy_mbAddrC_wr_addr), .mvy_mbAddrC_din(mvy_mbAddrC_din), .mv_is16x16(mv_is16x16), .mvx_CurrMb0(mvx_CurrMb0), .mvx_CurrMb1(mvx_CurrMb1), .mvx_CurrMb2(mvx_CurrMb2), .mvx_CurrMb3(mvx_CurrMb3), .mvy_CurrMb0(mvy_CurrMb0), .mvy_CurrMb1(mvy_CurrMb1), .mvy_CurrMb2(mvy_CurrMb2), .mvy_CurrMb3(mvy_CurrMb3) ); ram_async_1r_sync_1w # (`mvx_mbAddrB_RF_data_width,`mvx_mbAddrB_RF_data_depth) mvx_mbAddrB_RF ( .clk(gclk_mvx_mbAddrB_RF), .rst_n(reset_n), .cs_n(mvx_mbAddrB_cs_n), .wr_n(mvx_mbAddrB_wr_n), .rd_addr(mvx_mbAddrB_rd_addr), .wr_addr(mvx_mbAddrB_wr_addr), .data_in(mvx_mbAddrB_din), .data_out(mvx_mbAddrB_dout) ); ram_async_1r_sync_1w # (`mvy_mbAddrB_RF_data_width,`mvy_mbAddrB_RF_data_depth) mvy_mbAddrB_RF ( .clk(gclk_mvy_mbAddrB_RF), .rst_n(reset_n), .cs_n(mvy_mbAddrB_cs_n), .wr_n(mvy_mbAddrB_wr_n), .rd_addr(mvy_mbAddrB_rd_addr), .wr_addr(mvy_mbAddrB_wr_addr), .data_in(mvy_mbAddrB_din), .data_out(mvy_mbAddrB_dout) ); ram_async_1r_sync_1w # (`mvx_mbAddrC_RF_data_width,`mvx_mbAddrC_RF_data_depth) mvx_mbAddrC_RF ( .clk(gclk_mvx_mbAddrC_RF), .rst_n(reset_n), .cs_n(mvx_mbAddrC_cs_n), .wr_n(mvx_mbAddrC_wr_n), .rd_addr(mvx_mbAddrC_rd_addr), .wr_addr(mvx_mbAddrC_wr_addr), .data_in(mvx_mbAddrC_din), .data_out(mvx_mbAddrC_dout) ); ram_async_1r_sync_1w # (`mvy_mbAddrC_RF_data_width,`mvy_mbAddrC_RF_data_depth) mvy_mbAddrC_RF ( .clk(gclk_mvy_mbAddrC_RF), .rst_n(reset_n), .cs_n(mvy_mbAddrC_cs_n), .wr_n(mvy_mbAddrC_wr_n), .rd_addr(mvy_mbAddrC_rd_addr), .wr_addr(mvy_mbAddrC_wr_addr), .data_in(mvy_mbAddrC_din), .data_out(mvy_mbAddrC_dout) ); syntax_decoding syntax_decoding ( .clk(clk), .reset_n(reset_n), .mb_num_h(mb_num_h), .mb_num_v(mb_num_v), .end_of_MB_DEC(end_of_MB_DEC), .pin_disable_DF(pin_disable_DF), .parser_state(parser_state), .nal_unit_state(nal_unit_state), .seq_parameter_set_state(seq_parameter_set_state), .pic_parameter_set_state(pic_parameter_set_state), .slice_header_state(slice_header_state), .slice_data_state(slice_data_state), .mb_pred_state(mb_pred_state), .sub_mb_pred_state(sub_mb_pred_state), .exp_golomb_decoding_output(exp_golomb_decoding_output), .BitStream_buffer_output(BitStream_buffer_output), .dependent_variable_decoding_output(dependent_variable_decoding_output), .mbPartIdx(mbPartIdx), .nal_unit_type(nal_unit_type), .start_code_prefix_found(start_code_prefix_found), .deblocking_filter_control_present_flag(deblocking_filter_control_present_flag), .disable_deblocking_filter_idc(disable_deblocking_filter_idc), .disable_DF(disable_DF), .slice_alpha_c0_offset_div2(slice_alpha_c0_offset_div2), .slice_beta_offset_div2(slice_beta_offset_div2), .mb_skip_run(mb_skip_run), .NumMbPart(NumMbPart), .NumSubMbPart(NumSubMbPart), .MBTypeGen_mbAddrA(MBTypeGen_mbAddrA), .MBTypeGen_mbAddrD(MBTypeGen_mbAddrD), .MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg), .log2_max_frame_num_minus4(log2_max_frame_num_minus4), .log2_max_pic_order_cnt_lsb_minus4(log2_max_pic_order_cnt_lsb_minus4), .constrained_intra_pred_flag(constrained_intra_pred_flag), .num_ref_idx_active_override_flag(num_ref_idx_active_override_flag), .num_ref_idx_l0_active_minus1(num_ref_idx_l0_active_minus1), .slice_type(slice_type), .mb_type(mb_type), .mb_type_general(mb_type_general), .Intra16x16_predmode(Intra16x16_predmode), .intra_chroma_pred_mode(Intra_chroma_predmode), .sub_mb_type(sub_mb_type), .pic_init_qp_minus26(pic_init_qp_minus26), .chroma_qp_index_offset(chroma_qp_index_offset), .rem_intra4x4_pred_mode(rem_intra4x4_pred_mode), .prev_intra4x4_pred_mode_flag(prev_intra4x4_pred_mode_flag), .mvd(mvd), .mv_below8x8(mv_below8x8) ); cavlc_decoder cavlc_decoder( .clk(clk), .reset_n(reset_n), .gclk_end_of_MB_DEC(gclk_end_of_MB_DEC), .gclk_LumaLevel_mbAddrB_RF(gclk_LumaLevel_mbAddrB_RF), .gclk_ChromaLevel_Cb_mbAddrB_RF(gclk_ChromaLevel_Cb_mbAddrB_RF), .gclk_ChromaLevel_Cr_mbAddrB_RF(gclk_ChromaLevel_Cr_mbAddrB_RF), .slice_data_state(slice_data_state), .residual_state(residual_state), .cavlc_decoder_state(cavlc_decoder_state), .mb_num_h(mb_num_h), .mb_num_v(mb_num_v), .i8x8(i8x8), .i4x4(i4x4), .i4x4_CbCr(i4x4_CbCr), .i_level(i_level), .i_run(i_run), .i_TotalCoeff(i_TotalCoeff), .coeffNum(coeffNum), .heading_one_pos(heading_one_pos), .BitStream_buffer_output(BitStream_buffer_output), .CodedBlockPatternLuma(CodedBlockPatternLuma), .CodedBlockPatternChroma(CodedBlockPatternChroma), .suffix_length_initialized(suffix_length_initialized), .IsRunLoop(IsRunLoop), .Luma_8x8_AllZeroCoeff_mbAddrA(Luma_8x8_AllZeroCoeff_mbAddrA), .LumaLevel_mbAddrA(LumaLevel_mbAddrA), .LumaLevel_CurrMb0(LumaLevel_CurrMb0), .LumaLevel_CurrMb1(LumaLevel_CurrMb1), .LumaLevel_CurrMb2(LumaLevel_CurrMb2), .LumaLevel_CurrMb3(LumaLevel_CurrMb3), .LumaLevel_mbAddrB_dout(LumaLevel_mbAddrB_dout), .LumaLevel_mbAddrB_cs_n(LumaLevel_mbAddrB_cs_n), .ChromaLevel_Cb_mbAddrB_cs_n(ChromaLevel_Cb_mbAddrB_cs_n), .ChromaLevel_Cr_mbAddrB_cs_n(ChromaLevel_Cr_mbAddrB_cs_n), .end_of_one_residual_block(end_of_one_residual_block), .end_of_NonZeroCoeff_CAVLC(end_of_NonZeroCoeff_CAVLC), .cavlc_consumed_bits_len(cavlc_consumed_bits_len), .TotalCoeff(TotalCoeff), .TrailingOnes(TrailingOnes), .maxNumCoeff(maxNumCoeff), .zerosLeft(zerosLeft), .run(run), .coeffLevel_0(coeffLevel_0), .coeffLevel_1(coeffLevel_1), .coeffLevel_2(coeffLevel_2), .coeffLevel_3(coeffLevel_3), .coeffLevel_4(coeffLevel_4), .coeffLevel_5(coeffLevel_5), .coeffLevel_6(coeffLevel_6), .coeffLevel_7(coeffLevel_7), .coeffLevel_8(coeffLevel_8), .coeffLevel_9(coeffLevel_9), .coeffLevel_10(coeffLevel_10), .coeffLevel_11(coeffLevel_11), .coeffLevel_12(coeffLevel_12), .coeffLevel_13(coeffLevel_13), .coeffLevel_14(coeffLevel_14), .coeffLevel_15(coeffLevel_15) ); bs_decoding bs_decoding ( .clk(clk), .reset_n(reset_n), .gclk_end_of_MB_DEC(gclk_end_of_MB_DEC), .gclk_bs_dec(gclk_bs_dec), .end_of_MB_DEC(end_of_MB_DEC), .end_of_one_blk4x4_sum(end_of_one_blk4x4_sum), .mb_num_h(mb_num_h), .mb_num_v(mb_num_v), .disable_DF(disable_DF), .blk4x4_rec_counter(blk4x4_rec_counter), .CodedBlockPatternLuma(CodedBlockPatternLuma), .mb_type_general(mb_type_general), .slice_data_state(slice_data_state), .residual_state(residual_state), .MBTypeGen_mbAddrA(MBTypeGen_mbAddrA), .MBTypeGen_mbAddrB_reg(MBTypeGen_mbAddrB_reg), .end_of_one_residual_block(end_of_one_residual_block), .TotalCoeff(TotalCoeff), .curr_DC_IsZero(curr_DC_IsZero), .Is_skipMB_mv_calc(Is_skipMB_mv_calc), .mvx_mbAddrA(mvx_mbAddrA), .mvy_mbAddrA(mvy_mbAddrA), .mvx_mbAddrB_dout(mvx_mbAddrB_dout), .mvy_mbAddrB_dout(mvy_mbAddrB_dout), .mvx_CurrMb0(mvx_CurrMb0), .mvx_CurrMb1(mvx_CurrMb1), .mvx_CurrMb2(mvx_CurrMb2), .mvx_CurrMb3(mvx_CurrMb3), .mvy_CurrMb0(mvy_CurrMb0), .mvy_CurrMb1(mvy_CurrMb1), .mvy_CurrMb2(mvy_CurrMb2), .mvy_CurrMb3(mvy_CurrMb3), .bs_dec_counter(bs_dec_counter), .end_of_BS_DEC(end_of_BS_DEC), .mv_mbAddrB_rd_for_DF(mv_mbAddrB_rd_for_DF), .bs_V0(bs_V0), .bs_V1(bs_V1), .bs_V2(bs_V2), .bs_V3(bs_V3), .bs_H0(bs_H0), .bs_H1(bs_H1), .bs_H2(bs_H2), .bs_H3(bs_H3) );endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -