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 *WINPR_RESTRICT h264)
 
static BOOL libavcodec_create_encoder (H264_CONTEXT *WINPR_RESTRICT h264)
 
static int libavcodec_decompress (H264_CONTEXT *WINPR_RESTRICT h264, const BYTE *WINPR_RESTRICT pSrcData, UINT32 SrcSize)
 
static int libavcodec_compress (H264_CONTEXT *WINPR_RESTRICT h264, const BYTE **WINPR_RESTRICT pSrcYuv, const UINT32 *WINPR_RESTRICT pStride, BYTE **WINPR_RESTRICT ppDstData, UINT32 *WINPR_RESTRICT 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 *WINPR_RESTRICT  h264,
const BYTE **WINPR_RESTRICT  pSrcYuv,
const UINT32 *WINPR_RESTRICT  pStride,
BYTE **WINPR_RESTRICT  ppDstData,
UINT32 *WINPR_RESTRICT  pDstSize 
)
static
Here is the call graph for this function:

◆ libavcodec_create_encoder()

static BOOL libavcodec_create_encoder ( H264_CONTEXT *WINPR_RESTRICT  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 *WINPR_RESTRICT  h264,
const BYTE *WINPR_RESTRICT  pSrcData,
UINT32  SrcSize 
)
static

◆ libavcodec_destroy_encoder()

static void libavcodec_destroy_encoder ( H264_CONTEXT *WINPR_RESTRICT  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 BOOL libavcodec_init(H264_CONTEXT *h264)
Definition: h264_ffmpeg.c:583
static void libavcodec_uninit(H264_CONTEXT *h264)
Definition: h264_ffmpeg.c:460
static int libavcodec_decompress(H264_CONTEXT *WINPR_RESTRICT h264, const BYTE *WINPR_RESTRICT pSrcData, UINT32 SrcSize)
Definition: h264_ffmpeg.c:189
static int libavcodec_compress(H264_CONTEXT *WINPR_RESTRICT h264, const BYTE **WINPR_RESTRICT pSrcYuv, const UINT32 *WINPR_RESTRICT pStride, BYTE **WINPR_RESTRICT ppDstData, UINT32 *WINPR_RESTRICT pDstSize)
Definition: h264_ffmpeg.c:328