libschroedingerenc.c File Reference

Dirac encoder support via libschroedinger-1.0 libraries. More...

#include <schroedinger/schro.h>
#include <schroedinger/schrodebug.h>
#include <schroedinger/schrovideoformat.h>
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "internal.h"
#include "libschroedinger.h"
#include "bytestream.h"
Include dependency graph for libschroedingerenc.c:

Go to the source code of this file.

Data Structures

struct  SchroEncoderParams
 libschroedinger encoder private data More...
 

Typedefs

typedef struct SchroEncoderParams SchroEncoderParams
 libschroedinger encoder private data More...
 

Functions

static int set_chroma_format (AVCodecContext *avctx)
 Works out Schro-compatible chroma format. More...
 
static int libschroedinger_encode_init (AVCodecContext *avctx)
 
static SchroFrame * libschroedinger_frame_from_data (AVCodecContext *avctx, const AVFrame *frame)
 
static void libschroedinger_free_frame (void *data)
 
static int libschroedinger_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
 
static int libschroedinger_encode_close (AVCodecContext *avctx)
 

Variables

AVCodec ff_libschroedinger_encoder
 

Detailed Description

Dirac encoder support via libschroedinger-1.0 libraries.

More details about the Schroedinger project can be found at http://www.diracvideo.org/. The library implements Dirac Specification Version 2.2 (http://dirac.sourceforge.net/specification.html).

Definition in file libschroedingerenc.c.

Typedef Documentation

libschroedinger encoder private data

Function Documentation

static int libschroedinger_encode_close ( AVCodecContext avctx)
static

Definition at line 410 of file libschroedingerenc.c.

static int libschroedinger_encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame frame,
int *  got_packet 
)
static

Definition at line 264 of file libschroedingerenc.c.

static int libschroedinger_encode_init ( AVCodecContext avctx)
static

Definition at line 103 of file libschroedingerenc.c.

static SchroFrame* libschroedinger_frame_from_data ( AVCodecContext avctx,
const AVFrame frame 
)
static

Definition at line 237 of file libschroedingerenc.c.

Referenced by libschroedinger_encode_frame().

static void libschroedinger_free_frame ( void data)
static
static int set_chroma_format ( AVCodecContext avctx)
static

Works out Schro-compatible chroma format.

Definition at line 80 of file libschroedingerenc.c.

Referenced by libschroedinger_encode_init().

Variable Documentation

AVCodec ff_libschroedinger_encoder
Initial value:
= {
.name = "libschroedinger",
.priv_data_size = sizeof(SchroEncoderParams),
.capabilities = CODEC_CAP_DELAY,
.pix_fmts = (const enum AVPixelFormat[]){
},
.long_name = NULL_IF_CONFIG_SMALL("libschroedinger Dirac 2.2"),
}
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:73
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
#define CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static int libschroedinger_encode_init(AVCodecContext *avctx)
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:72
static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
static void close(AVCodecParserContext *s)
Definition: h264_parser.c:375
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:68
static int libschroedinger_encode_close(AVCodecContext *avctx)
struct SchroEncoderParams SchroEncoderParams
libschroedinger encoder private data
AVPixelFormat
Pixel format.
Definition: pixfmt.h:66

Definition at line 433 of file libschroedingerenc.c.