FreeRDP
channels/rdpgfx.h File Reference
#include <freerdp/api.h>
#include <freerdp/dvc.h>
#include <freerdp/types.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  RDPGFX_POINT16
 
struct  RDPGFX_COLOR32
 
struct  RDPGFX_HEADER
 
struct  RDPGFX_CAPSET
 
struct  RDPGFX_CAPSET_VERSION8
 
struct  RDPGFX_CAPSET_VERSION81
 
struct  RDPGFX_CAPSET_VERSION10
 
struct  RDPGFX_WIRE_TO_SURFACE_PDU_1
 
struct  RDPGFX_WIRE_TO_SURFACE_PDU_2
 
struct  RDPGFX_SURFACE_COMMAND
 
struct  RDPGFX_DELETE_ENCODING_CONTEXT_PDU
 
struct  RDPGFX_SOLID_FILL_PDU
 
struct  RDPGFX_SURFACE_TO_SURFACE_PDU
 
struct  RDPGFX_SURFACE_TO_CACHE_PDU
 
struct  RDPGFX_CACHE_TO_SURFACE_PDU
 
struct  RDPGFX_EVICT_CACHE_ENTRY_PDU
 
struct  RDPGFX_CREATE_SURFACE_PDU
 
struct  RDPGFX_DELETE_SURFACE_PDU
 
struct  RDPGFX_START_FRAME_PDU
 
struct  RDPGFX_END_FRAME_PDU
 
struct  RDPGFX_FRAME_ACKNOWLEDGE_PDU
 
struct  RDPGFX_RESET_GRAPHICS_PDU
 
struct  RDPGFX_MAP_SURFACE_TO_OUTPUT_PDU
 
struct  RDPGFX_MAP_SURFACE_TO_SCALED_OUTPUT_PDU
 
struct  RDPGFX_CACHE_ENTRY_METADATA
 
struct  RDPGFX_CACHE_IMPORT_OFFER_PDU
 
struct  RDPGFX_CACHE_IMPORT_REPLY_PDU
 
struct  RDPGFX_CAPS_ADVERTISE_PDU
 
struct  RDPGFX_CAPS_CONFIRM_PDU
 
struct  RDPGFX_MAP_SURFACE_TO_WINDOW_PDU
 
struct  RDPGFX_MAP_SURFACE_TO_SCALED_WINDOW_PDU
 
struct  RDPGFX_H264_QUANT_QUALITY
 
struct  RDPGFX_H264_METABLOCK
 
struct  RDPGFX_AVC420_BITMAP_STREAM
 
struct  RDPGFX_AVC444_BITMAP_STREAM
 
struct  RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU
 

Macros

#define RDPGFX_CHANNEL_NAME   "rdpgfx"
 
#define RDPGFX_DVC_CHANNEL_NAME   "Microsoft::Windows::RDS::Graphics"
 
#define GFX_PIXEL_FORMAT_XRGB_8888   0x20
 
#define GFX_PIXEL_FORMAT_ARGB_8888   0x21
 
#define RDPGFX_CMDID_UNUSED_0000   0x0000
 
#define RDPGFX_CMDID_WIRETOSURFACE_1   0x0001
 
#define RDPGFX_CMDID_WIRETOSURFACE_2   0x0002
 
#define RDPGFX_CMDID_DELETEENCODINGCONTEXT   0x0003
 
#define RDPGFX_CMDID_SOLIDFILL   0x0004
 
#define RDPGFX_CMDID_SURFACETOSURFACE   0x0005
 
#define RDPGFX_CMDID_SURFACETOCACHE   0x0006
 
#define RDPGFX_CMDID_CACHETOSURFACE   0x0007
 
#define RDPGFX_CMDID_EVICTCACHEENTRY   0x0008
 
#define RDPGFX_CMDID_CREATESURFACE   0x0009
 
#define RDPGFX_CMDID_DELETESURFACE   0x000A
 
#define RDPGFX_CMDID_STARTFRAME   0x000B
 
#define RDPGFX_CMDID_ENDFRAME   0x000C
 
#define RDPGFX_CMDID_FRAMEACKNOWLEDGE   0x000D
 
#define RDPGFX_CMDID_RESETGRAPHICS   0x000E
 
#define RDPGFX_CMDID_MAPSURFACETOOUTPUT   0x000F
 
#define RDPGFX_CMDID_CACHEIMPORTOFFER   0x0010
 
#define RDPGFX_CMDID_CACHEIMPORTREPLY   0x0011
 
#define RDPGFX_CMDID_CAPSADVERTISE   0x0012
 
#define RDPGFX_CMDID_CAPSCONFIRM   0x0013
 
#define RDPGFX_CMDID_UNUSED_0014   0x0014
 
#define RDPGFX_CMDID_MAPSURFACETOWINDOW   0x0015
 
