1/* **********************************************************
2 * Copyright 2007 VMware, Inc.  All rights reserved.
3 * **********************************************************/
4
5/*
6 * svga_overlay.h --
7 *
8 *    Definitions for video-overlay support.
9 */
10
11#ifndef _SVGA_OVERLAY_H_
12#define _SVGA_OVERLAY_H_
13
14/*
15 * Video formats we support
16 */
17
18#define VMWARE_FOURCC_YV12 0x32315659 /* 'Y' 'V' '1' '2' */
19#define VMWARE_FOURCC_YUY2 0x32595559 /* 'Y' 'U' 'Y' '2' */
20#define VMWARE_FOURCC_UYVY 0x59565955 /* 'U' 'Y' 'V' 'Y' */
21
22#define SVGA_ESCAPE_VMWARE_VIDEO             0x00020000
23
24#define SVGA_ESCAPE_VMWARE_VIDEO_SET_REGS    0x00020001
25        /* FIFO escape layout:
26         * Type, Stream Id, (Register Id, Value) pairs */
27
28#define SVGA_ESCAPE_VMWARE_VIDEO_FLUSH       0x00020002
29        /* FIFO escape layout:
30         * Type, Stream Id */
31
32typedef struct SVGAEscapeVideoSetRegs {
33   struct {
34      uint32 cmdType;
35      uint32 streamId;
36   } header;
37
38   /* May include zero or more items. */
39   struct {
40      uint32 registerId;
41      uint32 value;
42   } items[1];
43} SVGAEscapeVideoSetRegs;
44
45typedef struct SVGAEscapeVideoFlush {
46   uint32 cmdType;
47   uint32 streamId;
48} SVGAEscapeVideoFlush;
49
50#endif /* _SVGA_OVERLAY_H_ */
51