diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-11-15 13:01:00 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-11-15 13:01:00 +0000 |
commit | 570fd9006dcf6f9aaa460e79b93b7ce37f7c6d7b (patch) | |
tree | ed387d71185404d03367e64a52093b0e6369ed67 /src/libffmpeg | |
parent | bb62a769e4a50cef3023408bf9a527e63b7d884d (diff) | |
download | xine-lib-570fd9006dcf6f9aaa460e79b93b7ce37f7c6d7b.tar.gz xine-lib-570fd9006dcf6f9aaa460e79b93b7ce37f7c6d7b.tar.bz2 |
more helper functions cleanup (stream info, meta info)
CVS patchset: 5731
CVS date: 2003/11/15 13:01:00
Diffstat (limited to 'src/libffmpeg')
-rw-r--r-- | src/libffmpeg/xine_decoder.c | 200 |
1 files changed, 100 insertions, 100 deletions
diff --git a/src/libffmpeg/xine_decoder.c b/src/libffmpeg/xine_decoder.c index dfc8c0b10..3c10c143c 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.133 2003/10/30 06:00:19 tmmm Exp $ + * $Id: xine_decoder.c,v 1.134 2003/11/15 13:01:12 miguelfreitas Exp $ * * xine decoder plugin using ffmpeg * @@ -226,7 +226,7 @@ static void init_video_codec (ff_video_decoder_t *this, xine_bmiheader *bih) { this->context->opaque = this; this->context->width = this->bih.biWidth; this->context->height = this->bih.biHeight; - this->context->codec_tag = this->stream->stream_info[XINE_STREAM_INFO_VIDEO_FOURCC]; + this->context->codec_tag = xine_get_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_FOURCC); /* some decoders (eg. dv) do not know the pix_fmt until they decode the * first frame. setting to -1 avoid enabling DR1 for them. */ @@ -259,15 +259,15 @@ static void init_video_codec (ff_video_decoder_t *this, xine_bmiheader *bih) { printf ("ffmpeg: couldn't open decoder\n"); free(this->context); this->context = NULL; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 0; + xine_set_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_HANDLED, 0); return; } this->decoder_ok = 1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_WIDTH] = this->context->width; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HEIGHT] = this->context->height; - this->stream->stream_info[XINE_STREAM_INFO_FRAME_DURATION] = this->video_step; + xine_set_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_WIDTH, this->context->width); + xine_set_stream_info(this->stream, XINE_STREAM_INFO_VIDEO_HEIGHT, this->context->height); + xine_set_stream_info(this->stream, XINE_STREAM_INFO_FRAME_DURATION, this->video_step); this->stream->video_out->open (this->stream->video_out, this->stream); @@ -490,8 +490,8 @@ static void find_sequence_header (ff_video_decoder_t *this, this->video_step = 0; } - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("mpeg-1 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "mpeg-1 (ffmpeg)"); /* * init codec @@ -780,152 +780,152 @@ static void ff_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { switch (codec_type) { case BUF_VIDEO_MSMPEG4_V1: this->codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V1); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Microsoft MPEG-4 v1 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Microsoft MPEG-4 v1 (ffmpeg)"); break; case BUF_VIDEO_MSMPEG4_V2: this->codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V2); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Microsoft MPEG-4 v2 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Microsoft MPEG-4 v2 (ffmpeg)"); break; case BUF_VIDEO_MSMPEG4_V3: this->codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V3); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Microsoft MPEG-4 v3 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Microsoft MPEG-4 v3 (ffmpeg)"); break; case BUF_VIDEO_WMV7: this->codec = avcodec_find_decoder (CODEC_ID_WMV1); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("MS Windows Media Video 7 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "MS Windows Media Video 7 (ffmpeg)"); break; case BUF_VIDEO_WMV8: this->codec = avcodec_find_decoder (CODEC_ID_WMV2); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("MS Windows Media Video 8 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "MS Windows Media Video 8 (ffmpeg)"); break; case BUF_VIDEO_MPEG4 : case BUF_VIDEO_XVID : case BUF_VIDEO_DIVX5 : this->codec = avcodec_find_decoder (CODEC_ID_MPEG4); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("ISO MPEG-4 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "ISO MPEG-4 (ffmpeg)"); break; case BUF_VIDEO_JPEG: case BUF_VIDEO_MJPEG: this->codec = avcodec_find_decoder (CODEC_ID_MJPEG); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Motion JPEG (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Motion JPEG (ffmpeg)"); break; case BUF_VIDEO_I263: this->codec = avcodec_find_decoder (CODEC_ID_H263I); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("ITU H.263 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "ITU H.263 (ffmpeg)"); break; case BUF_VIDEO_H263: this->codec = avcodec_find_decoder (CODEC_ID_H263); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("H.263 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "H.263 (ffmpeg)"); break; case BUF_VIDEO_RV10: this->codec = avcodec_find_decoder (CODEC_ID_RV10); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Real Video 1.0 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Real Video 1.0 (ffmpeg)"); break; case BUF_VIDEO_IV31: this->codec = avcodec_find_decoder (CODEC_ID_INDEO3); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Indeo Video 3.1 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Indeo Video 3.1 (ffmpeg)"); break; case BUF_VIDEO_IV32: this->codec = avcodec_find_decoder (CODEC_ID_INDEO3); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Indeo Video 3.2 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Indeo Video 3.2 (ffmpeg)"); break; case BUF_VIDEO_SORENSON_V1: this->codec = avcodec_find_decoder (CODEC_ID_SVQ1); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Sorenson Video 1 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Sorenson Video 1 (ffmpeg)"); break; case BUF_VIDEO_SORENSON_V3: this->codec = avcodec_find_decoder (CODEC_ID_SVQ3); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Sorenson Video 3 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Sorenson Video 3 (ffmpeg)"); break; case BUF_VIDEO_DV: this->codec = avcodec_find_decoder (CODEC_ID_DVVIDEO); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("DV (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "DV (ffmpeg)"); break; case BUF_VIDEO_HUFFYUV: this->codec = avcodec_find_decoder (CODEC_ID_HUFFYUV); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("HuffYUV (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "HuffYUV (ffmpeg)"); break; case BUF_VIDEO_VP31: this->codec = avcodec_find_decoder (CODEC_ID_VP3); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("On2 VP3.1 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "On2 VP3.1 (ffmpeg)"); break; case BUF_VIDEO_4XM: this->codec = avcodec_find_decoder (CODEC_ID_4XM); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("4XM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "4XM (ffmpeg)"); break; case BUF_VIDEO_CINEPAK: this->codec = avcodec_find_decoder (CODEC_ID_CINEPAK); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Cinepak (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Cinepak (ffmpeg)"); break; case BUF_VIDEO_MSVC: this->codec = avcodec_find_decoder (CODEC_ID_MSVIDEO1); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Microsoft Video 1 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Microsoft Video 1 (ffmpeg)"); break; case BUF_VIDEO_MSRLE: this->codec = avcodec_find_decoder (CODEC_ID_MSRLE); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Microsoft RLE (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Microsoft RLE (ffmpeg)"); break; case BUF_VIDEO_RPZA: this->codec = avcodec_find_decoder (CODEC_ID_RPZA); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Apple Quicktime Video/RPZA (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Apple Quicktime Video/RPZA (ffmpeg)"); break; case BUF_VIDEO_CYUV: this->codec = avcodec_find_decoder (CODEC_ID_CYUV); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Creative YUV (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Creative YUV (ffmpeg)"); break; case BUF_VIDEO_ROQ: this->codec = avcodec_find_decoder (CODEC_ID_ROQ); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Id Software RoQ (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Id Software RoQ (ffmpeg)"); break; case BUF_VIDEO_IDCIN: this->codec = avcodec_find_decoder (CODEC_ID_IDCIN); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Id Software CIN (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Id Software CIN (ffmpeg)"); break; case BUF_VIDEO_WC3: this->codec = avcodec_find_decoder (CODEC_ID_XAN_WC3); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Xan (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Xan (ffmpeg)"); break; case BUF_VIDEO_VQA: this->codec = avcodec_find_decoder (CODEC_ID_WS_VQA); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Westwood Studios VQA (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Westwood Studios VQA (ffmpeg)"); break; case BUF_VIDEO_INTERPLAY: this->codec = avcodec_find_decoder (CODEC_ID_INTERPLAY_VIDEO); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("Interplay MVE (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "Interplay MVE (ffmpeg)"); break; default: printf ("ffmpeg: unknown video format (buftype: 0x%08X)\n", buf->type & 0xFFFF0000); - this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] - = strdup ("unknown (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_VIDEOCODEC, + "unknown (ffmpeg)"); } if (!this->codec) { @@ -1388,88 +1388,88 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) switch (codec_type) { case BUF_AUDIO_WMAV1: this->codec = avcodec_find_decoder (CODEC_ID_WMAV1); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("MS Windows Media Audio 1 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "MS Windows Media Audio 1 (ffmpeg)"); break; case BUF_AUDIO_WMAV2: this->codec = avcodec_find_decoder (CODEC_ID_WMAV2); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("MS Windows Media Audio 2 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "MS Windows Media Audio 2 (ffmpeg)"); break; case BUF_AUDIO_DV: this->codec = avcodec_find_decoder (CODEC_ID_DVAUDIO); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("DV Audio (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "DV Audio (ffmpeg)"); break; case BUF_AUDIO_14_4: this->codec = avcodec_find_decoder (CODEC_ID_RA_144); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("Real 14.4 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "Real 14.4 (ffmpeg)"); break; case BUF_AUDIO_28_8: this->codec = avcodec_find_decoder (CODEC_ID_RA_288); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("Real 28.8 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "Real 28.8 (ffmpeg)"); break; case BUF_AUDIO_MPEG: this->codec = avcodec_find_decoder (CODEC_ID_MP3LAME); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("MP3 (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "MP3 (ffmpeg)"); break; case BUF_AUDIO_MSADPCM: this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_MS); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("MS ADPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "MS ADPCM (ffmpeg)"); break; case BUF_AUDIO_QTIMAADPCM: this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_QT); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("QT IMA ADPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "QT IMA ADPCM (ffmpeg)"); break; case BUF_AUDIO_MSIMAADPCM: this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_WAV); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("MS IMA ADPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "MS IMA ADPCM (ffmpeg)"); break; case BUF_AUDIO_DK3ADPCM: this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_DK3); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("Duck DK3 ADPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "Duck DK3 ADPCM (ffmpeg)"); break; case BUF_AUDIO_DK4ADPCM: this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_DK4); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("Duck DK4 ADPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "Duck DK4 ADPCM (ffmpeg)"); break; case BUF_AUDIO_VQA_IMA: this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_IMA_WS); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("Westwood Studios IMA (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "Westwood Studios IMA (ffmpeg)"); break; case BUF_AUDIO_XA_ADPCM: this->codec = avcodec_find_decoder (CODEC_ID_ADPCM_XA); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("CD-ROM/XA ADPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "CD-ROM/XA ADPCM (ffmpeg)"); break; case BUF_AUDIO_MULAW: this->codec = avcodec_find_decoder (CODEC_ID_PCM_MULAW); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("mu-law logarithmic PCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "mu-law logarithmic PCM (ffmpeg)"); break; case BUF_AUDIO_ALAW: this->codec = avcodec_find_decoder (CODEC_ID_PCM_ALAW); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("A-law logarithmic PCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "A-law logarithmic PCM (ffmpeg)"); break; case BUF_AUDIO_ROQ: this->codec = avcodec_find_decoder (CODEC_ID_ROQ_DPCM); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("RoQ DPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "RoQ DPCM (ffmpeg)"); break; case BUF_AUDIO_INTERPLAY: this->codec = avcodec_find_decoder (CODEC_ID_INTERPLAY_DPCM); - this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] - = strdup ("Interplay DPCM (ffmpeg)"); + xine_set_meta_info(this->stream, XINE_META_INFO_AUDIOCODEC, + "Interplay DPCM (ffmpeg)"); break; } |