色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MPSoC Video Codec Unit提供詳細說明

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

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

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

1.1. VCU輸入和輸出格式

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

1.2. VCU內存的pitch

視頻數據在內存區中存放時,兩行之間的數據可以有間隔。對于每個像素的Y分量用8-bit表示的圖像,每個像素的Y分量對應內存的一個字節,圖像Y分量的每一行對應的內存大小就是其寬度代表的字節數。比如1920x1080,每一行圖像的Y分量需要1920字節內存。如果以2048字節來存儲一行1920x1080的圖像數據,則在前面存放圖像數據,后面的數據被VCU忽略。也可以參考PG252的“Figure 7: Frame Buffer Pitch”。

02

NEWS

輸入文件分辨率

與視頻數據在內存區中存放一樣,視頻數據在文件中存放時也有類似的情況。

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

03

NEWS

代碼

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

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

int gi_encoder_input_stride=0;

接下來增加的ctrlsw_encoder的命令行選項。這樣命令行選項里可以對圖像步長gi_encoder_input_stride賦值。

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

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

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),要不小于內存里的圖像步長(stride/pitch)。因此,測試時,同時使用了選項“--stride”和選項“--input-stride”。

04

NEWS

測試

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

有意思的是,結合選項“--stride”、選項“--stride-height”、和選項“--input-stride”,相等于在編碼前對圖像實現了裁剪(crop)功能。

05

NEWS

其它 5.1. 命令行選項

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

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

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

未來工作

未來可以繼續測試NV16的圖像,也可以測試其它分辨率的圖像。

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

文章出處:【微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    3048

    瀏覽量

    74209
  • VCU
    VCU
    +關注

    關注

    17

    文章

    82

    瀏覽量

    20604

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

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Zynq UltraScale+ MPSoC數據手冊

    電子發燒友網站提供《Zynq UltraScale+ MPSoC數據手冊.pdf》資料免費下載
    發表于 12-30 14:37 ?2次下載

    車載應用中的高品質,高性能音頻CODEC解決方案

    。 伴隨著汽車電子進入“智能座艙”時代,汽車智能化趨勢成為行業熱點,車載應用對音頻產品的技術提供商提出越來越高的功能要求。 新唐科技的CODEC路線圖如下: *SR: Sampling Rate 新唐科技嚴格執行汽車行業規范標準,為車載應用
    的頭像 發表于 11-28 16:21 ?527次閱讀
    車載應用中的高品質,高性能音頻<b class='flag-5'>CODEC</b>解決方案

    基于PYNQ和機器學習探索MPSOC筆記

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

    在米爾電子MPSOC實現12G SDI視頻采集H.265壓縮SGMII萬兆以太網推流

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

    請問是否有TLV320AIC3104音頻codec的驅動源碼?

    請問是否有TLV320AIC3104 這款音頻codec的驅動源碼?分別驅動耳機,麥克風Codec說明,謝謝
    發表于 10-25 06:53

    C6748做主提供codec時鐘,請問MCASP邊沿觸發應該怎么設置?

    我們公司一個音頻的項目,基本架構是c6748加AIC3106。后來換了一個codec,這個新的codec是cs4272,這是一個24bit的codec,前一段時間問了芯片原廠,原廠建議暫時用
    發表于 10-21 07:03

    在米爾電子MPSOC實現12G SDI視頻采集H.265壓縮SGMII萬兆以太網推流

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

    使用TPS65086x PMIC為Xilinx Zynq UltraScale MPSoC供電

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

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

    使用提供的esp_audio_codec 的庫組件時,能夠將PCM音頻編碼為AAC音頻,但是不能將AAC音頻解碼回PCM音頻,是為什么導致的呀
    發表于 06-05 06:39

    網線接線標準詳細說明

    在網絡通信中,網線接線標準至關重要,它確保了網絡設備的正確連接和高效通信。以下是關于網線接線標準的詳細說明: 一、線序標準 網線的線序標準主要有兩種,即EIA/TIA的568A和568B標準。 標準
    的頭像 發表于 05-15 10:34 ?3466次閱讀

    適用于 Xilinx? MPSoC 和 FPGA的可配置多軌PMU TPS650864數據表

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

    3KW工業變頻器電路設計方案詳細說明

    3KW工業變頻器電路設計方案詳細說明
    的頭像 發表于 03-19 08:33 ?1009次閱讀
    3KW工業變頻器電路設計方案<b class='flag-5'>詳細說明</b>

    淺談S-VIDEO接口靜電浪涌防護

    代,比如HDMI、DVI等。現在S-video接口廣泛應用于電視、監視器、攝像機、錄像機等視頻設備中,提供了比傳統的復合視頻接口更好的視頻質量
    的頭像 發表于 03-07 08:02 ?783次閱讀
    淺談S-<b class='flag-5'>VIDEO</b>接口靜電浪涌防護

    適用于 Xilinx? MPSoC 和 FPGA 的可配置多軌PMU TPS650864數據表

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

    電源模塊外殼材質詳細說明 保護散熱絕緣 AC電源模塊

    電源模塊外殼材質詳細說明 保護散熱絕緣 AC電源模塊 BOSHIDA 選擇電源模塊外殼材質時,需要考慮以下幾個因素: 保護性能:外殼材質需要具有足夠的強度和硬度,能夠保護電源模塊內部的電路和元件不受
    的頭像 發表于 02-20 09:03 ?754次閱讀
    主站蜘蛛池模板: 91欧美秘密入口| 特级毛片s级全部免费| 蜜芽资源高清在线观看| 色狠狠一区二区| 在线观看亚洲 日韩 国产| 国产成人在线观看网站| 久就热视频精品免费99| 羞羞答答影院在线| 超碰在线视频97| 噜噜噜狠狠夜夜躁| 成人小视频在线免费观看| www.av在线| 久久人妻无码毛片A片麻豆| 羞羞影院男女爽爽影院尤物| AV无码国产精品午夜A片麻豆| 精品无码国产污污污免费网站2| 色琪琪丁香婷婷综合久久| 99视频福利| 免费看成人毛片| 最近免费视频中文2019完整版| 真实国产精品视频国产网| 国产偷国产偷亚洲高清SWAG| 日韩精品专区在线影院重磅| 337p啪啪人体大胆| 久久久久久久电影| 伊人久99久女女视频精品免| 好大快用力深一点h视频| 午夜亚洲动漫精品AV网站| 芭乐视频免费资源在线观看| 免费在线观看的毛片| 在线看片成人免费视频| 九九色精品国偷自产视频| 亚洲人女同志video| 国产一区亚洲| 亚洲精品久久午夜麻豆| 国产精品美女久久久网站动漫| 少妇无套内谢久久久久| 高H高肉强J短篇NP| 色欲无码国产喷水AV精品| 大屁股国产白浆一二区| 日韩精品卡1卡2三卡四卡乱码|