一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

修改V4L2的Video Pipeline的devicetree

李春梅 ? 來(lái)源:chm5 ? 作者:chm5 ? 2022-08-02 08:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹

PetaLinux 能夠根據(jù)Vivado的設(shè)計(jì),自動(dòng)生成V4L2的Video Pipeline的devicetree。但是它主要為Xilinx的VCU TRD服務(wù),測(cè)試的組合比較少。很多時(shí)候,需要根據(jù)自己的工程,修改V4L2的Video Pipeline的devicetree。

硬件設(shè)計(jì)

有項(xiàng)目需要對(duì)輸入的視頻,既需要對(duì)原始視頻做編解碼,也需要縮放后再做編解碼。于是創(chuàng)建了下面的硬件設(shè)計(jì)。

axis_data_fifo主要用于暫時(shí)緩存數(shù)據(jù)。axis_broadcaster和vpss之間的axis_data_fifo、axis_register_slice,可以刪除,完全不影響共。

兩個(gè)framebuffer_write的tready通過(guò)邏輯門的“或”操作,連接到了一起,再連接到前級(jí)axis_register_slice的輸入,保證只要有一個(gè)framebuffer_write在工作,前面的模塊就能向后輸出數(shù)據(jù)。

devicetree

對(duì)于上述的硬件設(shè)計(jì),對(duì)應(yīng)的V4L2的devicetree如下:

&amba_pl {

/delete-node/ axis_broadcasterhdmi_input_axis_broadcaster_0@0;

/* media-ctl prints out each node name of the video pipeline.

hdmi_brdcst_0@0: media-ctl prints it out. */

hdmi_brdcst_0_lb: hdmi_brdcst_0@0 {

compatible = “xlnx,axis-broadcaster-1.1”;

hdmi_brdcst_0_ports: ports {

#address-cells = ;

#size-cells = ;

};

};

/delete-node/ vcapaxis_broad_out1hdmi_input_axis_broadcaster_0;

/delete-node/ vcap_hdmi_input_v_proc_ss_0;

/* vcap_hdmi_brdcst_0: media-ctl prints it out. */

vcap_hdmi_brdcst_0 {

compatible = “xlnx,video”;

dma-names = “port0”, “port1”;

dmas = , ;

/* vcap_hdmi_brdcst_0_ports: Linux prints it out in log. */

vcap_hdmi_brdcst_0_ports: ports {

#address-cells = ;

#size-cells = ;

vcap_broadcaster_0_port1: port@0 {

direction = “input”;

reg = ;

/* Video input pipeline 1:

hdmi_rx_ss --》 broadcaster_0 : 1 --》 v_proc_ss_0 --》 v_frmbuf_wr_1

hdmi_rx_ss : source_to_axis_broad_in0_from_v_hdmi_rx_ss_0

broadcaster_0 : out 1 : port2 :: src_to_vpss0_from_broad_port2_hwout1

v_proc_ss_0 @a0040000 port@0 :: sink_to_vpss0_from_broad_port2_hwout1

v_proc_ss_0 @a0040000 port@1 :: src_to_frmbuf_wr1_from_vpss_0

v_frmbuf_wr_1 @a0080000 :: hdmi_input_v_frmbuf_wr_1

*/

sink_to_frmbuf_wr1_from_vpss_0: endpoint {

remote-endpoint = ;

};

};

vcap_broadcaster_0_port2: port@1 {

direction = “input”;

reg = ;

/* Video input pipeline 0:

hdmi_rx_ss --》 broadcaster_0 : 0 --》 v_frmbuf_wr_0

hdmi_rx_ss : source_to_axis_broad_in0_from_v_hdmi_rx_ss_0

broadcaster_0 : out 0 : port1 :: src_to_frmbuf_wr0_from_broad_port1_hwout0

v_frmbuf_wr_1 @a0010000 :: hdmi_input_v_frmbuf_wr_0

hdmi_input_ v_frmbuf_wr_0 hdmi_input_ axis_broadcaster_0

*/

sink_to_frmbuf_wr0_from_broad_port1_hwout0: endpoint {

remote-endpoint = ;

};

};

};

};

};

