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:
Nicolas Dufresne 2012-04-17 15:44:24 -04:00 committed by Sebastian Dröge
parent 2ec36a9c0a
commit 4fbb1a042e
3 changed files with 392 additions and 491 deletions

View file

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

View file

@ -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);