# HG changeset patch # User nick # Date 1012467217 0 # Node ID edc7030598532bbf1ba9171a9ccc933ff9d4948d # Parent 3e1378354c2e93b5ac6483801d3394a81f63a816 RGB15 experimental support diff -r 3e1378354c2e -r edc703059853 vidix/drivers/radeon_vid.c --- a/vidix/drivers/radeon_vid.c Thu Jan 31 08:39:21 2002 +0000 +++ b/vidix/drivers/radeon_vid.c Thu Jan 31 08:53:37 2002 +0000 @@ -711,6 +711,7 @@ { IMGFMT_YV12, IMGFMT_I420, IMGFMT_IYUV, IMGFMT_UYVY, IMGFMT_YUY2, + IMGFMT_RGB15, IMGFMT_BGR15, IMGFMT_RGB16, IMGFMT_BGR16, IMGFMT_RGB32, IMGFMT_BGR32 }; @@ -840,11 +841,9 @@ #endif switch(besr.fourcc) { -/* case IMGFMT_RGB15: case IMGFMT_BGR15: bes_flags |= SCALER_SOURCE_15BPP; break; -*/ - case IMGFMT_RGB16: + case IMGFMT_RGB16: case IMGFMT_BGR16: bes_flags |= SCALER_SOURCE_16BPP; break; /* case IMGFMT_RGB24: @@ -919,7 +918,7 @@ config->dest.pitch.v = best_pitch; break; /* 4:2:2 */ - default: + default: /* RGB15, RGB16 */ case IMGFMT_UYVY: case IMGFMT_YUY2: pitch = ((src_w*2) + mpitch) & ~mpitch; @@ -964,9 +963,11 @@ if(besr.fourcc == IMGFMT_I420 || besr.fourcc == IMGFMT_IYUV) { uint32_t tmp; +/* tmp = besr.vid_buf1_base_adrs; besr.vid_buf1_base_adrs = besr.vid_buf2_base_adrs; besr.vid_buf2_base_adrs = tmp; +*/ tmp = config->offset.u; config->offset.u = config->offset.v; config->offset.v = tmp; @@ -1041,6 +1042,11 @@ case IMGFMT_IYUV: info->frame_size = awidth*info->src.h+(awidth*info->src.h)/2; break; + case IMGFMT_RGB32: + case IMGFMT_BGR32: + info->frame_size = awidth*info->src.h*4; + break; + /* YUY2 YVYU, RGB15, RGB16 */ default: info->frame_size = awidth*info->src.h*2; break; }