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
 

Typedefs

typedef enum _H264_RATECONTROL_MODE H264_RATECONTROL_MODE
 

Enumerations

enum  _H264_RATECONTROL_MODE { H264_RATECONTROL_VBR = 0, H264_RATECONTROL_CQP }
 

Functions

static INLINE void free_h264_metablock (RDPGFX_H264_METABLOCK *meta)
 
FREERDP_API INT32 avc420_compress (H264_CONTEXT *h264, const BYTE *pSrcData, DWORD SrcFormat, UINT32 nSrcStep, UINT32 nSrcWidth, UINT32 nSrcHeight, const RECTANGLE_16 *regionRect, BYTE **ppDstData, UINT32 *pDstSize, RDPGFX_H264_METABLOCK *meta)
 
FREERDP_API INT32 avc420_decompress (H264_CONTEXT *h264, const BYTE *pSrcData, UINT32 SrcSize, BYTE *pDstData, DWORD DstFormat, UINT32 nDstStep, UINT32 nDstWidth, UINT32 nDstHeight, const 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, const RECTANGLE_16 *regionRect, BYTE *op, BYTE **pDstData, UINT32 *pDstSize, BYTE **pAuxDstData, UINT32 *pAuxDstSize, RDPGFX_H264_METABLOCK *meta, RDPGFX_H264_METABLOCK *auxMeta)
 
FREERDP_API INT32 avc444_decompress (H264_CONTEXT *h264, BYTE op, const RECTANGLE_16 *regionRects, UINT32 numRegionRect, const BYTE *pSrcData, UINT32 SrcSize, const 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

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,
const RECTANGLE_16 *  regionRect,
BYTE **  ppDstData,
UINT32 *  pDstSize,
RDPGFX_H264_METABLOCK *  meta 
)
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,
const 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,
const RECTANGLE_16 *  regionRect,
BYTE op,
BYTE **  pDstData,
UINT32 *  pDstSize,
BYTE **  pAuxDstData,
UINT32 *  pAuxDstSize,
RDPGFX_H264_METABLOCK *  meta,
RDPGFX_H264_METABLOCK *  auxMeta 
)
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,
const RECTANGLE_16 *  regionRects,
UINT32  numRegionRect,
const BYTE pSrcData,
UINT32  SrcSize,
const 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:

◆ free_h264_metablock()

static INLINE void free_h264_metablock ( RDPGFX_H264_METABLOCK *  meta)
static
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 call graph for this function:
Here is the caller graph for this function: