xhm 发表于 2024-7-18 16:25:53

测试test_mpi_vo.cpp案例遇到drm_output_create not found enough vo interface 8000

本帖最后由 xhm 于 2024-7-18 16:28 编辑

有两个Video Port1、Video Port3可以使用:

linaro@linaro-alip:~/rockit/mpi/example/mod$ sudo cat /sys/kernel/debug/dri/0/summary
Video Port0: DISABLED
Video Port1: ACTIVE
    Connector: HDMI-A-1
    bus_format: RGB888_1X24
    overlay_mode output_mode color_space, eotf:0
    Display mode: 1920x1080p60
    clk real_clk type flag
    H: 1920 2008 2052 2200
    V: 1080 1084 1089 1125
    Esmart1-win0: ACTIVE
    win_id: 10
    format: XR24 little-endian (0x34325258) SDR color_space glb_alpha
    rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
    csc: y2r r2y csc mode
    zpos: 1
    src: pos rect
    dst: pos rect
    buf: addr: 0x00000000017c3000 pitch: 7680 offset: 0
Video Port2: DISABLED
Video Port3: ACTIVE
    Connector: DPI-1
    bus_format: YUYV8_1X16
    overlay_mode output_mode color_space, eotf:0
    Display mode: 1920x1080p60
    clk real_clk type flag
    H: 1920 2008 2052 2200
    V: 1080 1084 1089 1125
    Esmart3-win0: ACTIVE
    win_id: 11
    format: XR24 little-endian (0x34325258) SDR color_space glb_alpha
    rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
    csc: y2r r2y csc mode
    zpos: 3
    src: pos rect
    dst: pos rect
    buf: addr: 0x0000000002795000 pitch: 7680 offset: 0

在test_mpi_vo.cpp中作如下设置:VoDev=3,stVoPubAttr.enIntfType = VO_INTF_DP,相当于调用Video Port3设备,类型为DP。
/* Bind Layer */
    VoLayer = RK356X_VOP_LAYER_ESMART_3; //3
    VoDev   = RK356X_VO_DEV_HD3; //3
    if (ctx->bDoubleScreen) {
      VoLayer_second = 3; // RK356X_VOP_LAYER_ESMART_0
      VoDev_second   = 3; //RK356X_VOP_LAYER_ESMART_1
      RK_MPI_VO_BindLayer(VoLayer_second, VoDev_second, VO_LAYER_MODE_GRAPHIC);
    }
    Sample_Print("1.2..................................");

    RK_MPI_VO_BindLayer(VoLayer, VoDev, VO_LAYER_MODE_GRAPHIC);

    if (ctx->bHomologous) {
      stVoPubAttr.enIntfType = VO_INTF_HDMI | VO_INTF_EDP;
      stVoPubAttr.u32BgColor = 0x000000;
    } else {
      stVoPubAttr.enIntfType = VO_INTF_DP;//VO_INTF_HDMI
    }


编译执行后LOG如下:报错drm_output_create not found enough vo interface 8000

./rk_mpi_vo_test
cmpi             12:38:46-079 {main            :2431} 1.......................................

cmpi             12:38:46-079 {main            :2434} 1.1......................................

cmpi             12:38:46-080 {main            :2437} 2.......................................