/* hdmi_input_v_hdmi_rx_ss_0: v_hdmi_rx_ss@a0000000 */

&hdmirx_porthdmi_input_v_hdmi_rx_ss_0 {

source_to_axis_broad_in0_from_v_hdmi_rx_ss_0: endpoint {

remote-endpoint = ;

};

};

&hdmi_brdcst_0_ports{

/delete-node/ axis_broad_port1hdmi_input_axis_broadcaster_0;

/delete-node/ axis_broad_port2hdmi_input_axis_broadcaster_0;

/delete-node/ axis_broad_port0hdmi_input_axis_broadcaster_0;

axis_broad_port1_hw_output0: port@1 {

reg = ;

src_to_frmbuf_wr0_from_broad_port1_hwout0: endpoint {

remote-endpoint = ;

};

};

axis_broad_port2_hw_output1: port@2 {

reg = ;

src_to_vpss0_from_broad_port2_hwout1: endpoint {

remote-endpoint = ;

};

};

axis_broad_port0_hw_input: port@0 {

reg = ;

sink_to_broad_in0__from_v_hdmi_rx_ss_0: endpoint {

remote-endpoint = ;

};

};

};

&scaler_portshdmi_input_v_proc_ss_0{

/delete-node/ port@0;

/delete-node/ port@1;

scaler_port1_v_proc_ss_0: port@1 {

/* For xlnx,video-format user needs to fill as per their requirement */

reg = ;

xlnx,video-format = ;

xlnx,video-width = ;

src_to_frmbuf_wr1_from_vpss_0: endpoint {

remote-endpoint = ;

};

};

scaler_port0_v_proc_ss_0: port@0 {

/* For xlnx,video-format user needs to fill as per their requirement */

reg = ;

xlnx,video-format = ;

xlnx,video-width = ;

sink_to_vpss0_from_broad_port2_hwout1: endpoint {

remote-endpoint = ;

};

};

};

上述的devicetree,使用了更短更好理解的標(biāo)簽名稱。

v_proc_ss的devicetree里,port@0是輸入;port@1是輸出。

broadcaster的devicetree里,port@0是輸入;port@1和port@2是輸出。

另外,V4L2的設(shè)備號(hào),根據(jù)“xlnx,video”設(shè)備里的port順序分配。 如果port@0在port@1后面,那么port@0也會(huì)被分配video1; 而port@1也會(huì)被分配video0.

審核編輯:郭婷

