diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libxinevdec/cinepak.c | 6 | ||||
-rw-r--r-- | src/libxinevdec/cyuv.c | 5 | ||||
-rw-r--r-- | src/libxinevdec/foovideo.c | 14 | ||||
-rw-r--r-- | src/libxinevdec/idcinvideo.c | 8 | ||||
-rw-r--r-- | src/libxinevdec/msrle.c | 8 | ||||
-rw-r--r-- | src/libxinevdec/msvc.c | 6 | ||||
-rw-r--r-- | src/libxinevdec/qtrle.c | 6 | ||||
-rw-r--r-- | src/libxinevdec/qtrpza.c | 8 | ||||
-rw-r--r-- | src/libxinevdec/qtsmc.c | 8 | ||||
-rw-r--r-- | src/libxinevdec/rgb.c | 8 | ||||
-rw-r--r-- | src/libxinevdec/roqvideo.c | 6 | ||||
-rw-r--r-- | src/libxinevdec/svq1.c | 6 | ||||
-rw-r--r-- | src/libxinevdec/wc3video.c | 6 | ||||
-rw-r--r-- | src/libxinevdec/yuv.c | 20 |
14 files changed, 92 insertions, 23 deletions
diff --git a/src/libxinevdec/cinepak.c b/src/libxinevdec/cinepak.c index ee7836049..5ba91eb1d 100644 --- a/src/libxinevdec/cinepak.c +++ b/src/libxinevdec/cinepak.c @@ -22,7 +22,7 @@ * based on overview of Cinepak algorithm and example decoder * by Tim Ferguson: http://www.csse.monash.edu.au/~timf/ * - * $Id: cinepak.c,v 1.18 2002/11/04 00:33:32 tmmm Exp $ + * $Id: cinepak.c,v 1.19 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdlib.h> @@ -372,6 +372,10 @@ static void cvid_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; + /* stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Cinepak"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + } else if (this->decoder_ok) { if (this->size + buf->size > this->bufsize) { diff --git a/src/libxinevdec/cyuv.c b/src/libxinevdec/cyuv.c index 3189c1115..ac8ae0eeb 100644 --- a/src/libxinevdec/cyuv.c +++ b/src/libxinevdec/cyuv.c @@ -18,7 +18,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: cyuv.c,v 1.9 2002/10/20 17:34:11 tmmm Exp $ + * $Id: cyuv.c,v 1.10 2002/11/11 05:55:51 tmmm Exp $ */ /* And this is the header that came with the CYUV decoder: */ @@ -162,6 +162,9 @@ static void cyuv_decode_data (video_decoder_t *this_gen, this->skipframes = 0; this->video_step = buf->decoder_info[1]; + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Creative YUV"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + return; } diff --git a/src/libxinevdec/foovideo.c b/src/libxinevdec/foovideo.c index 65cc235d2..412f5ac86 100644 --- a/src/libxinevdec/foovideo.c +++ b/src/libxinevdec/foovideo.c @@ -23,7 +23,7 @@ * value from the last frame. This creates a slowly rotating solid color * frame when the frames are played in succession. * - * $Id: foovideo.c,v 1.8 2002/11/02 21:38:38 tmmm Exp $ + * $Id: foovideo.c,v 1.9 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdio.h> @@ -98,8 +98,8 @@ static void foovideo_decode_data (video_decoder_t *this_gen, free(this->buf); bih = (xine_bmiheader *) buf->content; - this->width = (bih->biWidth + 3) & ~0x03; - this->height = (bih->biHeight + 3) & ~0x03; + this->width = bih->biWidth; + this->height = bih->biHeight; this->video_step = buf->decoder_info[1]; if (this->buf) @@ -108,12 +108,16 @@ static void foovideo_decode_data (video_decoder_t *this_gen, this->buf = malloc(this->bufsize); this->size = 0; - this->stream->video_out->open (this->stream->video_out); - this->decoder_ok = 1; + /* take this opportunity to load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("foovideo"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; /* do anything else relating to initializing this decoder */ this->current_yuv_byte = 0; + this->stream->video_out->open (this->stream->video_out); + this->decoder_ok = 1; + return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/idcinvideo.c b/src/libxinevdec/idcinvideo.c index 2ada636dd..c49ebff84 100644 --- a/src/libxinevdec/idcinvideo.c +++ b/src/libxinevdec/idcinvideo.c @@ -21,7 +21,7 @@ * the Id CIN format, visit: * http://www.csse.monash.edu.au/~timf/ * - * $Id: idcinvideo.c,v 1.6 2002/10/23 02:13:51 tmmm Exp $ + * $Id: idcinvideo.c,v 1.7 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdio.h> @@ -261,10 +261,14 @@ static void idcinvideo_decode_data (video_decoder_t *this_gen, this->buf = malloc(this->bufsize); this->size = 0; + init_yuv_planes(&this->yuv_planes, this->width, this->height); + this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; - init_yuv_planes(&this->yuv_planes, this->width, this->height); + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Id CIN Video"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/msrle.c b/src/libxinevdec/msrle.c index fd091c05d..543b704ad 100644 --- a/src/libxinevdec/msrle.c +++ b/src/libxinevdec/msrle.c @@ -21,7 +21,7 @@ * For more information on the MS RLE format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: msrle.c,v 1.8 2002/10/20 18:01:01 tmmm Exp $ + * $Id: msrle.c,v 1.9 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdio.h> @@ -219,10 +219,14 @@ static void msrle_decode_data (video_decoder_t *this_gen, this->buf = malloc(this->bufsize); this->size = 0; + init_yuv_planes(&this->yuv_planes, this->width, this->height); + this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; - init_yuv_planes(&this->yuv_planes, this->width, this->height); + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Microsoft RLE"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/msvc.c b/src/libxinevdec/msvc.c index 3e1fcd60a..47de2eb00 100644 --- a/src/libxinevdec/msvc.c +++ b/src/libxinevdec/msvc.c @@ -22,7 +22,7 @@ * based on overview of Microsoft Video-1 algorithm * by Mike Melanson: http://www.pcisys.net/~melanson/codecs/video1.txt * - * $Id: msvc.c,v 1.13 2002/10/20 18:07:23 tmmm Exp $ + * $Id: msvc.c,v 1.14 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdlib.h> @@ -243,6 +243,10 @@ static void msvc_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Microsoft Video-1"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + } else if (this->decoder_ok) { if (this->size + buf->size > this->bufsize) { diff --git a/src/libxinevdec/qtrle.c b/src/libxinevdec/qtrle.c index df2e9970c..4130b7184 100644 --- a/src/libxinevdec/qtrle.c +++ b/src/libxinevdec/qtrle.c @@ -21,7 +21,7 @@ * For more information on the QT RLE format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: qtrle.c,v 1.4 2002/10/22 05:40:01 tmmm Exp $ + * $Id: qtrle.c,v 1.5 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdio.h> @@ -727,6 +727,10 @@ static void qtrle_decode_data (video_decoder_t *this_gen, this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Quicktime Animation (RLE)"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/qtrpza.c b/src/libxinevdec/qtrpza.c index 3d49445b1..ac01e992f 100644 --- a/src/libxinevdec/qtrpza.c +++ b/src/libxinevdec/qtrpza.c @@ -21,7 +21,7 @@ * For more information about the RPZA format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: qtrpza.c,v 1.6 2002/10/22 05:33:52 tmmm Exp $ + * $Id: qtrpza.c,v 1.7 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdio.h> @@ -313,10 +313,14 @@ static void qtrpza_decode_data (video_decoder_t *this_gen, this->buf = malloc(this->bufsize); this->size = 0; + init_yuv_planes(&this->yuv_planes, this->width, this->height); + this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; - init_yuv_planes(&this->yuv_planes, this->width, this->height); + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Quicktime Video (RPZA)"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/qtsmc.c b/src/libxinevdec/qtsmc.c index 048cac687..76c99e5ed 100644 --- a/src/libxinevdec/qtsmc.c +++ b/src/libxinevdec/qtsmc.c @@ -23,7 +23,7 @@ * For more information on the SMC format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: qtsmc.c,v 1.6 2002/10/22 05:27:54 tmmm Exp $ + * $Id: qtsmc.c,v 1.7 2002/11/11 05:55:51 tmmm Exp $ */ #include <stdio.h> @@ -545,10 +545,14 @@ static void qtsmc_decode_data (video_decoder_t *this_gen, this->buf = malloc(this->bufsize); this->size = 0; + init_yuv_planes(&this->yuv_planes, this->width, this->height); + this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; - init_yuv_planes(&this->yuv_planes, this->width, this->height); + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Quicktime Graphics (SMC)"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/rgb.c b/src/libxinevdec/rgb.c index ee7ac7b61..736efad71 100644 --- a/src/libxinevdec/rgb.c +++ b/src/libxinevdec/rgb.c @@ -21,7 +21,7 @@ * Actually, this decoder just converts a raw RGB image to a YUY2 map * suitable for display under xine. * - * $Id: rgb.c,v 1.9 2002/10/20 17:47:00 tmmm Exp $ + * $Id: rgb.c,v 1.10 2002/11/11 05:55:52 tmmm Exp $ */ #include <stdio.h> @@ -117,10 +117,14 @@ static void rgb_decode_data (video_decoder_t *this_gen, this->buf = xine_xmalloc(this->bufsize); this->size = 0; + init_yuv_planes(&this->yuv_planes, this->width, this->height); + this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; - init_yuv_planes(&this->yuv_planes, this->width, this->height); + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Raw RGB"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/roqvideo.c b/src/libxinevdec/roqvideo.c index c5359451d..bc5245ae2 100644 --- a/src/libxinevdec/roqvideo.c +++ b/src/libxinevdec/roqvideo.c @@ -18,7 +18,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: roqvideo.c,v 1.12 2002/10/23 02:55:01 tmmm Exp $ + * $Id: roqvideo.c,v 1.13 2002/11/11 05:55:52 tmmm Exp $ */ /* And this is the header that came with the RoQ video decoder: */ @@ -423,6 +423,10 @@ static void roqvideo_decode_data (video_decoder_t *this_gen, memset(this->v[0], 0x80, this->c_size); memset(this->v[1], 0x80, this->c_size); + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("RoQ VQ Video"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + return; } diff --git a/src/libxinevdec/svq1.c b/src/libxinevdec/svq1.c index 6904f7ce7..4ea3eeaa7 100644 --- a/src/libxinevdec/svq1.c +++ b/src/libxinevdec/svq1.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: svq1.c,v 1.11 2002/10/22 05:14:34 tmmm Exp $ + * $Id: svq1.c,v 1.12 2002/11/11 05:55:52 tmmm Exp $ */ #include <stdio.h> @@ -1390,6 +1390,10 @@ static void svq1dec_decode_data (video_decoder_t *this_gen, buf_element_t *buf) this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Sorenson Video 1"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + } else if (this->decoder_ok) { if (this->size + buf->size > this->bufsize) { diff --git a/src/libxinevdec/wc3video.c b/src/libxinevdec/wc3video.c index c8960b484..35c5d4052 100644 --- a/src/libxinevdec/wc3video.c +++ b/src/libxinevdec/wc3video.c @@ -22,7 +22,7 @@ * For more information on the WC3 Movie format, visit: * http://www.pcisys.net/~melanson/codecs/ * - * $Id: wc3video.c,v 1.7 2002/10/23 01:40:01 tmmm Exp $ + * $Id: wc3video.c,v 1.8 2002/11/11 05:55:52 tmmm Exp $ */ #include <stdio.h> @@ -385,6 +385,10 @@ static void wc3video_decode_data (video_decoder_t *this_gen, this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; + /* load the stream/meta info */ + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Wing Commander III Video"); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + return; } else if (this->decoder_ok) { diff --git a/src/libxinevdec/yuv.c b/src/libxinevdec/yuv.c index fdce2d95d..358291fe0 100644 --- a/src/libxinevdec/yuv.c +++ b/src/libxinevdec/yuv.c @@ -21,7 +21,7 @@ * Actually, this decoder just reorganizes chunks of raw YUV data in such * a way that xine can display them. * - * $Id: yuv.c,v 1.9 2002/10/20 17:54:54 tmmm Exp $ + * $Id: yuv.c,v 1.10 2002/11/11 05:55:52 tmmm Exp $ */ #include <stdio.h> @@ -108,6 +108,24 @@ static void yuv_decode_data (video_decoder_t *this_gen, this->stream->video_out->open (this->stream->video_out); this->decoder_ok = 1; + /* load the stream/meta info */ + switch (buf->type) { + + case BUF_VIDEO_YV12: + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Raw YV12"); + break; + + case BUF_VIDEO_YVU9: + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Raw YVU9"); + break; + + case BUF_VIDEO_GREY: + this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup("Greyscale YUV"); + break; + + } + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; + return; } else if (this->decoder_ok) { |