summaryrefslogtreecommitdiff
path: root/src/ast_2dtool.h
diff options
context:
space:
mode:
authorY.C. Chen <yc_chen@aspeedtech.com>2010-11-10 14:08:55 +0800
committerY.C. Chen <yc_chen@aspeedtech.com>2010-11-10 14:08:55 +0800
commitb4466dad5d60c4a79b775c6e6de989563f7eac45 (patch)
tree68d39683838a699f942eb53a367809f701a4156f /src/ast_2dtool.h
parente387e54fd65b7db984975bf7a97cf30b5f1b9b9e (diff)
xf86-video-ast-0.92.02
Diffstat (limited to 'src/ast_2dtool.h')
-rw-r--r--src/ast_2dtool.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/ast_2dtool.h b/src/ast_2dtool.h
index 9af388b..5bc437f 100644
--- a/src/ast_2dtool.h
+++ b/src/ast_2dtool.h
@@ -47,8 +47,18 @@
#define CMD_QUEUE_SIZE_2M 0x00200000
#define CMD_QUEUE_SIZE_4M 0x00400000
+#define PIXEL_FMT_YV12 FOURCC_YV12 /* 0x32315659 */
+#define PIXEL_FMT_UYVY FOURCC_UYVY /* 0x59565955 */
+#define PIXEL_FMT_YUY2 FOURCC_YUY2 /* 0x32595559 */
+#define PIXEL_FMT_RGB5 0x35315652
+#define PIXEL_FMT_RGB6 0x36315652
+#define PIXEL_FMT_YVYU 0x55595659
+#define PIXEL_FMT_NV12 0x3231564e
+#define PIXEL_FMT_NV21 0x3132564e
+
/* CMD Type Info */
#define PKT_NULL_CMD 0x00009561
+#define PKT_BURST_CMD_HEADER0 0x00009564
#define PKT_SINGLE_LENGTH 8
#define PKT_SINGLE_CMD_HEADER 0x00009562
@@ -60,6 +70,70 @@ typedef struct _PKT_SC
} PKT_SC, *PPKT_SC;
+/* Packet CMD Scale */
+#define PKT_TYPESCALE_LENGTH 56
+#define PKT_TYPESCALE_DATALENGTH (0xC<<16)
+#define PKT_TYPESCALE_ADDRSTART 0x00000000
+
+typedef struct _BURSTSCALECMD
+{
+ ULONG dwHeader0;
+ ULONG dwSrcBaseAddr; /* 8000 */
+ union
+ {
+ struct
+ {
+ USHORT wSrcDummy; /* 8004 */
+ USHORT wSrcPitch; /* 8006 */
+ };
+ ULONG dwSrcPitch; /* 8004 */
+ };
+ ULONG dwDstBaseAddr; /* 8008 */
+ union
+ {
+ struct
+ {
+ USHORT wDstHeight; /* 800C */
+ USHORT wDstPitch; /* 800E */
+ };
+ ULONG dwDstHeightPitch; /* 800C */
+ };
+ union
+ {
+ struct
+ {
+ short wDstY; /* 8010 */
+ short wDstX; /* 8012 */
+ };
+ ULONG dwDstXY; /* 8010 */
+ };
+ union
+ {
+ struct
+ {
+ short wSrcY; /* 8014 */
+ short wSrcX; /* 8016 */
+ };
+ ULONG dwSrcXY; /* 8014 */
+ };
+ union
+ {
+ struct
+ {
+ USHORT wRecHeight; /* 8018 */
+ USHORT wRecWidth; /* 801A */
+ };
+ ULONG dwRecHeightWidth; /* 8018 */
+ };
+ ULONG dwInitScaleFactorH; /* 801C */
+ ULONG dwInitScaleFactorV; /* 8020 */
+ ULONG dwScaleFactorH; /* 8024 */
+ ULONG dwScaleFactorV; /* 8028 */
+
+ ULONG dwCmd; /* 823C */
+ ULONG NullData[1];
+} BURSTSCALECMD, *PBURSTSCALECMD;
+
/* Eng Reg. Limitation */
#define MAX_SRC_X 0x7FF
#define MAX_SRC_Y 0x7FF
@@ -153,6 +227,7 @@ typedef struct _PKT_SC
#define CMD_COLOREXP 0x00000002
#define CMD_ENHCOLOREXP 0x00000003
#define CMD_TRANSPARENTBLT 0x00000004
+#define CMD_TYPE_SCALE 0x00000005
#define CMD_MASK 0x00000007
#define CMD_DISABLE_CLIP 0x00000000
@@ -193,6 +268,19 @@ typedef struct _PKT_SC
#define BURST_FORCE_CMD 0x80000000
+#define YUV_FORMAT_YUYV (0UL<<12)
+#define YUV_FORMAT_YVYU (1UL<<12)
+#define YUV_FORMAT_UYVY (2UL<<12)
+#define YUV_FORMAT_VYUY (3UL<<12)
+
+#define SCALE_FORMAT_RGB2RGB (0UL<<14)
+#define SCALE_FORMAT_YUV2RGB (1UL<<14)
+#define SCALE_FORMAT_RGB2RGB_DOWN (2UL<<14) /* RGB32 to RGB16 */
+#define SCALE_FORMAT_RGB2RGB_UP (3UL<<14) /* RGB16 to RGB32 */
+#define SCALE_SEG_NUM_1 (0x3FUL<<24) /* DstWi >= SrcWi */
+#define SCALE_SEG_NUM_2 (0x1FUL<<24) /* DstWi < SrcWi */
+#define SCALE_EQUAL_VER (0x1UL<<23)
+
/* Line */
#define LINEPARAM_XM 0x00000001
#define LINEPARAM_X_DEC 0x00000002