[Bug 783829] omxh264enc: unclear 'interval-intraframes' property

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Jun 15 17:50:08 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=783829

Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nicolas at ndufresne.ca

--- Comment #1 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
(In reply to Guillaume Desmottes from comment #0)
> The omxh264enc element has this property:
> 
>   interval-intraframes: Interval of coding Intra frames
> (0xffffffff=component default)
> 
> If set, it will override the OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames
> setting (section 4.3.27 in the spec,
> https://www.khronos.org/registry/OpenMAX-IL/specs/
> OpenMAX_IL_1_1_2_Specification.pdf ) which is defined as:
> "nPFrames specifies coding of a frame as Intra (non-inclusive of the first
> frame)
> after every nPFrames of Inter frames."
> So the number of P frames between each I frame basically.

No, it says as Intra. Which means on how many P-Frames the keyframe will be
encoded into. In intra-refresh, we remove key-frame and add some key line to
each delta frames. This interval should control how many P-Frame a decoder will
need before it gets a complete image when starting from scratch or after data
lost.

> 
> A couple of things aren't clear:
> 
> - Why is it setting OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames and not
> OMX_VIDEO_PARAM_AVCTYPE.nPFrames? This setting is defined in the spec
> (4.3.18) as:

Because it's two completely different settings.

> "nPFrames is the number of P frames between I frames."
> The OMX spec isn't very clear about the difference between these two
> settings actually. If someone knows more about it please let me know.
> 
> - This definition ("Interval of coding Intra frames") doesn't account for
> potential B frames. The interval between 2 I frame is actually nPFrames +
> nBFrames.

This is quite clear to me, if you understand what Intra Frame coding is.

> 
> We'd need a gst setting to set nBFrames as well so we could make things
> clearer for the 'interval-intraframes' property in the meantime. But first
> we should clarify the OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames vs
> OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames distinction.

Done.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list