diff options
Diffstat (limited to 'src/libffmpeg')
-rw-r--r-- | src/libffmpeg/audio_decoder.c | 12 | ||||
-rw-r--r-- | src/libffmpeg/video_decoder.c | 37 | ||||
-rw-r--r-- | src/libffmpeg/xine_decoder.c | 17 | ||||
-rw-r--r-- | src/libffmpeg/xine_decoder.h | 3 |
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; |