FreeRDP
h264_ffmpeg.c File Reference
#include <freerdp/config.h>
#include <winpr/wlog.h>
#include <freerdp/log.h>
#include <freerdp/codec/h264.h>
#include <libavcodec/avcodec.h>
#include <libavutil/opt.h>
#include "h264.h"

Macros

#define AV_PIX_FMT_YUV420P   PIX_FMT_YUV420P
 
#define av_err2str(errnum)   error_string((char[64]){ 0 }, 64, errnum)
 

Functions

static char * error_string (char *errbuf, size_t errbuf_size, int errnum)
 
static void libavcodec_destroy_encoder (H264_CONTEXT *h264)
 
static BOOL libavcodec_create_encoder (H264_CONTEXT *h264)
 
static int libavcodec_decompress (H264_CONTEXT *h264, const BYTE *pSrcData, UINT32 SrcSize)
 
static int libavcodec_compress (H264_CONTEXT *h264, const BYTE **pSrcYuv, const UINT32 *pStride, BYTE **ppDstData, UINT32 *pDstSize)
 
static void libavcodec_uninit (H264_CONTEXT *h264)
 
static BOOL libavcodec_init (H264_CONTEXT *h264)
 

Variables

const H264_CONTEXT_SUBSYSTEM g_Subsystem_libavcodec
 

Macro Definition Documentation

◆ av_err2str

#define av_err2str (   errnum)    error_string((char[64]){ 0 }, 64, errnum)

◆ AV_PIX_FMT_YUV420P

#define AV_PIX_FMT_YUV420P   PIX_FMT_YUV420P

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

Copyright 2015 Marc-André Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com Copyright 2014 Mike McDonald Mike..nosp@m.McDo.nosp@m.nald@.nosp@m.soft.nosp@m.ware..nosp@m.dell.nosp@m..com Copyright 2014 erbth t.erb.nosp@m.esdo.nosp@m.bler@.nosp@m.team.nosp@m.103.c.nosp@m.om

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

◆ error_string()

static char* error_string ( char *  errbuf,
size_t  errbuf_size,
int  errnum 
)
inlinestatic

◆ libavcodec_compress()

static int libavcodec_compress ( H264_CONTEXT *  h264,
const BYTE **  pSrcYuv,
const UINT32 *  pStride,
BYTE **  ppDstData,
UINT32 *  pDstSize 
)
static
Here is the call graph for this function:

◆ libavcodec_create_encoder()

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

◆ libavcodec_decompress()

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

◆ libavcodec_destroy_encoder()

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

◆ libavcodec_init()

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

◆ libavcodec_uninit()

static void libavcodec_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_libavcodec

const H264_CONTEXT_SUBSYSTEM g_Subsystem_libavcodec
Initial value:
= { "libavcodec", libavcodec_init,
static int libavcodec_compress(H264_CONTEXT *h264, const BYTE **pSrcYuv, const UINT32 *pStride, BYTE **ppDstData, UINT32 *pDstSize)
Definition: h264_ffmpeg.c:327
static BOOL libavcodec_init(H264_CONTEXT *h264)
Definition: h264_ffmpeg.c:580
static int libavcodec_decompress(H264_CONTEXT *h264, const BYTE *pSrcData, UINT32 SrcSize)
Definition: h264_ffmpeg.c:189
static void libavcodec_uninit(H264_CONTEXT *h264)
Definition: h264_ffmpeg.c:457