#define RDPGFX_CMDID_QOEFRAMEACKNOWLEDGE   0x0016
 
#define RDPGFX_CMDID_MAPSURFACETOSCALEDOUTPUT   0x0017
 
#define RDPGFX_CMDID_MAPSURFACETOSCALEDWINDOW   0x0018
 
#define RDPGFX_HEADER_SIZE   8
 
#define RDPGFX_CAPVERSION_8   0x00080004 /** [MS-RDPEGFX] 2.2.3.1 */
 
#define RDPGFX_CAPVERSION_81   0x00080105 /** [MS-RDPEGFX] 2.2.3.2 */
 
#define RDPGFX_CAPVERSION_10   0x000A0002 /** [MS-RDPEGFX] 2.2.3.3 */
 
#define RDPGFX_CAPVERSION_101   0x000A0100 /** [MS-RDPEGFX] 2.2.3.4 */
 
#define RDPGFX_CAPVERSION_102   0x000A0200 /** [MS-RDPEGFX] 2.2.3.5 */
 
#define RDPGFX_CAPVERSION_103   0x000A0301 /** [MS-RDPEGFX] 2.2.3.6 */
 
#define RDPGFX_CAPVERSION_104   0x000A0400 /** [MS-RDPEGFX] 2.2.3.7 */
 
#define RDPGFX_CAPVERSION_105   0x000A0502 /** [MS-RDPEGFX] 2.2.3.8 */
 
#define RDPGFX_CAPVERSION_106
 
#define RDPGFX_CAPVERSION_106_ERR   0x000A0601
 
#define RDPGFX_CAPVERSION_107   0x000A0701 /** [MS-RDPEGFX] 2.2.3.10 */
 
#define RDPGFX_NUMBER_CAPSETS   11
 
#define RDPGFX_CAPSET_BASE_SIZE   8
 
#define RDPGFX_CAPS_FLAG_THINCLIENT   0x00000001U /* 8.0+ */
 
#define RDPGFX_CAPS_FLAG_SMALL_CACHE   0x00000002U /* 8.0+ */
 
#define RDPGFX_CAPS_FLAG_AVC420_ENABLED   0x00000010U /* 8.1+ */
 
#define RDPGFX_CAPS_FLAG_AVC_DISABLED   0x00000020U /* 10.0+ */
 
#define RDPGFX_CAPS_FLAG_AVC_THINCLIENT   0x00000040U /* 10.3+ */
 
#define RDPGFX_CAPS_FLAG_SCALEDMAP_DISABLE   0x00000080U /* 10.7+ */
 
#define RDPGFX_CODECID_UNCOMPRESSED   0x0000
 
#define RDPGFX_CODECID_CAVIDEO   0x0003
 
#define RDPGFX_CODECID_CLEARCODEC   0x0008
 
#define RDPGFX_CODECID_PLANAR   0x000A
 
#define RDPGFX_CODECID_AVC420   0x000B
 
#define RDPGFX_CODECID_ALPHA   0x000C
 
#define RDPGFX_CODECID_AVC444   0x000E
 
#define RDPGFX_CODECID_AVC444v2   0x000F
 
#define RDPGFX_WIRE_TO_SURFACE_PDU_1_SIZE   17
 
#define RDPGFX_CODECID_CAPROGRESSIVE   0x0009
 
#define RDPGFX_CODECID_CAPROGRESSIVE_V2   0x000D
 
#define RDPGFX_WIRE_TO_SURFACE_PDU_2_SIZE   13
 
#define RDPGFX_START_FRAME_PDU_SIZE   8
 
#define RDPGFX_END_FRAME_PDU_SIZE   4
 
#define QUEUE_DEPTH_UNAVAILABLE   0x00000000
 
#define SUSPEND_FRAME_ACKNOWLEDGEMENT   0xFFFFFFFF
 
#define RDPGFX_CACHE_ENTRY_MAX_COUNT   5462
 

Typedefs

typedef BYTE RDPGFX_PIXELFORMAT
 

Macro Definition Documentation

◆ GFX_PIXEL_FORMAT_ARGB_8888

#define GFX_PIXEL_FORMAT_ARGB_8888   0x21

◆ GFX_PIXEL_FORMAT_XRGB_8888

#define GFX_PIXEL_FORMAT_XRGB_8888   0x20

◆ QUEUE_DEPTH_UNAVAILABLE

#define QUEUE_DEPTH_UNAVAILABLE   0x00000000

◆ RDPGFX_CACHE_ENTRY_MAX_COUNT

#define RDPGFX_CACHE_ENTRY_MAX_COUNT   5462

◆ RDPGFX_CAPS_FLAG_AVC420_ENABLED

#define RDPGFX_CAPS_FLAG_AVC420_ENABLED   0x00000010U /* 8.1+ */

