日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MPSoC Video Codec Unit提供詳細(xì)說明

YCqV_FPGA_EETre ? 來源:賽靈思中文社區(qū)論壇 ? 作者:付漢杰 ? 2021-05-28 15:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Xilinx提供超低延時(shí)編解碼方案,并提供了全套軟件。MPSoC Video Codec Unit提供了詳細(xì)說明。其中的底層應(yīng)用軟件是VCU Control-Software(Ctrl-SW)。

本文主要說明為Ctrl-SW增加功能,支持不同Stride/Pitch(步長)的YUV文件的編碼。

1.1. VCU輸入和輸出格式

Video Codec Unit(VCU) 輸入和輸出都是是NV12/NV16格式的視頻,Y分量存放在一塊連續(xù)內(nèi)存區(qū),UV分量交替存放在Y分量后面的連續(xù)內(nèi)存。具體信息,可以參考VCU Product Guide中的“Source Frame Format”和“Memory Format”。

1.2. VCU內(nèi)存的pitch

視頻數(shù)據(jù)在內(nèi)存區(qū)中存放時(shí),兩行之間的數(shù)據(jù)可以有間隔。對(duì)于每個(gè)像素的Y分量用8-bit表示的圖像,每個(gè)像素的Y分量對(duì)應(yīng)內(nèi)存的一個(gè)字節(jié),圖像Y分量的每一行對(duì)應(yīng)的內(nèi)存大小就是其寬度代表的字節(jié)數(shù)。比如1920x1080,每一行圖像的Y分量需要1920字節(jié)內(nèi)存。如果以2048字節(jié)來存儲(chǔ)一行1920x1080的圖像數(shù)據(jù),則在前面存放圖像數(shù)據(jù),后面的數(shù)據(jù)被VCU忽略。也可以參考PG252的“Figure 7: Frame Buffer Pitch”。

02

NEWS

輸入文件分辨率

與視頻數(shù)據(jù)在內(nèi)存區(qū)中存放一樣,視頻數(shù)據(jù)在文件中存放時(shí)也有類似的情況。

Ctrl-SW假設(shè)輸入文件的分辨率一般和實(shí)際圖像分辨率一致,也就是pitch和圖像寬度一致。但是實(shí)際應(yīng)用時(shí),輸入文件的分辨率、實(shí)際圖像分辨率并不一致。在文件里,有一部分?jǐn)?shù)據(jù)是真實(shí)圖像數(shù)據(jù),有一部分是無用數(shù)據(jù)。比如有YUV NV12文件的文件分辨率是3840x1080,實(shí)際圖像的分辨率是1920x1080。每一行的數(shù)據(jù)中,只有前面1920字節(jié)是有效圖像數(shù)據(jù),后面的1920字節(jié)是冗余數(shù)據(jù)。

03

NEWS

代碼

為了支持這種場(chǎng)景,需要修改代碼。Ctrl-SW的讀YUV文件的代碼,在文件YuvIO.cpp里的函數(shù)ReadOneFrameYuv()里。下面是基于Ctrl-SW 2020.2的修改。

首先定義一個(gè)全局變量,用于存儲(chǔ)輸入文件的Stride/Pitch(步長)。

int gi_encoder_input_stride=0;

接下來增加的ctrlsw_encoder的命令行選項(xiàng)。這樣命令行選項(xiàng)里可以對(duì)圖像步長gi_encoder_input_stride賦值。

opt.addInt(“--input-stride”, &gi_encoder_input_stride, “Stride in input YUV file.”);

最后修改函數(shù)ReadOneFrameYuv()。原來的代碼,直接使用真實(shí)圖像寬度計(jì)算YUV文件里每行的數(shù)據(jù)的字節(jié)數(shù),代碼是“uRowSizeLuma = GetIOLumaRowSize(tFourCC, tDim.iWidth)”。修改后的代碼,使用真實(shí)圖像寬度作為YUV文件里圖像步長iYuvStride的缺省值。另外增加代碼,檢查命令行選項(xiàng)里賦值的圖像步長gi_encoder_input_stride。如果gi_encoder_input_stride不為0,則將gi_encoder_input_stride賦值給圖像步長iYuvStride。接下來使用圖像步長iYuvStride計(jì)算YUV文件里,每行的數(shù)據(jù)的字節(jié)數(shù)。

bool ReadOneFrameYuv(std::ifstream& File, AL_TBuffer* pBuf, bool bLoop)

