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

📄 ccfactors_pkg.vhd

📁 此代码实现不同图像颜色制式之间的相互转换
💻 VHD
📖 第 1 页 / 共 2 页
字号:
	constant ycbcr709_crgb_b2x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"110000000000000000"; -- -128	constant ycbcr709_crgb_b3x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"110000000000000000"; -- -128	constant ycbcr709_crgb_b1y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; -- 0	constant ycbcr709_crgb_b2y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; -- 0	constant ycbcr709_crgb_b3y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; -- 0   -----------------------------------------------------------------------------------				-- Matrix factors for the Studio RGB to Rec.709 (HD) YCbCr color convertion 	-----------------------------------------------------------------------------------	constant srgb2ycbcr709_a11 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000001101100110111"; --  0.212602	constant srgb2ycbcr709_a12 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000101101110001100"; --  0.715199	constant srgb2ycbcr709_a13 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000100100111110"; --  0.072199 	constant srgb2ycbcr709_a21 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111111000100000000"; -- -0.117188	constant srgb2ycbcr709_a22 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111100110110001010"; -- -0.394227	constant srgb2ycbcr709_a23 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100000101110110"; --  0.511414	constant srgb2ycbcr709_a31 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100000101110110"; --  0.511414	constant srgb2ycbcr709_a32 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111100010010001011"; -- -0.464523	constant srgb2ycbcr709_a33 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111111100111111111"; -- -0.046895	constant srgb2ycbcr709_b1x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2ycbcr709_b2x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2ycbcr709_b3x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2ycbcr709_b1y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000010000000000000"; -- 16	constant srgb2ycbcr709_b2y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"010000000000000000"; -- 128	constant srgb2ycbcr709_b3y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"010000000000000000"; -- 128	-----------------------------------------------------------------------------------	-- Matrix factors for the Rec.709 YCbCr to Studio RGB color convertion 	-----------------------------------------------------------------------------------	constant ycbcr709_srgb_a11	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycbcr709_srgb_a12	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_srgb_a13	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001100010100010011"; --  1.53965	constant ycbcr709_srgb_a21	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycbcr709_srgb_a22	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111110100010001111"; -- -0.183145	constant ycbcr709_srgb_a23	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111100010101101011"; -- -0.457676	constant ycbcr709_srgb_a31	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycbcr709_srgb_a32	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001110100000110111"; --  1.81418	constant ycbcr709_srgb_a33	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_srgb_b1x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111110000000000000"; -- -16	constant ycbcr709_srgb_b2x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"110000000000000000"; -- -128	constant ycbcr709_srgb_b3x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"110000000000000000"; -- -128	constant ycbcr709_srgb_b1y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_srgb_b2y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_srgb_b3y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	-----------------------------------------------------------------------------------	-- Matrix factors for the Rec.709 YCbCr to Rec.601 YCbCr color convertion 	-----------------------------------------------------------------------------------	constant ycbcr709_ycbcr601_a11	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycbcr709_ycbcr601_a12	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000110010110110"; --  0.099312	constant ycbcr709_ycbcr601_a13	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000001100010001010"; --  0.1917	constant ycbcr709_ycbcr601_a21	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_ycbcr601_a22	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000111111010110100"; --  0.989854	constant ycbcr709_ycbcr601_a23	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111111000111010110"; -- -0.110653	constant ycbcr709_ycbcr601_a31	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_ycbcr601_a32	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111111011010111010"; -- -0.072453	constant ycbcr709_ycbcr601_a33	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000111110111100000"; --  0.983398	constant ycbcr709_ycbcr601_b1x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_ycbcr601_b2x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_ycbcr601_b3x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_ycbcr601_b1y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_ycbcr601_b2y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr709_ycbcr601_b3y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	-----------------------------------------------------------------------------------	-- Matrix factors for the Rec.601 YCbCr to Rec.709 YCbCr color convertion 	-----------------------------------------------------------------------------------	constant ycbcr601_ycbcr709_a11	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycbcr601_ycbcr709_a12	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111111000100110110"; -- -0.11555	constant ycbcr601_ycbcr709_a13	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111110010101100010"; -- -0.207938	constant ycbcr601_ycbcr709_a21	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr601_ycbcr709_a22	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000001001100011"; --  1.01864	constant ycbcr601_ycbcr709_a23	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000111010101100"; --  0.114618 	constant ycbcr601_ycbcr709_a31	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr601_ycbcr709_a32	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000100110011011"; --  0.075049	constant ycbcr601_ycbcr709_a33	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000001100111110"; --  1.025327	constant ycbcr601_ycbcr709_b1x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr601_ycbcr709_b2x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr601_ycbcr709_b3x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr601_ycbcr709_b1y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr601_ycbcr709_b2y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycbcr601_ycbcr709_b3y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	-----------------------------------------------------------------------------------	-- Matrix factors for the Rec.601 YUV to Rec.601 YIQ color convertion 	-----------------------------------------------------------------------------------	constant yuv601_yiq601_a11	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant yuv601_yiq601_a12	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_a13	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0   constant yuv601_yiq601_a21	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_a22	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111011101001001001"; -- -0.544639	constant yuv601_yiq601_a23	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000110101101011010"; --  0.838671 	constant yuv601_yiq601_a31	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_a32	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000110101101011010"; --  0.838671	constant yuv601_yiq601_a33	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100010110110111"; --  0.544639	constant yuv601_yiq601_b1x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_b2x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_b3x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_b1y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_b2y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yuv601_yiq601_b3y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	-----------------------------------------------------------------------------------	-- Matrix factors for the Studio RGB to Rec.601 YIQ color convertion 	-----------------------------------------------------------------------------------	constant srgb2yiq601_a11	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000010011001000110"; --  0.299	constant srgb2yiq601_a12	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100101100100011"; --  0.587	constant srgb2yiq601_a13	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000111010011000"; --  0.114	constant srgb2yiq601_a21	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100110001000111"; --  0.595901	constant srgb2yiq601_a22	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111101110011011011"; -- -0.274557	constant srgb2yiq601_a23	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111101011011011110"; -- -0.321344 	constant srgb2yiq601_a31	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000001101100010100"; --  0.211537	constant srgb2yiq601_a32	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111011110100010111"; -- -0.522736	constant srgb2yiq601_a33	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000010011111010101"; --  0.3112	constant srgb2yiq601_b1x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2yiq601_b2x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2yiq601_b3x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2yiq601_b1y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2yiq601_b2y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant srgb2yiq601_b3y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	-----------------------------------------------------------------------------------	-- Matrix factors for the Rec.601 YIQ to Studio RGB convertion 	-----------------------------------------------------------------------------------	constant yiq601_srgb_a11	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant yiq601_srgb_a12	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000111101001011110"; --  0.955986	constant yiq601_srgb_a13	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100111101110111"; --  0.620825	constant yiq601_srgb_a21	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant yiq601_srgb_a22	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111101110100101111"; -- -0.272013	constant yiq601_srgb_a23	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111010110100101000"; -- -0.647204 	constant yiq601_srgb_a31	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant yiq601_srgb_a32	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"110111001001010110"; -- -1.106740	constant yiq601_srgb_a33	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001101101000100100"; --  1.704230	constant yiq601_srgb_b1x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yiq601_srgb_b2x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yiq601_srgb_b3x	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yiq601_srgb_b1y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yiq601_srgb_b2y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant yiq601_srgb_b3y	 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0      -----------------------------------------------------------------------------------	-- Matrix factors for the Computer RGB to YCgCo convertion 	-----------------------------------------------------------------------------------   constant crgb2ycgco_a11 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000010000000000000"; --  0.25	constant crgb2ycgco_a12 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100000000000000"; --  0.50	constant crgb2ycgco_a13 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000010000000000000"; --  0.25 	constant crgb2ycgco_a21 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100000000000000"; --  0.50	constant crgb2ycgco_a22 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant crgb2ycgco_a23 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111100000000000000"; -- -0.50	constant crgb2ycgco_a31 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111110000000000000"; -- -0.25	constant crgb2ycgco_a32 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000100000000000000"; --  0.50	constant crgb2ycgco_a33 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111110000000000000"; -- -0.25	constant crgb2ycgco_b1x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant crgb2ycgco_b2x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant crgb2ycgco_b3x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant crgb2ycgco_b1y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000010000000000000"; -- 16	constant crgb2ycgco_b2y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"010000000000000000"; -- 128	constant crgb2ycgco_b3y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"010000000000000000"; -- 128   -----------------------------------------------------------------------------------	-- Matrix factors for the YCgCo to Computer RGB convertion 	-----------------------------------------------------------------------------------   constant ycgco2crgb_a11 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycgco2crgb_a12 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycgco2crgb_a13 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111000000000000000"; -- -1 	constant ycgco2crgb_a21 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycgco2crgb_a22 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; --  0	constant ycgco2crgb_a23 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycgco2crgb_a31 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"001000000000000000"; --  1	constant ycgco2crgb_a32 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111000000000000000"; -- -1 	constant ycgco2crgb_a33 : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111000000000000000"; -- -1	constant ycgco2crgb_b1x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"111110000000000000"; -- -16	constant ycgco2crgb_b2x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"110000000000000000"; -- -128	constant ycgco2crgb_b3x : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"110000000000000000"; -- -128	constant ycgco2crgb_b1y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; -- 0	constant ycgco2crgb_b2y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; -- 0	constant ycgco2crgb_b3y : SIGNED(FACTORS_WIDTH-1 DOWNTO 0) := b"000000000000000000"; -- 0end ccfactors_pkg;------------------------------------------------------------------------------------------------------------------------------package body ccfactors_pkg isend ccfactors_pkg;

⌨️ 快捷键说明

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