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 *h264, int level, const char *message)
 
static int openh264_decompress (H264_CONTEXT *h264, const BYTE *pSrcData, UINT32 SrcSize)
 
static int openh264_compress (H264_CONTEXT *h264, const BYTE **pYUVData, const UINT32 *iStride, BYTE **ppDstData, UINT32 *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 *  h264,
const BYTE **  pYUVData,
const UINT32 *  iStride,
BYTE **  ppDstData,
UINT32 *  pDstSize 
)
static

◆ openh264_decompress()

static int openh264_decompress ( H264_CONTEXT *  h264,
const BYTE 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 *  h264,
int  level,
const char *  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:486
static void openh264_uninit(H264_CONTEXT *h264)
Definition: h264_openh264.c:387
static int openh264_compress(H264_CONTEXT *h264, const BYTE **pYUVData, const UINT32 *iStride, BYTE **ppDstData, UINT32 *pDstSize)
Definition: h264_openh264.c:182
static int openh264_decompress(H264_CONTEXT *h264, const BYTE *pSrcData, UINT32 SrcSize)
Definition: h264_openh264.c:77