📄 huffman_en_full.vhd
字号:
WHEN "000000011010" => --26
vlcode_ac1 <= "00000000000010101" & rl_in(11);
codelength_ac1 <= "01111";
WHEN "000000011011" => --27
vlcode_ac1 <= "00000000000010100" & rl_in(11);
codelength_ac1 <= "01111";
WHEN "000000011100" => --28
vlcode_ac1 <= "00000000000010011" & rl_in(11);
codelength_ac1 <= "01111";
WHEN "000000011101" => --29
vlcode_ac1 <= "00000000000010010" & rl_in(11);
codelength_ac1 <= "01111";
WHEN "000000011110" => --30
vlcode_ac1 <= "00000000000010001" & rl_in(11);
codelength_ac1 <= "01111";
WHEN "000000011111" => --31
vlcode_ac1 <= "00000000000010000" & rl_in(11);
codelength_ac1 <= "01111";
WHEN "000000100000" => --32
vlcode_ac1 <= "00000000000011000" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000100001" => --33
vlcode_ac1 <= "00000000000010111" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000100010" => --34
vlcode_ac1 <= "00000000000010110" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000100011" => --35
vlcode_ac1 <= "00000000000010101" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000100100" => --36
vlcode_ac1 <= "00000000000010100" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000100101" => --37
vlcode_ac1 <= "00000000000010011" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000100110" => --38
vlcode_ac1 <= "00000000000010010" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000100111" => --39
vlcode_ac1 <= "00000000000010001" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000101000" => --40
vlcode_ac1 <= "00000000000010000" & rl_in(11);
codelength_ac1 <= "10000";
WHEN OTHERS => NULL;
END CASE;
WHEN 'X' & "000001" & "XXXXXXXXXXX" => -- run = 1
CASE temp5 IS --(level)
WHEN "000000000110" => --6
vlcode_ac1 <= "00000000000010110" & rl_in(11);
codelength_ac1 <= "01110";
WHEN "000000000111" => --7
vlcode_ac1 <= "00000000000010101" & rl_in(11);
codelength_ac1 <= "01110";
WHEN "000000001000" => --8
vlcode_ac1 <= "00000000000011111" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000001001" => --9
vlcode_ac1 <= "00000000000011110" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000001010" => --10
vlcode_ac1 <= "00000000000011101" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000001011" => --11
vlcode_ac1 <= "00000000000011100" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000001100" => --12
vlcode_ac1 <= "00000000000011011" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000001101" => --13
vlcode_ac1 <= "00000000000011010" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000001110" => --14
vlcode_ac1 <= "00000000000011001" & rl_in(11);
codelength_ac1 <= "10000";
WHEN "000000001111" => --15
vlcode_ac1 <= "00000000000010011" & rl_in(11);
codelength_ac1 <= "10001";
WHEN "000000010000" => --16
vlcode_ac1 <= "00000000000010010" & rl_in(11);
codelength_ac1 <= "10001";
WHEN "000000010001" => --17
vlcode_ac1 <= "00000000000010001" & rl_in(11);
codelength_ac1 <= "10001";
WHEN "000000010010" => --18
vlcode_ac1 <= "00000000000010000" & rl_in(11);
codelength_ac1 <= "10001";
WHEN OTHERS => NULL;
END CASE;
WHEN 'X' & "000010" & "00000000101" => -- scan type = x, run = 2, level = 5
vlcode_ac1 <= "00000000000010100" & rl_in(11);
codelength_ac1 <= "01110";
WHEN 'X' & "000011" & "00000000011" => -- scan type = x, run = 3, level = 4
vlcode_ac1 <= "00000000000010011" & rl_in(11);
codelength_ac1 <= "01110";
WHEN '0' & "XXXXXX" & "00000000001" => -- scan type = 0, run = x, level = 1
CASE rl_in(17 DOWNTO 12) IS --(run)
WHEN "000001" => --1
vlcode_ac1 <= "00000000000000011" & rl_in(11);
codelength_ac1 <= "00100";
WHEN "000010" => --2
vlcode_ac1 <= "00000000000000101" & rl_in(11);
codelength_ac1 <= "00101";
WHEN "000011" => --3
vlcode_ac1 <= "00000000000000111" & rl_in(11);
codelength_ac1 <= "00110";
WHEN "000100" => --4
vlcode_ac1 <= "00000000000000110" & rl_in(11);
codelength_ac1 <= "00110";
WHEN "000101" => --5
vlcode_ac1 <= "00000000000000111" & rl_in(11);
codelength_ac1 <= "00111";
WHEN "000110" => --6
vlcode_ac1 <= "00000000000000101" & rl_in(11);
codelength_ac1 <= "00111";
WHEN "000111" => --7
vlcode_ac1 <= "00000000000000100" & rl_in(11);
codelength_ac1 <= "00111";
WHEN "001000" => --8
vlcode_ac1 <= "00000000000000111" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "001001" => --9
vlcode_ac1 <= "00000000000000101" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "001010" => --10
vlcode_ac1 <= "00000000000100111" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "001011" => --11
vlcode_ac1 <= "00000000000100011" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "001100" => --12
vlcode_ac1 <= "00000000000100010" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "001101" => --13
vlcode_ac1 <= "00000000000100000" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "001110" => --14
vlcode_ac1 <= "00000000000001110" & rl_in(11);
codelength_ac1 <= "01011";
WHEN "001111" => --15
vlcode_ac1 <= "00000000000001101" & rl_in(11);
codelength_ac1 <= "01011";
WHEN "010000" => --16
vlcode_ac1 <= "00000000000001000" & rl_in(11);
codelength_ac1 <= "01011";
WHEN OTHERS => NULL;
END CASE;
WHEN '1' & "XXXXXX" & "00000000001" => -- scan type = 1, run = x, level = 1
CASE rl_in(17 DOWNTO 12) IS --(run)
WHEN "000001" => --1
vlcode_ac1 <= "00000000000000010" & rl_in(11);
codelength_ac1 <= "00100";
WHEN "000010" => --2
vlcode_ac1 <= "00000000000000101" & rl_in(11);
codelength_ac1 <= "00110";
WHEN "000011" => --3
vlcode_ac1 <= "00000000000000111" & rl_in(11);
codelength_ac1 <= "00110";
WHEN "000100" => --4
vlcode_ac1 <= "00000000000000110" & rl_in(11);
codelength_ac1 <= "00111";
WHEN "000101" => --5
vlcode_ac1 <= "00000000000000111" & rl_in(11);
codelength_ac1 <= "00111";
WHEN "000110" => --6
vlcode_ac1 <= "00000000000000110" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "000111" => --7
vlcode_ac1 <= "00000000000000100" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "001000" => --8
vlcode_ac1 <= "00000000000000101" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "001001" => --9
vlcode_ac1 <= "00000000001111000" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "001010" => --10
vlcode_ac1 <= "00000000001111010" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "001011" => --11
vlcode_ac1 <= "00000000000100001" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "001100" => --12
vlcode_ac1 <= "00000000000100101" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "001101" => --13
vlcode_ac1 <= "00000000000100100" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "001110" => --14
vlcode_ac1 <= "00000000000000101" & rl_in(11);
codelength_ac1 <= "01010";
WHEN "001111" => --15
vlcode_ac1 <= "00000000000000111" & rl_in(11);
codelength_ac1 <= "01010";
WHEN "010000" => --16
vlcode_ac1 <= "00000000000001101" & rl_in(11);
codelength_ac1 <= "01011";
WHEN OTHERS => NULL;
END CASE;
WHEN '0' & "000000" & "XXXXXXXXXXX" => -- scan type = 0, run = 0, level = x
CASE temp6 IS --(level)
WHEN "000000000010" => --2
vlcode_ac1 <= "00000000000000100" & rl_in(11);
codelength_ac1 <= "00101";
WHEN "000000000011" => --3
vlcode_ac1 <= "00000000000000101" & rl_in(11);
codelength_ac1 <= "00110";
WHEN "000000000100" => --4
vlcode_ac1 <= "00000000000000110" & rl_in(11);
codelength_ac1 <= "01000";
WHEN "000000000101" => --5
vlcode_ac1 <= "00000000000100110" & rl_in(11);
codelength_ac1 <= "01001";
WHEN "000000000110" => --6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -