mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-22 23:28:16 +00:00
x264enc: Port to GstVideoEncoder baseclass
Conflicts: configure.ac ext/x264/gstx264enc.c ext/x264/gstx264enc.h Back to 0.10 state, needs to be ported to 0.11 again.
This commit is contained in:
parent
2ec36a9c0a
commit
4fbb1a042e
3 changed files with 392 additions and 491 deletions
|
@ -357,7 +357,7 @@ AG_GST_CHECK_FEATURE(TWOLAME, [twolame], twolame, [
|
|||
dnl *** x264 (MPEG-4 part 10/h.264/AVC encoder) ***
|
||||
translit(dnm, m, l) AM_CONDITIONAL(USE_X264, true)
|
||||
AG_GST_CHECK_FEATURE(X264, [x264 plug-in], x264, [
|
||||
AG_GST_PKG_CHECK_MODULES(X264, x264 >= 0.106.0)
|
||||
AG_GST_PKG_CHECK_MODULES(X264, x264 >= 0.120.0)
|
||||
])
|
||||
|
||||
else
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/video/video.h>
|
||||
#include <gst/video/gstvideoencoder.h>
|
||||
#include "_stdint.h"
|
||||
#include <x264.h>
|
||||
|
||||
|
@ -44,13 +45,9 @@ typedef struct _GstX264EncClass GstX264EncClass;
|
|||
|
||||
struct _GstX264Enc
|
||||
{
|
||||
GstElement element;
|
||||
GstVideoEncoder element;
|
||||
|
||||
/*< private >*/
|
||||
GstPad *sinkpad;
|
||||
GstPad *srcpad;
|
||||
GstSegment segment;
|
||||
|
||||
x264_t *x264enc;
|
||||
x264_param_t x264param;
|
||||
gint current_byte_stream;
|
||||
|
@ -93,14 +90,12 @@ struct _GstX264Enc
|
|||
gint psy_tune;
|
||||
guint tune;
|
||||
GString *tunings;
|
||||
gint profile;
|
||||
GString *option_string_prop; /* option-string property */
|
||||
GString *option_string; /* used by set prop */
|
||||
|
||||
/* input description */
|
||||
GstVideoInfo info;
|
||||
|
||||
/* for b-frame delay handling */
|
||||
GQueue *delay;
|
||||
GstVideoCodecState *input_state;
|
||||
|
||||
guint8 *buffer;
|
||||
gulong buffer_size;
|
||||
|
@ -112,14 +107,11 @@ struct _GstX264Enc
|
|||
const gchar *peer_profile;
|
||||
gboolean peer_intra_profile;
|
||||
const x264_level_t *peer_level;
|
||||
|
||||
GstClockTime pending_key_unit_ts;
|
||||
GstEvent *force_key_unit_event;
|
||||
};
|
||||
|
||||
struct _GstX264EncClass
|
||||
{
|
||||
GstElementClass parent_class;
|
||||
GstVideoEncoderClass parent_class;
|
||||
};
|
||||
|
||||
GType gst_x264_enc_get_type (void);
|
||||
|
|
Loading…
Reference in a new issue