libdiracenc.c File Reference

Dirac encoding support via libdirac library; more details about the Dirac project can be found at http://dirac.sourceforge.net/. More...

#include "libdirac_libschro.h"
#include "libdirac.h"
#include <assert.h>
#include <libdirac_encoder/dirac_encoder.h>

Go to the source code of this file.

Data Structures

struct  DiracEncoderParams
 Dirac encoder private data. More...

Typedefs

typedef struct DiracEncoderParams DiracEncoderParams
 Dirac encoder private data.

Functions

static dirac_chroma_t GetDiracChromaFormat (enum PixelFormat ff_pix_fmt)
 Works out Dirac-compatible chroma format.
static VideoFormat GetDiracVideoFormatPreset (AVCodecContext *avccontext)
 Returns the video format preset matching the input video dimensions and time base.
static av_cold int libdirac_encode_init (AVCodecContext *avccontext)
static void DiracFreeFrame (void *data)
static int libdirac_encode_frame (AVCodecContext *avccontext, unsigned char *frame, int buf_size, void *data)
static av_cold int libdirac_encode_close (AVCodecContext *avccontext)

Variables

static const VideoFormat ff_dirac_video_formats []
 Dirac video preset table.
AVCodec ff_libdirac_encoder

Detailed Description

Dirac encoding support via libdirac library; more details about the Dirac project can be found at http://dirac.sourceforge.net/.

The libdirac_encoder library implements Dirac specification version 2.2 (http://dirac.sourceforge.net/specification.html).

Definition in file libdiracenc.c.

Typedef Documentation

Dirac encoder private data.

Function Documentation

static void DiracFreeFrame ( void data)
static

Definition at line 220 of file libdiracenc.c.

Referenced by libdirac_encode_close(), and libdirac_encode_frame().

static dirac_chroma_t GetDiracChromaFormat ( enum PixelFormat  ff_pix_fmt)
static

Works out Dirac-compatible chroma format.

Definition at line 76 of file libdiracenc.c.

Referenced by libdirac_encode_init().

static VideoFormat GetDiracVideoFormatPreset ( AVCodecContext avccontext)
static

Returns the video format preset matching the input video dimensions and time base.

Definition at line 116 of file libdiracenc.c.

Referenced by libdirac_encode_init().

static av_cold int libdirac_encode_close ( AVCodecContext avccontext)
static

Definition at line 372 of file libdiracenc.c.

static int libdirac_encode_frame ( AVCodecContext avccontext,
unsigned char *  frame,
int  buf_size,
void data 
)
static

Definition at line 228 of file libdiracenc.c.

static av_cold int libdirac_encode_init ( AVCodecContext avccontext)
static

Definition at line 127 of file libdiracenc.c.

Variable Documentation

const VideoFormat ff_dirac_video_formats[]
static
Initial value:
{
VIDEO_FORMAT_CUSTOM ,
VIDEO_FORMAT_QSIF525 ,
VIDEO_FORMAT_QCIF ,
VIDEO_FORMAT_SIF525 ,
VIDEO_FORMAT_CIF ,
VIDEO_FORMAT_4SIF525 ,
VIDEO_FORMAT_4CIF ,
VIDEO_FORMAT_SD_480I60 ,
VIDEO_FORMAT_SD_576I50 ,
VIDEO_FORMAT_HD_720P60 ,
VIDEO_FORMAT_HD_720P50 ,
VIDEO_FORMAT_HD_1080I60 ,
VIDEO_FORMAT_HD_1080I50 ,
VIDEO_FORMAT_HD_1080P60 ,
VIDEO_FORMAT_HD_1080P50 ,
VIDEO_FORMAT_DIGI_CINEMA_2K24 ,
VIDEO_FORMAT_DIGI_CINEMA_4K24 ,
}

Dirac video preset table.

Ensure that this tables matches up correctly with the ff_dirac_schro_video_format_info table in libdirac_libschro.c.

Definition at line 92 of file libdiracenc.c.

Referenced by GetDiracVideoFormatPreset().

AVCodec ff_libdirac_encoder
Initial value:
{
.name = "libdirac",
.priv_data_size = sizeof(DiracEncoderParams),
.capabilities = CODEC_CAP_DELAY,
.long_name = NULL_IF_CONFIG_SMALL("libdirac Dirac 2.2"),
}

Definition at line 394 of file libdiracenc.c.