📄 huffman_tables.v
字号:
8'h4a: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1001_1101}; 8'h51: jpeg_ac_luminance_huffman_enc = {4'h6, 16'b0000_0000_0111_1010}; 8'h52: jpeg_ac_luminance_huffman_enc = {4'ha, 16'b0000_0111_1111_0111}; 8'h53: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1001_1110}; 8'h54: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1001_1111}; 8'h55: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0000}; 8'h56: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0001}; 8'h57: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0010}; 8'h58: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0011}; 8'h59: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0100}; 8'h5a: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0101}; 8'h61: jpeg_ac_luminance_huffman_enc = {4'h6, 16'b0000_0000_0111_1011}; 8'h62: jpeg_ac_luminance_huffman_enc = {4'hb, 16'b0000_1111_1111_0110}; 8'h63: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0110}; 8'h64: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_0111}; 8'h65: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1000}; 8'h66: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1001}; 8'h67: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1010}; 8'h68: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1011}; 8'h69: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1100}; 8'h6a: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1101}; 8'h71: jpeg_ac_luminance_huffman_enc = {4'h7, 16'b0000_0000_1111_1010}; 8'h72: jpeg_ac_luminance_huffman_enc = {4'hb, 16'b0000_1111_1111_0111}; 8'h73: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1110}; 8'h74: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1010_1111}; 8'h75: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0000}; 8'h76: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0001}; 8'h77: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0010}; 8'h78: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0011}; 8'h79: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0100}; 8'h7a: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0101}; 8'h81: jpeg_ac_luminance_huffman_enc = {4'h8, 16'b0000_0001_1111_1000}; 8'h82: jpeg_ac_luminance_huffman_enc = {4'he, 16'b0111_1111_1100_0000}; 8'h83: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0110}; 8'h84: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_0111}; 8'h85: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1000}; 8'h86: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1001}; 8'h87: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1010}; 8'h88: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1011}; 8'h89: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1100}; 8'h8a: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1101}; 8'h91: jpeg_ac_luminance_huffman_enc = {4'h8, 16'b0000_0001_1111_1001}; 8'h92: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1110}; 8'h93: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1011_1111}; 8'h94: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0000}; 8'h95: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0001}; 8'h96: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0010}; 8'h97: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0011}; 8'h98: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0100}; 8'h99: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0101}; 8'h9a: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0110}; 8'ha1: jpeg_ac_luminance_huffman_enc = {4'h8, 16'b0000_0001_1111_1010}; 8'ha2: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_0111}; 8'ha3: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1000}; 8'ha4: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1001}; 8'ha5: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1010}; 8'ha6: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1011}; 8'ha7: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1100}; 8'ha8: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1101}; 8'ha9: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1110}; 8'haa: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1100_1111}; 8'hb1: jpeg_ac_luminance_huffman_enc = {4'h9, 16'b0000_0011_1111_1001}; 8'hb2: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0000}; 8'hb3: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0001}; 8'hb4: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0010}; 8'hb5: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0011}; 8'hb6: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0100}; 8'hb7: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0101}; 8'hb8: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0110}; 8'hb9: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_0111}; 8'hba: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1000}; 8'hc1: jpeg_ac_luminance_huffman_enc = {4'h9, 16'b0000_0011_1111_1010}; 8'hc2: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1001}; 8'hc3: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1010}; 8'hc4: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1011}; 8'hc5: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1100}; 8'hc6: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1101}; 8'hc7: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1110}; 8'hc8: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1101_1111}; 8'hc9: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0000}; 8'hca: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0001}; 8'hd1: jpeg_ac_luminance_huffman_enc = {4'ha, 16'b0000_0111_1111_1000}; 8'hd2: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0010}; 8'hd3: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0011}; 8'hd4: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0100}; 8'hd5: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0101}; 8'hd6: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0110}; 8'hd7: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_0111}; 8'hd8: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1000}; 8'hd9: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1001}; 8'hda: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1010}; 8'he1: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1011}; 8'he2: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1100}; 8'he3: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1101}; 8'he4: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1110}; 8'he5: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1110_1111}; 8'he6: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0000}; 8'he7: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0001}; 8'he8: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0010}; 8'he9: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0011}; 8'hea: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0100}; 8'hf0: jpeg_ac_luminance_huffman_enc = {4'ha, 16'b0000_0111_1111_1001}; // ZRL 8'hf1: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0101}; 8'hf2: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0110}; 8'hf3: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_0111}; 8'hf4: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_1000}; 8'hf5: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_1001}; 8'hf6: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_1010}; 8'hf7: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_1011}; 8'hf8: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_1100}; 8'hf9: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_1101}; 8'hfa: jpeg_ac_luminance_huffman_enc = {4'hf, 16'b1111_1111_1111_1110}; endcaseendendfunction // jpeg_ac_luminance_huffman_enc/* J P E G _ A C _ C H R O M I N A N C E _ H U F F M A N _ E N C ITU-T.81 annex K.3.2 Table K.6 This function translates the chrominance AC (RunLength, Size) codepair into the default huffman codeword. Output is given as: codelength[3:0]-1, codeword[15:0] The codewords are right-alligned to ease bitstream generation. example: ac_luminance_run_length = 2 ac_limunance_size (category) = 5 codelength = e +1 = 15(dec) codeword = 16'b0111_1111_1100_0010 => 15'b0111_1111_1100_0010*/function [19:0] jpeg_ac_chrominance_huffman_enc; input [ 3:0] run_length; // category input [ 3:0] size;begin case( {run_length, size} ) // synopsys full_case parallel_case 8'h00: jpeg_ac_chrominance_huffman_enc = {4'h1, 16'b0000_0000_0000_0000}; // EOB 8'h01: jpeg_ac_chrominance_huffman_enc = {4'h1, 16'b0000_0000_0000_0001}; 8'h02: jpeg_ac_chrominance_huffman_enc = {4'h2, 16'b0000_0000_0000_0100}; 8'h03: jpeg_ac_chrominance_huffman_enc = {4'h3, 16'b0000_0000_0000_1010}; 8'h04: jpeg_ac_chrominance_huffman_enc = {4'h4, 16'b0000_0000_0001_1000}; 8'h05: jpeg_ac_chrominance_huffman_enc = {4'h4, 16'b0000_0000_0001_1001}; 8'h06: jpeg_ac_chrominance_huffman_enc = {4'h5, 16'b0000_0000_0011_1000}; 8'h07: jpeg_ac_chrominance_huffman_enc = {4'h6, 16'b0000_0000_0111_1000}; 8'h08: jpeg_ac_chrominance_huffman_enc = {4'h8, 16'b0000_0001_1111_0100}; 8'h09: jpeg_ac_chrominance_huffman_enc = {4'h9, 16'b0000_0011_1111_0110}; 8'h0a: jpeg_ac_chrominance_huffman_enc = {4'hb, 16'b0000_1111_1111_0100}; 8'h11: jpeg_ac_chrominance_huffman_enc = {4'h3, 16'b0000_0000_0000_1011}; 8'h12: jpeg_ac_chrominance_huffman_enc = {4'h5, 16'b0000_0000_0011_1001}; 8'h13: jpeg_ac_chrominance_huffman_enc = {4'h7, 16'b0000_0000_1111_0110}; 8'h14: jpeg_ac_chrominance_huffman_enc = {4'h8, 16'b0000_0001_1111_0101}; 8'h15: jpeg_ac_chrominance_huffman_enc = {4'ha, 16'b0000_0111_1111_0110}; 8'h16: jpeg_ac_chrominance_huffman_enc = {4'hb, 16'b0000_1111_1111_0101}; 8'h17: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1000}; 8'h18: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1001}; 8'h19: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1010}; 8'h1a: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1011}; 8'h21: jpeg_ac_chrominance_huffman_enc = {4'h4, 16'b0000_0000_0001_1010}; 8'h22: jpeg_ac_chrominance_huffman_enc = {4'h7, 16'b0000_0000_1111_0111}; 8'h23: jpeg_ac_chrominance_huffman_enc = {4'h9, 16'b0000_0011_1111_0111}; 8'h24: jpeg_ac_chrominance_huffman_enc = {4'hb, 16'b0000_1111_1111_0110}; 8'h25: jpeg_ac_chrominance_huffman_enc = {4'he, 16'b0111_1111_1100_0010}; 8'h26: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1100}; 8'h27: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1101}; 8'h28: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1110}; 8'h29: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1000_1111}; 8'h2a: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0000}; 8'h31: jpeg_ac_chrominance_huffman_enc = {4'h4, 16'b0000_0000_0001_1011}; 8'h32: jpeg_ac_chrominance_huffman_enc = {4'h7, 16'b0000_0000_1111_1000}; 8'h33: jpeg_ac_chrominance_huffman_enc = {4'h9, 16'b0000_0011_1111_1000}; 8'h34: jpeg_ac_chrominance_huffman_enc = {4'hb, 16'b0000_1111_1111_0111}; 8'h35: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0001}; 8'h36: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0010}; 8'h37: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0011}; 8'h38: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0100}; 8'h39: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0101}; 8'h3a: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0110}; 8'h41: jpeg_ac_chrominance_huffman_enc = {4'h5, 16'b0000_0000_0011_1010}; 8'h42: jpeg_ac_chrominance_huffman_enc = {4'h8, 16'b0000_0001_1111_0110}; 8'h43: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_0111}; 8'h44: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_1000}; 8'h45: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_1001}; 8'h46: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_1010}; 8'h47: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_1011}; 8'h48: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_1100}; 8'h49: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_1101}; 8'h4a: jpeg_ac_chrominance_huffman_enc = {4'hf, 16'b1111_1111_1001_1110};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -