国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

    關注

    9

    文章

    3210

    瀏覽量

    76369
  • VCU
    VCU
    +關注

    關注

    17

    文章

    86

    瀏覽量

    21575

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AMD EV系列器件VCU Control Software簡介

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

    LUA例程-常用的回調函數使用說明

    詳細說明LUA腳本函數功能和對應的應用實例。對于LUA腳本編程有很大的幫助和提高技能。
    發表于 11-24 16:43 ?0次下載

    Video Processing Subsystem與HDMI示例設計

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

    運算放大器的使用詳細說明

    運算放大器權威指南 第三版 獲取完整文檔資料可下載附件哦!!!! 如果內容有幫助可以關注、點贊、評論支持一下哦~
    發表于 08-01 13:51

    SSD2829TQL9 VIDEO BIST無法正常使用問題

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

    A316-Codec-V1:USB AI降噪麥克風模組技術詳解

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

    基于AD9613與Xilinx MPSoC平臺的高速AD/DA案例分享

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

    磁珠與電感的對比

    本文分三部分,詳細的描述了電感的定義、磁珠的定義以及對比了磁珠與電感的區別,通過舉例方式詳細說明了磁珠的應用場合和使用方法
    發表于 05-29 15:50

    貼片三極管上的印字與真實名稱的對照表詳細說明

      本文檔的主要內容詳細介紹的是貼片三極管上的印字與真實名稱的對照表詳細說明
    發表于 05-28 09:05 ?110次下載

    瑞芯微rv1106開發資料 rv1106數據手冊 rv1106詳細說明書免費下載

    瑞芯微rv1106開發資料 rv1106數據手冊 rv1106詳細說明書免費下載
    的頭像 發表于 05-19 11:16 ?6116次閱讀
    瑞芯微rv1106開發資料 rv1106數據手冊 rv1106<b class='flag-5'>詳細說明</b>書免費下載

    調試變頻器詳細說明

    調試變頻器是一個復雜但至關重要的過程,它涉及多個參數的設定和調整,以確保變頻器能夠正常運行并滿足特定應用需求。以下是對變頻器調試的詳細說明。 一、準備工作 1. 選擇合適的電機功率:根據實際需求選擇
    的頭像 發表于 04-25 15:32 ?2057次閱讀

    圖表細說電子元器件(建議下載)

    資料介紹本文檔共9章內容,以圖文同頁的方式細說了常用的11大類數十種電子元器件,介紹元器件的識別方法、電路符號識圖信息、主要特性、重要參數、典型應用電路、檢測方法、修配技術、更換操作、調整技術等相關
    發表于 04-17 17:10

    編碼器常見的故障詳細說明

    運行和加工精度。本文將詳細說明編碼器常見的故障及其排除方法,以幫助用戶更好地維護和使用編碼器。 一、信號輸出故障 1. 無信號輸出:編碼器無法產生信號,上位機或控制系統接收不到任何數據,導致設備無法正常運行。這可能
    的頭像 發表于 04-16 18:28 ?4056次閱讀

    S-Video接口概述和分類

    S-Video接口在當下視頻接口中,存在感已經漸漸減少,它們的樣式與“古早”的很多接口相似。在視頻接口的發展中,它依然是必不可少的。本期我們將圍繞S-Video接口,來一次全面的剖析。
    的頭像 發表于 04-11 10:59 ?3659次閱讀
    S-<b class='flag-5'>Video</b>接口概述和分類

    掃描電鏡日常操作流程的詳細說明

    要求,如清潔、干燥、尺寸合適、具有良好導電性等。開機1.打開總電源開關,等待電源穩定輸出。2.依次打開真空泵、電子槍、探測器等各部件的電源開關,按照儀器說明書的要
    的頭像 發表于 03-24 11:42 ?1696次閱讀
    掃描電鏡日常操作流程的<b class='flag-5'>詳細說明</b>