How to do hardware decoding of video?
#10
???
  • downloaded and flashed bionic-lxde-rock64-0.7.9-1067-arm64.img
  • downloaded free movie bbb-1920x1080-cfg06.mkv
  • test run
    Code:
    $ ### alsa/plughw:CARD=I2S,DEV=0 audio output is analog jack
    $ ### only 3 frames dropped (10 min video played), no errors, smooth video play
    $ rkmpv --audio-device=alsa/plughw:CARD=I2S,DEV=0 bbb-1920x1080-cfg06.mkv
    Playing: bbb-1920x1080-cfg06.mkv
    (+) Video --vid=1 (*) (hevc 1920x1080 60.000fps)
    (+) Audio --aid=1 (*) (aac 6ch 48000Hz)
    [vo/gpu] Can't handle VT release - signal already used
    [vo/gpu/opengl] Failed to set up VT switcher. Terminal switching will be unavailable.
    [vo/gpu/opengl] Could not choose EGLConfig!
    mpi: mpp version: Without VCS, under bleeding
    AO: [alsa] 48000Hz stereo 2ch float
    H265D_PARSER: No start code is found.
    Using hardware decoding (rkmpp).
    VO: [gpu] 1920x1080 drm_prime[nv12]
    [vo/gpu] Using HW-overlay mode. No GL filtering is performed on the video!
    AV: 00:10:34 / 00:10:34 (99%) A-V:  0.000 Dropped: 3
  • verify video chain during video play
    Code:
    $ sudo bash

    # ### verify rkvdec is active (eg. HW decode)
    # cat /sys/kernel/debug/pm_genpd/pm_genpd_summary
    domain                          status          slaves
        /device                                             runtime status
    ----------------------------------------------------------------------
    pd_vpu                          off            
        /devices/platform/ff350800.iommu                    suspended
        /devices/platform/vpu_combo                         suspended
    pd_video                        on              
        /devices/platform/ff360480.iommu                    active
        /devices/platform/ff360000.rkvdec                   active
    pd_hevc                         on              
        /devices/platform/ff330200.iommu                    suspended
        /devices/platform/ff340800.iommu                    suspended
        /devices/platform/ff330000.h265e                    unsupported
        /devices/platform/ff340000.vepu                     unsupported

    # ### default clock running without overclocking (not needed for 1080p)
    # egrep 'armclk |aclk_rkvdec |cabac |vdec_core |ddrc ' /sys/kernel/debug/clk/clk_summary
                 armclk                       0            0   408000000          0 0  
                 aclk_rkvdec                  3            4   491519999          0 0  
              sclk_vdec_core                  2            3   300000000          0 0  
              sclk_vdec_cabac                 2            3   400000000          0 0  
              sclk_ddrc                       2            2   786000000          0 0  

    # ### video is rendered to "win1-0" (on foreground, hw scaled from 1080p to monitor resolution), "win0-0" is Xorg with LXDE (on background)
    # cat /sys/kernel/debug/dri/0/summary
    VOP [ff370000.vop]: ACTIVE
        Connector: HDMI-A
        overlay_mode[0] bus_format[100a] output_mode[f] color_space[0]
        Display mode: 1280x1024p60
        clk[108000] real_clk[108000] type[48] flag[5]
        H: 1280 1328 1440 1688
        V: 1024 1025 1028 1066
        win0-0: ACTIVE
        format: AR24 little-endian (0x34325241) SDR[0] color_space[0]
        csc: y2r[0] r2r[0] r2y[0] csc mode[0]
        zpos: 1
        src: pos[0x0] rect[1280x1024]
        dst: pos[0x0] rect[1280x1024]
        buf[0]: addr: 0x000000000299b000 pitch: 5120 offset: 0
        win1-0: ACTIVE
        format: NV12 little-endian (0x3231564e) SDR[0] color_space[3]
        csc: y2r[1] r2r[0] r2y[0] csc mode[1]
        zpos: 0
        src: pos[0x0] rect[1920x1080]
        dst: pos[0x152] rect[1280x720]
        buf[0]: addr: 0x0000000003b6d000 pitch: 2304 offset: 0
        buf[1]: addr: 0x0000000003b6d000 pitch: 2304 offset: 2488320
        win2-0: DISABLED
        post: sdr2hdr[0] hdr2sdr[0]
        pre : sdr2hdr[0]
        post CSC: r2y[0] y2r[0] CSC mode[1]
I left this community in Aug 2019 due to PINE64 refusal to produce/deliver ROCK64-1G version 3 after more than one year of changing statuses to "planning", "evaluating", "releasing", "availability", "estimated availability" and finally "no schedule" Angry. ROCK64 is dead platform without any advantage. Buy Raspberry PI 4 !
Away
  Reply


Messages In This Thread
RE: How to do hardware decoding of video? - by mcerveny - 08-28-2018, 01:39 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to Change Video Memory Amount gazhow64 0 979 12-10-2022, 04:12 PM
Last Post: gazhow64
  The state of mainline hardware decoding CounterPillow 17 18,076 01-26-2022, 03:39 PM
Last Post: sigmaris
  Hardware acceleration using FFmpeg gusarg81 0 3,097 08-21-2020, 01:36 PM
Last Post: gusarg81
  Hardware Status Monitoring? Leapo 7 16,515 03-15-2020, 08:44 AM
Last Post: bendem
Information New Builds from ayufan (0.8.X) w Video/3D/Mate desktop Luke 37 58,719 09-09-2019, 04:01 AM
Last Post: ayufan
  Video : Media Script for the Rock64/4K video in Linux NicoD 1 4,602 03-30-2019, 02:17 AM
Last Post: zet_lab
  hardware-accelerated video transcoding (Plex) on Rock64 mdr 2 8,082 02-07-2019, 03:42 PM
Last Post: mdr
  Running debian testing, web video blows :( dougunder 2 4,142 04-22-2018, 03:24 PM
Last Post: dougunder
  Available video players with hw decoder support dlu 27 47,738 03-01-2018, 11:45 AM
Last Post: elik745i
Lightbulb MPP+DRM: low level API for video codecs and display (also 4k UHD+HDR+HLG) mcerveny 0 3,358 01-27-2018, 11:23 AM
Last Post: mcerveny

Forum Jump:


Users browsing this thread: 2 Guest(s)