在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

YCqV_FPGA_EETre ? 來(lái)源:賽靈思中文社區(qū)論壇 ? 作者:付漢杰 ? 2021-05-28 15:09 ? 次閱讀

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

本文主要說(shuō)明為Ctrl-SW增加功能,支持不同Stride/Pitch(步長(zhǎng))的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é)來(lái)存儲(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ù),有一部分是無(wú)用數(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(步長(zhǎng))。

int gi_encoder_input_stride=0;

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

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

最后修改函數(shù)ReadOneFrameYuv()。原來(lái)的代碼,直接使用真實(shí)圖像寬度計(jì)算YUV文件里每行的數(shù)據(jù)的字節(jié)數(shù),代碼是“uRowSizeLuma = GetIOLumaRowSize(tFourCC, tDim.iWidth)”。修改后的代碼,使用真實(shí)圖像寬度作為YUV文件里圖像步長(zhǎng)iYuvStride的缺省值。另外增加代碼,檢查命令行選項(xiàng)里賦值的圖像步長(zhǎng)gi_encoder_input_stride。如果gi_encoder_input_stride不為0,則將gi_encoder_input_stride賦值給圖像步長(zhǎng)iYuvStride。接下來(lái)使用圖像步長(zhǎng)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文件里圖像步長(zhǎng)(stride/pitch),要不小于內(nèi)存里的圖像步長(zhǎng)(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

未來(lái)工作

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

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

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

責(zé)任編輯:haq

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

    關(guān)注

    8

    文章

    3025

    瀏覽量

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

    關(guān)注

    17

    文章

    80

    瀏覽量

    20562

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    車載應(yīng)用中的高品質(zhì),高性能音頻CODEC解決方案

    。 伴隨著汽車電子進(jìn)入“智能座艙”時(shí)代,汽車智能化趨勢(shì)成為行業(yè)熱點(diǎn),車載應(yīng)用對(duì)音頻產(chǎn)品的技術(shù)提供商提出越來(lái)越高的功能要求。 新唐科技的CODEC路線圖如下: *SR: Sampling Rate 新唐科技嚴(yán)格執(zhí)行汽車行業(yè)規(guī)范標(biāo)準(zhǔn),為車載應(yīng)用
    的頭像 發(fā)表于 11-28 16:21 ?411次閱讀
    車載應(yīng)用中的高品質(zhì),高性能音頻<b class='flag-5'>CODEC</b>解決方案

    基于PYNQ和機(jī)器學(xué)習(xí)探索MPSOC筆記

    引言:《Exploring Zynq MPSoC With PYNQ and Machine Learning Applications》是當(dāng)年Zynq Book(ZYNQ-7000)的升級(jí)版本,在
    的頭像 發(fā)表于 11-16 11:32 ?319次閱讀
    基于PYNQ和機(jī)器學(xué)習(xí)探索<b class='flag-5'>MPSOC</b>筆記

    在米爾電子MPSOC實(shí)現(xiàn)12G SDI視頻采集H.265壓縮SGMII萬(wàn)兆以太網(wǎng)推流

    同時(shí)廣播多個(gè)視頻源的4K UHD廣播應(yīng)用來(lái)說(shuō)非常有用。這種多任務(wù)處理能力使得MPSoC成為多媒體中心和視頻服務(wù)器的理想選擇。4.靈活性和可擴(kuò)展性:MPSoC的可編程邏輯(PL)提供了任意到任意高速視頻
    發(fā)表于 11-01 16:56

    請(qǐng)問(wèn)是否有TLV320AIC3104音頻codec的驅(qū)動(dòng)源碼?

    請(qǐng)問(wèn)是否有TLV320AIC3104 這款音頻codec的驅(qū)動(dòng)源碼?分別驅(qū)動(dòng)耳機(jī),麥克風(fēng)Codec說(shuō)明,謝謝
    發(fā)表于 10-25 06:53

    C6748做主提供codec時(shí)鐘,請(qǐng)問(wèn)MCASP邊沿觸發(fā)應(yīng)該怎么設(shè)置?

    我們公司一個(gè)音頻的項(xiàng)目,基本架構(gòu)是c6748加AIC3106。后來(lái)?yè)Q了一個(gè)codec,這個(gè)新的codec是cs4272,這是一個(gè)24bit的codec,前一段時(shí)間問(wèn)了芯片原廠,原廠建議暫時(shí)用
    發(fā)表于 10-21 07:03

    在米爾電子MPSOC實(shí)現(xiàn)12G SDI視頻采集H.265壓縮SGMII萬(wàn)兆以太網(wǎng)推流

    MPSoC的可編程邏輯(PL)提供了任意到任意高速視頻/音頻接口的靈活性,可以為多媒體管道帶來(lái)定制圖像及視頻處理功能的差異化效果。這種可編程性使得系統(tǒng)能夠適應(yīng)不斷變化的音視頻廣播需求。 專用硬件加速
    發(fā)表于 10-14 17:42

    使用TPS65086x PMIC為Xilinx Zynq UltraScale MPSoC供電

    電子發(fā)燒友網(wǎng)站提供《使用TPS65086x PMIC為Xilinx Zynq UltraScale MPSoC供電.pdf》資料免費(fèi)下載
    發(fā)表于 09-21 11:11 ?0次下載
    使用TPS65086x PMIC為Xilinx Zynq UltraScale <b class='flag-5'>MPSoC</b>供電

    使用提供的esp_audio_codec 的庫(kù)組件時(shí),不能將AAC音頻解碼回PCM音頻,為什么?

    使用提供的esp_audio_codec 的庫(kù)組件時(shí),能夠?qū)CM音頻編碼為AAC音頻,但是不能將AAC音頻解碼回PCM音頻,是為什么導(dǎo)致的呀
    發(fā)表于 06-05 06:39

    網(wǎng)線接線標(biāo)準(zhǔn)詳細(xì)說(shuō)明

    在網(wǎng)絡(luò)通信中,網(wǎng)線接線標(biāo)準(zhǔn)至關(guān)重要,它確保了網(wǎng)絡(luò)設(shè)備的正確連接和高效通信。以下是關(guān)于網(wǎng)線接線標(biāo)準(zhǔn)的詳細(xì)說(shuō)明: 一、線序標(biāo)準(zhǔn) 網(wǎng)線的線序標(biāo)準(zhǔn)主要有兩種,即EIA/TIA的568A和568B標(biāo)準(zhǔn)。 標(biāo)準(zhǔn)
    的頭像 發(fā)表于 05-15 10:34 ?3135次閱讀

    適用于 Xilinx? MPSoC 和 FPGA的可配置多軌PMU TPS650864數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于 Xilinx? MPSoC 和 FPGA的可配置多軌PMU TPS650864數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-01 09:58 ?0次下載
    適用于 Xilinx? <b class='flag-5'>MPSoC</b> 和 FPGA的可配置多軌PMU TPS650864數(shù)據(jù)表

    3KW工業(yè)變頻器電路設(shè)計(jì)方案詳細(xì)說(shuō)明

    3KW工業(yè)變頻器電路設(shè)計(jì)方案詳細(xì)說(shuō)明
    的頭像 發(fā)表于 03-19 08:33 ?943次閱讀
    3KW工業(yè)變頻器電路設(shè)計(jì)方案<b class='flag-5'>詳細(xì)說(shuō)明</b>

    淺談S-VIDEO接口靜電浪涌防護(hù)

    代,比如HDMI、DVI等。現(xiàn)在S-video接口廣泛應(yīng)用于電視、監(jiān)視器、攝像機(jī)、錄像機(jī)等視頻設(shè)備中,提供了比傳統(tǒng)的復(fù)合視頻接口更好的視頻質(zhì)量
    的頭像 發(fā)表于 03-07 08:02 ?715次閱讀
    淺談S-<b class='flag-5'>VIDEO</b>接口靜電浪涌防護(hù)

    適用于 Xilinx? MPSoC 和 FPGA 的可配置多軌PMU TPS650864數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于 Xilinx? MPSoC 和 FPGA 的可配置多軌PMU TPS650864數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-06 17:07 ?0次下載
    適用于 Xilinx? <b class='flag-5'>MPSoC</b> 和 FPGA 的可配置多軌PMU TPS650864數(shù)據(jù)表

    電源模塊外殼材質(zhì)詳細(xì)說(shuō)明 保護(hù)散熱絕緣 AC電源模塊

    電源模塊外殼材質(zhì)詳細(xì)說(shuō)明 保護(hù)散熱絕緣 AC電源模塊 BOSHIDA 選擇電源模塊外殼材質(zhì)時(shí),需要考慮以下幾個(gè)因素: 保護(hù)性能:外殼材質(zhì)需要具有足夠的強(qiáng)度和硬度,能夠保護(hù)電源模塊內(nèi)部的電路和元件不受
    的頭像 發(fā)表于 02-20 09:03 ?714次閱讀

    鴻蒙ArkUI開(kāi)發(fā)-Video組件的使用

    以視頻功能為例,在應(yīng)用開(kāi)發(fā)過(guò)程中,我們需要通過(guò)ArkUI提供Video組件為應(yīng)用增加基礎(chǔ)的視頻播放功能。借助Video組件,我們可以實(shí)現(xiàn)視頻的播放功能并控制其播放狀態(tài)。常見(jiàn)的視頻播放場(chǎng)景包括觀看網(wǎng)絡(luò)上的較為流行的短視頻,也包括
    的頭像 發(fā)表于 01-23 16:59 ?1351次閱讀
    鴻蒙ArkUI開(kāi)發(fā)-<b class='flag-5'>Video</b>組件的使用
    主站蜘蛛池模板: 国模无水印一区二区三区| 黄频网站免费大全在线观看| 色综合97天天综合网| 亚洲一区二区三区四| 91夫妻视频| 男女无遮挡在线完整视频| 国产亚洲一区二区三区啪| 亚洲第九页| 四虎影院久久| 免费人成观看在线网| 国产片无遮挡在线看床戏| freee性欧美| 天天毛片| 国产精品一区牛牛影视| 看黄视频网站| 久久99热久久精品99| 香蕉视频黄色片| 欧美亚洲天堂网| 国产va| 天天操中文字幕| 四虎tv在线观看884aa| 精品成人| 咪咪爱毛片| 亚洲第一区视频在线观看| 国产午夜剧场| 欧美a欧美| 日本午夜三级| 丁香五六月婷婷| 视频在线免费观看网址| 色视频免费观看| 国产98色在线| 91亚洲免费视频| 男人的天堂一区二区视频在线观看| 99精品久久久久久久婷婷| 久久国产乱子伦精品免费午夜| 亚洲三区视频| 三级全黄a| ts在线视频| 日本在线不卡免| 日本大片免aaa费观看视频| 91欧美精品激情在线观看|