◆ RDPGFX_CAPS_FLAG_AVC_DISABLED

#define RDPGFX_CAPS_FLAG_AVC_DISABLED   0x00000020U /* 10.0+ */

◆ RDPGFX_CAPS_FLAG_AVC_THINCLIENT

#define RDPGFX_CAPS_FLAG_AVC_THINCLIENT   0x00000040U /* 10.3+ */

◆ RDPGFX_CAPS_FLAG_SCALEDMAP_DISABLE

#define RDPGFX_CAPS_FLAG_SCALEDMAP_DISABLE   0x00000080U /* 10.7+ */

◆ RDPGFX_CAPS_FLAG_SMALL_CACHE

#define RDPGFX_CAPS_FLAG_SMALL_CACHE   0x00000002U /* 8.0+ */

◆ RDPGFX_CAPS_FLAG_THINCLIENT

#define RDPGFX_CAPS_FLAG_THINCLIENT   0x00000001U /* 8.0+ */

◆ RDPGFX_CAPSET_BASE_SIZE

#define RDPGFX_CAPSET_BASE_SIZE   8

◆ RDPGFX_CAPVERSION_10

#define RDPGFX_CAPVERSION_10   0x000A0002 /** [MS-RDPEGFX] 2.2.3.3 */

◆ RDPGFX_CAPVERSION_101

#define RDPGFX_CAPVERSION_101   0x000A0100 /** [MS-RDPEGFX] 2.2.3.4 */

◆ RDPGFX_CAPVERSION_102

#define RDPGFX_CAPVERSION_102   0x000A0200 /** [MS-RDPEGFX] 2.2.3.5 */

◆ RDPGFX_CAPVERSION_103

#define RDPGFX_CAPVERSION_103   0x000A0301 /** [MS-RDPEGFX] 2.2.3.6 */

◆ RDPGFX_CAPVERSION_104

#define RDPGFX_CAPVERSION_104   0x000A0400 /** [MS-RDPEGFX] 2.2.3.7 */

◆ RDPGFX_CAPVERSION_105

#define RDPGFX_CAPVERSION_105   0x000A0502 /** [MS-RDPEGFX] 2.2.3.8 */

◆ RDPGFX_CAPVERSION_106

#define RDPGFX_CAPVERSION_106
Value:
0x000A0600

◆ RDPGFX_CAPVERSION_106_ERR

#define RDPGFX_CAPVERSION_106_ERR   0x000A0601

◆ RDPGFX_CAPVERSION_107

#define RDPGFX_CAPVERSION_107   0x000A0701 /** [MS-RDPEGFX] 2.2.3.10 */

◆ RDPGFX_CAPVERSION_8

#define RDPGFX_CAPVERSION_8   0x00080004 /** [MS-RDPEGFX] 2.2.3.1 */

Capability Sets [MS-RDPEGFX] 2.2.3

◆ RDPGFX_CAPVERSION_81

#define RDPGFX_CAPVERSION_81   0x00080105 /** [MS-RDPEGFX] 2.2.3.2 */

◆ RDPGFX_CHANNEL_NAME

#define RDPGFX_CHANNEL_NAME   "rdpgfx"

FreeRDP: A Remote Desktop Protocol Implementation Graphics Pipeline Extension

Copyright 2013 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ RDPGFX_CMDID_CACHEIMPORTOFFER

#define RDPGFX_CMDID_CACHEIMPORTOFFER   0x0010

◆ RDPGFX_CMDID_CACHEIMPORTREPLY

#define RDPGFX_CMDID_CACHEIMPORTREPLY   0x0011

◆ RDPGFX_CMDID_CACHETOSURFACE

#define RDPGFX_CMDID_CACHETOSURFACE   0x0007

◆ RDPGFX_CMDID_CAPSADVERTISE

#define RDPGFX_CMDID_CAPSADVERTISE   0x0012

◆ RDPGFX_CMDID_CAPSCONFIRM

#define RDPGFX_CMDID_CAPSCONFIRM   0x0013

◆ RDPGFX_CMDID_CREATESURFACE

#define RDPGFX_CMDID_CREATESURFACE   0x0009

◆ RDPGFX_CMDID_DELETEENCODINGCONTEXT

#define RDPGFX_CMDID_DELETEENCODINGCONTEXT   0x0003

◆ RDPGFX_CMDID_DELETESURFACE

#define RDPGFX_CMDID_DELETESURFACE   0x000A

◆ RDPGFX_CMDID_ENDFRAME

#define RDPGFX_CMDID_ENDFRAME   0x000C

◆ RDPGFX_CMDID_EVICTCACHEENTRY

#define RDPGFX_CMDID_EVICTCACHEENTRY   0x0008

◆ RDPGFX_CMDID_FRAMEACKNOWLEDGE

