This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Video h.264 high profile (HP) and main profile (MP) produce h.264 base profile (BP) output on 8148 gstreamer gst-launch

I am trying to produce h.264 High profile or Main profle with gst-launch ( gstreamer ) on 8148 and with ti-ezsdk_dm814x-evm_5_03_01_15

It doesn't seems to work. All the output are in base profile and with no b frames. Actually the files are the exact same size, it looks like the profile and level setting are just ignored. Also i would like to know if there is a way to select b-frames presence/count and pick cabac/cavlc.

I would like to know if I am doing something wrong. if not is this is a known bug? and is there a fix or a work around for this.

gst-launch -v videotestsrc num-buffers=1000 !omx_h264enc input-buffers=2 output-buffers=2  bitrate=200000 profile=1 level=256 ! queue !filesink location=sample.264

gst-launch -v videotestsrc num-buffers=1000 !omx_h264enc input-buffers=2 output-buffers=2  bitrate=200000 profile=2 level=256 ! queue !filesink location=sample.264

This one should be h.264 high profile level 4.1

gst-launch -v videotestsrc num-buffers=1000 !omx_h264enc input-buffers=2 output-buffers=2  bitrate=200000 profile=8 level=4096 ! queue !filesink location=sample.264

from gst-inspect omx_h264enc

profile : H.264 Profile
flags: readable, writable
Enum "GstOmxVideoAVCProfile" Default: 8, "high" Current: 1, "base
"
(1): base - Base Profile
(2): main - Main Profile
(4): extended - Extended Profile
(8): high - High Profile
(16): high-10 - High 10 Profile
(32): high-422 - High 4:2:2 Profile
(64): high-444 - High 4:4:4 Profile
level : H.264 Level
flags: readable, writable
Enum "GstOmxVideoAVCLevel" Default: 2048, "level-4" Current: 8192
, "level-42"
(1): level-1 - Level 1
(2): level-1b - Level 1b
(4): level-11 - Level 11
(8): level-12 - Level 12
(16): level-13 - Level 13
(32): level-2 - Level 2
(64): level-21 - Level 21
(128): level-22 - Level 22
(256): level-3 - Level 3
(512): level-31 - Level 31
(1024): level-32 - Level 32
(2048): level-4 - Level 4
(4096): level-41 - Level 41
(8192): level-42 - Level 42
(16384): level-5 - Level 5
(32768): level-51 - Level 51

  • 5.0.4.0.11 is able to produce MP and HP but there is still no B-frames coming out of the encoder.

    Also that option encodingPreset=1,2,4 other setting don't seems to work.

    encodingPreset : Specifies which encoding preset to use

    flags: readable, writable
    Enum "GstOmxVideoEncoderPreset" Default: 3, "hsmq" Current: 3, "hsmq"
    (1): hq - High Quality
    (2): user - User Defined
    (3): hsmq - High Speed Med Qual
    (4): msmq - Med Speed Med Qaul
    (5): mshq - Med Speed High Qaul
    (6): hs - High Speed
    rateControlPreset : Specifies what rate control preset to use
    flags: readable, writable

    the low-delay options seems to be not work either when set to 1. ( I this could be a way to enable B-frames )

    Enum "GstOmxVideoRateControlPreset" Default: 0, "low-delay" Current: 0, "low-delay"
    (0): low-delay - Low Delay
    (1): storage - Storage
    (2): two-pass - Two Pass
    (3): none - none