From fd55a47f0118182fee26e563417a7be101cca148 Mon Sep 17 00:00:00 2001 From: iive Date: Sat, 21 Jun 2003 01:47:26 +0000 Subject: basic xvmc image support git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10317 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/img_format.c | 2 ++ libmpcodecs/img_format.h | 8 ++++++++ libmpcodecs/mp_image.h | 4 ++++ 3 files changed, 14 insertions(+) (limited to 'libmpcodecs') 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)) -- cgit v1.2.3