聲明:本文內(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)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

    213685
  • 編解碼
    +關(guān)注

    關(guān)注

    1

    文章

    145

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    ElfBoard技術(shù)貼|如何在ELF 2開(kāi)發(fā)板上部署v4l2loopback

    在嵌入式系統(tǒng)開(kāi)發(fā)領(lǐng)域,虛擬視頻設(shè)備技術(shù)正成為實(shí)現(xiàn)多媒體功能創(chuàng)新的關(guān)鍵技術(shù)支撐。v4l2loopback作為一款功能強(qiáng)大的Linux內(nèi)核模塊,可以為視頻流處理提供靈活的路由架構(gòu),在遠(yuǎn)程協(xié)作、實(shí)時(shí)流媒體
    的頭像 發(fā)表于 06-05 14:24 ?1300次閱讀
    ElfBoard技術(shù)貼|如何在ELF <b class='flag-5'>2</b>開(kāi)發(fā)板上部署<b class='flag-5'>v4l2</b>loopback

    RA4L1_SENSOR-V1原理圖

    RA4L1_SENSOR-V1開(kāi)發(fā)板原理圖
    發(fā)表于 04-30 09:41 ?10次下載

    一文詳解Video In to AXI4-Stream IP核

    Video In to AXI4-Stream IP核用于將視頻源(帶有同步信號(hào)的時(shí)鐘并行視頻數(shù)據(jù),即同步sync或消隱blank信號(hào)或者而后者皆有)轉(zhuǎn)換成AXI4-Stream接口形式,實(shí)現(xiàn)了接口轉(zhuǎn)換。該IP還可使用VTC核,
    的頭像 發(fā)表于 04-03 09:28 ?1275次閱讀
    一文詳解<b class='flag-5'>Video</b> In to AXI<b class='flag-5'>4</b>-Stream IP核

    imx8mp無(wú)法讓RSTP正常工作怎么解決?

    :Pipeline set to: ( v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480 !
    發(fā)表于 03-27 07:43

    MHMF082L1V4M-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF082L1V4M-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF082L1V4M-MINAS A6N系列 介紹
    發(fā)表于 11-26 18:39
    MHMF082<b class='flag-5'>L1V4</b>M-MINAS A6N系列 介紹 松下

    MHMF082L1V4-操作手冊(cè) - PANATERM Ver6.0 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF082L1V4-操作手冊(cè) - PANATERM Ver6.0相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF082L1V4-操作手冊(cè)
    發(fā)表于 11-25 19:01
    MHMF082<b class='flag-5'>L1V4</b>-操作手冊(cè) - PANATERM Ver6.0 松下

    MHMF082L1V4-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF082L1V4-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF082L1V4-MINAS A6N系列 介紹的引腳
    發(fā)表于 11-25 18:52
    MHMF082<b class='flag-5'>L1V4</b>-MINAS A6N系列 介紹 松下

    MHMF042L1V4M-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF042L1V4M-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF042L1V4M-MINAS A6N系列 介紹
    發(fā)表于 10-14 19:17
    MHMF042<b class='flag-5'>L1V4</b>M-MINAS A6N系列 介紹 松下

    MHMF041L1V4-操作手冊(cè) - PANATERM Ver6.0 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF041L1V4-操作手冊(cè) - PANATERM Ver6.0相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF041L1V4-操作手冊(cè)
    發(fā)表于 09-19 18:57
    MHMF041<b class='flag-5'>L1V4</b>-操作手冊(cè) - PANATERM Ver6.0 松下

    MHMF041L1V4-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF041L1V4-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF041L1V4-MINAS A6N系列 介紹的引腳
    發(fā)表于 09-19 18:48
    MHMF041<b class='flag-5'>L1V4</b>-MINAS A6N系列 介紹 松下

    MHMF022L1V4M-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF022L1V4M-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF022L1V4M-MINAS A6N系列 介紹
    發(fā)表于 08-19 19:27
    MHMF022<b class='flag-5'>L1V4</b>M-MINAS A6N系列 介紹 松下

    MHMF022L1V4-操作手冊(cè) - PANATERM Ver6.0 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF022L1V4-操作手冊(cè) - PANATERM Ver6.0相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF022L1V4-操作手冊(cè)
    發(fā)表于 08-19 19:17
    MHMF022<b class='flag-5'>L1V4</b>-操作手冊(cè) - PANATERM Ver6.0 松下

    百問(wèn)網(wǎng)全志系列開(kāi)發(fā)板攝像頭V4L2編程步驟詳解

    7 攝像頭V4L2編程 7.1 V4L2簡(jiǎn)介 ?Video for Linux two(Video4Linux2)簡(jiǎn)稱V4L2,是
    發(fā)表于 08-13 09:45

    MHMF021L1V4-操作手冊(cè) - PANATERM Ver6.0 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF021L1V4-操作手冊(cè) - PANATERM Ver6.0相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF021L1V4-操作手冊(cè)
    發(fā)表于 07-25 19:01
    MHMF021<b class='flag-5'>L1V4</b>-操作手冊(cè) - PANATERM Ver6.0 松下

    MHMF021L1V4-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF021L1V4-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有MHMF021L1V4-MINAS A6N系列 介紹的引腳
    發(fā)表于 07-25 18:53
    MHMF021<b class='flag-5'>L1V4</b>-MINAS A6N系列 介紹 松下