mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 05:06:17 +00:00
x264enc: Update available me types
Use the x264_motion_est_names[] array to populate the enum of ME types. This is now self-maintaining.
This commit is contained in:
parent
d6f766d10f
commit
ac6b656ed3
1 changed files with 18 additions and 9 deletions
|
@ -204,17 +204,26 @@ static GType
|
||||||
gst_x264_enc_me_get_type (void)
|
gst_x264_enc_me_get_type (void)
|
||||||
{
|
{
|
||||||
static GType me_type = 0;
|
static GType me_type = 0;
|
||||||
static const GEnumValue me_types[] = {
|
static GEnumValue *me_types;
|
||||||
{X264_ME_DIA, "diamond search, radius 1 (fast)", "dia"},
|
int n, i;
|
||||||
{X264_ME_HEX, "hexagonal search, radius 2", "hex"},
|
|
||||||
{X264_ME_UMH, "uneven multi-hexagon search", "umh"},
|
|
||||||
{X264_ME_ESA, "exhaustive search (slow)", "esa"},
|
|
||||||
{0, NULL, NULL}
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!me_type) {
|
if (me_type != 0)
|
||||||
me_type = g_enum_register_static ("GstX264EncMe", me_types);
|
return me_type;
|
||||||
|
|
||||||
|
n = 0;
|
||||||
|
while (x264_motion_est_names[n] != NULL)
|
||||||
|
n++;
|
||||||
|
|
||||||
|
me_types = g_new0 (GEnumValue, n + 1);
|
||||||
|
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
me_types[i].value = i;
|
||||||
|
me_types[i].value_name = x264_motion_est_names[i];
|
||||||
|
me_types[i].value_nick = x264_motion_est_names[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
me_type = g_enum_register_static ("GstX264EncMe", me_types);
|
||||||
|
|
||||||
return me_type;
|
return me_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue