summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authoriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-06-21 01:47:26 +0000
committeriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-06-21 01:47:26 +0000
commitfd55a47f0118182fee26e563417a7be101cca148 (patch)
tree9c4ae994f27321c73311390249080b0b134fdcbd /libmpcodecs
parent26df2d979706d673e253d3cb8ae8a5ad2dff17f7 (diff)
downloadmpv-fd55a47f0118182fee26e563417a7be101cca148.tar.bz2
mpv-fd55a47f0118182fee26e563417a7be101cca148.tar.xz
basic xvmc image support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10317 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/img_format.c2
-rw-r--r--libmpcodecs/img_format.h8
-rw-r--r--libmpcodecs/mp_image.h4
3 files changed, 14 insertions, 0 deletions
diff --git a/libmpcodecs/img_format.c b/libmpcodecs/img_format.c
index 2afc2904fa..ab7a08f5fa 100644
--- a/libmpcodecs/img_format.c
+++ b/libmpcodecs/img_format.c
@@ -54,6 +54,8 @@ char *vo_format_name(int format)
case IMGFMT_YUVP: return("Packed YUVP");
case IMGFMT_UYVP: return("Packed UYVP");
case IMGFMT_MPEGPES: return("Mpeg PES");
+ case IMGFMT_XVMC_MOCO_MPEG2: return("MPEG1/2 Motion Compensation");
+ case IMGFMT_XVMC_IDCT_MPEG2: return("MPEG1/2 Motion Compensation and IDCT");
}
return("Unknown");
}
diff --git a/libmpcodecs/img_format.h b/libmpcodecs/img_format.h
index c197501219..6c6d66f99f 100644
--- a/libmpcodecs/img_format.h
+++ b/libmpcodecs/img_format.h
@@ -77,6 +77,14 @@
/* Compressed Formats */
#define IMGFMT_MPEGPES (('M'<<24)|('P'<<16)|('E'<<8)|('S'))
+// I think that this code could not be used by any other codec/format
+#define IMGFMT_XVMC 0x1DC70000
+#define IMGFMT_XVMC_MASK 0xFFFF0000
+#define IMGFMT_IS_XVMC(fmt) (((fmt)&IMGFMT_XVMC_MASK)==IMGFMT_XVMC)
+//these are chroma420
+#define IMGFMT_XVMC_MOCO_MPEG2 (IMGFMT_XVMC|0x02)
+#define IMGFMT_XVMC_IDCT_MPEG2 (IMGFMT_XVMC|0x82)
+
typedef struct {
void* data;
int size;
diff --git a/libmpcodecs/mp_image.h b/libmpcodecs/mp_image.h
index e0ec216659..0cadc68e9b 100644
--- a/libmpcodecs/mp_image.h
+++ b/libmpcodecs/mp_image.h
@@ -95,6 +95,10 @@ static inline void mp_image_setfmt(mp_image_t* mpi,unsigned int out_fmt){
mpi->bpp=0;
return;
}
+ if(IMGFMT_IS_XVMC(out_fmt)){
+ mpi->bpp=0;
+ return;
+ }
mpi->num_planes=1;
if (IMGFMT_IS_RGB(out_fmt)) {
if (IMGFMT_RGB_DEPTH(out_fmt) < 8 && !(out_fmt&128))