#define RDPGFX_CMDID_FRAMEACKNOWLEDGE   0x000D

◆ RDPGFX_CMDID_MAPSURFACETOOUTPUT

#define RDPGFX_CMDID_MAPSURFACETOOUTPUT   0x000F

◆ RDPGFX_CMDID_MAPSURFACETOSCALEDOUTPUT

#define RDPGFX_CMDID_MAPSURFACETOSCALEDOUTPUT   0x0017

◆ RDPGFX_CMDID_MAPSURFACETOSCALEDWINDOW

#define RDPGFX_CMDID_MAPSURFACETOSCALEDWINDOW   0x0018

◆ RDPGFX_CMDID_MAPSURFACETOWINDOW

#define RDPGFX_CMDID_MAPSURFACETOWINDOW   0x0015

◆ RDPGFX_CMDID_QOEFRAMEACKNOWLEDGE

#define RDPGFX_CMDID_QOEFRAMEACKNOWLEDGE   0x0016

◆ RDPGFX_CMDID_RESETGRAPHICS

#define RDPGFX_CMDID_RESETGRAPHICS   0x000E

◆ RDPGFX_CMDID_SOLIDFILL

#define RDPGFX_CMDID_SOLIDFILL   0x0004

◆ RDPGFX_CMDID_STARTFRAME

#define RDPGFX_CMDID_STARTFRAME   0x000B

◆ RDPGFX_CMDID_SURFACETOCACHE

#define RDPGFX_CMDID_SURFACETOCACHE   0x0006

◆ RDPGFX_CMDID_SURFACETOSURFACE

#define RDPGFX_CMDID_SURFACETOSURFACE   0x0005

◆ RDPGFX_CMDID_UNUSED_0000

#define RDPGFX_CMDID_UNUSED_0000   0x0000

◆ RDPGFX_CMDID_UNUSED_0014

#define RDPGFX_CMDID_UNUSED_0014   0x0014

◆ RDPGFX_CMDID_WIRETOSURFACE_1

#define RDPGFX_CMDID_WIRETOSURFACE_1   0x0001

◆ RDPGFX_CMDID_WIRETOSURFACE_2

#define RDPGFX_CMDID_WIRETOSURFACE_2   0x0002

◆ RDPGFX_CODECID_ALPHA

#define RDPGFX_CODECID_ALPHA   0x000C

◆ RDPGFX_CODECID_AVC420

#define RDPGFX_CODECID_AVC420   0x000B

◆ RDPGFX_CODECID_AVC444

#define RDPGFX_CODECID_AVC444   0x000E

◆ RDPGFX_CODECID_AVC444v2

#define RDPGFX_CODECID_AVC444v2   0x000F

◆ RDPGFX_CODECID_CAPROGRESSIVE

#define RDPGFX_CODECID_CAPROGRESSIVE   0x0009

◆ RDPGFX_CODECID_CAPROGRESSIVE_V2

#define RDPGFX_CODECID_CAPROGRESSIVE_V2   0x000D

◆ RDPGFX_CODECID_CAVIDEO

#define RDPGFX_CODECID_CAVIDEO   0x0003

◆ RDPGFX_CODECID_CLEARCODEC

#define RDPGFX_CODECID_CLEARCODEC   0x0008

◆ RDPGFX_CODECID_PLANAR

#define RDPGFX_CODECID_PLANAR   0x000A

◆ RDPGFX_CODECID_UNCOMPRESSED

#define RDPGFX_CODECID_UNCOMPRESSED   0x0000

Graphics Messages

◆ RDPGFX_DVC_CHANNEL_NAME

#define RDPGFX_DVC_CHANNEL_NAME   "Microsoft::Windows::RDS::Graphics"

◆ RDPGFX_END_FRAME_PDU_SIZE

#define RDPGFX_END_FRAME_PDU_SIZE   4

◆ RDPGFX_HEADER_SIZE

#define RDPGFX_HEADER_SIZE   8

◆ RDPGFX_NUMBER_CAPSETS

#define RDPGFX_NUMBER_CAPSETS   11

◆ RDPGFX_START_FRAME_PDU_SIZE

#define RDPGFX_START_FRAME_PDU_SIZE   8

◆ RDPGFX_WIRE_TO_SURFACE_PDU_1_SIZE

#define RDPGFX_WIRE_TO_SURFACE_PDU_1_SIZE   17

◆ RDPGFX_WIRE_TO_SURFACE_PDU_2_SIZE

#define RDPGFX_WIRE_TO_SURFACE_PDU_2_SIZE   13

◆ SUSPEND_FRAME_ACKNOWLEDGEMENT

#define SUSPEND_FRAME_ACKNOWLEDGEMENT   0xFFFFFFFF

Typedef Documentation

◆ RDPGFX_PIXELFORMAT