diff options
Diffstat (limited to 'src/combined/ffmpeg')
-rw-r--r-- | src/combined/ffmpeg/Makefile.am | 61 | ||||
-rw-r--r-- | src/combined/ffmpeg/ff_audio_decoder.c | 162 | ||||
-rw-r--r-- | src/combined/ffmpeg/ff_dvaudio_decoder.c | 37 | ||||
-rw-r--r-- | src/combined/ffmpeg/ff_mpeg_parser.h | 2 | ||||
-rw-r--r-- | src/combined/ffmpeg/ff_video_decoder.c | 330 | ||||
-rw-r--r-- | src/combined/ffmpeg/ffmpeg_decoder.c | 281 | ||||
-rw-r--r-- | src/combined/ffmpeg/ffmpeg_decoder.h | 4 | ||||
-rw-r--r-- | src/combined/ffmpeg/ffmpeg_encoder.c | 4 |
8 files changed, 294 insertions, 587 deletions
diff --git a/src/combined/ffmpeg/Makefile.am b/src/combined/ffmpeg/Makefile.am index 3c78fa9d3..3f8f6fa26 100644 --- a/src/combined/ffmpeg/Makefile.am +++ b/src/combined/ffmpeg/Makefile.am @@ -1,47 +1,60 @@ include $(top_srcdir)/misc/Makefile.common -DEFAULT_INCLUDES = -I. +AM_CFLAGS = $(DEFAULT_OCFLAGS) $(VISIBILITY_FLAG) +AM_CPPFLAGS = $(ZLIB_CPPFLAGS) +AM_LDFLAGS = $(xineplug_ldflags) -if HAVE_FFMPEG -ff_cppflags = $(FFMPEG_CFLAGS) $(FFMPEG_POSTPROC_CFLAGS) +if WITH_EXTERNAL_FFMPEG +AM_CPPFLAGS += $(FFMPEG_CFLAGS) $(FFMPEG_POSTPROC_CFLAGS) link_ffmpeg = $(FFMPEG_LIBS) $(FFMPEG_POSTPROC_LIBS) else -ff_cppflags = -I$(top_builddir)/src/libffmpeg -I$(top_srcdir)/src/libffmpeg/libavcodec -I$(top_srcdir)/src/libffmpeg/libavutil -link_ffmpeg = \ - $(top_builddir)/src/libffmpeg/libavcodec/libavcodec.la \ - $(top_builddir)/src/libffmpeg/libavutil/libavutil.la \ - $(top_builddir)/src/libffmpeg/libavcodec/libpostproc/libpostprocess.la -endif +AM_CPPFLAGS += -I$(top_srcdir)/contrib/ffmpeg +link_ffmpeg = $(top_builddir)/contrib/ffmpeg/libavcodec/libavcodec.a \ + $(top_builddir)/contrib/ffmpeg/libavutil/libavutil.a \ + $(top_builddir)/contrib/ffmpeg/libpostproc/libpostproc.a + +$(top_builddir)/contrib/ffmpeg/libavcodec/libavcodec.a: + $(MAKE) -C $(top_builddir)/contrib/ ffmpeg/libavcodec/libavcodec.a + +$(top_builddir)/contrib/ffmpeg/libavutil/libavutil.a: + $(MAKE) -C $(top_builddir)/contrib/ ffmpeg/libavutil/libavutil.a + +$(top_builddir)/contrib/ffmpeg/libpostproc/libpostproc.a: + $(MAKE) -C $(top_builddir)/contrib/ ffmpeg/libpostproc/libpostproc.a + +$(top_builddir)/contrib/ffmpeg/config.h: + $(MAKE) -C $(top_builddir)/contrib/ ffmpeg/config.mak -# ffmpeg_config.h is generated by configure -DISTCLEANFILES = ffmpeg_config.h +ffmpeg_config.h: $(top_builddir)/contrib/ffmpeg/config.h + cp $(top_builddir)/contrib/ffmpeg/config.h ffmpeg_config.h + +BUILT_SOURCES = ffmpeg_config.h +CLEANFILES = $(BUILT_SOURCES) + +endif # this must always be included, even if the current machine has no DXR3... EXTRA_DIST = ffmpeg_encoder.c xineplug_LTLIBRARIES = xineplug_decode_ff.la xineplug_decode_dvaudio.la -if HAVE_DXR3 -AM_CPPFLAGS = -I$(top_srcdir)/src/dxr3 $(X_CFLAGS) $(ff_cppflags) \ - $(ZLIB_CPPFLAGS) +if ENABLE_DXR3 +AM_CFLAGS += $(X_CFLAGS) +AM_CPPFLAGS += -I$(top_srcdir)/src/dxr3 xineplug_decode_ff_la_SOURCES = ffmpeg_decoder.c ff_audio_decoder.c ff_video_decoder.c \ ffmpeg_encoder.c ff_mpeg_parser.c ffmpeg_decoder.h \ ff_mpeg_parser.h else -AM_CPPFLAGS = $(ff_cppflags) $(ZLIB_CPPFLAGS) xineplug_decode_ff_la_SOURCES = ffmpeg_decoder.c ff_audio_decoder.c ff_video_decoder.c \ ff_mpeg_parser.c ffmpeg_decoder.h ff_mpeg_parser.h endif -xineplug_decode_ff_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) -xineplug_decode_ff_la_LDFLAGS = $(xineplug_ldflags) $(IMPURE_TEXT_LDFLAGS) +nodist_xineplug_decode_ff_la_SOURCES = ffmpeg_config.h + xineplug_decode_ff_la_LIBADD = $(XINE_LIB) $(MLIB_LIBS) -lm $(ZLIB_LIBS) \ $(link_ffmpeg) $(PTHREAD_LIBS) $(LTLIBINTL) +xineplug_decode_ff_la_LDFLAGS = $(AM_LDFLAGS) $(IMPURE_TEXT_LDFLAGS) -xineplug_decode_dvaudio_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) -xineplug_decode_dvaudio_la_LDFLAGS = $(xineplug_ldflags) -xineplug_decode_dvaudio_la_SOURCES = ff_dvaudio_decoder.c -xineplug_decode_dvaudio_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) - -$(top_srcdir)/src/libffmpeg/libavcodec/libavcodec.la: - make -C $(top_srcdir)/src/libffmpeg +xineplug_decode_dvaudio_la_SOURCES = ff_dvaudio_decoder.c +xineplug_decode_dvaudio_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) +xineplug_decode_dvaudio_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/contrib/ffmpeg -I$(top_srcdir)/contrib/ffmpeg/libavutil diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c index 4d8e440bb..9bed7fed3 100644 --- a/src/combined/ffmpeg/ff_audio_decoder.c +++ b/src/combined/ffmpeg/ff_audio_decoder.c @@ -22,7 +22,9 @@ #ifdef HAVE_CONFIG_H #include "config.h" -#include "../../libffmpeg/ffmpeg_config.h" +# ifndef HAVE_FFMPEG +# include "ffmpeg_config.h" +# endif #endif #include <stdlib.h> @@ -38,9 +40,9 @@ #define LOG */ -#include "xine_internal.h" -#include "buffer.h" -#include "xineutils.h" +#include <xine/xine_internal.h> +#include <xine/buffer.h> +#include <xine/xineutils.h> #include "bswap.h" #include "ffmpeg_decoder.h" @@ -470,18 +472,6 @@ static audio_decoder_t *ff_audio_open_plugin (audio_decoder_class_t *class_gen, return &this->audio_decoder; } -static char *ff_audio_get_identifier (audio_decoder_class_t *this) { - return "ffmpeg audio"; -} - -static char *ff_audio_get_description (audio_decoder_class_t *this) { - return "ffmpeg based audio decoder plugin"; -} - -static void ff_audio_dispose_class (audio_decoder_class_t *this) { - free (this); -} - void *init_audio_plugin (xine_t *xine, void *data) { ff_audio_class_t *this ; @@ -489,115 +479,115 @@ void *init_audio_plugin (xine_t *xine, void *data) { this = calloc(1, sizeof (ff_audio_class_t)); this->decoder_class.open_plugin = ff_audio_open_plugin; - this->decoder_class.get_identifier = ff_audio_get_identifier; - this->decoder_class.get_description = ff_audio_get_description; - this->decoder_class.dispose = ff_audio_dispose_class; + this->decoder_class.identifier = "ffmpeg audio"; + this->decoder_class.description = N_("ffmpeg based audio decoder plugin"); + this->decoder_class.dispose = default_audio_decoder_class_dispose; pthread_once( &once_control, init_once_routine ); return this; } -static uint32_t supported_audio_types[] = { - #ifdef CONFIG_WMAV1_DECODER +static const uint32_t supported_audio_types[] = { +#if defined(HAVE_FFMPEG) || CONFIG_WMAV1_DECODER BUF_AUDIO_WMAV1, - #endif - #ifdef CONFIG_WMAV2_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_WMAV2_DECODER BUF_AUDIO_WMAV2, - #endif - #ifdef CONFIG_RA_144_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_RA_144_DECODER BUF_AUDIO_14_4, - #endif - #ifdef CONFIG_RA_288_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_RA_288_DECODER BUF_AUDIO_28_8, - #endif - #ifdef CONFIG_MP3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MP3_DECODER BUF_AUDIO_MPEG, - #endif - #ifdef CONFIG_ADPCM_MS_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_MS_DECODER BUF_AUDIO_MSADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_QT_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_IMA_QT_DECODER BUF_AUDIO_QTIMAADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_WAV_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_IMA_WAV_DECODER BUF_AUDIO_MSIMAADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_DK3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_IMA_DK3_DECODER BUF_AUDIO_DK3ADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_DK4_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_IMA_DK4_DECODER BUF_AUDIO_DK4ADPCM, - #endif - #ifdef CONFIG_ADPCM_IMA_WS_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_IMA_WS_DECODER BUF_AUDIO_VQA_IMA, - #endif - #ifdef CONFIG_ADPCM_IMA_SMJPEG_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_IMA_SMJPEG_DECODER BUF_AUDIO_SMJPEG_IMA, - #endif - #ifdef CONFIG_ADPCM_XA_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_XA_DECODER BUF_AUDIO_XA_ADPCM, - #endif - #ifdef CONFIG_ADPCM_4XM_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_4XM_DECODER BUF_AUDIO_4X_ADPCM, - #endif - #ifdef CONFIG_ADPCM_EA_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_EA_DECODER BUF_AUDIO_EA_ADPCM, - #endif - #ifdef CONFIG_PCM_MULAW_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_PCM_MULAW_DECODER BUF_AUDIO_MULAW, - #endif - #ifdef CONFIG_PCM_ALAW_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_PCM_ALAW_DECODER BUF_AUDIO_ALAW, - #endif - #ifdef CONFIG_ROQ_DPCM_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ROQ_DPCM_DECODER BUF_AUDIO_ROQ, - #endif - #ifdef CONFIG_INTERPLAY_DPCM_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_INTERPLAY_DPCM_DECODER BUF_AUDIO_INTERPLAY, - #endif - #ifdef CONFIG_MACE3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MACE3_DECODER BUF_AUDIO_MAC3, - #endif - #ifdef CONFIG_MACE6_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MACE6_DECODER BUF_AUDIO_MAC6, - #endif - #ifdef CONFIG_XAN_DPCM_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_XAN_DPCM_DECODER BUF_AUDIO_XAN_DPCM, - #endif - #ifdef CONFIG_VMDAUDIO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VMDAUDIO_DECODER BUF_AUDIO_VMD, - #endif - #ifdef CONFIG_FLAC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_FLAC_DECODER BUF_AUDIO_FLAC, - #endif - #ifdef CONFIG_SHORTEN_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_SHORTEN_DECODER BUF_AUDIO_SHORTEN, - #endif - #ifdef CONFIG_ALAC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ALAC_DECODER BUF_AUDIO_ALAC, - #endif - #ifdef CONFIG_QDM2_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_QDM2_DECODER BUF_AUDIO_QDESIGN2, - #endif - #ifdef CONFIG_COOK_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_COOK_DECODER BUF_AUDIO_COOK, - #endif - #ifdef CONFIG_TRUESPEECH_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_TRUESPEECH_DECODER BUF_AUDIO_TRUESPEECH, - #endif - #ifdef CONFIG_TTA_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_TTA_DECODER BUF_AUDIO_TTA, - #endif - #ifdef CONFIG_SMACKAUDIO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_SMACKAUDIO_DECODER BUF_AUDIO_SMACKER, - #endif - #ifdef CONFIG_ADPCM_SWF_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ADPCM_SWF_DECODER BUF_AUDIO_FLVADPCM, - #endif - #ifdef CONFIG_WAVPACK_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_WAVPACK_DECODER BUF_AUDIO_WAVPACK, - #endif +#endif 0 }; diff --git a/src/combined/ffmpeg/ff_dvaudio_decoder.c b/src/combined/ffmpeg/ff_dvaudio_decoder.c index 6a102f627..74ddbb901 100644 --- a/src/combined/ffmpeg/ff_dvaudio_decoder.c +++ b/src/combined/ffmpeg/ff_dvaudio_decoder.c @@ -36,9 +36,9 @@ #define LOG */ -#include "xine_internal.h" -#include "buffer.h" -#include "xineutils.h" +#include <xine/xine_internal.h> +#include <xine/buffer.h> +#include <xine/xineutils.h> #ifdef _MSC_VER /* ffmpeg has own definitions of those types */ @@ -54,13 +54,15 @@ #ifdef HAVE_FFMPEG_AVUTIL_H # include <avcodec.h> -#elif defined HAVE_FFMPEG -# include <libavcodec/avcodec.h> +# include <rational.h> +# define FFMPEG_AVCODEC_H +# define FFMPEG_RATIONAL_H +# define av_unused #else -# include "../../libffmpeg/libavcodec/avcodec.h" +# include <libavcodec/avcodec.h> #endif -#include "../../libffmpeg/libavcodec/dvdata.h" +#include <libavcodec/dvdata.h> /* This is not installed by FFmpeg, its usage has to be cleared up */ #ifdef _MSC_VER # undef malloc @@ -95,7 +97,6 @@ typedef struct dvaudio_decoder_s { } dvaudio_decoder_t; - /* * This is the dumbest implementation of all -- it simply looks at * a fixed offset and if pack isn't there -- fails. We might want @@ -385,18 +386,6 @@ static audio_decoder_t *dvaudio_open_plugin (audio_decoder_class_t *class_gen, x return &this->audio_decoder; } -static char *dvaudio_get_identifier (audio_decoder_class_t *this) { - return "dv audio"; -} - -static char *dvaudio_get_description (audio_decoder_class_t *this) { - return "dv audio decoder plugin"; -} - -static void dvaudio_dispose_class (audio_decoder_class_t *this) { - free (this); -} - static void *init_dvaudio_plugin (xine_t *xine, void *data) { dvaudio_class_t *this ; @@ -404,9 +393,9 @@ static void *init_dvaudio_plugin (xine_t *xine, void *data) { this = calloc(1, sizeof (dvaudio_class_t)); this->decoder_class.open_plugin = dvaudio_open_plugin; - this->decoder_class.get_identifier = dvaudio_get_identifier; - this->decoder_class.get_description = dvaudio_get_description; - this->decoder_class.dispose = dvaudio_dispose_class; + this->decoder_class.identifier = "dv audio"; + this->decoder_class.description = N_("dv audio decoder plugin"); + this->decoder_class.dispose = default_audio_decoder_class_dispose; return this; } @@ -427,6 +416,6 @@ static const decoder_info_t dec_info_dvaudio = { const plugin_info_t xine_plugin_info[] EXPORTED = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_AUDIO_DECODER, 15, "dvaudio", XINE_VERSION_CODE, &dec_info_dvaudio, init_dvaudio_plugin }, + { PLUGIN_AUDIO_DECODER, 16, "dvaudio", XINE_VERSION_CODE, &dec_info_dvaudio, init_dvaudio_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/combined/ffmpeg/ff_mpeg_parser.h b/src/combined/ffmpeg/ff_mpeg_parser.h index ea43a6ce4..504e746f9 100644 --- a/src/combined/ffmpeg/ff_mpeg_parser.h +++ b/src/combined/ffmpeg/ff_mpeg_parser.h @@ -23,7 +23,7 @@ #ifndef HAVE_MPEG_PARSER_H #define HAVE_MPEG_PARSER_H -#include "xine_internal.h" +#include <xine/xine_internal.h> #include "ffmpeg_decoder.h" #define BUFFER_SIZE (1194 * 1024) /* libmpeg2's buffer size */ diff --git a/src/combined/ffmpeg/ff_video_decoder.c b/src/combined/ffmpeg/ff_video_decoder.c index 3ea08417e..6e10b94b0 100644 --- a/src/combined/ffmpeg/ff_video_decoder.c +++ b/src/combined/ffmpeg/ff_video_decoder.c @@ -22,7 +22,9 @@ #ifdef HAVE_CONFIG_H #include "config.h" -#include "../../libffmpeg/ffmpeg_config.h" +# ifndef HAVE_FFMPEG +# include "ffmpeg_config.h" +# endif #endif #include <stdlib.h> @@ -38,10 +40,10 @@ /* #define LOG */ -#include "xine_internal.h" +#include <xine/xine_internal.h> #include "bswap.h" -#include "buffer.h" -#include "xineutils.h" +#include <xine/buffer.h> +#include <xine/xineutils.h> #include "ffmpeg_decoder.h" #include "ff_mpeg_parser.h" @@ -1597,18 +1599,6 @@ static video_decoder_t *ff_video_open_plugin (video_decoder_class_t *class_gen, return &this->video_decoder; } -static char *ff_video_get_identifier (video_decoder_class_t *this) { - return "ffmpeg video"; -} - -static char *ff_video_get_description (video_decoder_class_t *this) { - return "ffmpeg based video decoder plugin"; -} - -static void ff_video_dispose_class (video_decoder_class_t *this) { - free (this); -} - void *init_video_plugin (xine_t *xine, void *data) { ff_video_class_t *this; @@ -1617,9 +1607,9 @@ void *init_video_plugin (xine_t *xine, void *data) { this = calloc(1, sizeof (ff_video_class_t)); this->decoder_class.open_plugin = ff_video_open_plugin; - this->decoder_class.get_identifier = ff_video_get_identifier; - this->decoder_class.get_description = ff_video_get_description; - this->decoder_class.dispose = ff_video_dispose_class; + this->decoder_class.identifier = "ffmpeg video"; + this->decoder_class.description = N_("ffmpeg based video decoder plugin"); + this->decoder_class.dispose = default_video_decoder_class_dispose; this->xine = xine; pthread_once( &once_control, init_once_routine ); @@ -1668,240 +1658,240 @@ void *init_video_plugin (xine_t *xine, void *data) { return this; } -static uint32_t supported_video_types[] = { - #ifdef CONFIG_MSMPEG4V1_DECODER +static const uint32_t supported_video_types[] = { +#if defined(HAVE_FFMPEG) || CONFIG_MSMPEG4V1_DECODER BUF_VIDEO_MSMPEG4_V1, - #endif - #ifdef CONFIG_MSMPEG4V2_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MSMPEG4V2_DECODER BUF_VIDEO_MSMPEG4_V2, - #endif - #ifdef CONFIG_MSMPEG4V3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MSMPEG4V3_DECODER BUF_VIDEO_MSMPEG4_V3, - #endif - #ifdef CONFIG_WMV1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_WMV1_DECODER BUF_VIDEO_WMV7, - #endif - #ifdef CONFIG_WMV2_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_WMV2_DECODER BUF_VIDEO_WMV8, - #endif - #ifdef CONFIG_WMV3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_WMV3_DECODER BUF_VIDEO_WMV9, - #endif - #ifdef CONFIG_VC1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VC1_DECODER BUF_VIDEO_VC1, - #endif - #ifdef CONFIG_MPEG4_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MPEG4_DECODER BUF_VIDEO_MPEG4, - #endif - #ifdef CONFIG_MPEG4_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MPEG4_DECODER BUF_VIDEO_XVID, - #endif - #ifdef CONFIG_MPEG4_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MPEG4_DECODER BUF_VIDEO_DIVX5, - #endif - #ifdef CONFIG_MPEG4_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MPEG4_DECODER BUF_VIDEO_3IVX, - #endif - #ifdef CONFIG_MJPEG_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MJPEG_DECODER BUF_VIDEO_JPEG, - #endif - #ifdef CONFIG_MJPEG_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MJPEG_DECODER BUF_VIDEO_MJPEG, - #endif - #ifdef CONFIG_MJPEGB_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MJPEGB_DECODER BUF_VIDEO_MJPEG_B, - #endif - #ifdef CONFIG_H263I_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_H263I_DECODER BUF_VIDEO_I263, - #endif - #ifdef CONFIG_H263_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_H263_DECODER BUF_VIDEO_H263, - #endif - #ifdef CONFIG_RV10_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_RV10_DECODER BUF_VIDEO_RV10, - #endif - #ifdef CONFIG_RV20_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_RV20_DECODER BUF_VIDEO_RV20, - #endif - #ifdef CONFIG_INDEO3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_INDEO3_DECODER BUF_VIDEO_IV31, - #endif - #ifdef CONFIG_INDEO3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_INDEO3_DECODER BUF_VIDEO_IV32, - #endif - #ifdef CONFIG_SVQ1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_SVQ1_DECODER BUF_VIDEO_SORENSON_V1, - #endif - #ifdef CONFIG_SVQ3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_SVQ3_DECODER BUF_VIDEO_SORENSON_V3, - #endif - #ifdef CONFIG_DVVIDEO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_DVVIDEO_DECODER BUF_VIDEO_DV, - #endif - #ifdef CONFIG_HUFFYUV_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_HUFFYUV_DECODER BUF_VIDEO_HUFFYUV, - #endif - #ifdef CONFIG_VP3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VP3_DECODER BUF_VIDEO_VP31, - #endif - #ifdef CONFIG_VP5_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VP5_DECODER BUF_VIDEO_VP5, - #endif - #ifdef CONFIG_VP6_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VP6_DECODER BUF_VIDEO_VP6, BUF_VIDEO_VP6F, - #endif - #ifdef CONFIG_4XM_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_4XM_DECODER BUF_VIDEO_4XM, - #endif - #ifdef CONFIG_CINEPAK_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_CINEPAK_DECODER BUF_VIDEO_CINEPAK, - #endif - #ifdef CONFIG_MSVIDEO1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MSVIDEO1_DECODER BUF_VIDEO_MSVC, - #endif - #ifdef CONFIG_MSRLE_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MSRLE_DECODER BUF_VIDEO_MSRLE, - #endif - #ifdef CONFIG_RPZA_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_RPZA_DECODER BUF_VIDEO_RPZA, - #endif - #ifdef CONFIG_CYUV_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_CYUV_DECODER BUF_VIDEO_CYUV, - #endif - #ifdef CONFIG_ROQ_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ROQ_DECODER BUF_VIDEO_ROQ, - #endif - #ifdef CONFIG_IDCIN_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_IDCIN_DECODER BUF_VIDEO_IDCIN, - #endif - #ifdef CONFIG_XAN_WC3_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_XAN_WC3_DECODER BUF_VIDEO_WC3, - #endif - #ifdef CONFIG_WS_VQA_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_WS_VQA_DECODER BUF_VIDEO_VQA, - #endif - #ifdef CONFIG_INTERPLAY_VIDEO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_INTERPLAY_VIDEO_DECODER BUF_VIDEO_INTERPLAY, - #endif - #ifdef CONFIG_FLIC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_FLIC_DECODER BUF_VIDEO_FLI, - #endif - #ifdef CONFIG_8BPS_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_8BPS_DECODER BUF_VIDEO_8BPS, - #endif - #ifdef CONFIG_SMC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_SMC_DECODER BUF_VIDEO_SMC, - #endif - #ifdef CONFIG_TRUEMOTION1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_TRUEMOTION1_DECODER BUF_VIDEO_DUCKTM1, - #endif - #ifdef CONFIG_TRUEMOTION2_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_TRUEMOTION2_DECODER BUF_VIDEO_DUCKTM2, - #endif - #ifdef CONFIG_VMDVIDEO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VMDVIDEO_DECODER BUF_VIDEO_VMD, - #endif - #ifdef CONFIG_ZLIB_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ZLIB_DECODER BUF_VIDEO_ZLIB, - #endif - #ifdef CONFIG_MSZH_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MSZH_DECODER BUF_VIDEO_MSZH, - #endif - #ifdef CONFIG_ASV1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ASV1_DECODER BUF_VIDEO_ASV1, - #endif - #ifdef CONFIG_ASV2_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ASV2_DECODER BUF_VIDEO_ASV2, - #endif - #ifdef CONFIG_VCR1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VCR1_DECODER BUF_VIDEO_ATIVCR1, - #endif - #ifdef CONFIG_FLV_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_FLV_DECODER BUF_VIDEO_FLV1, - #endif - #ifdef CONFIG_QTRLE_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_QTRLE_DECODER BUF_VIDEO_QTRLE, - #endif - #ifdef CONFIG_H264_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_H264_DECODER BUF_VIDEO_H264, - #endif - #ifdef CONFIG_H261_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_H261_DECODER BUF_VIDEO_H261, - #endif - #ifdef CONFIG_AASC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_AASC_DECODER BUF_VIDEO_AASC, - #endif - #ifdef CONFIG_LOCO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_LOCO_DECODER BUF_VIDEO_LOCO, - #endif - #ifdef CONFIG_QDRAW_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_QDRAW_DECODER BUF_VIDEO_QDRW, - #endif - #ifdef CONFIG_QPEG_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_QPEG_DECODER BUF_VIDEO_QPEG, - #endif - #ifdef CONFIG_TSCC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_TSCC_DECODER BUF_VIDEO_TSCC, - #endif - #ifdef CONFIG_ULTI_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ULTI_DECODER BUF_VIDEO_ULTI, - #endif - #ifdef CONFIG_WNV1_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_WNV1_DECODER BUF_VIDEO_WNV1, - #endif - #ifdef CONFIG_VIXL_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VIXL_DECODER BUF_VIDEO_XL, - #endif - #ifdef CONFIG_INDEO2_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_INDEO2_DECODER BUF_VIDEO_RT21, - #endif - #ifdef CONFIG_FRAPS_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_FRAPS_DECODER BUF_VIDEO_FPS1, - #endif - #ifdef CONFIG_MPEG1VIDEO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MPEG1VIDEO_DECODER BUF_VIDEO_MPEG, - #endif - #ifdef CONFIG_CSCD_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_CSCD_DECODER BUF_VIDEO_CSCD, - #endif - #ifdef CONFIG_AVS_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_AVS_DECODER BUF_VIDEO_AVS, - #endif - #ifdef CONFIG_MMVIDEO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_MMVIDEO_DECODER BUF_VIDEO_ALGMM, - #endif - #ifdef CONFIG_ZMBV_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_ZMBV_DECODER BUF_VIDEO_ZMBV, - #endif - #ifdef CONFIG_SMACKVIDEO_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_SMACKVIDEO_DECODER BUF_VIDEO_SMACKER, - #endif - #ifdef CONFIG_NUV_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_NUV_DECODER BUF_VIDEO_NUV, - #endif - #ifdef CONFIG_KMVC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_KMVC_DECODER BUF_VIDEO_KMVC, - #endif - #ifdef CONFIG_FLASHSV_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_FLASHSV_DECODER BUF_VIDEO_FLASHSV, - #endif - #ifdef CONFIG_CAVS_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_CAVS_DECODER BUF_VIDEO_CAVS, - #endif - #ifdef CONFIG_VMNC_DECODER +#endif +#if defined(HAVE_FFMPEG) || CONFIG_VMNC_DECODER BUF_VIDEO_VMNC, - #endif +#endif BUF_VIDEO_THEORA_RAW, 0 }; -static uint32_t wmv8_video_types[] = { +static const uint32_t wmv8_video_types[] = { BUF_VIDEO_WMV8, 0 }; -static uint32_t wmv9_video_types[] = { +static const uint32_t wmv9_video_types[] = { BUF_VIDEO_WMV9, 0 }; diff --git a/src/combined/ffmpeg/ffmpeg_decoder.c b/src/combined/ffmpeg/ffmpeg_decoder.c index 776e07df9..8a8a79270 100644 --- a/src/combined/ffmpeg/ffmpeg_decoder.c +++ b/src/combined/ffmpeg/ffmpeg_decoder.c @@ -22,10 +22,9 @@ #ifdef HAVE_CONFIG_H #include "config.h" -#include "../../libffmpeg/ffmpeg_config.h" #endif -#include "xine_internal.h" +#include <xine/xine_internal.h> #include "ffmpeg_decoder.h" @@ -36,276 +35,6 @@ pthread_once_t once_control = PTHREAD_ONCE_INIT; pthread_mutex_t ffmpeg_lock; -#ifndef HAVE_FFMPEG - -#define REGISTER_ENCODER(X,x) \ - if(ENABLE_##X##_ENCODER) register_avcodec(&x##_encoder) -#define REGISTER_DECODER(X,x) \ - if(ENABLE_##X##_DECODER) register_avcodec(&x##_decoder) -#define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x) - -#define REGISTER_PARSER(X,x) \ - if(ENABLE_##X##_PARSER) av_register_codec_parser(&x##_parser) - -/* If you do not call this function, then you can select exactly which - formats you want to support */ - -/** - * simple call to register all the codecs. - */ -void avcodec_register_all(void) -{ - static int inited = 0; - - if (inited != 0) - return; - inited = 1; - - /* video codecs */ - REGISTER_DECODER(AASC, aasc); - REGISTER_ENCDEC (ASV1, asv1); - REGISTER_ENCDEC (ASV2, asv2); - REGISTER_DECODER(AVS, avs); - REGISTER_DECODER(BMP, bmp); - REGISTER_DECODER(CAVS, cavs); - REGISTER_DECODER(CINEPAK, cinepak); - REGISTER_DECODER(CLJR, cljr); - REGISTER_DECODER(CSCD, cscd); - REGISTER_DECODER(CYUV, cyuv); - REGISTER_DECODER(DSICINVIDEO, dsicinvideo); - REGISTER_ENCDEC (DVVIDEO, dvvideo); - REGISTER_DECODER(EIGHTBPS, eightbps); - REGISTER_ENCDEC (FFV1, ffv1); - REGISTER_ENCDEC (FFVHUFF, ffvhuff); - REGISTER_DECODER(FLASHSV, flashsv); - REGISTER_DECODER(FLIC, flic); - REGISTER_ENCDEC (FLV, flv); - REGISTER_DECODER(FOURXM, fourxm); - REGISTER_DECODER(FRAPS, fraps); - REGISTER_ENCDEC (GIF, gif); - REGISTER_ENCDEC (H261, h261); - REGISTER_ENCDEC (H263, h263); - REGISTER_DECODER(H263I, h263i); - REGISTER_ENCODER(H263P, h263p); - REGISTER_DECODER(H264, h264); - REGISTER_ENCDEC (HUFFYUV, huffyuv); - REGISTER_DECODER(IDCIN, idcin); - REGISTER_DECODER(INDEO2, indeo2); - REGISTER_DECODER(INDEO3, indeo3); - REGISTER_DECODER(INTERPLAY_VIDEO, interplay_video); - REGISTER_ENCODER(JPEGLS, jpegls); - REGISTER_DECODER(KMVC, kmvc); - REGISTER_ENCODER(LJPEG, ljpeg); - REGISTER_DECODER(LOCO, loco); - REGISTER_DECODER(MDEC, mdec); - REGISTER_ENCDEC (MJPEG, mjpeg); - REGISTER_DECODER(MJPEGB, mjpegb); - REGISTER_DECODER(MMVIDEO, mmvideo); -#ifdef HAVE_XVMC - REGISTER_DECODER(MPEG_XVMC, mpeg_xvmc); -#endif - REGISTER_ENCDEC (MPEG1VIDEO, mpeg1video); - REGISTER_ENCDEC (MPEG2VIDEO, mpeg2video); - REGISTER_ENCDEC (MPEG4, mpeg4); - REGISTER_DECODER(MPEGVIDEO, mpegvideo); - REGISTER_ENCDEC (MSMPEG4V1, msmpeg4v1); - REGISTER_ENCDEC (MSMPEG4V2, msmpeg4v2); - REGISTER_ENCDEC (MSMPEG4V3, msmpeg4v3); - REGISTER_DECODER(MSRLE, msrle); - REGISTER_DECODER(MSVIDEO1, msvideo1); - REGISTER_DECODER(MSZH, mszh); - REGISTER_DECODER(NUV, nuv); - REGISTER_ENCODER(PAM, pam); - REGISTER_ENCODER(PBM, pbm); - REGISTER_ENCODER(PGM, pgm); - REGISTER_ENCODER(PGMYUV, pgmyuv); -#ifdef CONFIG_ZLIB - REGISTER_ENCDEC (PNG, png); -#endif - REGISTER_ENCODER(PPM, ppm); - REGISTER_DECODER(QDRAW, qdraw); - REGISTER_DECODER(QPEG, qpeg); - REGISTER_DECODER(QTRLE, qtrle); - REGISTER_ENCDEC (RAWVIDEO, rawvideo); - REGISTER_DECODER(ROQ, roq); - REGISTER_DECODER(RPZA, rpza); - REGISTER_ENCDEC (RV10, rv10); - REGISTER_ENCDEC (RV20, rv20); - REGISTER_DECODER(SMACKER, smacker); - REGISTER_DECODER(SMC, smc); - REGISTER_ENCDEC (SNOW, snow); - REGISTER_DECODER(SP5X, sp5x); - REGISTER_ENCDEC (SVQ1, svq1); - REGISTER_DECODER(SVQ3, svq3); - REGISTER_DECODER(TARGA, targa); - REGISTER_DECODER(THEORA, theora); - REGISTER_DECODER(TIERTEXSEQVIDEO, tiertexseqvideo); - REGISTER_DECODER(TIFF, tiff); - REGISTER_DECODER(TRUEMOTION1, truemotion1); - REGISTER_DECODER(TRUEMOTION2, truemotion2); - REGISTER_DECODER(TSCC, tscc); - REGISTER_DECODER(ULTI, ulti); - REGISTER_DECODER(VC1, vc1); - REGISTER_DECODER(VCR1, vcr1); - REGISTER_DECODER(VMDVIDEO, vmdvideo); - REGISTER_DECODER(VMNC, vmnc); - REGISTER_DECODER(VP3, vp3); - REGISTER_DECODER(VP5, vp5); - REGISTER_DECODER(VP6, vp6); - REGISTER_DECODER(VP6F, vp6f); - REGISTER_DECODER(VQA, vqa); - REGISTER_ENCDEC (WMV1, wmv1); - REGISTER_ENCDEC (WMV2, wmv2); - REGISTER_DECODER(WMV3, wmv3); - REGISTER_DECODER(WNV1, wnv1); -#ifdef CONFIG_X264 - REGISTER_ENCODER(X264, x264); -#endif - REGISTER_DECODER(XAN_WC3, xan_wc3); - REGISTER_DECODER(XL, xl); -#ifdef CONFIG_XVID - REGISTER_ENCODER(XVID, xvid); -#endif - REGISTER_ENCDEC (ZLIB, zlib); -#ifdef CONFIG_ZLIB - REGISTER_ENCDEC (ZMBV, zmbv); -#endif - - /* audio codecs */ -#ifdef CONFIG_LIBFAAD - REGISTER_DECODER(AAC, aac); - REGISTER_DECODER(MPEG4AAC, mpeg4aac); -#endif -#ifdef CONFIG_LIBA52 - REGISTER_DECODER(AC3, ac3); -#endif - REGISTER_ENCODER(AC3, ac3); - REGISTER_DECODER(ALAC, alac); -#if defined(CONFIG_AMR_NB) || defined(CONFIG_AMR_NB_FIXED) - REGISTER_ENCDEC (AMR_NB, amr_nb); -#endif -#ifdef CONFIG_AMR_WB - REGISTER_ENCDEC (AMR_WB, amr_wb); -#endif - REGISTER_DECODER(COOK, cook); - REGISTER_DECODER(DSICINAUDIO, dsicinaudio); -#ifdef CONFIG_LIBDTS - REGISTER_DECODER(DTS, dts); -#endif -#ifdef CONFIG_LIBFAAC - REGISTER_ENCODER(FAAC, faac); -#endif - REGISTER_ENCDEC (FLAC, flac); - REGISTER_DECODER(IMC, imc); -#ifdef CONFIG_LIBGSM - REGISTER_ENCDEC (LIBGSM, libgsm); -#endif - REGISTER_DECODER(MACE3, mace3); - REGISTER_DECODER(MACE6, mace6); - REGISTER_ENCDEC (MP2, mp2); - REGISTER_DECODER(MP3, mp3); - REGISTER_DECODER(MP3ADU, mp3adu); -#ifdef CONFIG_LIBMP3LAME - REGISTER_ENCODER(MP3LAME, mp3lame); -#endif - REGISTER_DECODER(MP3ON4, mp3on4); - REGISTER_DECODER(MPC7, mpc7); -#ifdef CONFIG_LIBVORBIS - if (!ENABLE_VORBIS_ENCODER) REGISTER_ENCODER(OGGVORBIS, oggvorbis); - if (!ENABLE_VORBIS_DECODER) REGISTER_DECODER(OGGVORBIS, oggvorbis); -#endif - REGISTER_DECODER(QDM2, qdm2); - REGISTER_DECODER(RA_144, ra_144); - REGISTER_DECODER(RA_288, ra_288); - REGISTER_DECODER(SHORTEN, shorten); - REGISTER_DECODER(SMACKAUD, smackaud); - REGISTER_ENCDEC (SONIC, sonic); - REGISTER_ENCODER(SONIC_LS, sonic_ls); - REGISTER_DECODER(TRUESPEECH, truespeech); - REGISTER_DECODER(TTA, tta); - REGISTER_DECODER(VMDAUDIO, vmdaudio); - REGISTER_ENCDEC (VORBIS, vorbis); - REGISTER_DECODER(WAVPACK, wavpack); - REGISTER_DECODER(WMAV1, wmav1); - REGISTER_DECODER(WMAV2, wmav2); - REGISTER_DECODER(WS_SND1, ws_snd1); - - /* pcm codecs */ - REGISTER_ENCDEC (PCM_ALAW, pcm_alaw); - REGISTER_ENCDEC (PCM_MULAW, pcm_mulaw); - REGISTER_ENCDEC (PCM_S8, pcm_s8); - REGISTER_ENCDEC (PCM_S16BE, pcm_s16be); - REGISTER_ENCDEC (PCM_S16LE, pcm_s16le); - REGISTER_ENCDEC (PCM_S24BE, pcm_s24be); - REGISTER_ENCDEC (PCM_S24DAUD, pcm_s24daud); - REGISTER_ENCDEC (PCM_S24LE, pcm_s24le); - REGISTER_ENCDEC (PCM_S32BE, pcm_s32be); - REGISTER_ENCDEC (PCM_S32LE, pcm_s32le); - REGISTER_ENCDEC (PCM_U8, pcm_u8); - REGISTER_ENCDEC (PCM_U16BE, pcm_u16be); - REGISTER_ENCDEC (PCM_U16LE, pcm_u16le); - REGISTER_ENCDEC (PCM_U24BE, pcm_u24be); - REGISTER_ENCDEC (PCM_U24LE, pcm_u24le); - REGISTER_ENCDEC (PCM_U32BE, pcm_u32be); - REGISTER_ENCDEC (PCM_U32LE, pcm_u32le); - - /* dpcm codecs */ - REGISTER_DECODER(INTERPLAY_DPCM, interplay_dpcm); - REGISTER_DECODER(ROQ_DPCM, roq_dpcm); - REGISTER_DECODER(SOL_DPCM, sol_dpcm); - REGISTER_DECODER(XAN_DPCM, xan_dpcm); - - /* adpcm codecs */ - REGISTER_ENCDEC (ADPCM_4XM, adpcm_4xm); - REGISTER_ENCDEC (ADPCM_ADX, adpcm_adx); - REGISTER_ENCDEC (ADPCM_CT, adpcm_ct); - REGISTER_ENCDEC (ADPCM_EA, adpcm_ea); - REGISTER_ENCDEC (ADPCM_G726, adpcm_g726); - REGISTER_ENCDEC (ADPCM_IMA_DK3, adpcm_ima_dk3); - REGISTER_ENCDEC (ADPCM_IMA_DK4, adpcm_ima_dk4); - REGISTER_ENCDEC (ADPCM_IMA_QT, adpcm_ima_qt); - REGISTER_ENCDEC (ADPCM_IMA_SMJPEG, adpcm_ima_smjpeg); - REGISTER_ENCDEC (ADPCM_IMA_WAV, adpcm_ima_wav); - REGISTER_ENCDEC (ADPCM_IMA_WS, adpcm_ima_ws); - REGISTER_ENCDEC (ADPCM_MS, adpcm_ms); - REGISTER_ENCDEC (ADPCM_SBPRO_2, adpcm_sbpro_2); - REGISTER_ENCDEC (ADPCM_SBPRO_3, adpcm_sbpro_3); - REGISTER_ENCDEC (ADPCM_SBPRO_4, adpcm_sbpro_4); - REGISTER_ENCDEC (ADPCM_SWF, adpcm_swf); - REGISTER_ENCDEC (ADPCM_XA, adpcm_xa); - REGISTER_ENCDEC (ADPCM_YAMAHA, adpcm_yamaha); - - /* subtitles */ - REGISTER_ENCDEC (DVBSUB, dvbsub); - REGISTER_ENCDEC (DVDSUB, dvdsub); - - /* parsers */ - REGISTER_PARSER (AAC, aac); - REGISTER_PARSER (AC3, ac3); - REGISTER_PARSER (CAVSVIDEO, cavsvideo); - REGISTER_PARSER (DVBSUB, dvbsub); - REGISTER_PARSER (DVDSUB, dvdsub); - REGISTER_PARSER (H261, h261); - REGISTER_PARSER (H263, h263); - REGISTER_PARSER (H264, h264); - REGISTER_PARSER (MJPEG, mjpeg); - REGISTER_PARSER (MPEG4VIDEO, mpeg4video); - REGISTER_PARSER (MPEGAUDIO, mpegaudio); - REGISTER_PARSER (MPEGVIDEO, mpegvideo); - REGISTER_PARSER (PNM, pnm); - - /* - av_register_bitstream_filter(&dump_extradata_bsf); - av_register_bitstream_filter(&remove_extradata_bsf); - av_register_bitstream_filter(&noise_bsf); - av_register_bitstream_filter(&mp3_header_compress_bsf); - av_register_bitstream_filter(&mp3_header_decompress_bsf); - av_register_bitstream_filter(&mjpega_dump_header_bsf); - */ -} - -#endif - void init_once_routine(void) { pthread_mutex_init(&ffmpeg_lock, NULL); avcodec_init(); @@ -318,9 +47,9 @@ void init_once_routine(void) { const plugin_info_t xine_plugin_info[] EXPORTED = { /* type, API, "name", version, special_info, init_function */ - { PLUGIN_VIDEO_DECODER | PLUGIN_MUST_PRELOAD, 18, "ffmpegvideo", XINE_VERSION_CODE, &dec_info_ffmpeg_video, init_video_plugin }, - { PLUGIN_VIDEO_DECODER, 18, "ffmpeg-wmv8", XINE_VERSION_CODE, &dec_info_ffmpeg_wmv8, init_video_plugin }, - { PLUGIN_VIDEO_DECODER, 18, "ffmpeg-wmv9", XINE_VERSION_CODE, &dec_info_ffmpeg_wmv9, init_video_plugin }, - { PLUGIN_AUDIO_DECODER, 15, "ffmpegaudio", XINE_VERSION_CODE, &dec_info_ffmpeg_audio, init_audio_plugin }, + { PLUGIN_VIDEO_DECODER | PLUGIN_MUST_PRELOAD, 19, "ffmpegvideo", XINE_VERSION_CODE, &dec_info_ffmpeg_video, init_video_plugin }, + { PLUGIN_VIDEO_DECODER, 19, "ffmpeg-wmv8", XINE_VERSION_CODE, &dec_info_ffmpeg_wmv8, init_video_plugin }, + { PLUGIN_VIDEO_DECODER, 19, "ffmpeg-wmv9", XINE_VERSION_CODE, &dec_info_ffmpeg_wmv9, init_video_plugin }, + { PLUGIN_AUDIO_DECODER, 16, "ffmpegaudio", XINE_VERSION_CODE, &dec_info_ffmpeg_audio, init_audio_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; diff --git a/src/combined/ffmpeg/ffmpeg_decoder.h b/src/combined/ffmpeg/ffmpeg_decoder.h index f47421253..6de9e8772 100644 --- a/src/combined/ffmpeg/ffmpeg_decoder.h +++ b/src/combined/ffmpeg/ffmpeg_decoder.h @@ -27,10 +27,8 @@ #ifdef HAVE_FFMPEG_AVUTIL_H # include <avcodec.h> -#elif defined HAVE_FFMPEG -# include <libavcodec/avcodec.h> #else -# include "../../libffmpeg/libavcodec/avcodec.h" +# include <libavcodec/avcodec.h> #endif typedef struct ff_codec_s { diff --git a/src/combined/ffmpeg/ffmpeg_encoder.c b/src/combined/ffmpeg/ffmpeg_encoder.c index 84243a56f..c54a6e445 100644 --- a/src/combined/ffmpeg/ffmpeg_encoder.c +++ b/src/combined/ffmpeg/ffmpeg_encoder.c @@ -40,10 +40,8 @@ #ifdef HAVE_FFMPEG_AVUTIL_H # include <avcodec.h> -#elif defined HAVE_FFMPEG -# include <libavcodec/avcodec.h> #else -# include "../../libffmpeg/libavcodec/avcodec.h" +# include <libavcodec/avcodec.h> #endif /* buffer size for encoded mpeg1 stream; will hold one intra frame |