[Bug 786320] vaapih264enc: disable periodic keyframe

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Feb 14 14:59:01 UTC 2018


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

Víctor Manuel Jáquez Leal <vjaquez at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #365492|none                        |needs-work
             status|                            |

--- Comment #10 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
Review of attachment 365492:
 --> (https://bugzilla.gnome.org/review?bug=786320&attachment=365492)

::: gst-libs/gst/vaapi/gstvaapiencoder.c
@@ +165,3 @@
       g_param_spec_uint ("keyframe-period",
           "Keyframe Period",
+          "Maximal distance between two keyframes (0: auto-calculate)", 1,
G_MAXINT,

Reading the libva code, this value boils down to a uint32 variable
(https://github.com/intel/libva/blob/master/va/va_enc_h264.h#L171 and
https://github.com/intel/libva/blob/master/va/va_enc_hevc.h#L175)

But G_MAXINT is platform specific, so rethinking it again, I would say it is
better to set it to G_MAXINT32

Another bug there is that we are saying that 0 is auto-calculate but we are not
allowing to set zero, since 1 is the minimal value permitted.

::: gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h
@@ +32,2 @@
 /* Define the maximum IDR period */
+#define MAX_IDR_PERIOD G_MAXINT

This is as sensible option, but I don't feel comfortable with it. Perhaps it is
a better idea to remove that macro and replace its usage with G_MAXINT32,
because we would be only hiding the fact that the max keyframe period is only
bounded by the int32 max value, not a "magic number" as it was before (512).

-- 
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