diff options
author | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-04-16 03:33:35 +0000 |
---|---|---|
committer | arpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-04-16 03:33:35 +0000 |
commit | 10f985abb26c9c748cdef35baedbcd98f82d5ea7 (patch) | |
tree | 6f7c08cec604417c6cd3eb53407f95faebb91ba0 /libvo | |
parent | 46bf0d7566e31a9fd0513d12e91d6b5238cb1a0b (diff) | |
download | mpv-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.c | 4 | ||||
-rw-r--r-- | libvo/vo_mga.c | 6 | ||||
-rw-r--r-- | libvo/vo_xmga.c | 8 |
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; |