Steps to Run The Commands - 2023.1 English

H.264/H.265 Video Codec Unit v1.2 Solutions LogiCORE IP Product Guide (PG252)

Document ID
PG252
Release Date
2023-05-16
Version
2023.1 English
  1. Boot using the above images and run the following commands for QoS settings:
    devmem 0xfd3b0008 w 0x3 #DEC0, DEC1<->HP3_FPD
    devmem 0xfd3b001c w 0x3
    devmem 0xfd3b0004 w 0xf
    devmem 0xfd3b0018 w 0xf 
    devmem 0xfd390008 w 0x3 #ENC1<->HP1_FPD   
    devmem 0xfd39001c w 0x3          
    devmem 0xfd390004 w 0xf 
    devmem 0xfd390018 w 0xf 
    devmem 0xfd3a0008 w 0x3 #ENC0<->HP2_FPD
    devmem 0xfd3a001c w 0x3  
    devmem 0xfd3a0004 w 0xf
    devmem 0xfd3a0018 w 0xf
    devmem 0xfd360008 w 0x3 #MCU<->HPC0
    devmem 0xfd36001c w 0x3
    devmem 0xfd360004 w 0x7
    devmem 0xfd360018 w 0x7
  2. Set XV20 for mem2mem video node:
    v4l2-ctl -d /dev/video0 --set-fmt-video=width=3840, height=2160, pixelformat='XV20'
    Note: The format will vary based on the format that you are using. For example:
    • XV20 when using 4:2:2 10-bit
    • NV12 when using 4:2:0 8-bit
    GStreamer Pipeline Example for Measuring Performance
    gst-launch-1.0 filesrc location="/run/1600frames.h264" ! h264parse ! queue ! omxh264dec internal-entropy-buffers=7 ! queue max-size-bytes=0 ! v4l2convert output-io-mode=5 capture-io-mode=4 disable-passthrough=1 import-buffer-alignment=true! omxh265enc num-slices=8 prefetch-buffer=true ! fpsdisplaysink name=fpssink text-overlay=false video-sink="fakesink sync=false" sync=false -v
    GStreamer Pipeline to Run Transcode (Decode to Encode)
    gst-launch-1.0 filesrc location="/run/1600frames.h264"! h264parse! queue! omxh264dec internal-entropy-buffers=7! queue max-size-bytes=0! v4l2convert output-io-mode=5 capture-io-mode=4 disable-passthrough=1 import-buffer-alignment=true! omxh265enc num-slices=8 prefetch-buffer=true! filesink location="op.h265"
    Note: A V4L2convert is required for the transcode usecase when encoder and decoder are using different DDRs. For example, the encoder is using PS and the decoder is using PL. These configuration of using separate DDR is used to achieve performance.