[gstreamer-bugs] [Bug 607798] x264enc needs updating to support new features
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sat Feb 20 01:25:17 PST 2010
https://bugzilla.gnome.org/show_bug.cgi?id=607798
GStreamer | gst-plugins-ugly | git
--- Comment #14 from Jason Garrett-Glaser <darkshikari at gmail.com> 2010-02-20 03:08:21 UTC ---
I've written a patch locally to move all the preset logic into x264.h.
Here's the documentation in x264.h; is this sufficient and reasonable?
/****************************************************************************
* Advanced parameter handling functions
****************************************************************************/
/* These functions expose the full power of x264's preset-tune-profile system
for
* easy adjustment of large numbers of internal parameters.
*
* In order to replicate x264CLI's option handling, these functions MUST be
called
* in the following order:
* 1) x264_param_default_preset
* 2) Custom user options (via param_parse or directly assigned variables)
* 3) x264_param_apply_fastfirstpass
* 4) x264_param_apply_profile */
/* x264_param_default_preset:
* The same as x264_param_default, but also use the passed preset and tune
* to modify the default settings.
* (either can be NULL, which implies no preset or no tune, respectively)
*
* Currently available presets are:
* ultrafast, veryfast, faster, fast, medium, slow, slower, veryslow,
placebo
*
* Warning: the speed of these presets scales dramatically. Ultrafast is
a full
* 100 times faster than placebo!
*
* Currently available tunings are:
* film, animation, grain, psnr, ssim, fastdecode, zerolatency
*
* Multiple tunings can be used if separated by a delimiter in ",./-+",
* however multiple psy tunings cannot be used.
* film, animation, grain, psnr, and ssim are psy tunings.
*
* returns 0 on success, negative on failure (e.g. invalid preset/tune
name). */
int x264_param_default_preset( x264_param_t *, const char *preset, const
char *tune );
/* x264_param_apply_fastfirstpass:
* If first-pass mode is set (rc.b_stat_read == 1, rc.b_stat_write == 0),
* modify the encoder settings to disable options generally not useful on
* the first pass. */
void x264_param_apply_fastfirstpass( x264_param_t * );
/* x264_param_apply_profile:
* Applies the restrictions of the given profile.
* Currently available profiles are: high, main, baseline
* (can be NULL, in which case the function will do nothing)
*
* Does NOT guarantee that the given profile will be used: if the
restrictions
* of "High" are applied to settings that are already Baseline-compatible,
the
* stream will remain baseline. In short, it does not increase settings,
only
* decrease them.
*
* returns 0 on success, negative on failure (e.g. invalid profile name).
*/
int x264_param_apply_profile( x264_param_t *, const char *profile );
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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