20 #ifndef FREERDP_CODECS_H
21 #define FREERDP_CODECS_H
23 #include <freerdp/api.h>
24 #include <freerdp/types.h>
26 #include <freerdp/codec/color.h>
28 #include <freerdp/codec/rfx.h>
29 #include <freerdp/codec/nsc.h>
30 #include <freerdp/codec/h264.h>
31 #include <freerdp/codec/clear.h>
32 #include <freerdp/codec/planar.h>
33 #include <freerdp/codec/interleaved.h>
34 #include <freerdp/codec/progressive.h>
38 FREERDP_CODEC_INTERLEAVED = 0x00000001,
39 FREERDP_CODEC_PLANAR = 0x00000002,
40 FREERDP_CODEC_NSCODEC = 0x00000004,
41 FREERDP_CODEC_REMOTEFX = 0x00000008,
42 FREERDP_CODEC_CLEARCODEC = 0x00000010,
43 FREERDP_CODEC_ALPHACODEC = 0x00000020,
44 FREERDP_CODEC_PROGRESSIVE = 0x00000040,
45 FREERDP_CODEC_AVC420 = 0x00000080,
46 FREERDP_CODEC_AVC444 = 0x00000100,
47 FREERDP_CODEC_ALL = 0x7FFFFFFF
57 UINT32 ThreadingFlags;
63 PROGRESSIVE_CONTEXT* progressive;
64 BITMAP_PLANAR_CONTEXT* planar;
65 BITMAP_INTERLEAVED_CONTEXT* interleaved;
69 FREERDP_API BOOL freerdp_client_codecs_prepare(rdpCodecs* codecs, UINT32 flags, UINT32 width,
71 FREERDP_API BOOL freerdp_client_codecs_reset(rdpCodecs* codecs, UINT32 flags, UINT32 width,
79 FREERDP_API
void freerdp_client_codecs_free(rdpCodecs* codecs);
86 WINPR_ATTR_MALLOC(freerdp_client_codecs_free, 1)
87 FREERDP_API rdpCodecs* freerdp_client_codecs_new(UINT32 TheadingFlags);
89 FREERDP_API WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_free",
90 void codecs_free(rdpCodecs* codecs));
92 FREERDP_API WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_new",
93 rdpCodecs* codecs_new(rdpContext* context));