{

if(!pBuf || !File.is_open())

throw std::runtime_error(“invalid argument”);

if((File.peek() == EOF) && !bLoop)

return false;

TFourCC tFourCC = AL_PixMapBuffer_GetFourCC(pBuf);

AL_TDimension tDim = AL_PixMapBuffer_GetDimension(pBuf);

int32_t iYuvStride = tDim.iWidth;

if( 0 != gi_encoder_input_stride )

{

iYuvStride = gi_encoder_input_stride;

LogVerbose(“New YUV width size:%d at %s:%d.

”, iYuvStride, __func__, __LINE__ );

}

//uint32_t uRowSizeLuma = GetIOLumaRowSize(tFourCC, tDim.iWidth);

uint32_t uRowSizeLuma = GetIOLumaRowSize(tFourCC, iYuvStride);

LogVerbose(“YUV Luma row size:%d at %s:%d.

”, uRowSizeLuma, __func__, __LINE__ );

ReadFile(File, pBuf, uRowSizeLuma, tDim.iHeight);

if((File.rdstate() & std::failbit) && bLoop)

{

File.clear();

File.seekg(0, std::beg);

ReadFile(File, pBuf, uRowSizeLuma, tDim.iHeight);

}

if(File.rdstate() & std::failbit)

throw std::runtime_error(“not enough data for a complete frame”);

return true;

}

其它的代碼,不需要修改。

注意,YUV文件里圖像步長(stride/pitch),要不小于內(nèi)存里的圖像步長(stride/pitch)。因此,測(cè)試時(shí),同時(shí)使用了選項(xiàng)“--stride”和選項(xiàng)“--input-stride”。

04

NEWS

測(cè)試

測(cè)試了輸入分辨率是3840x1080的NV12 yuv文件,編碼圖像分辨率1920x1080,得到了正確的265文件。命令如下:

有意思的是,結(jié)合選項(xiàng)“--stride”、選項(xiàng)“--stride-height”、和選項(xiàng)“--input-stride”,相等于在編碼前對(duì)圖像實(shí)現(xiàn)了裁剪(crop)功能。

05

NEWS

其它 5.1. 命令行選項(xiàng)

“--input-width”和“--input-height”

Ctrl-SW 2020.2里有兩個(gè)命令行選項(xiàng),“--input-width”,和“--input-height”。這兩個(gè)選用用于指定實(shí)際圖像分辨率,可以取代配置文件里的圖像分辨率。這個(gè)選項(xiàng)并不能指定輸入文件的分辨率。

opt.addInt(“--input-width”, &cfg.MainInput.FileInfo.PictWidth, “Specifies YUV input width”);

opt.addInt(“--input-height”, &cfg.MainInput.FileInfo.PictHeight, “Specifies YUV input height”);

06

NEWS

未來工作

未來可以繼續(xù)測(cè)試NV16的圖像,也可以測(cè)試其它分辨率的圖像。

原文標(biāo)題:【工程師分享】MPSoC VCU Ctrl-SW 2020.2 編碼不同Stride的YUV文件

文章出處:【微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3238

    瀏覽量

    76528
  • VCU
    VCU
    +關(guān)注

    關(guān)注

    17

    文章

    86

    瀏覽量

    21654

原文標(biāo)題:【工程師分享】MPSoC VCU Ctrl-SW 2020.2 編碼不同Stride的YUV文件

