summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libxinevdec/cinepak.c6
-rw-r--r--src/libxinevdec/cyuv.c5
-rw-r--r--src/libxinevdec/foovideo.c14
-rw-r--r--src/libxinevdec/idcinvideo.c8
-rw-r--r--src/libxinevdec/msrle.c8
-rw-r--r--src/libxinevdec/msvc.c6
-rw-r--r--src/libxinevdec/qtrle.c6
-rw-r--r--src/libxinevdec/qtrpza.c8
-rw-r--r--src/libxinevdec/qtsmc.c8
-rw-r--r--src/libxinevdec/rgb.c8
-rw-r--r--src/libxinevdec/roqvideo.c6
-rw-r--r--src/libxinevdec/svq1.c6
-rw-r--r--src/libxinevdec/wc3video.c6
-rw-r--r--src/libxinevdec/yuv.c20
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) {