FreeRDP
h264_openh264.c File Reference
#include <freerdp/config.h>
#include <winpr/library.h>
#include <winpr/assert.h>
#include <freerdp/log.h>
#include <freerdp/codec/h264.h>
#include <wels/codec_def.h>
#include <wels/codec_api.h>
#include <wels/codec_ver.h>
#include "h264.h"

Typedefs

typedef void(* pWelsGetCodecVersionEx) (OpenH264Version *pVersion)
 
typedef long(* pWelsCreateDecoder) (ISVCDecoder **ppDecoder)
 
typedef void(* pWelsDestroyDecoder) (ISVCDecoder *pDecoder)
 
typedef int(* pWelsCreateSVCEncoder) (ISVCEncoder **ppEncoder)
 
typedef void(* pWelsDestroySVCEncoder) (ISVCEncoder *pEncoder)
 

Functions

static void openh264_trace_callback (H264_CONTEXT *WINPR_RESTRICT h264, int level, const char *WINPR_RESTRICT message)
 
static int openh264_decompress (H264_CONTEXT *WINPR_RESTRICT h264, const BYTE *WINPR_RESTRICT pSrcData, UINT32 SrcSize)
 
static int openh264_compress (H264_CONTEXT *WINPR_RESTRICT h264, const BYTE **WINPR_RESTRICT pYUVData, const UINT32 *WINPR_RESTRICT iStride, BYTE **WINPR_RESTRICT ppDstData, UINT32 *WINPR_RESTRICT pDstSize)
 
static void openh264_uninit (H264_CONTEXT *h264)
 
static BOOL openh264_init (H264_CONTEXT *h264)
 

Variables

const H264_CONTEXT_SUBSYSTEM g_Subsystem_OpenH264
 

Typedef Documentation

◆ pWelsCreateDecoder

typedef long(* pWelsCreateDecoder) (ISVCDecoder **ppDecoder)

◆ pWelsCreateSVCEncoder

typedef int(* pWelsCreateSVCEncoder) (ISVCEncoder **ppEncoder)

◆ pWelsDestroyDecoder

typedef void(* pWelsDestroyDecoder) (ISVCDecoder *pDecoder)

◆ pWelsDestroySVCEncoder

typedef void(* pWelsDestroySVCEncoder) (ISVCEncoder *pEncoder)

◆ pWelsGetCodecVersionEx

typedef void(* pWelsGetCodecVersionEx) (OpenH264Version *pVersion)

FreeRDP: A Remote Desktop Protocol Implementation H.264 Bitmap Compression

Copyright 2014 Mike McDonald Mike..nosp@m.McDo.nosp@m.nald@.nosp@m.soft.nosp@m.ware..nosp@m.dell.nosp@m..com Copyright 2015 Vic Lee llyzs.nosp@m..vic.nosp@m.@gmai.nosp@m.l.co.nosp@m.m Copyright 2014 Armin Novak armin.nosp@m..nov.nosp@m.ak@gm.nosp@m.ail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Function Documentation

◆ openh264_compress()

static int openh264_compress ( H264_CONTEXT *WINPR_RESTRICT  h264,
const BYTE **WINPR_RESTRICT  pYUVData,
const UINT32 *WINPR_RESTRICT  iStride,
BYTE **WINPR_RESTRICT  ppDstData,
UINT32 *WINPR_RESTRICT  pDstSize 
)
static

◆ openh264_decompress()

static int openh264_decompress ( H264_CONTEXT *WINPR_RESTRICT  h264,
const BYTE *WINPR_RESTRICT  pSrcData,
UINT32  SrcSize 
)
static

◆ openh264_init()

static BOOL openh264_init ( H264_CONTEXT *  h264)
static
Here is the call graph for this function:

◆ openh264_trace_callback()

static void openh264_trace_callback ( H264_CONTEXT *WINPR_RESTRICT  h264,
int  level,
const char *WINPR_RESTRICT  message 
)
static
Here is the caller graph for this function:

◆ openh264_uninit()

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

Variable Documentation

◆ g_Subsystem_OpenH264

const H264_CONTEXT_SUBSYSTEM g_Subsystem_OpenH264
Initial value:
= { "OpenH264", openh264_init, openh264_uninit,
static BOOL openh264_init(H264_CONTEXT *h264)
Definition: h264_openh264.c:510
static int openh264_compress(H264_CONTEXT *WINPR_RESTRICT h264, const BYTE **WINPR_RESTRICT pYUVData, const UINT32 *WINPR_RESTRICT iStride, BYTE **WINPR_RESTRICT ppDstData, UINT32 *WINPR_RESTRICT pDstSize)
Definition: h264_openh264.c:184
static void openh264_uninit(H264_CONTEXT *h264)
Definition: h264_openh264.c:411
static int openh264_decompress(H264_CONTEXT *WINPR_RESTRICT h264, const BYTE *WINPR_RESTRICT pSrcData, UINT32 SrcSize)
Definition: h264_openh264.c:78