FreeRDP
include/freerdp/codec/h264.h File Reference
#include <winpr/wlog.h>
#include <freerdp/api.h>
#include <freerdp/types.h>
#include <freerdp/channels/rdpgfx.h>

Data Structures

struct  H264_CONTEXT_SUBSYSTEM
 
struct  H264_CONTEXT
 

Typedefs

typedef BOOL(* pfnH264SubsystemInit) (H264_CONTEXT *h264)
 
typedef void(* pfnH264SubsystemUninit) (H264_CONTEXT *h264)
 
typedef int(* pfnH264SubsystemDecompress) (H264_CONTEXT *h264, const BYTE *pSrcData, UINT32 SrcSize)
 
typedef int(* pfnH264SubsystemCompress) (H264_CONTEXT *h264, const BYTE **pSrcYuv, const UINT32 *pStride, BYTE **ppDstData, UINT32 *pDstSize)
 
typedef enum _H264_RATECONTROL_MODE H264_RATECONTROL_MODE
 

Enumerations

enum  _H264_RATECONTROL_MODE { H264_RATECONTROL_VBR = 0, H264_RATECONTROL_CQP }
 

Functions

FREERDP_API INT32 avc420_compress (H264_CONTEXT *h264, const BYTE *pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nSrcWidth, UINT32 nSrcHeight, 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, RECTANGLE_16 *regionRects, UINT32 numRegionRect)
 
FREERDP_API INT32 avc444_compress (H264_CONTEXT *h264, const BYTE *pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nSrcWidth, UINT32 nSrcHeight, BYTE version, BYTE *op, BYTE **pDstData, UINT32 *pDstSize, BYTE **pAuxDstData, UINT32 *pAuxDstSize)
 
FREERDP_API INT32 avc444_decompress (H264_CONTEXT *h264, BYTE op, RECTANGLE_16 *regionRects, UINT32 numRegionRect, const BYTE *pSrcData, UINT32 SrcSize, RECTANGLE_16 *auxRegionRects, UINT32 numAuxRegionRect, const BYTE *pAuxSrcData, UINT32 AuxSrcSize, BYTE *pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nDstWidth, UINT32 nDstHeight, UINT32 codecId)
 
FREERDP_API BOOL h264_context_reset (H264_CONTEXT *h264, UINT32 width, UINT32 height)
 
FREERDP_API H264_CONTEXT * h264_context_new (BOOL Compressor)
 
FREERDP_API void h264_context_free (H264_CONTEXT *h264)
 

Typedef Documentation

◆ H264_RATECONTROL_MODE

◆ pfnH264SubsystemCompress

typedef int(* pfnH264SubsystemCompress) (H264_CONTEXT *h264, const BYTE **pSrcYuv, const UINT32 *pStride, BYTE **ppDstData, UINT32 *pDstSize)

◆ pfnH264SubsystemDecompress

typedef int(* pfnH264SubsystemDecompress) (H264_CONTEXT *h264, const BYTE *pSrcData, UINT32 SrcSize)

◆ pfnH264SubsystemInit

typedef BOOL(* pfnH264SubsystemInit) (H264_CONTEXT *h264)

◆ pfnH264SubsystemUninit

typedef void(* pfnH264SubsystemUninit) (H264_CONTEXT *h264)

Enumeration Type Documentation

◆ _H264_RATECONTROL_MODE

Enumerator
H264_RATECONTROL_VBR 
H264_RATECONTROL_CQP 

Function Documentation

◆ avc420_compress()

FREERDP_API INT32 avc420_compress ( H264_CONTEXT *  h264,
const BYTE pSrcData,
DWORD  SrcFormat,
UINT32  nSrcStep,
UINT32  nSrcWidth,
UINT32  nSrcHeight,
BYTE **  ppDstData,
UINT32 *  pDstSize 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ avc420_decompress()

FREERDP_API INT32 avc420_decompress ( H264_CONTEXT *  h264,
const BYTE pSrcData,
UINT32  SrcSize,
BYTE pDstData,
DWORD  DstFormat,
UINT32  nDstStep,
UINT32  nDstWidth,
UINT32  nDstHeight,
RECTANGLE_16 *  regionRects,
UINT32  numRegionRect 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ avc444_compress()

FREERDP_API INT32 avc444_compress ( H264_CONTEXT *  h264,
const BYTE pSrcData,
DWORD  SrcFormat,
UINT32  nSrcStep,
UINT32  nSrcWidth,
UINT32  nSrcHeight,
BYTE  version,
BYTE op,
BYTE **  pDstData,
UINT32 *  pDstSize,
BYTE **  pAuxDstData,
UINT32 *  pAuxDstSize 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ avc444_decompress()

FREERDP_API INT32 avc444_decompress ( H264_CONTEXT *  h264,
BYTE  op,
RECTANGLE_16 *  regionRects,
UINT32  numRegionRect,
const BYTE pSrcData,
UINT32  SrcSize,
RECTANGLE_16 *  auxRegionRects,
UINT32  numAuxRegionRect,
const BYTE pAuxSrcData,
UINT32  AuxSrcSize,
BYTE pDstData,
DWORD  DstFormat,
UINT32  nDstStep,
UINT32  nDstWidth,
UINT32  nDstHeight,
UINT32  codecId 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ h264_context_free()

FREERDP_API void h264_context_free ( H264_CONTEXT *  h264)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ h264_context_new()

FREERDP_API H264_CONTEXT* h264_context_new ( BOOL  Compressor)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ h264_context_reset()

FREERDP_API BOOL h264_context_reset ( H264_CONTEXT *  h264,
UINT32  width,
UINT32  height 
)
Here is the caller graph for this function: