summaryrefslogtreecommitdiff
path: root/src/libffmpeg
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg')
-rw-r--r--src/libffmpeg/audio_decoder.c12
-rw-r--r--src/libffmpeg/video_decoder.c37
-rw-r--r--src/libffmpeg/xine_decoder.c17
-rw-r--r--src/libffmpeg/xine_decoder.h3
4 files changed, 62 insertions, 7 deletions
diff --git a/src/libffmpeg/audio_decoder.c b/src/libffmpeg/audio_decoder.c
index a1a760100..11f14aeac 100644
--- a/src/libffmpeg/audio_decoder.c
+++ b/src/libffmpeg/audio_decoder.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: audio_decoder.c,v 1.25 2006/06/18 20:29:04 dgp85 Exp $
+ * $Id: audio_decoder.c,v 1.26 2006/08/02 07:15:27 tmmm Exp $
*
* xine audio decoder plugin using ffmpeg
*
@@ -102,7 +102,11 @@ static const ff_codec_t ff_audio_lookup[] = {
{BUF_AUDIO_FLAC, CODEC_ID_FLAC, "FLAC (ffmpeg)"},
{BUF_AUDIO_SHORTEN, CODEC_ID_SHORTEN, "Shorten (ffmpeg)"},
{BUF_AUDIO_ALAC, CODEC_ID_ALAC, "ALAC (ffmpeg)"},
- {BUF_AUDIO_QDESIGN2, CODEC_ID_QDM2, "QDM2 (ffmpeg)"} };
+ {BUF_AUDIO_COOK, CODEC_ID_COOK, "RealAudio Cooker (ffmpeg)"},
+ {BUF_AUDIO_TRUESPEECH, CODEC_ID_TRUESPEECH, "TrueSpeech (ffmpeg)"},
+ {BUF_AUDIO_TTA, CODEC_ID_TTA, "True Audio Lossless (ffmpeg)"},
+ {BUF_AUDIO_SMACKER, CODEC_ID_SMACKAUDIO, "Smacker (ffmpeg)"},
+};
static void ff_audio_ensure_buffer_size(ff_audio_decoder_t *this, int size) {
@@ -463,6 +467,10 @@ static uint32_t supported_audio_types[] = {
BUF_AUDIO_SHORTEN,
BUF_AUDIO_MPEG,
BUF_AUDIO_QDESIGN2,
+ BUF_AUDIO_COOK,
+ BUF_AUDIO_TRUESPEECH,
+ BUF_AUDIO_TTA,
+ BUF_AUDIO_SMACKER,
0
};
diff --git a/src/libffmpeg/video_decoder.c b/src/libffmpeg/video_decoder.c
index 40d51ce6e..7505dbd22 100644
--- a/src/libffmpeg/video_decoder.c
+++ b/src/libffmpeg/video_decoder.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_decoder.c,v 1.60 2006/06/18 20:29:04 dgp85 Exp $
+ * $Id: video_decoder.c,v 1.61 2006/08/02 07:15:27 tmmm Exp $
*
* xine video decoder plugin using ffmpeg
*
@@ -217,6 +217,7 @@ static const ff_codec_t ff_video_lookup[] = {
{BUF_VIDEO_MSMPEG4_V3, CODEC_ID_MSMPEG4V3, "Microsoft MPEG-4 v3 (ffmpeg)"},
{BUF_VIDEO_WMV7, CODEC_ID_WMV1, "MS Windows Media Video 7 (ffmpeg)"},
{BUF_VIDEO_WMV8, CODEC_ID_WMV2, "MS Windows Media Video 8 (ffmpeg)"},
+ {BUF_VIDEO_WMV9, CODEC_ID_WMV3, "MS Windows Media Video 9 (ffmpeg)"},
{BUF_VIDEO_MPEG4, CODEC_ID_MPEG4, "ISO MPEG-4 (ffmpeg)"},
{BUF_VIDEO_XVID, CODEC_ID_MPEG4, "ISO MPEG-4 (XviD, ffmpeg)"},
{BUF_VIDEO_DIVX5, CODEC_ID_MPEG4, "ISO MPEG-4 (DivX5, ffmpeg)"},
@@ -271,7 +272,17 @@ static const ff_codec_t ff_video_lookup[] = {
{BUF_VIDEO_XL, CODEC_ID_VIXL, "Miro/Pinnacle VideoXL (ffmpeg)"},
{BUF_VIDEO_RT21, CODEC_ID_INDEO2, "Indeo/RealTime 2 (ffmpeg)"},
{BUF_VIDEO_FPS1, CODEC_ID_FRAPS, "Fraps (ffmpeg)"},
- {BUF_VIDEO_MPEG, CODEC_ID_MPEG1VIDEO, "MPEG 1/2 (ffmpeg)"} };
+ {BUF_VIDEO_MPEG, CODEC_ID_MPEG1VIDEO, "MPEG 1/2 (ffmpeg)"},
+ {BUF_VIDEO_CSCD, CODEC_ID_CSCD, "CamStudio (ffmpeg)"},
+ {BUF_VIDEO_AVS, CODEC_ID_AVS, "AVS (ffmpeg)"},
+ {BUF_VIDEO_ALGMM, CODEC_ID_MMVIDEO, "American Laser Games MM (ffmpeg)"},
+ {BUF_VIDEO_ZMBV, CODEC_ID_ZMBV, "Zip Motion Blocks Video (ffmpeg)"},
+ {BUF_VIDEO_SMACKER, CODEC_ID_SMACKVIDEO, "Smacker (ffmpeg)"},
+ {BUF_VIDEO_NUV, CODEC_ID_NUV, "NuppelVideo (ffmpeg)"},
+ {BUF_VIDEO_KMVC, CODEC_ID_KMVC, "Karl Morton's Video Codec (ffmpeg)"},
+ {BUF_VIDEO_FLASHSV, CODEC_ID_FLASHSV, "Flash Screen Video (ffmpeg)"},
+ {BUF_VIDEO_CAVS, CODEC_ID_CAVS, "Chinese AVS (ffmpeg)"},
+};
static void init_video_codec (ff_video_decoder_t *this, unsigned int codec_type) {
@@ -820,7 +831,7 @@ static void ff_handle_header_buffer (ff_video_decoder_t *this, buf_element_t *bu
memcpy ( &this->bih, this->buf, sizeof(xine_bmiheader) );
if (this->bih.biSize > sizeof(xine_bmiheader)) {
- this->context->extradata_size = this->bih.biSize - sizeof(xine_bmiheader);
+ this->context->extradata_size = this->bih.biSize - sizeof(xine_bmiheader);
this->context->extradata = malloc(this->context->extradata_size +
FF_INPUT_BUFFER_PADDING_SIZE);
memcpy(this->context->extradata, this->buf + sizeof(xine_bmiheader),
@@ -1517,6 +1528,16 @@ static uint32_t supported_video_types[] = {
BUF_VIDEO_XL,
BUF_VIDEO_RT21,
BUF_VIDEO_FPS1,
+ BUF_VIDEO_WMV9,
+ BUF_VIDEO_CSCD,
+ BUF_VIDEO_ALGMM,
+ BUF_VIDEO_ZMBV,
+ BUF_VIDEO_AVS,
+ BUF_VIDEO_SMACKER,
+ BUF_VIDEO_NUV,
+ BUF_VIDEO_KMVC,
+ BUF_VIDEO_FLASHSV,
+ BUF_VIDEO_CAVS,
0
};
@@ -1525,6 +1546,11 @@ static uint32_t wmv8_video_types[] = {
0
};
+static uint32_t wmv9_video_types[] = {
+ BUF_VIDEO_WMV9,
+ 0
+};
+
decoder_info_t dec_info_ffmpeg_video = {
supported_video_types, /* supported types */
6 /* priority */
@@ -1534,3 +1560,8 @@ decoder_info_t dec_info_ffmpeg_wmv8 = {
wmv8_video_types, /* supported types */
0 /* priority */
};
+
+decoder_info_t dec_info_ffmpeg_wmv9 = {
+ wmv9_video_types, /* supported types */
+ 0 /* priority */
+};
diff --git a/src/libffmpeg/xine_decoder.c b/src/libffmpeg/xine_decoder.c
index cbd0870d3..323ce4e3c 100644
--- a/src/libffmpeg/xine_decoder.c
+++ b/src/libffmpeg/xine_decoder.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_decoder.c,v 1.169 2006/07/10 22:08:29 dgp85 Exp $
+ * $Id: xine_decoder.c,v 1.170 2006/08/02 07:15:27 tmmm Exp $
*
* xine decoder plugin using ffmpeg
*
@@ -131,6 +131,20 @@ void avcodec_register_all(void)
register_avcodec(&shorten_decoder);
register_avcodec(&qdm2_decoder);
register_avcodec(&truemotion2_decoder);
+ register_avcodec(&wmv3_decoder);
+ register_avcodec(&cscd_decoder);
+ register_avcodec(&mmvideo_decoder);
+ register_avcodec(&zmbv_decoder);
+ register_avcodec(&avs_decoder);
+ register_avcodec(&smacker_decoder);
+ register_avcodec(&smackaud_decoder);
+ register_avcodec(&nuv_decoder);
+ register_avcodec(&kmvc_decoder);
+ register_avcodec(&flashsv_decoder);
+ register_avcodec(&cavs_decoder);
+ register_avcodec(&cook_decoder);
+ register_avcodec(&truespeech_decoder);
+ register_avcodec(&tta_decoder);
}
void init_once_routine(void) {
@@ -147,6 +161,7 @@ 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_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/libffmpeg/xine_decoder.h b/src/libffmpeg/xine_decoder.h
index 4a8fcf171..879ee3175 100644
--- a/src/libffmpeg/xine_decoder.h
+++ b/src/libffmpeg/xine_decoder.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_decoder.h,v 1.6 2005/11/04 22:37:13 tmattern Exp $
+ * $Id: xine_decoder.h,v 1.7 2006/08/02 07:15:27 tmmm Exp $
*
*/
@@ -45,6 +45,7 @@ void *init_video_plugin (xine_t *xine, void *data);
extern decoder_info_t dec_info_ffmpeg_video;
extern decoder_info_t dec_info_ffmpeg_wmv8;
+extern decoder_info_t dec_info_ffmpeg_wmv9;
extern decoder_info_t dec_info_ffmpeg_audio;
extern pthread_once_t once_control;