cmd parse result:
vop device id                   : 0
vop layer id                  : 0
window size                     : 4
connector type                  : 0
display mode                  : 16
layer mode                      : 1
display resolution rect X       : 0
display resolution rect Y       : 0
display pixel format            : 5
display resolution width      : 1920
display resolution height       : 1080
display resolution0 width       : 1920
display resolution0 height      : 1080
display resolution1 width       : 1920
display resolution1 height      : 1080
double screen                   : 0
display rate                  : 30
display rate ratio            : 1
chn display mode                : 0
chn Border lpx                  : 2
chn Border rpx                  : 2
chn Border tpx                  : 2
chn Border bpx                  : 2
video aspect ratio mode         : 1
input ImgWidth                  : 1920
input ImgHeight               : 1080
ui                              : 1
loopcount                     : 10
ui alpha                        : 0
wbc enable                      : 0
wbc bind enable               : 0
wbc width                     : 1024
wbc height                      : 768
wbc compress mode               : 0
wbc pixel format                : 3
wbc source type               : 1
wbc souce id                  : 0
cmpi             12:38:46-083 {main            :2567} n............................
RKSockServer   12:38:46-084 {initServer      :056} proto:tcp, hostname:127.0.0.1, path:, port:3893
RKSockServer   12:38:46-084 {initNetServer   :071} binding to host:127.0.0.1, port:3893
RKSockServer   12:38:46-084 {initNetServer   :093} sock server initialize succeed
rt_pthread       12:38:46-097 {setPriority       :424} setpriority from pthread failed!
rk-debug init version=3.78,args, threadId=547464176048
arm_release_ver: g13p0-01eac0, rk_so_ver: 3
rk-debug setupGraphicsRenderRGB
rk-debug setupGraphicsRenderRGB
rt_pthread       12:38:46-247 {setPriority       :424} setpriority from pthread failed!
rk-debug init version=3.78,args, threadId=547339891120
rk-debug setupGraphicsRenderRGB
rk-debug setupGraphicsRenderRGB
cmpi             12:38:46-353 {main            :2586} ctx.ui........................................

RTAllocatorStore 12:38:46-353 {fetchCommAllocator:153} create common allocator, type 0, flag 0
cmpi             12:38:46-361 {Sample_VO_GetPictu:1162} 1920x1080 1920x1080

cmpi             12:38:46-369 {Sample_VO_GetPictu:1162} 1920x1080 1920x1080

cmpi             12:38:46-370 {Sample_VO_Demo_UI :1786} Single HDMI Screen UI Demo test
cmpi             12:38:46-370 {Sample_VO_Demo_UI :1796} 1.2..................................
drm_get_vo_type connector 18 1 out of vo intf type range
drm_event      12:38:46-894 {drm_event_thread:306} event thread start
mpi_vo         12:38:46-899 {vo_init         :137} vo version 0.01t compiled Sep7 2022 21:05:13
cmpi             12:38:46-900 {Sample_VO_Demo_UI :1806} 1.3..................................
cmpi             12:38:46-900 {Sample_VO_Demo_UI :1808} 1.4..................................
cmpi             12:38:46-900 {Sample_VO_StartDev:1391} 1.10..................................
cmpi             12:38:46-900 {Sample_VO_StartDev:1394} 1.11..................................
drm_output_create not found enough vo interface 8000
cmpi             12:38:46-900 {Sample_VO_StartDev:1401} 1.13..................................
cmpi             12:38:46-900 {Sample_VO_StartDev:1402} 2684977170
cmpi             12:38:46-900 {Sample_VO_StartDev:1404} 1.14RK_FAILURE..................................
cmpi             12:38:46-900 {Sample_VO_Demo_UI :1810} 1.5..................................
mpi_vo         12:38:46-900 {RK_MPI_VO_SetLayer:902} Layer 3 binded VoDev 3 is not enabled
cmpi             12:38:46-900 {Sample_VO_Demo_UI :1820} 1.6..................................
mpi_vo         12:38:56-903 {RK_MPI_VO_DisableL:1093} layer 3 had already been diabled
drm_event      12:38:57-907 {drm_event_thread:333} drm event thread exit
cmpi             12:38:57-908 {main            :2595} test running ok.

备注:Video Port1可以正常使用,通过HDMI类型调用,正常出图象。Video Port3会出错,这是为什么呢?


darennet 发表于 2024-8-20 10:57:40

Hi:
请问原因是什么?问题解决了吗?
页: [1]
查看完整版本: 测试test_mpi_vo.cpp案例遇到drm_output_create not found enough vo interface 8000