20#include <winpr/wlog.h>
22#include <freerdp/api.h>
23#include <freerdp/types.h>
24#include <freerdp/channels/rdpgfx.h>
31 typedef struct S_FREERDP_AV2_CONTEXT FREERDP_AV2_CONTEXT;
40 } FREERDP_AV2_RATECONTROL;
45 FREERDP_AV2_CONTEXT_OPTION_PROFILE,
46 FREERDP_AV2_CONTEXT_OPTION_RATECONTROL,
47 FREERDP_AV2_CONTEXT_OPTION_BITRATE,
48 FREERDP_AV2_CONTEXT_OPTION_USAGETYPE
49 } FREERDP_AV2_CONTEXT_OPTION;
61 FREERDP_API BOOL freerdp_av2_context_set_option(FREERDP_AV2_CONTEXT* av2,
62 FREERDP_AV2_CONTEXT_OPTION option,
73 FREERDP_API UINT32 freerdp_av2_context_get_option(FREERDP_AV2_CONTEXT* av2,
74 FREERDP_AV2_CONTEXT_OPTION option);
93 FREERDP_API INT32 freerdp_av2_compress(FREERDP_AV2_CONTEXT* av2,
const BYTE* pSrcData,
94 DWORD SrcFormat, UINT32 nSrcStep, UINT32 nSrcWidth,
96 BYTE** ppDstData, UINT32* pDstSize,
116 FREERDP_API INT32 freerdp_av2_decompress(FREERDP_AV2_CONTEXT* av2,
const BYTE* pSrcData,
117 UINT32 SrcSize, BYTE* pDstData, DWORD DstFormat,
118 UINT32 nDstStep, UINT32 nDstWidth, UINT32 nDstHeight,
127 FREERDP_API BOOL freerdp_av2_context_reset(FREERDP_AV2_CONTEXT* av2, UINT32 width,
135 FREERDP_API
void freerdp_av2_context_free(FREERDP_AV2_CONTEXT* av2);
144 WINPR_ATTR_MALLOC(freerdp_av2_context_free, 1)
145 FREERDP_API FREERDP_AV2_CONTEXT* freerdp_av2_context_new(BOOL Compressor);