⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inter_pred_sliding_window.v

📁 a H.264/AVC Baseline Decoder
💻 V
📖 第 1 页 / 共 5 页
字号:
									Inter_pix_copy2 <= 0;	Inter_pix_copy3 <= 0;end			  	endcase 				4'b0010:				case (blk4x4_inter_calculate_counter)					4'd4:begin	Inter_pix_copy0 <= Inter_ref_02_06;	Inter_pix_copy1 <= Inter_ref_02_07;								Inter_pix_copy2 <= Inter_ref_02_08;	Inter_pix_copy3 <= Inter_ref_02_09;end					4'd3:begin	Inter_pix_copy0 <= Inter_ref_03_06;	Inter_pix_copy1 <= Inter_ref_03_07;								Inter_pix_copy2 <= Inter_ref_03_08;	Inter_pix_copy3 <= Inter_ref_03_09;end					4'd2:begin	Inter_pix_copy0 <= Inter_ref_04_06;	Inter_pix_copy1 <= Inter_ref_04_07;								Inter_pix_copy2 <= Inter_ref_04_08;	Inter_pix_copy3 <= Inter_ref_04_09;end					4'd1:begin	Inter_pix_copy0 <= Inter_ref_05_06;	Inter_pix_copy1 <= Inter_ref_05_07;								Inter_pix_copy2 <= Inter_ref_05_08;	Inter_pix_copy3 <= Inter_ref_05_09;end					default:begin	Inter_pix_copy0 <= 0;	Inter_pix_copy1 <= 0;									Inter_pix_copy2 <= 0;	Inter_pix_copy3 <= 0;end			  	endcase				4'b0001:				case (blk4x4_inter_calculate_counter)					4'd4:begin	Inter_pix_copy0 <= Inter_ref_06_06;	Inter_pix_copy1 <= Inter_ref_06_07;								Inter_pix_copy2 <= Inter_ref_06_08;	Inter_pix_copy3 <= Inter_ref_06_09;end					4'd3:begin	Inter_pix_copy0 <= Inter_ref_07_06;	Inter_pix_copy1 <= Inter_ref_07_07;								Inter_pix_copy2 <= Inter_ref_07_08;	Inter_pix_copy3 <= Inter_ref_07_09;end					4'd2:begin	Inter_pix_copy0 <= Inter_ref_08_06;	Inter_pix_copy1 <= Inter_ref_08_07;								Inter_pix_copy2 <= Inter_ref_08_08;	Inter_pix_copy3 <= Inter_ref_08_09;end					4'd1:begin	Inter_pix_copy0 <= Inter_ref_09_06;	Inter_pix_copy1 <= Inter_ref_09_07;								Inter_pix_copy2 <= Inter_ref_09_08;	Inter_pix_copy3 <= Inter_ref_09_09;end					default:begin	Inter_pix_copy0 <= 0;	Inter_pix_copy1 <= 0;									Inter_pix_copy2 <= 0;	Inter_pix_copy3 <= 0;end			  	endcase				default:begin	Inter_pix_copy0 <= 0;	Inter_pix_copy1 <= 0;								Inter_pix_copy2 <= 0;	Inter_pix_copy3 <= 0;end			endcase		else if (Is_InterChromaCopy)			case (mv_below8x8_curr)				1'b1://only one cycle				begin					Inter_pix_copy0 <= (blk4x4_inter_calculate_counter != 0)? Inter_ref_00_00:0;					Inter_pix_copy1 <= (blk4x4_inter_calculate_counter != 0)? Inter_ref_01_00:0;					Inter_pix_copy2 <= (blk4x4_inter_calculate_counter != 0)? Inter_ref_00_01:0;					Inter_pix_copy3 <= (blk4x4_inter_calculate_counter != 0)? Inter_ref_01_01:0;				end				1'b0://4 cycles,each cycle for one blk2x2 in blk2x2-zig-zag order					case (blk4x4_inter_calculate_counter)						4'd4:						begin 							Inter_pix_copy0 <= Inter_ref_00_00;	Inter_pix_copy1 <= Inter_ref_01_00;							Inter_pix_copy2 <= Inter_ref_00_01; Inter_pix_copy3 <= Inter_ref_01_01;						end						4'd3:						begin							Inter_pix_copy0 <= Inter_ref_02_00; Inter_pix_copy1 <= Inter_ref_03_00;							Inter_pix_copy2 <= Inter_ref_02_01; Inter_pix_copy3 <= Inter_ref_03_01;						end						4'd2:						begin							Inter_pix_copy0 <= Inter_ref_00_02; Inter_pix_copy1 <= Inter_ref_01_02;							Inter_pix_copy2 <= Inter_ref_00_03; Inter_pix_copy3 <= Inter_ref_01_03;						end						4'd1:						begin							Inter_pix_copy0 <= Inter_ref_02_02; Inter_pix_copy1 <= Inter_ref_03_02;							Inter_pix_copy2 <= Inter_ref_02_03; Inter_pix_copy3 <= Inter_ref_03_03;						end						default:						begin							Inter_pix_copy0 <= 0; Inter_pix_copy1 <= 0;	Inter_pix_copy2 <= 0;	Inter_pix_copy3 <= 0;						end					endcase			endcase		else			begin					Inter_pix_copy0 <= 0; Inter_pix_copy1 <= 0; Inter_pix_copy2 <= 0; Inter_pix_copy3 <= 0; 			end		//Horizontal sliding windows:Inter_H_window_0_0 ~ Inter_H_window_5_8 (6x9 windows)	//							 Inter_H_window_x_0,Inter_H_window_x_1,Inter_H_window_x_6,Inter_H_window_x_7,Inter_H_window_x_8	//							 are only used for pos_j/pos_i/pos_k/pos_f/pos_q	//Vertical   sliding window:Inter_V_window_0 ~ Inter_V_window_8	//Chroma     sliding window:Inter_C_window_0 ~ Inter_C_window_3		//By careful study,we find that pos_b calculate cycle4 needs the same window as pos_a calculate cycl5.	//Similar cases happens with pos_b and pos_a/pos_c,pos_h and pos_d/pos_n, pos_j and pos_f/pos_q/pos_i/pos_k......		//Inter_H_window_counter0:for Inter_H_window_x_0/1/6/7/8 sliding window control	reg [2:0] Inter_H_window_counter0;	always @ (pos_FracL or blk4x4_inter_calculate_counter)		if  ((pos_FracL == `pos_j && blk4x4_inter_calculate_counter == 4'd5) 						||			((pos_FracL == `pos_f || pos_FracL == `pos_q) && blk4x4_inter_calculate_counter == 4'd5)	||			((pos_FracL == `pos_i || pos_FracL == `pos_k) && blk4x4_inter_calculate_counter == 4'd8))			Inter_H_window_counter0 <= 3'd4;		else if ((pos_FracL == `pos_j && blk4x4_inter_calculate_counter == 4'd4) 						||				((pos_FracL == `pos_f || pos_FracL == `pos_q) && blk4x4_inter_calculate_counter == 4'd4)	||				((pos_FracL == `pos_i || pos_FracL == `pos_k) && blk4x4_inter_calculate_counter == 4'd6))			Inter_H_window_counter0 <= 3'd3;		else if ((pos_FracL == `pos_j && blk4x4_inter_calculate_counter == 4'd3) 						||				((pos_FracL == `pos_f || pos_FracL == `pos_q) && blk4x4_inter_calculate_counter == 4'd3)	||				((pos_FracL == `pos_i || pos_FracL == `pos_k) && blk4x4_inter_calculate_counter == 4'd4))			Inter_H_window_counter0 <= 3'd2;		else if ((pos_FracL == `pos_j && blk4x4_inter_calculate_counter == 4'd2) 						||				((pos_FracL == `pos_f || pos_FracL == `pos_q) && blk4x4_inter_calculate_counter == 4'd2)	||				((pos_FracL == `pos_i || pos_FracL == `pos_k) && blk4x4_inter_calculate_counter == 4'd2))			Inter_H_window_counter0 <= 3'd1;		else			Inter_H_window_counter0 <= 0;					//Inter_H_window_x_0,Inter_H_window_x_1	//Inter_H_window_x_6,Inter_H_window_x_7,Inter_H_window_x_8	//Active only for pos j,i/k/f/q	always @ (Is_blk4x4_0 or Is_blk4x4_1 or Is_blk4x4_2 or Is_blk4x4_3 or Inter_H_window_counter0				or Inter_ref_00_00 or Inter_ref_01_00 or Inter_ref_02_00 or Inter_ref_03_00		or Inter_ref_04_00 or Inter_ref_05_00 or Inter_ref_06_00 or Inter_ref_07_00		or Inter_ref_08_00 or Inter_ref_09_00 or Inter_ref_10_00 or Inter_ref_11_00 or Inter_ref_12_00				or Inter_ref_00_01 or Inter_ref_01_01 or Inter_ref_02_01 or Inter_ref_03_01		or Inter_ref_04_01 or Inter_ref_05_01 or Inter_ref_06_01 or Inter_ref_07_01		or Inter_ref_08_01 or Inter_ref_09_01 or Inter_ref_10_01 or Inter_ref_11_01 or Inter_ref_12_01				or Inter_ref_00_06 or Inter_ref_01_06 or Inter_ref_02_06 or Inter_ref_03_06		or Inter_ref_04_06 or Inter_ref_05_06 or Inter_ref_06_06 or Inter_ref_07_06		or Inter_ref_08_06 or Inter_ref_09_06 or Inter_ref_10_06 or Inter_ref_11_06 or Inter_ref_12_06				or Inter_ref_00_07 or Inter_ref_01_07 or Inter_ref_02_07 or Inter_ref_03_07		or Inter_ref_04_07 or Inter_ref_05_07 or Inter_ref_06_07 or Inter_ref_07_07		or Inter_ref_08_07 or Inter_ref_09_07 or Inter_ref_10_07 or Inter_ref_11_07 or Inter_ref_12_07				or Inter_ref_00_08 or Inter_ref_01_08 or Inter_ref_02_08 or Inter_ref_03_08		or Inter_ref_04_08 or Inter_ref_05_08 or Inter_ref_06_08 or Inter_ref_07_08		or Inter_ref_08_08 or Inter_ref_09_08 or Inter_ref_10_08 or Inter_ref_11_08 or Inter_ref_12_08 				or Inter_ref_00_04 or Inter_ref_01_04 or Inter_ref_02_04 or Inter_ref_03_04		or Inter_ref_04_04 or Inter_ref_05_04 or Inter_ref_06_04 or Inter_ref_07_04		or Inter_ref_08_04 or Inter_ref_09_04 or Inter_ref_10_04 or Inter_ref_11_04 or Inter_ref_12_04				or Inter_ref_00_05 or Inter_ref_01_05 or Inter_ref_02_05 or Inter_ref_03_05		or Inter_ref_04_05 or Inter_ref_05_05 or Inter_ref_06_05 or Inter_ref_07_05		or Inter_ref_08_05 or Inter_ref_09_05 or Inter_ref_10_05 or Inter_ref_11_05 or Inter_ref_12_05				or Inter_ref_00_10 or Inter_ref_01_10 or Inter_ref_02_10 or Inter_ref_03_10		or Inter_ref_04_10 or Inter_ref_05_10 or Inter_ref_06_10 or Inter_ref_07_10		or Inter_ref_08_10 or Inter_ref_09_10 or Inter_ref_10_10 or Inter_ref_11_10 or Inter_ref_12_10 				or Inter_ref_00_11 or Inter_ref_01_11 or Inter_ref_02_11 or Inter_ref_03_11		or Inter_ref_04_11 or Inter_ref_05_11 or Inter_ref_06_11 or Inter_ref_07_11		or Inter_ref_08_11 or Inter_ref_09_11 or Inter_ref_10_11 or Inter_ref_11_11 or Inter_ref_12_11				or Inter_ref_00_12 or Inter_ref_01_12 or Inter_ref_02_12 or Inter_ref_03_12		or Inter_ref_04_12 or Inter_ref_05_12 or Inter_ref_06_12 or Inter_ref_07_12		or Inter_ref_08_12 or Inter_ref_09_12 or Inter_ref_10_12 or Inter_ref_11_12 or Inter_ref_12_12 		)		case ({Is_blk4x4_0,Is_blk4x4_1,Is_blk4x4_2,Is_blk4x4_3}) 			4'b1000: //Left top blk4x4			case (Inter_H_window_counter0)				3'd4:				begin 						Inter_H_window_0_0 <= Inter_ref_00_00;Inter_H_window_1_0 <= Inter_ref_01_00;					Inter_H_window_2_0 <= Inter_ref_02_00;Inter_H_window_3_0 <= Inter_ref_03_00;					Inter_H_window_4_0 <= Inter_ref_04_00;Inter_H_window_5_0 <= Inter_ref_05_00;											Inter_H_window_0_1 <= Inter_ref_00_01;Inter_H_window_1_1 <= Inter_ref_01_01; 					Inter_H_window_2_1 <= Inter_ref_02_01;Inter_H_window_3_1 <= Inter_ref_03_01;					Inter_H_window_4_1 <= Inter_ref_04_01;Inter_H_window_5_1 <= Inter_ref_05_01;										Inter_H_window_0_6 <= Inter_ref_00_06;Inter_H_window_1_6 <= Inter_ref_01_06; 					Inter_H_window_2_6 <= Inter_ref_02_06;Inter_H_window_3_6 <= Inter_ref_03_06;					Inter_H_window_4_6 <= Inter_ref_04_06;Inter_H_window_5_6 <= Inter_ref_05_06;												Inter_H_window_0_7 <= Inter_ref_00_07;Inter_H_window_1_7 <= Inter_ref_01_07; 					Inter_H_window_2_7 <= Inter_ref_02_07;Inter_H_window_3_7 <= Inter_ref_03_07;					Inter_H_window_4_7 <= Inter_ref_04_07;Inter_H_window_5_7 <= Inter_ref_05_07;												Inter_H_window_0_8 <= Inter_ref_00_08;Inter_H_window_1_8 <= Inter_ref_01_08; 					Inter_H_window_2_8 <= Inter_ref_02_08;Inter_H_window_3_8 <= Inter_ref_03_08;					Inter_H_window_4_8 <= Inter_ref_04_08;Inter_H_window_5_8 <= Inter_ref_05_08;				end				3'd3:				begin 						Inter_H_window_0_0 <= Inter_ref_01_00;Inter_H_window_1_0 <= Inter_ref_02_00;					Inter_H_window_2_0 <= Inter_ref_03_00;Inter_H_window_3_0 <= Inter_ref_04_00;					Inter_H_window_4_0 <= Inter_ref_05_00;Inter_H_window_5_0 <= Inter_ref_06_00;												Inter_H_window_0_1 <= Inter_ref_01_01;Inter_H_window_1_1 <= Inter_ref_02_01; 					Inter_H_window_2_1 <= Inter_ref_03_01;Inter_H_window_3_1 <= Inter_ref_04_01;					Inter_H_window_4_1 <= Inter_ref_05_01;Inter_H_window_5_1 <= Inter_ref_06_01;											Inter_H_window_0_6 <= Inter_ref_01_06;Inter_H_window_1_6 <= Inter_ref_02_06; 					Inter_H_window_2_6 <= Inter_ref_03_06;Inter_H_window_3_6 <= Inter_ref_04_06;					Inter_H_window_4_6 <= Inter_ref_05_06;Inter_H_window_5_6 <= Inter_ref_06_06;												Inter_H_window_0_7 <= Inter_ref_01_07;Inter_H_window_1_7 <= Inter_ref_02_07; 					Inter_H_window_2_7 <= Inter_ref_03_07;Inter_H_window_3_7 <= Inter_ref_04_07;					Inter_H_window_4_7 <= Inter_ref_05_07;Inter_H_window_5_7 <= Inter_ref_06_07;												Inter_H_window_0_8 <= Inter_ref_01_08;Inter_H_window_1_8 <= Inter_ref_02_08; 					Inter_H_window_2_8 <= Inter_ref_03_08;Inter_H_window_3_8 <= Inter_ref_04_08;					Inter_H_window_4_8 <= Inter_ref_05_08;Inter_H_window_5_8 <= Inter_ref_06_08;				end				3'd2:				begin 						Inter_H_window_0_0 <= Inter_ref_02_00;Inter_H_window_1_0 <= Inter_ref_03_00;					Inter_H_window_2_0 <= Inter_ref_04_00;Inter_H_window_3_0 <= Inter_ref_05_00;					Inter_H_window_4_0 <= Inter_ref_06_00;Inter_H_window_5_0 <= Inter_ref_07_00;											Inter_H_window_0_1 <= Inter_ref_02_01;Inter_H_window_1_1 <= Inter_ref_03_01; 					Inter_H_window_2_1 <= Inter_ref_04_01;Inter_H_window_3_1 <= Inter_ref_05_01;					Inter_H_window_4_1 <= Inter_ref_06_01;Inter_H_window_5_1 <= Inter_ref_07_01;											Inter_H_window_0_6 <= Inter_ref_02_06;Inter_H_window_1_6 <= Inter_ref_03_06; 					Inter_H_window_2_6 <= Inter_ref_04_06;Inter_H_window_3_6 <= Inter_ref_05_06;					Inter_H_window_4_6 <= Inter_ref_06_06;Inter_H_window_5_6 <= Inter_ref_07_06;												Inter_H_window_0_7 <= Inter_ref_02_07;Inter_H_window_1_7 <= Inter_ref_03_07; 					Inter_H_window_2_7 <= Inter_ref_04_07;Inter_H_window_3_7 <= Inter_ref_05_07;					Inter_H_window_4_7 <= Inter_ref_06_07;Inter_H_window_5_7 <= Inter_ref_07_07;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -