summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-16 03:33:35 +0000
committerarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-16 03:33:35 +0000
commit10f985abb26c9c748cdef35baedbcd98f82d5ea7 (patch)
tree6f7c08cec604417c6cd3eb53407f95faebb91ba0 /libvo
parent46bf0d7566e31a9fd0513d12e91d6b5238cb1a0b (diff)
downloadmpv-10f985abb26c9c748cdef35baedbcd98f82d5ea7.tar.bz2
mpv-10f985abb26c9c748cdef35baedbcd98f82d5ea7.tar.xz
I420/IYUV support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@471 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/mga_common.c4
-rw-r--r--libvo/vo_mga.c6
-rw-r--r--libvo/vo_xmga.c8
3 files changed, 18 insertions, 0 deletions
diff --git a/libvo/mga_common.c b/libvo/mga_common.c
index f9c281c19b..ca37ce0a63 100644
--- a/libvo/mga_common.c
+++ b/libvo/mga_common.c
@@ -14,6 +14,8 @@ static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned
uint32_t bespitch = (mga_vid_config.src_width + 31) & ~31;
switch(mga_vid_config.format){
case MGA_VID_FORMAT_YV12:
+ case MGA_VID_FORMAT_IYUV:
+ case MGA_VID_FORMAT_I420:
vo_draw_alpha_yv12(w,h,src,srca,stride,vid_data+bespitch*y0+x0,bespitch);
break;
case MGA_VID_FORMAT_YUY2:
@@ -171,6 +173,8 @@ query_format(uint32_t format)
{
switch(format){
case IMGFMT_YV12:
+ case IMGFMT_I420:
+ case IMGFMT_IYUV:
case IMGFMT_YUY2:
case IMGFMT_UYVY:
// case IMGFMT_RGB|24:
diff --git a/libvo/vo_mga.c b/libvo/vo_mga.c
index 00e5b6afed..241d48de1a 100644
--- a/libvo/vo_mga.c
+++ b/libvo/vo_mga.c
@@ -67,6 +67,12 @@ init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint3
case IMGFMT_YV12:
mga_vid_config.frame_size = ((width + 31) & ~31) * height + (((width + 31) & ~31) * height) / 2;
mga_vid_config.format=MGA_VID_FORMAT_YV12; break;
+ case IMGFMT_I420:
+ mga_vid_config.frame_size = ((width + 31) & ~31) * height + (((width + 31) & ~31) * height) / 2;
+ mga_vid_config.format=MGA_VID_FORMAT_I420; break;
+ case IMGFMT_IYUV:
+ mga_vid_config.frame_size = ((width + 31) & ~31) * height + (((width + 31) & ~31) * height) / 2;
+ mga_vid_config.format=MGA_VID_FORMAT_IYUV; break;
case IMGFMT_YUY2:
mga_vid_config.frame_size = ((width + 31) & ~31) * height * 2;
mga_vid_config.format=MGA_VID_FORMAT_YUY2; break;
diff --git a/libvo/vo_xmga.c b/libvo/vo_xmga.c
index 35c4850d82..77401c501f 100644
--- a/libvo/vo_xmga.c
+++ b/libvo/vo_xmga.c
@@ -185,6 +185,14 @@ static uint32_t init( uint32_t width, uint32_t height, uint32_t d_width, uint32_
mga_vid_config.format=MGA_VID_FORMAT_YV12;
mga_vid_config.frame_size=( ( width + 31 ) & ~31 ) * height + ( ( ( width + 31 ) & ~31 ) * height ) / 2;
break;
+ case IMGFMT_I420:
+ mga_vid_config.format=MGA_VID_FORMAT_I420;
+ mga_vid_config.frame_size=( ( width + 31 ) & ~31 ) * height + ( ( ( width + 31 ) & ~31 ) * height ) / 2;
+ break;
+ case IMGFMT_IYUV:
+ mga_vid_config.format=MGA_VID_FORMAT_IYUV;
+ mga_vid_config.frame_size=( ( width + 31 ) & ~31 ) * height + ( ( ( width + 31 ) & ~31 ) * height ) / 2;
+ break;
case IMGFMT_YUY2:
mga_vid_config.format=MGA_VID_FORMAT_YUY2;
mga_vid_config.frame_size=( ( width + 31 ) & ~31 ) * height * 2;