AnsweredAssumed Answered

i.MX8MM H.264 Features

Question asked by JP Arnaud on Aug 13, 2019
Latest reply on Aug 16, 2019 by Joan Xie

IMX8MMRM-i.MX 8M Mini Applications Processor Reference Manual, Rev. 1, 03/2019, page 4778 onwards describes the features of the VPU_H1 encoder that is available on the iMX8MMini.

 

Running "gst-inspect-1.0  vpuenc_h264" yields a very limited set of controllable properties.

 

From what I can see, only the bitrate, GOP and Q factors can be adjusted (see listing below).

 

How are we meant to make use of the other features of the encoder (setting the profile, CBR vs VBR, etc.) Do you expect us to edit the drivers (imx-hantro.so) and GStreamer vpuenc_h264 plugin ourselves? Looking at the doc, I doubt we have enough information to do that... Or am I missing something?

 

From what I can see others have asked similar questions but I don't think there has been a clear answer given so far:

i.MX8MM h.264 main profile support 

i.MX8M Mini VPU: Changing H.264 Profile 

 

Rank                     primary + 1 (257)
Long-name                IMX VPU-based AVC/H264 video encoder
...
Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "vpuenc_h264-0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  qos                 : Handle Quality-of-Service events from downstream
                        flags: readable, writable
                        Boolean. Default: false
  bitrate             : set bit rate in kbps (0 for automatic)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 2147483647 Default: 0
  gop-size            : How many frames a group-of-picture shall contain
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 32767 Default: 30
  quant               : set quant value: H.264(0-51) (-1 for automatic)
                        flags: readable, writable
                        Integer. Range: -1 - 51 Default: -1

Outcomes