FreeRDP
Loading...
Searching...
No Matches
/home/fbot/FreeRDP/include/freerdp/codec/video.h

Configure H.264 encoder settings.

Configure H.264 encoder settingsMust be called before the first encoding operation. Should be called again to reconfigure encoding settings (will reset encoder only if settings differ).

Parameters
contextVideo context
widthFrame width in pixels
heightFrame height in pixels
framerateTarget framerate (fps)
bitrateTarget bitrate (bps), 0 for auto-calculate based on height
usageTypeH264 usage type (H264_CAMERA_VIDEO_REAL_TIME, etc.)
Returns
TRUE on success, FALSE on failure

FREERDP_VIDEO_CONTEXT* ctx = freerdp_video_context_new(1920, 1080); freerdp_video_context_reconfigure(ctx, 1920, 1080, 30, 0, H264_CAMERA_VIDEO_REAL_TIME);

Since
version 3.24.0
#ifndef FREERDP_CODEC_VIDEO_H
#define FREERDP_CODEC_VIDEO_H
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <winpr/stream.h>
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct s_FREERDP_VIDEO_CONTEXT FREERDP_VIDEO_CONTEXT;
typedef enum
{
FREERDP_VIDEO_FORMAT_NONE = 0,
/* Compressed formats */
FREERDP_VIDEO_FORMAT_MJPEG,
FREERDP_VIDEO_FORMAT_H264,
/* Planar YUV formats */
FREERDP_VIDEO_FORMAT_YUV420P, /* I420 */
FREERDP_VIDEO_FORMAT_NV12,
/* Packed YUV formats */
FREERDP_VIDEO_FORMAT_YUYV422, /* YUY2 */
/* RGB formats */
FREERDP_VIDEO_FORMAT_RGB24,
FREERDP_VIDEO_FORMAT_RGB32, /* Platform-specific BGRA/ARGB */
} FREERDP_VIDEO_FORMAT;
WINPR_ATTR_NODISCARD
FREERDP_API const char* freerdp_video_format_string(UINT32 format);
FREERDP_API void freerdp_video_context_free(FREERDP_VIDEO_CONTEXT* context);
WINPR_ATTR_MALLOC(freerdp_video_context_free, 1)
FREERDP_API FREERDP_VIDEO_CONTEXT* freerdp_video_context_new(UINT32 width, UINT32 height);
WINPR_ATTR_NODISCARD
FREERDP_API BOOL freerdp_video_available(void);
WINPR_ATTR_NODISCARD
FREERDP_API BOOL freerdp_video_conversion_supported(FREERDP_VIDEO_FORMAT srcFormat,
FREERDP_VIDEO_FORMAT dstFormat);
WINPR_ATTR_NODISCARD
FREERDP_API BOOL freerdp_video_context_reconfigure(FREERDP_VIDEO_CONTEXT* context, UINT32 width,
UINT32 height, UINT32 framerate,
UINT32 bitrate, UINT32 usageType);
WINPR_ATTR_NODISCARD
FREERDP_API BOOL freerdp_video_sample_convert(FREERDP_VIDEO_CONTEXT* context,
FREERDP_VIDEO_FORMAT srcFormat,
const void* srcSampleData, size_t srcSampleLength,
FREERDP_VIDEO_FORMAT dstFormat, wStream* output);
#ifdef __cplusplus
}
#endif
#endif /* FREERDP_CODEC_VIDEO_H */