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

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

?? compressor.vhd

?? a jpeg compression core
?? VHD
?? 第 1 頁 / 共 5 頁
字號:
------------------------------------------------------------------------------------------------------- Title       : JPEG Hardware Compressor-- Design      : jpeg-- Author      : Victor Lopez Lorenzo-- E-mail      : victor.lopez ((at)) ono ((dot)) com---- License     : Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported--                http://creativecommons.org/licenses/by-nc-sa/3.0/-----------------------------------------------------------------------------------------------------------    Copyright (C) 2004  Victor Lopez Lorenzo------    PLEASE NOTICE THAT THIS CORE IS LICENSED UNDER http://creativecommons.org/licenses/by-nc-sa/3.0/--    (Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported).--    That means you may use it only for NON-COMMERCIAL purposes.-----------------------------------------------------------------------------------------------------------	Contributors :--		Peter Eisemann   -  Fixed GetCategory, writes and file declarations in order to--						simulate code under ModelSim--                                                                                                 ---------------------------------------------------------------------------------------------------------    --    IMPORTANT NOTES :----    This source code features a compliant JPEG compressor Baseline DCT with--    Huffman enconding and 2x2 1x1 1x1 subsampling. The header is the widely--    employed JFIF.----    Baseline DCT JPEG with JFIF header is one of the most used image formats.----    The maximum image size is limited to 352x288----    Another limitation is that the input image must have width and height--    multiple of 16 (that is, an image 32x32 will produce a strictly compliant--    JPEG image file, but not a 32x24 or a 24x32 input image, although the resulting--    image will more likely still be viewable), this is due to the subsampling--    method employed.----    I apologize if you find this code somewhat messy. When I programmed it I imposed--    myself very strict deadlines and making it opensource was not in my mind, mainly--    because, if I were to do it again, I would do it in other way to get much--    more performance. The main problem faced with this implementation was a very--	scarce availability of BlockRAM in the target FPGA, so some areas that could--	perfectly run in parallel, speeding a lot the whole process, had to be made--	sequential in order to save up BlockRAMs. Anyways, this code works--	(it functioned as a webcam, attached to a CMOS sensor) and, though not--	as fast as it could be, it has a good performance.--    --    As a part of this project there is a quite useful Testbench that takes as input--    any BMP (24 bit color) image and compresses it with this code, outputting a JPG--    file that you can view in your computer.-----------------------------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.numeric_std.all;use IEEE.std_logic_unsigned.all; --for arithmetic ops--pragma translate_offlibrary STD;use STD.textio.all;use IEEE.std_logic_textio.all;library XilinxCoreLib;--pragma translate_onlibrary UNISIM; use UNISIM.all; entity Compressor is port ( 	      clk : in STD_LOGIC;	      reset : in STD_LOGIC;         --Control/Status Interface         CompressImage : in std_logic; --must be active high for just one cycle         Compression : in std_logic_vector(1 downto 0); --Quality: 00 = low, 01 = medium, 10 = high         Mono : in std_logic; --active high for grey-scale input image (Red=Green=Blue)         ImgColumns : in std_logic_vector(9 downto 0); --columns in each line of the image to compress         ImgLines : in std_logic_vector(8 downto 0); --lines of the image to compress         Compressing : out std_logic;                  --Data Interface         ProcessRGB : in std_logic;         ProcessingRGB : out std_logic;         Red : in std_logic_vector(7 downto 0);         Green : in std_logic_vector(7 downto 0);         Blue : in std_logic_vector(7 downto 0);                  --JPEG Image BlockRAM (Output) Interface         addr: out std_logic_VECTOR(15 downto 0);         din: out std_logic_VECTOR(7 downto 0);         we: out std_logic);end Compressor;architecture JPG of Compressor is--pragma translate_offfile Debug:   TEXT open WRITE_MODE is "Debug.txt";file DebugY:  TEXT open WRITE_MODE is "DebugY.txt";file DebugCb: TEXT open WRITE_MODE is "DebugCb.txt";file DebugCr: TEXT open WRITE_MODE is "DebugCr.txt";--   file Debug:TEXT is out "Debug.txt";--   file DebugY:TEXT is out "DebugY.txt";--	file DebugCb:TEXT is out "DebugCb.txt";--   file DebugCr:TEXT is out "DebugCr.txt";	constant espacio:string:=" ";   constant espacios:string:="  ";   constant puntoycoma:string:=";";	constant strElemento:string:=" Element: ";   constant strColumna:string:=" Column: ";   constant strLinea:string:=" Line: ";--pragma translate_on   component dct2d port (   	ND: IN std_logic;   	RDY: OUT std_logic;   	RFD: OUT std_logic;   	CLK: IN std_logic;   	DIN: IN std_logic_VECTOR(7 downto 0);   	DOUT: OUT std_logic_VECTOR(18 downto 0));   end component;   component buffer_comp port (   	addr: IN std_logic_VECTOR(12 downto 0);   	clk: IN std_logic;   	din: IN std_logic_VECTOR(11 downto 0);   	dout: OUT std_logic_VECTOR(11 downto 0);   	we: IN std_logic);   end component;      component buffer_comp_chrom port (   	addr: IN std_logic_VECTOR(10 downto 0);   	clk: IN std_logic;   	din: IN std_logic_VECTOR(11 downto 0);   	dout: OUT std_logic_VECTOR(11 downto 0);   	we: IN std_logic);   end component;      component q_rom port (   	addr: IN std_logic_VECTOR(8 downto 0);   	clk: IN std_logic;   	dout: OUT std_logic_VECTOR(12 downto 0));   end component;      component huff_rom port (	   addr: IN std_logic_VECTOR(8 downto 0);	   clk: IN std_logic;	   dout: OUT std_logic_VECTOR(19 downto 0));   end component;   component tabla_q   	port (   	addr: IN std_logic_VECTOR(8 downto 0);   	clk: IN std_logic;   	dout: OUT std_logic_VECTOR(7 downto 0));   end component;      --signals for tabla_q   signal addrTablaQ: std_logic_VECTOR(8 downto 0);  	signal doutTablaQ: std_logic_VECTOR(7 downto 0);      --signal for huff_rom   signal addrH : std_logic_vector(8 downto 0);   signal doutH : std_logic_vector(19 downto 0);      --signals for DCT block	signal ND: std_logic;	signal RDY: std_logic;	signal RFD: std_logic;	signal DIND: std_logic_VECTOR(7 downto 0);	signal DOUTD: std_logic_VECTOR(18 downto 0);      --signals for compression buffer   signal addrY: std_logic_VECTOR(12 downto 0);	signal dinY: std_logic_VECTOR(11 downto 0);	signal doutY: std_logic_VECTOR(11 downto 0);	signal weY: std_logic;   signal addrCb: std_logic_VECTOR(10 downto 0);	signal dinCb: std_logic_VECTOR(11 downto 0);	signal doutCb: std_logic_VECTOR(11 downto 0);	signal weCb: std_logic;   signal addrCr: std_logic_VECTOR(10 downto 0);	signal dinCr: std_logic_VECTOR(11 downto 0);	signal doutCr: std_logic_VECTOR(11 downto 0);	signal weCr: std_logic;                            signal addrY1: std_logic_VECTOR(12 downto 0);   signal addrCb1: std_logic_VECTOR(10 downto 0);      signal addrCr1: std_logic_VECTOR(10 downto 0);      signal addrY2: std_logic_VECTOR(12 downto 0);      signal addrCb2: std_logic_VECTOR(10 downto 0);      signal addrCr2: std_logic_VECTOR(10 downto 0);   	signal dinY1: std_logic_VECTOR(11 downto 0);   signal dinY2: std_logic_VECTOR(11 downto 0);   signal dinCb1: std_logic_VECTOR(11 downto 0);   signal dinCb2: std_logic_VECTOR(11 downto 0);   signal dinCr1: std_logic_VECTOR(11 downto 0);   signal dinCr2: std_logic_VECTOR(11 downto 0);   signal weY1: std_logic;   signal weY2: std_logic;	signal weCb1: std_logic;   signal weCb2: std_logic;	signal weCr1: std_logic;   signal weCr2: std_logic;      --signals for the quantization coefficients ROM   signal addrQ : std_logic_vector(8 downto 0);   signal doutQ : std_logic_vector(12 downto 0);         signal addri : std_logic_vector(15 downto 0); --to write directly to the port (headers and JPEG size) and read from it   signal addribk : std_logic_vector(15 downto 0); --exclusive when signal Save='1', it holds the current pixel   constant MaxImageSize : std_logic_vector(15 downto 0) :="1100011111111100"; --51196 bytes      signal ColumnToCompress : std_logic_vector(9 downto 0);   signal LineToCompress : std_logic_vector(3 downto 0); --goes from 0 to 15, the 16 that may occupy the luminance buffer   signal LineAbsToCompress: std_logic_vector(8 downto 0);   signal MakeDCT : std_logic;   signal CompressingInt : std_logic;      signal Done : std_logic; --the Huffman encoding part rises it for one cycle when finishes   signal StepV : integer range 0 to 5;   signal Save : std_logic;   signal NDe : std_logic;                      signal WriteAdditionalBits : std_logic;      signal WriteTables : std_logic;   signal TableData : std_logic_vector(5 downto 0);   signal Table : std_logic;      signal ZRLing : std_logic;   signal RFDInt : std_logic;   signal RFDIntData : std_logic_vector(7 downto 0);         function Multiplier (Num, Prod : in std_logic_vector) return std_logic_vector;   	function Multiplier (Num, Prod : in std_logic_vector) return std_logic_vector is		variable result : std_logic_vector(19 downto 0) := (others => '0');	begin --8 bits * 10 bits both unsigned = 18 bits      result := ('0' & Num(7 downto 0)) * ('0' & Prod);		return result(17 downto 0);	end Multiplier;   function MultiplierQ (Num, Prod : in std_logic_vector) return std_logic_vector;   	function MultiplierQ (Num, Prod : in std_logic_vector) return std_logic_vector is      variable result : std_logic_vector(26 downto 0);      variable UNum : std_logic_vector(11 downto 0);	begin --it is like Multiplier but admits bigger operands: Num (10..0) (signed) and Prod (10..0) (unsigned)      --max result = 1000_0000_0000 * 111_1111_1111 = 1(sign)11_1111_1111_1000_0000_0000 (-2.048 * 2.047 = -4.192.256)      --UPDATE: now Prod may be of up to 13 bits (12..0), so the result will be 24..0      if Num(Num'High) = '1' then --negative number?         UNum := not (Num) + 1; --two's complement to make it positive      else         UNum := Num;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产久精国产| 日韩欧美专区在线| 国产精品的网站| 成人黄色av电影| 亚洲日本乱码在线观看| 91电影在线观看| 天天综合天天综合色| 在线电影一区二区三区| 日本sm残虐另类| 久久久久高清精品| av电影天堂一区二区在线| 亚洲精品第一国产综合野| 欧美精品久久天天躁| 毛片av一区二区| 欧美国产一区视频在线观看| 色系网站成人免费| 日韩精品一级中文字幕精品视频免费观看| 欧美精品日韩一本| 国产白丝网站精品污在线入口 | 91精品国产综合久久国产大片 | 国产成人在线免费观看| 国产精品动漫网站| 欧美日韩国产综合一区二区| 精品一区二区三区在线观看| 国产精品视频九色porn| 欧美日韩亚洲高清一区二区| 老司机精品视频线观看86| 国产日韩欧美精品电影三级在线| 91久久奴性调教| 另类小说一区二区三区| 中文字幕在线一区免费| 日韩一区二区在线免费观看| 丁香啪啪综合成人亚洲小说 | 欧美精品乱码久久久久久| 国产成人三级在线观看| 亚洲综合图片区| 久久综合色之久久综合| 91福利社在线观看| 国产aⅴ综合色| 免费人成黄页网站在线一区二区 | 伊人婷婷欧美激情| 久久久久国产精品麻豆ai换脸| 91福利视频网站| 国产高清在线观看免费不卡| 天天综合色天天| 国产精品视频看| 欧美tickle裸体挠脚心vk| 91国在线观看| 99久久精品一区| 韩国午夜理伦三级不卡影院| 亚洲一区在线视频观看| 中文字幕中文在线不卡住| 久久先锋影音av鲁色资源网| 欧美精品日韩一本| 在线观看国产一区二区| 成人av在线看| 韩国三级在线一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 一区二区三区在线免费观看| 久久久欧美精品sm网站| 欧美精品乱人伦久久久久久| 欧美影片第一页| 91玉足脚交白嫩脚丫在线播放| 国产成人免费网站| 国产盗摄一区二区三区| 国产乱淫av一区二区三区| 精品影院一区二区久久久| 日本成人在线看| 五月婷婷久久综合| 视频一区中文字幕国产| 亚洲成人你懂的| 午夜一区二区三区在线观看| 亚洲影院在线观看| 亚洲一区二三区| 亚洲午夜精品久久久久久久久| 亚洲日本中文字幕区| ...av二区三区久久精品| 国产精品丝袜久久久久久app| 国产欧美一区二区三区网站| 久久久久国产免费免费 | 欧美日韩一区二区在线观看| 日本一道高清亚洲日美韩| 污片在线观看一区二区| 一区二区三区日韩精品视频| 国产精品久久久久久福利一牛影视| 精品国产伦一区二区三区免费| 欧美夫妻性生活| 777欧美精品| 99久久精品久久久久久清纯| 91无套直看片红桃| 91亚洲精品久久久蜜桃| 成人午夜碰碰视频| 99视频精品在线| 一本到一区二区三区| 91蜜桃视频在线| av成人老司机| 国产99精品国产| 成人av一区二区三区| av中文字幕亚洲| 91国内精品野花午夜精品| 欧美久久一二区| 日韩精品一区二区在线| 欧美成va人片在线观看| 国产日韩精品一区二区浪潮av| 久久精品在这里| 国产精品天天看| 中文字幕亚洲在| 日韩精品色哟哟| 国产一区二区h| 波多野结衣的一区二区三区| 96av麻豆蜜桃一区二区| 在线精品视频一区二区三四| 欧美日韩国产另类一区| 5566中文字幕一区二区电影 | 日韩欧美国产1| 国产午夜亚洲精品不卡| 日韩毛片一二三区| 五月天丁香久久| 国产一区二区导航在线播放| 色婷婷久久一区二区三区麻豆| 欧美伊人久久久久久久久影院 | 色域天天综合网| 7777精品伊人久久久大香线蕉的| 精品国产欧美一区二区| 中文字幕亚洲成人| 亚洲一区在线观看网站| 国产成+人+日韩+欧美+亚洲| 91国产福利在线| 久久这里只有精品视频网| 亚洲午夜视频在线观看| 韩国女主播成人在线观看| 99国内精品久久| 欧美日韩精品一区视频| 国产视频一区二区在线观看| 最新热久久免费视频| 亚洲狠狠丁香婷婷综合久久久| 久久精品国产999大香线蕉| 成人亚洲精品久久久久软件| 欧美日韩情趣电影| 国产欧美日本一区二区三区| 亚洲一区二区av在线| 亚洲大片免费看| 成人综合日日夜夜| 欧美日韩久久久久久| 久久久亚洲高清| 日本欧美肥老太交大片| 91免费精品国自产拍在线不卡| 欧美一区二区三区不卡| 国产日韩精品一区二区三区 | 色悠悠久久综合| 国产女同互慰高潮91漫画| 亚洲一区二区精品视频| 色综合天天综合网天天狠天天| 国产欧美日韩精品在线| 久久国产婷婷国产香蕉| 欧美日韩在线直播| 中文字幕一区二区三区四区| 日本vs亚洲vs韩国一区三区二区| 欧美三区免费完整视频在线观看| 国产精品美女久久久久久久| 久久国产生活片100| 欧美日韩国产片| 亚洲伊人色欲综合网| 91国模大尺度私拍在线视频| 欧美激情中文不卡| 国产精品一区二区久久精品爱涩| 日韩一级精品视频在线观看| 亚洲成人一二三| 欧洲av在线精品| 午夜免费久久看| 欧洲一区在线电影| 一区二区三区日本| 91在线视频官网| 国产精品伦理一区二区| 成人免费观看男女羞羞视频| 国产亚洲欧美日韩俺去了| 激情成人综合网| 欧美日韩一区二区三区免费看| 中文字幕 久热精品 视频在线| 国产一区二三区| 久久久美女毛片| 国产寡妇亲子伦一区二区| 国产欧美日韩视频在线观看| 成人免费不卡视频| 国产精品久久久久久久久久久免费看| 成人听书哪个软件好| 中文字幕一区二区三区乱码在线| 成人av在线观| 偷拍一区二区三区四区| 678五月天丁香亚洲综合网| 日产精品久久久久久久性色 | 欧美精品v日韩精品v韩国精品v| 亚洲一区视频在线| 色中色一区二区| 亚欧色一区w666天堂| 91精品国产丝袜白色高跟鞋| 青青青爽久久午夜综合久久午夜| 欧美成人精品1314www| 床上的激情91.| 亚洲精品国产视频|