#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 | FfmpegDiracEncoderParams |
Dirac encoder private data. More... | |
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 |
The libdirac_encoder library implements Dirac specification version 2.2 (http://dirac.sourceforge.net/specification.html).
Definition in file libdiracenc.c.
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.
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 , }
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().
Initial value:
{ "libdirac", AVMEDIA_TYPE_VIDEO, CODEC_ID_DIRAC, sizeof(FfmpegDiracEncoderParams), libdirac_encode_init, libdirac_encode_frame, libdirac_encode_close, .capabilities = CODEC_CAP_DELAY, .pix_fmts = (const enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_YUV422P, PIX_FMT_YUV444P, PIX_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("libdirac Dirac 2.2"), }
Definition at line 394 of file libdiracenc.c.