永发信息网

求YUV(4:2:2)转RGB的verilog代码

答案:1  悬赏:40  手机版
解决时间 2021-11-24 14:13
求YUV(4:2:2)转RGB的verilog代码
最佳答案
先转成4:4:4,再转成RGB。
module YUV422_to_444 ( // YUV 4:2:2 Input
iYCbCr,
// YUV 4:4:4 Output
oY,
oCb,
oCr,
// Control Signals
iX,
iCLK,
iRST_N );
// YUV 4:2:2 Input
input [15:0] iYCbCr;
// YUV 4:4:4 Output
output [7:0] oY;
output [7:0] oCb;
output [7:0] oCr;
// Control Signals
input [9:0] iX;
input iCLK;
input iRST_N;
// Internal Registers
reg [7:0] mY;
reg [7:0] mCb;
reg [7:0] mCr;

assign oY = mY;
assign oCb = mCb;
assign oCr = mCr;

always@(posedge iCLK or negedge iRST_N)
begin
if(!iRST_N)
begin
mY <= 0;
mCb <= 0;
mCr <= 0;
end
else
begin
if(iX[0])
{mY,mCr} <= iYCbCr;
else
{mY,mCb} <= iYCbCr;
end
end

endmodule
module YCbCr2RGB ( Red,Green,Blue,oDVAL,
iY,iCb,iCr,iDVAL,
iRESET,iCLK);
// Input
input [7:0] iY,iCb,iCr;
input iDVAL,iRESET,iCLK;
// Output
output [9:0] Red,Green,Blue;
output reg oDVAL;
// Internal Registers/Wires
reg [9:0] oRed,oGreen,oBlue;
reg [3:0] oDVAL_d;
reg [19:0] X_OUT,Y_OUT,Z_OUT;
wire [26:0] X,Y,Z;

assign Red = oRed;
assign Green= oGreen;
assign Blue = oBlue;

always@(posedge iCLK)
begin
if(iRESET)
begin
oDVAL<=0;
oDVAL_d<=0;
oRed<=0;
oGreen<=0;
oBlue<=0;
end
else
begin
// Red
if(X_OUT[19])
oRed<=0;
else if(X_OUT[18:0]>1023)
oRed<=1023;
else
oRed<=X_OUT[9:0];
// Green
if(Y_OUT[19])
oGreen<=0;
else if(Y_OUT[18:0]>1023)
oGreen<=1023;
else
oGreen<=Y_OUT[9:0];
// Blue
if(Z_OUT[19])
oBlue<=0;
else if(Z_OUT[18:0]>1023)
oBlue<=1023;
else
oBlue<=Z_OUT[9:0];
// Control
{oDVAL,oDVAL_d}<={oDVAL_d,iDVAL};
end
end

always@(posedge iCLK)
begin
if(iRESET)
begin
X_OUT<=0;
Y_OUT<=0;
Z_OUT<=0;
end
else
begin
X_OUT<=( X - 114131 ) >>7;
Y_OUT<=( Y + 69370 ) >>7;
Z_OUT<=( Z - 141787 ) >>7;
end
end

// Y 596, 0, 817
MAC_3 u0( iY, iCb, iCr,
17'h00254, 17'h00000, 17'h00331,
X, iRESET, iCLK);
// Cb 596, -200, -416
MAC_3 u1( iY, iCb, iCr,
17'h00254, 17'h3FF38, 17'h3FE60,
Y, iRESET, iCLK);
// Cr 596, 1033, 0
MAC_3 u2( iY, iCb, iCr,
17'h00254, 17'h00409, 17'h00000,
Z, iRESET, iCLK);

endmodule参考资料:DE2_70
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华为G75O一T00换屏幕多少钱
集装箱 箱型 缩写 代表的意思?请告诉我以下
主板P43与P45有何区别,选取哪一个更价廉物美
你已不是当年的你,我也不是当年的我, 我们
gpsrtk四参数怎么设置
一般自己去做工伤鉴定要多少钱
我水星s124交换机上连的打印机和电脑为啥是这
那个华为的那个wifi功能打不开怎么回事?
唐山市滦县泡石淀乡中学地址好找么,我有些事
电脑主板跳线代号jlan. jbat1 .jci .jfp代表
支付宝提现一万要多少手续费
唐山市滦县杨柳庄中学地址在什么地方,我要处
浅谈如何提高汽车新产品开发阶段的质量
俄罗 斯偶到埃 及 比起来哪个弱一些?
怎么问那一个包重(英文)
推荐资讯
《怜怜,我的爱》txt全集下载
求翻译,应该是外企中的一些词汇,谢谢!
广东省雷州市龙门大酒店是多少号
潍坊铁路大桥南边谁知道是什么学校.
扬州街与常德路交汇坐几路公交车
oppor11云服务在哪里
求手嶌葵《 再见夏天 》教唱,歌词翻译成汉语
中山市古镇海洲村邮政编码是什么
我有个电鱼机,用200瓦灯泡试雷白,但在水里
0.75大还是百分之76大
I am writing to express my thanks for the
武功内力怎么才算一年的内力
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?