1.7 Versioning and Capability Negotiation

Capability exchange using the RDPGFX_CAPS_ADVERTISE_PDU (section 2.2.2.18) and RDPGFX_CAPS_CONFIRM_PDU (section 2.2.2.19) messages takes place before any graphics messages flow on the wire. The client advertises supported capability sets from section 2.2.3 in an RDPGFX_CAPS_ADVERTISE_PDU message. In response, the server selects one of these sets and then sends an RDPGFX_CAPS_CONFIRM_PDU message to the client containing the selected set.

Implementers of the Remote Desktop Protocol: Graphics Pipeline Extension have to support the ClearCodec codec as described in sections 2.2.4.1 and 3.3.8.1. Usage of the RemoteFX Codec ([MS-RDPRFX] sections 2.2.2 and 3.1.8) and the RemoteFX Progressive Codec (sections 2.2.4.2, 3.1.8.1, 3.2.8.1, and 3.3.8.1) is based on the flags exchanged in the RDPGFX_CAPSET_VERSION8, RDPGFX_CAPSET_VERSION81, RDPGFX_CAPSET_VERSION10, RDPGFX_CAPSET_VERSION102, RDPGFX_CAPSET_VERSION103, RDPGFX_CAPSET_VERSION104, RDPGFX_CAPSET_VERSION105, or RDPGFX_CAPSET_VERSION106 structure (sections 2.2.3.1, 2.2.3.2, 2.2.3.3, 2.2.3.5, 2.2.3.6, 2.2.3.7, 2.2.3.8, and 2.2.3.9 respectively). Usage of the MPEG-4 AVC/H.264 Codec in YUV420p, YUV444, or YUV444v2 mode (sections 2.2.4.3, 2.2.4.4, 2.2.4.5, 2.2.4.6, and 3.3.8.3) is based on the flags exchanged in the RDPGFX_CAPSET_VERSION81, RDPGFX_CAPSET_VERSION10, RDPGFX_CAPSET_VERSION102, RDPGFX_CAPSET_VERSION103, RDPGFX_CAPSET_VERSION104, RDPGFX_CAPSET_VERSION105, or RDPGFX_CAPSET_VERSION106 structure (sections 2.2.3.2, 2.2.3.3, 2.2.3.5, 2.2.3.6, 2.2.3.7, 2.2.3.8, and 2.2.3.9 respectively). Usage of the MPEG-4 AVC/H.264 Codec in YUV444v2 mode is implied by the RDPGFX_CAPSET_VERSION101 structure (section 2.2.3.4). Only the flags of the selected capability set that are sent in the RDPGFX_CAPS_CONFIRM_PDU (section 2.2.2.19) message apply to the connection. All of the capability set structures are encapsulated in the RDPGFX_CAPS_ADVERTISE_PDU (section 2.2.2.18) and RDPGFX_CAPS_CONFIRM_PDU (section 2.2.2.19) messages. Furthermore, any data exchanged in the Bitmap Codecs Capability Set ([MS-RDPBCGR] section 2.2.7.2.10) does not influence the choice of codecs used by the Remote Desktop Protocol: Graphics Pipeline Extension.