亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? compressor.vhd

?? enkoder jpeg - very good
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
      subtype Byte is ByteT; --well, maybe I oversubtyped it, hehe      type ByteFileType is file of Byte;      file outfile : ByteFileType open write_mode is "image.jpg";      variable Pixel : Byte;   	variable bufer: LINE;      variable Header : std_logic_vector(4855 downto 0) := X"FFD8FFE000104A46494600010200000100010000FFC00011080020004003012200021101031101FFDB008400100B0C0E0C0A100E0D0E1211101318281A181616183123251D283A333D3C3933383740485C4E404457453738506D51575F626768673E4D71797064785C656763011112121815182F1A1A2F634238426363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363FFC401A20000010501010101010100000000000000000102030405060708090A0B100002010303020403050504040000017D01020300041105122131410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FA0100030101010101010101010000000000000102030405060708090A0B1100020102040403040705040400010277000102031104052131061241510761711322328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728292A35363738393A434445464748494A535455565758595A636465666768696A737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00";      --pragma translate_on   begin      if (reset = '1') then         CompressingInt <= '0';         Linea := (others => '0');         Columna := (others => '0');         Bloque := "00";         StepV <= 0;         weY2 <= '0';         weCb2 <= '0';         weCr2 <= '0';         Base := (others => '0');         BaseH := (others => '0');         BaseQ := (others => '0');                 DCTQ := (others => '0');         DIND <= (others => '0');         ND <= '0';         --Huffmanear <= '0';         PrevDC := (others => '0');         Coeficiente := 0;         HuffmanWord := (others => '0');         HuffmanWordPos := 22; --first free LSB (HuffmanWord's MSB)         Elemento := "00";         IniDC := '1';         GetPrevDC := '1';         FirstDC := '1';         Save <= '0';         addri <= "0000000000101100"; --first Table         addribk <= "0000001001011110"; --pointer to last Header byte         addrH <= (others => '0');         addrQ <= (others => '0');         addrCb2 <= (others => '0');         addrCr2 <= (others => '0');         addrY2 <= (others => '0');         din <= (others => '0');         we <= '0';         dinY2 <= (others => '0');         dinCr2 <= (others => '0');         dinCb2 <= (others => '0');         Done <= '0';         Cat := 0;         ZRL := 0;         Coef := (others => '0');         ColBk := (others => '0');         LinBk := (others => '0');         Sign := '0';         ZeroRun := 0;         Primera := '0';         LumaBlock := '0';         NDe <= '0';                    HeaderFinal := '0';         DatoHeader := 0;         VarTamImg := (others => '0');             WriteAdditionalBits <= '0';         TempCompDC := (others => '0');         WriteZRL := '0';         LastBlockDCY := (others => '0');         LastBlockDCCb := (others => '0');         LastBlockDCCr := (others => '0');                     AddVal := (others => '0');                         QDC := (others => '0');         WriteTables <= '0';         TableData <= (others => '0');         Table <= '0';             addrTablaQ <= (others => '0');         ZRLing <= '0';                RFDInt <= '0';         RFDIntData <= (others => '0');      elsif (clk = '1' and clk'event) then         if CompressImage = '1' then            FirstDC := '1';            IniDC := '1';            HeaderFinal := '0';            GetPrevDC := '1';            PrevDC := (others => '0'); --initialized to zero at the beginning of the image            HuffmanWord := (others => '0');            HuffmanWordPos := 22;            Save <= '0';            DatoHeader := 0;            WriteAdditionalBits <= '0';            HeaderFinal := '0';            WriteTables <= '1';            TableData <= (others => '0');            Table <= '0';            addribk <= "0000001001011110"; --pointer to the Header's last byte            addri <= "0000000000101100"; --first Table            case Compression is               when "00" => --low quality                  BaseQ := "100000000";               when "01" => --medium quality                  BaseQ := "010000000";               when others => --10 high quality                  BaseQ := "000000000";            end case;            addrTablaQ <= BaseQ; --ready first data            CompressingInt <= '0';            Bloque := "00";            StepV <= 0;            weY2 <= '0';            weCb2 <= '0';            weCr2 <= '0';            Base := (others => '0');            BaseH := (others => '0');            ND <= '0';            Coeficiente := 0;            we <= '0';            Done <= '0';                        ZRLing <= '0';            RFDInt <= '0';            RFDIntData <= (others => '0');            --pragma translate_off               Columna := ('0' & ImgLines) + 1;                                 for i in 606 downto 563 loop                  case i is                     when (606-25) => --MSByte of size Y                        Pixel := ByteT'val(conv_integer("0000000" & Columna(8)));                     when (606-26) => --LSByte of size Y                        Pixel := ByteT'val(conv_integer(Columna(7 downto 0)));                        Columna := ImgColumns + 1;                     when (606-27) => --MSByte of size X                        Pixel := ByteT'val(conv_integer("000000" & Columna(9 downto 8)));                     when (606-28) => --LSByte of size X                        Pixel := ByteT'val(conv_integer(Columna(7 downto 0)));                     when others =>                        Pixel := ByteT'val(conv_integer(Header(8*i+7 downto 8*i)));                  end case;                        write(outfile, Pixel);               end loop;                        --pragma translate_on                     end if;         we <= '0'; --after the ones that rise it         if WriteTables = '1' then --write in memory the quantization tables for the selected compression level            if Table = '0' then --the start of Table Q of value "00h" is in position 2Bh (43=101011)               addri <= "0000000000101100" + ('0' & TableData);            else--the start of Table Q of value "01h" is in position 6Ch (108=1101100)                addri <= "0000000001101101" + ('0' & TableData);            end if;               din <= doutTablaQ;            addrTablaQ <= addrTablaQ + 1;                        if addrTablaQ /= BaseQ then --first coefficient, not written because we'll have it also in next cycle               --until second coefficient is loaded               we <= '1';               TableData <= TableData + 1;               --pragma translate_off               Pixel := ByteT'val(conv_integer(doutTablaQ));               write(outfile, Pixel);               --pragma translate_on                        end if;                        if TableData = "111111" then               if Table = '1' then --we are over                  --pragma translate_off                  for i in 433 downto 0 loop                     Pixel := ByteT'val(conv_integer(Header(8*i+7 downto 8*i)));                     write(outfile, Pixel);                  end loop;                              --pragma translate_on                                    WriteTables <= '0';                  addrTablaQ <= (others => '0'); --so that it doesn't stay in a non-existent address               else                     Table <= '1';                                   --pragma translate_off                  Pixel := ByteT'val(1); --points to the start of Table 01                  write(outfile, Pixel);                  --pragma translate_on                                             end if;               end if;            end if;                     if (MakeDCT = '1' or CompressingInt = '1') then --MakeDCT lasts only one cycle, but CompressingInt is high the following ones            if MakeDCT = '1' then               HeaderFinal := '0';               --write the image size, now that we know it, in the header as at the least we must do               --4 DCTs in an image, there won't be any problem if image size writing is done in four steps               --or if it is repeated throughout the image's processing               case DatoHeader is                  when 0 => --MSByte of ImgLines+1                     addri <= "0000000000011001"; --position 0 of the two bytes of size Y (lines)                     we <= '1';                     VarTamImg := ("00" & ImgLines) + 1;                     din <= "000000" & VarTamImg(9 downto 8);                     DatoHeader := 1;                  when 1 => --LSByte of ImgLines+1                     addri <= "0000000000011010";                      we <= '1';                     din <= VarTamImg(7 downto 0);                     DatoHeader := 2;                  when 2 => --MSByte of ImgColumns+1                     addri <= "0000000000011011"; --position 0 of the two bytes of size X (columns)                     we <= '1';                     VarTamImg := ('0' & ImgColumns) + 1;                     din <= "00000" & VarTamImg(10 downto 8);                     DatoHeader := 3;                  when 3 => --LSByte of ImgColumns+1                     addri <= "0000000000011100";                      we <= '1';                     din <= VarTamImg(7 downto 0);                     DatoHeader := 4;                  when 4 to 7 => --it's been already written, don't do anything(we put 8 DatoHeader because in the last                     --block when we pass to the next image, ImgLines is zero and it is wrongly written)                     we <= '0';                     if DatoHeader = 7 then                        DatoHeader := 0;                     else                        DatoHeader := DatoHeader + 1;                     end if;                  end case;               CompressingInt <= '1';               if ColumnToCompress = "0000000000" then --we've changed line, careful                  --because we have to process the last block of the previous line                  Linea := (not LineToCompress(3)) & "000";                  Columna := ImgColumns(9 downto 3) & "000";               else                  Linea := LineToCompress(3) & "000";                  Columna := (ColumnToCompress(9 downto 3) - 1) & "000";               end if;               Bloque := ColumnToCompress(1 downto 0);               StepV <= 0;               weY2 <= '0';               weCb2 <= '0';               weCr2 <= '0';               Coeficiente := 0;               Save <= '0';               IniDC := '1';                          GetPrevDC := '1';               WriteAdditionalBits <= '0';            else                        we <= '0';            LumaBlock := Bloque(1) nor Bloque(0); --it is 1 if we are dealing with luminance component            --It is necessary that Base be here so that it changes when Bloque changes in the "if" of Done in the last image's block            if Bloque = "00" then --Q Coefficients of Table 0 (luminance)               BaseH := (others => '0'); --address 0 of Huffman Luminance Table               case Compression is                  when "00" => --Low Quality                     Base := "100000000";                  when "01" => --Medium Quality                     Base := "010000000";                  when others => --10 High Quality                     Base := "000000000";               end case;            else --Q Coefficients of Table 1 (chroma)               BaseH := "010110000"; --address 0 of Huffman Chrominance Table               case Compression is                  when "00" => --Low Quality                     Base := "101000000";                  when "01" => --Medium Quality                     Base := "011000000";                  when others => --10 High Quality                     Base := "001000000";               end case;                           end if;                           case StepV is               when 0 => --with the first data to let addrXX2 load and have the data in memory                  weY2 <= '0';                  weCb2 <= '0';                  weCr2 <= '0';                  if CompressingInt = '1' and Done = '0' then --Done=0 cause in case it is a Y block (but not the fourth (the last)) coming from StepV=3

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产·精品毛片| 久久精品一区二区| 色婷婷精品久久二区二区蜜臀av| 激情丁香综合五月| 日本91福利区| 日本欧美一区二区| 麻豆一区二区三| 蜜桃一区二区三区四区| 午夜天堂影视香蕉久久| 中文字幕不卡在线| 国产欧美日韩激情| 久久久国产午夜精品| 久久久久久久一区| 成人免费小视频| 中文字幕精品在线不卡| 日本一区二区三区免费乱视频| 国产午夜精品在线观看| 国产欧美精品一区二区三区四区 | 久久久久久久久伊人| 欧美大尺度电影在线| 欧美一级精品大片| 日韩欧美第一区| 国产天堂亚洲国产碰碰| 中文无字幕一区二区三区| 国产欧美日韩在线看| 久久久综合精品| 中国色在线观看另类| 中文在线一区二区 | 亚洲日本免费电影| 日日夜夜免费精品视频| 日韩高清在线一区| 狠狠色丁香久久婷婷综合丁香| 国产成人h网站| 日本韩国一区二区三区| 欧美性生活大片视频| 在线不卡一区二区| 久久久久97国产精华液好用吗| 久久精品免费在线观看| 国产精品女主播在线观看| 亚洲欧美视频在线观看| 婷婷久久综合九色综合伊人色| 日韩精品一二三| 国产精品自拍一区| 在线观看亚洲a| 日韩亚洲欧美中文三级| 国产亚洲欧美日韩俺去了| 久久精品人人做人人综合 | 午夜精品影院在线观看| 免费高清在线一区| 懂色一区二区三区免费观看| 在线一区二区观看| 欧美va在线播放| 中文字幕日韩一区| 亚洲国产视频直播| 午夜精品久久久久| 成人午夜av在线| 欧美日韩一区二区电影| 精品乱码亚洲一区二区不卡| 一区二区三区欧美日韩| 蜜桃传媒麻豆第一区在线观看| 成熟亚洲日本毛茸茸凸凹| 国产福利精品一区| 欧美一区三区四区| 国产日产亚洲精品系列| 亚洲午夜激情av| 9i在线看片成人免费| 日韩一区二区三区四区五区六区| 国产精品嫩草影院com| 亚洲大尺度视频在线观看| 成人午夜大片免费观看| 69堂精品视频| 亚洲视频免费看| 国产一区在线观看视频| 精品视频一区二区三区免费| 久久综合九色综合97婷婷女人 | 日韩欧美国产不卡| 亚洲国产欧美在线人成| 国产福利一区二区三区视频| 6080午夜不卡| 91麻豆高清视频| 欧美激情一区二区三区在线| 美女一区二区三区在线观看| 色成年激情久久综合| 中文字幕第一区第二区| 奇米777欧美一区二区| 91国产视频在线观看| 精品国产人成亚洲区| 日韩国产精品久久| 欧洲精品中文字幕| 国产精品美女视频| 丁香婷婷综合五月| 精品国产一区二区三区不卡 | 国产精品系列在线播放| 日韩一卡二卡三卡国产欧美| 亚洲成av人综合在线观看| 成人av网在线| 久久精品亚洲精品国产欧美| 天堂一区二区在线| 欧美猛男男办公室激情| 亚洲精品视频在线观看网站| 国产成人精品三级| 欧美激情一区二区三区蜜桃视频| 国产一区二区三区四区五区美女 | 亚洲免费观看在线观看| 懂色一区二区三区免费观看| 久久久久久亚洲综合影院红桃| 激情图区综合网| 欧美变态凌虐bdsm| 久久精品二区亚洲w码| 欧美一级高清大全免费观看| 午夜精品一区在线观看| 欧美日韩视频第一区| 亚洲图片一区二区| 成av人片一区二区| 亚洲另类春色校园小说| 91一区二区在线观看| 综合自拍亚洲综合图不卡区| 在线免费一区三区| 亚洲一线二线三线久久久| 一本一道波多野结衣一区二区| 久久久综合网站| 91色|porny| 亚洲一级二级在线| 色悠悠久久综合| 日本不卡不码高清免费观看| 日韩精品一区二区三区视频播放 | 91免费观看视频在线| 亚洲三级在线播放| 91九色最新地址| 亚洲综合色噜噜狠狠| 欧美另类变人与禽xxxxx| 国模套图日韩精品一区二区 | 国产人伦精品一区二区| 国产99久久久国产精品| 精品国产精品网麻豆系列| 久久69国产一区二区蜜臀| 久久免费精品国产久精品久久久久 | 成人中文字幕电影| 亚洲女性喷水在线观看一区| 欧美日韩成人综合天天影院 | 91精品国产色综合久久| 国产精品亚洲一区二区三区妖精 | 亚洲午夜影视影院在线观看| 26uuu另类欧美亚洲曰本| 色综合天天综合网天天看片| 丝袜美腿高跟呻吟高潮一区| 中文无字幕一区二区三区| 欧美丰满嫩嫩电影| 成人午夜精品在线| 日本不卡视频在线| 亚洲日本电影在线| 日韩免费看网站| 色婷婷综合久久久久中文一区二区| 久久国产精品无码网站| 综合色天天鬼久久鬼色| 精品日韩在线观看| 91精品福利在线| 国产黄人亚洲片| 丝袜美腿亚洲一区| 亚洲日韩欧美一区二区在线| 精品毛片乱码1区2区3区| 欧美性做爰猛烈叫床潮| 国产成人综合亚洲91猫咪| 五月天精品一区二区三区| 国产精品激情偷乱一区二区∴| 日韩美女天天操| 欧美片网站yy| 色综合色狠狠天天综合色| 国产麻豆91精品| 免费成人在线网站| 午夜久久久久久久久| 亚洲欧美日本在线| 久久日韩精品一区二区五区| 欧美精品一级二级| 91免费看片在线观看| 成人午夜私人影院| 国产综合久久久久久鬼色| 天天操天天干天天综合网| 亚洲日本乱码在线观看| 国产精品三级av| 精品日产卡一卡二卡麻豆| 91精品国产丝袜白色高跟鞋| 在线亚洲免费视频| av激情亚洲男人天堂| 国产91对白在线观看九色| 精品一区二区三区av| 日韩二区在线观看| 亚洲va韩国va欧美va| 亚洲夂夂婷婷色拍ww47 | 成人激情视频网站| 裸体健美xxxx欧美裸体表演| 婷婷久久综合九色国产成人| 一二三四社区欧美黄| 亚洲日本乱码在线观看| 日韩一区有码在线| 国产精品麻豆久久久| 中文字幕一区在线观看视频| 亚洲国产精品高清| 国产欧美日韩精品一区| 亚洲国产高清在线|