libavcodec/libxavs.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <stdint.h>
#include <float.h>
#include <xavs.h>
#include "avcodec.h"
#include "internal.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"

Go to the source code of this file.

Data Structures

struct  XavsContext

Defines

#define END_OF_STREAM   0x001
#define XAVS_PART_I8X8   0x002
#define XAVS_PART_P8X8   0x010
#define XAVS_PART_B8X8   0x100
#define OFFSET(x)   offsetof(XavsContext, x)
#define VE   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM

Functions

static void XAVS_log (void *p, int level, const char *fmt, va_list args)
static int encode_nals (AVCodecContext *ctx, AVPacket *pkt, xavs_nal_t *nals, int nnal)
static int XAVS_frame (AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
static av_cold int XAVS_close (AVCodecContext *avctx)
static av_cold int XAVS_init (AVCodecContext *avctx)

Variables

static const AVOption options []
class {
      class_name = "libxavs"
      item_name = av_default_item_name
      option = options
      version = LIBAVUTIL_VERSION_INT
}; 
static const AVCodecDefault xavs_defaults []
AVCodec ff_libxavs_encoder


Define Documentation

#define END_OF_STREAM   0x001

Definition at line 35 of file libxavs.c.

Referenced by XAVS_frame().

#define OFFSET (  )     offsetof(XavsContext, x)

Definition at line 388 of file libxavs.c.

#define VE   AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM

Definition at line 389 of file libxavs.c.

#define XAVS_PART_B8X8   0x100

Definition at line 39 of file libxavs.c.

#define XAVS_PART_I8X8   0x002

Definition at line 37 of file libxavs.c.

#define XAVS_PART_P8X8   0x010

Definition at line 38 of file libxavs.c.


Function Documentation

static int encode_nals ( AVCodecContext ctx,
AVPacket pkt,
xavs_nal_t *  nals,
int  nnal 
) [static]

Definition at line 79 of file libxavs.c.

static av_cold int XAVS_close ( AVCodecContext avctx  )  [static]

Definition at line 200 of file libxavs.c.

static int XAVS_frame ( AVCodecContext ctx,
AVPacket pkt,
const AVFrame frame,
int got_packet 
) [static]

Definition at line 114 of file libxavs.c.

static av_cold int XAVS_init ( AVCodecContext avctx  )  [static]

Definition at line 214 of file libxavs.c.

static void XAVS_log ( void *  p,
int  level,
const char *  fmt,
va_list  args 
) [static]

Definition at line 64 of file libxavs.c.

Referenced by XAVS_init().


Variable Documentation

const { ... } [static]

class_name = "libxavs"

Definition at line 408 of file libxavs.c.

Initial value:

 {
    .name           = "libxavs",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = AV_CODEC_ID_CAVS,
    .priv_data_size = sizeof(XavsContext),
    .init           = XAVS_init,
    .encode2        = XAVS_frame,
    .close          = XAVS_close,
    .capabilities   = CODEC_CAP_DELAY | CODEC_CAP_AUTO_THREADS,
    .pix_fmts       = (const enum PixelFormat[]) { PIX_FMT_YUV420P, PIX_FMT_NONE },
    .long_name      = NULL_IF_CONFIG_SMALL("libxavs Chinese AVS (Audio Video Standard)"),
    .priv_class     = &class,
    .defaults       = xavs_defaults,
}

Definition at line 419 of file libxavs.c.

item_name = av_default_item_name

Definition at line 409 of file libxavs.c.

Definition at line 410 of file libxavs.c.

const AVOption options[] [static]

Initial value:

 {
    { "crf",           "Select the quality for constant quality mode",    OFFSET(crf),           AV_OPT_TYPE_FLOAT,  {.dbl = -1 }, -1, FLT_MAX, VE },
    { "qp",            "Constant quantization parameter rate control method",OFFSET(cqp),        AV_OPT_TYPE_INT,    {.i64 = -1 }, -1, INT_MAX, VE },
    { "b-bias",        "Influences how often B-frames are used",          OFFSET(b_bias),        AV_OPT_TYPE_INT,    {.i64 = INT_MIN}, INT_MIN, INT_MAX, VE },
    { "cplxblur",      "Reduce fluctuations in QP (before curve compression)", OFFSET(cplxblur), AV_OPT_TYPE_FLOAT,  {.dbl = -1 }, -1, FLT_MAX, VE},
    { "direct-pred",   "Direct MV prediction mode",                       OFFSET(direct_pred),   AV_OPT_TYPE_INT,    {.i64 = -1 }, -1, INT_MAX, VE, "direct-pred" },
    { "none",          NULL,      0,    AV_OPT_TYPE_CONST, { .i64 = XAVS_DIRECT_PRED_NONE },     0, 0, VE, "direct-pred" },
    { "spatial",       NULL,      0,    AV_OPT_TYPE_CONST, { .i64 = XAVS_DIRECT_PRED_SPATIAL },  0, 0, VE, "direct-pred" },
    { "temporal",      NULL,      0,    AV_OPT_TYPE_CONST, { .i64 = XAVS_DIRECT_PRED_TEMPORAL }, 0, 0, VE, "direct-pred" },
    { "auto",          NULL,      0,    AV_OPT_TYPE_CONST, { .i64 = XAVS_DIRECT_PRED_AUTO },     0, 0, VE, "direct-pred" },
    { "aud",           "Use access unit delimiters.",                     OFFSET(aud),           AV_OPT_TYPE_INT,    {.i64 = -1 }, -1, 1, VE},
    { "mbtree",        "Use macroblock tree ratecontrol.",                OFFSET(mbtree),        AV_OPT_TYPE_INT,    {.i64 = -1 }, -1, 1, VE},
    { "mixed-refs",    "One reference per partition, as opposed to one reference per macroblock", OFFSET(mixed_refs), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 1, VE },
    { "fast-pskip",    NULL,                                              OFFSET(fast_pskip),    AV_OPT_TYPE_INT,    {.i64 = -1 }, -1, 1, VE},
    { NULL },
}

Definition at line 390 of file libxavs.c.

Definition at line 411 of file libxavs.c.

const AVCodecDefault xavs_defaults[] [static]

Initial value:

 {
    { "b",                "0" },
    { NULL },
}

Definition at line 414 of file libxavs.c.


Generated on Fri Oct 26 02:50:06 2012 for FFmpeg by  doxygen 1.5.8