FreeRDP
Loading...
Searching...
No Matches
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
36typedef 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
51extern "C"
52{
53#endif
54
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#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
90 WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_free",
91 FREERDP_API void codecs_free(rdpCodecs* codecs));
92
93 WINPR_DEPRECATED_VAR("[since 3.6.0] Use freerdp_client_codecs_new",
94 WINPR_ATTR_MALLOC(codecs_free, 1)
95 FREERDP_API rdpCodecs* codecs_new(rdpContext* context));
96#endif
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif /* FREERDP_CODECS_H */
RFX_CONTEXT * rfx
Definition codecs.h:59