FreeRDP
codecs.h
1 
20 #ifndef FREERDP_CODECS_H
21 #define FREERDP_CODECS_H
22 
23 #include <freerdp/api.h>
24 #include <freerdp/types.h>
25 
26 #include <freerdp/codec/color.h>
27 
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>
35 
36 typedef enum
37 {
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 /* C enum types are restricted to int */
48 } FreeRDP_CodecFlags;
49 
50 #ifdef __cplusplus
51 extern "C"
52 {
53 #endif
54 
55  struct rdp_codecs
56  {
57  UINT32 ThreadingFlags;
59  RFX_CONTEXT* rfx;
60  NSC_CONTEXT* nsc;
61  H264_CONTEXT* h264;
62  CLEAR_CONTEXT* clear;
63  PROGRESSIVE_CONTEXT* progressive;
64  BITMAP_PLANAR_CONTEXT* planar;
65  BITMAP_INTERLEAVED_CONTEXT* interleaved;
66  };
67  typedef struct rdp_codecs rdpCodecs;
68 
69  FREERDP_API BOOL freerdp_client_codecs_prepare(rdpCodecs* codecs, UINT32 flags, UINT32 width,
70  UINT32 height);
71  FREERDP_API BOOL freerdp_client_codecs_reset(rdpCodecs* codecs, UINT32 flags, UINT32 width,
72  UINT32 height);
73 
79  FREERDP_API void freerdp_client_codecs_free(rdpCodecs* codecs);
80 
86  WINPR_ATTR_MALLOC(freerdp_client_codecs_free, 1)
87  FREERDP_API rdpCodecs* freerdp_client_codecs_new(UINT32 TheadingFlags);
88 
89  FREERDP_API WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_free",
90  void codecs_free(rdpCodecs* codecs));
91 
92  FREERDP_API WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_new",
93  rdpCodecs* codecs_new(rdpContext* context));
94 
95 #ifdef __cplusplus
96 }
97 #endif
98 
99 #endif /* FREERDP_CODECS_H */
RFX_CONTEXT * rfx
Definition: codecs.h:59