RDPECAM client: h264 interface changes

This commit is contained in:
oleg0421
2024-06-09 15:56:16 -07:00
committed by akallabeth
parent ff98c8a56b
commit bad6cab2e4
4 changed files with 82 additions and 3 deletions

View File

@@ -41,12 +41,22 @@ extern "C"
H264_RATECONTROL_CQP
} H264_RATECONTROL_MODE;
typedef enum
{
H264_SCREEN_CONTENT_REAL_TIME = 0,
H264_SCREEN_CONTENT_NON_REAL_TIME,
H264_CAMERA_VIDEO_REAL_TIME,
H264_CAMERA_VIDEO_NON_REAL_TIME,
} H264_USAGETYPE;
typedef enum
{
H264_CONTEXT_OPTION_RATECONTROL,
H264_CONTEXT_OPTION_BITRATE,
H264_CONTEXT_OPTION_FRAMERATE,
H264_CONTEXT_OPTION_QP
H264_CONTEXT_OPTION_QP,
H264_CONTEXT_OPTION_USAGETYPE,
} H264_CONTEXT_OPTION;
FREERDP_API void free_h264_metablock(RDPGFX_H264_METABLOCK* meta);
@@ -60,6 +70,11 @@ extern "C"
const RECTANGLE_16* regionRect, BYTE** ppDstData,
UINT32* pDstSize, RDPGFX_H264_METABLOCK* meta);
/* API for user to fill YUV I420 buffer before encoding */
FREERDP_API INT32 h264_get_yuv_buffer(H264_CONTEXT* h264, UINT32 nSrcStride, UINT32 nSrcWidth,
UINT32 nSrcHeight, BYTE* YUVData[3], UINT32 stride[3]);
FREERDP_API INT32 h264_compress(H264_CONTEXT* h264, BYTE** ppDstData, UINT32* pDstSize);
FREERDP_API INT32 avc420_decompress(H264_CONTEXT* h264, const BYTE* pSrcData, UINT32 SrcSize,
BYTE* pDstData, DWORD DstFormat, UINT32 nDstStep,
UINT32 nDstWidth, UINT32 nDstHeight,