文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ATX電源電路分析詳解開關(guān)電源的原理

    ATX電源電路分析詳解開關(guān)電源的原理,WORD版,圖文并茂,詳細(xì)說明各個(gè)元件在電路中的作用。適合初學(xué)者
    發(fā)表于 03-29 16:47 ?3次下載

    晶益微 JY6311 音頻codec驅(qū)動(dòng)資料分享

    晶益微 JY6311 音頻codec驅(qū)動(dòng)資料分享
    發(fā)表于 03-24 17:01 ?0次下載

    晶益微 JY6166 音頻codec驅(qū)動(dòng)資料分享

    晶益微 JY6166 音頻codec驅(qū)動(dòng)資料分享
    發(fā)表于 03-24 17:01 ?0次下載

    AMD EV系列器件VCU Control Software簡介

    。AMD的ZYNQ MPSOC EV系列器件,是ZYNQ MPSOC集成了H.264/H.265 Video Codec Unit (VCU
    的頭像 發(fā)表于 12-10 14:45 ?4790次閱讀
    AMD EV系列器件VCU Control Software簡介

    LUA例程-常用的回調(diào)函數(shù)使用說明

    詳細(xì)說明LUA腳本函數(shù)功能和對(duì)應(yīng)的應(yīng)用實(shí)例。對(duì)于LUA腳本編程有很大的幫助和提高技能。
    發(fā)表于 11-24 16:43 ?0次下載

    Video Processing Subsystem與HDMI示例設(shè)計(jì)

    在撰寫本文時(shí),HDMI Transmitter Subsystem IP 核與 Video Processing Subsystem IP 核均有多個(gè)示例設(shè)計(jì)可供使用,但并沒有演示將兩者功能結(jié)合在一起來使用的設(shè)計(jì)。
    的頭像 發(fā)表于 11-07 10:35 ?975次閱讀
    <b class='flag-5'>Video</b> Processing Subsystem與HDMI示例設(shè)計(jì)

    運(yùn)算放大器的使用詳細(xì)說明

    運(yùn)算放大器權(quán)威指南 第三版 獲取完整文檔資料可下載附件哦!!??! 如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~
    發(fā)表于 08-01 13:51

    SSD2829TQL9 VIDEO BIST無法正常使用問題

    請(qǐng)問一下大家是否有人用過SSD2829芯片的 VIDEO BIST功能,我這邊把對(duì)應(yīng)的Video BIST Register設(shè)置好了但無法正常顯示圖片,在此之前已用常規(guī)的video mode點(diǎn)亮過屏幕了,因此線上應(yīng)該是通的,煩請(qǐng)
    發(fā)表于 07-25 13:54

    A316-Codec-V1:USB AI降噪麥克風(fēng)模組技術(shù)詳解

    引言隨著在線會(huì)議、直播和游戲語音交流的普及,高質(zhì)量的音頻輸入設(shè)備變得越來越重要。本文將介紹一款專為語音收集和處理設(shè)計(jì)的USBAI降噪麥克風(fēng)模組——A316-Codec-V1,這是一款
    的頭像 發(fā)表于 07-21 16:34 ?1203次閱讀
    A316-<b class='flag-5'>Codec</b>-V1:USB AI降噪麥克風(fēng)模組技術(shù)詳解

    目前Mirco Python sdk觸摸到底支持什么驅(qū)動(dòng)啊 ?

    目前的Mirco Python sdk觸摸到底支持什么驅(qū)動(dòng)啊 能不能有資料詳細(xì)說明 GT911 觸摸驅(qū)動(dòng)是否支持啊
    發(fā)表于 06-24 07:02

    基于AD9613與Xilinx MPSoC平臺(tái)的高速AD/DA案例分享

    本文主要介紹基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集與高速DA輸出案例
    的頭像 發(fā)表于 06-03 14:22 ?1152次閱讀
    基于AD9613與Xilinx <b class='flag-5'>MPSoC</b>平臺(tái)的高速AD/DA案例分享

    磁珠與電感的對(duì)比

    本文分三部分,詳細(xì)的描述了電感的定義、磁珠的定義以及對(duì)比了磁珠與電感的區(qū)別,通過舉例方式詳細(xì)說明了磁珠的應(yīng)用場(chǎng)合和使用方法
    發(fā)表于 05-29 15:50

    貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明

      本文檔的主要內(nèi)容詳細(xì)介紹的是貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說明。
    發(fā)表于 05-28 09:05 ?110次下載

    瑞芯微rv1106開發(fā)資料 rv1106數(shù)據(jù)手冊(cè) rv1106詳細(xì)說明書免費(fèi)下載

    瑞芯微rv1106開發(fā)資料 rv1106數(shù)據(jù)手冊(cè) rv1106詳細(xì)說明書免費(fèi)下載
    的頭像 發(fā)表于 05-19 11:16 ?7399次閱讀
    瑞芯微rv1106開發(fā)資料 rv1106數(shù)據(jù)手冊(cè) rv1106<b class='flag-5'>詳細(xì)說明</b>書免費(fèi)下載

    內(nèi)容豐富,干貨滿滿的AG32入門視頻,非常適合新手學(xué)習(xí)。

    ... 6c280e49a93c48b7fe3開發(fā)板使用的視頻: AGM開發(fā)板 AG32VF407VGT6 超級(jí)詳細(xì)的講解視頻。里面有開發(fā)板使用說明,芯片使用說明,開發(fā)環(huán)境說明和樣例
    發(fā)表于 05-09 07:25
    灵山县| 敖汉旗| 佛冈县| 平乡县| 高台县| 夏津县| 枝江市| 常山县| 阿瓦提县| 无极县| 千阳县| 休宁县| 秦安县| 青田县| 茂名市| 噶尔县| 大石桥市| 绥宁县| 英超| 巍山| 宣恩县| 香格里拉县| 新野县| 高青县| 奉贤区| 滦南县| 阿拉善右旗| 洪洞县| 兴和县| 锦屏县| 永修县| 乌鲁木齐县| 石嘴山市| 崇左市| 平遥县| 连江县| 巨野县| 当阳市| 桑植县| 吉水县| 舒兰市|