FFmpeg
Macros | Functions | Variables
avdct.c File Reference
#include "avcodec.h"
#include "idctdsp.h"
#include "fdctdsp.h"
#include "pixblockdsp.h"
#include "avdct.h"

Go to the source code of this file.

Macros

#define OFFSET(x)   offsetof(AVDCT,x)
 
#define DEFAULT   0
 
#define V   AV_OPT_FLAG_VIDEO_PARAM
 
#define A   AV_OPT_FLAG_AUDIO_PARAM
 
#define E   AV_OPT_FLAG_ENCODING_PARAM
 
#define D   AV_OPT_FLAG_DECODING_PARAM
 
#define COPY(src, name)   memcpy(&dsp->name, &src.name, sizeof(dsp->name))
 

Functions

const AVClassavcodec_dct_get_class (void)
 
AVDCTavcodec_dct_alloc (void)
 Allocates a AVDCT context. More...
 
int avcodec_dct_init (AVDCT *dsp)
 

Variables

static const AVOption avdct_options []
 
static const AVClass avdct_class
 

Macro Definition Documentation

◆ OFFSET

#define OFFSET (   x)    offsetof(AVDCT,x)

Definition at line 27 of file avdct.c.

◆ DEFAULT

#define DEFAULT   0

Definition at line 28 of file avdct.c.

◆ V

#define V   AV_OPT_FLAG_VIDEO_PARAM

Definition at line 30 of file avdct.c.

◆ A

#define A   AV_OPT_FLAG_AUDIO_PARAM

Definition at line 31 of file avdct.c.

◆ E

Definition at line 32 of file avdct.c.

◆ D

Definition at line 33 of file avdct.c.

◆ COPY

#define COPY (   src,
  name 
)    memcpy(&dsp->name, &src.name, sizeof(dsp->name))

Function Documentation

◆ avcodec_dct_get_class()

const AVClass* avcodec_dct_get_class ( void  )

Definition at line 70 of file avdct.c.

Referenced by child_class_iterate().

◆ avcodec_dct_alloc()

AVDCT* avcodec_dct_alloc ( void  )

Allocates a AVDCT context.

This needs to be initialized with avcodec_dct_init() after optionally configuring it with AVOptions.

To free it use av_free()

Definition at line 75 of file avdct.c.

Referenced by preinit().

◆ avcodec_dct_init()

int avcodec_dct_init ( AVDCT dsp)

Definition at line 88 of file avdct.c.

Referenced by config_input().

Variable Documentation

◆ avdct_options

const AVOption avdct_options[]
static
Initial value:
= {
{"dct", "DCT algorithm", OFFSET(dct_algo), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, V|E, "dct"},
{"auto", "autoselect a good one", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_AUTO }, INT_MIN, INT_MAX, V|E, "dct"},
{"fastint", "fast integer (experimental / for debugging)", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_FASTINT }, INT_MIN, INT_MAX, V|E, "dct"},
{"int", "accurate integer", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_INT }, INT_MIN, INT_MAX, V|E, "dct"},
{"mmx", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_MMX }, INT_MIN, INT_MAX, V|E, "dct"},
{"altivec", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_ALTIVEC }, INT_MIN, INT_MAX, V|E, "dct"},
{"faan", "floating point AAN DCT (experimental / for debugging)", 0, AV_OPT_TYPE_CONST, {.i64 = FF_DCT_FAAN }, INT_MIN, INT_MAX, V|E, "dct"},
{"idct", "select IDCT implementation", OFFSET(idct_algo), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, V|E|D, "idct"},
{"auto", "autoselect a good one", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_AUTO }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"int", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_INT }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"simple", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLE }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"simplemmx", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEMMX }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"arm", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_ARM }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"altivec", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_ALTIVEC }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"simplearm", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEARM }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"simplearmv5te", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEARMV5TE }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"simplearmv6", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEARMV6 }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"simpleneon", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLENEON }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"xvid", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"xvidmmx", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_XVID }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"faani", "floating point AAN IDCT (experimental / for debugging)", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_FAAN }, INT_MIN, INT_MAX, V|D|E, "idct"},
{"simpleauto", "experimental / for debugging", 0, AV_OPT_TYPE_CONST, {.i64 = FF_IDCT_SIMPLEAUTO }, INT_MIN, INT_MAX, V|E|D, "idct"},
{"bits_per_sample", "", OFFSET(bits_per_sample), AV_OPT_TYPE_INT, {.i64 = 8 }, 0, 14, 0,},
{NULL},
}

Definition at line 35 of file avdct.c.

◆ avdct_class

const AVClass avdct_class
static
Initial value:
= {
.class_name = "AVDCT",
.option = avdct_options,
}

Definition at line 64 of file avdct.c.

Referenced by avcodec_dct_alloc(), and avcodec_dct_get_class().

FF_DCT_FAAN
#define FF_DCT_FAAN
Definition: avcodec.h:1390
D
#define D
Definition: avdct.c:33
FF_IDCT_ALTIVEC
#define FF_IDCT_ALTIVEC
Definition: avcodec.h:1403
FF_DCT_INT
#define FF_DCT_INT
Definition: avcodec.h:1387
avdct_options
static const AVOption avdct_options[]
Definition: avdct.c:35
FF_IDCT_AUTO
#define FF_IDCT_AUTO
Definition: avcodec.h:1398
FF_IDCT_XVID
#define FF_IDCT_XVID
Definition: avcodec.h:1405
FF_IDCT_SIMPLE
#define FF_IDCT_SIMPLE
Definition: avcodec.h:1400
FF_IDCT_INT
#define FF_IDCT_INT
Definition: avcodec.h:1399
FF_IDCT_SIMPLEAUTO
#define FF_IDCT_SIMPLEAUTO
Definition: avcodec.h:1411
FF_IDCT_ARM
#define FF_IDCT_ARM
Definition: avcodec.h:1402
FF_DCT_MMX
#define FF_DCT_MMX
Definition: avcodec.h:1388
E
#define E
Definition: avdct.c:32
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
V
#define V
Definition: avdct.c:30
FF_IDCT_SIMPLEARM
#define FF_IDCT_SIMPLEARM
Definition: avcodec.h:1404
OFFSET
#define OFFSET(x)
Definition: avdct.c:27
FF_DCT_ALTIVEC
#define FF_DCT_ALTIVEC
Definition: avcodec.h:1389
FF_IDCT_SIMPLEARMV6
#define FF_IDCT_SIMPLEARMV6
Definition: avcodec.h:1407
FF_IDCT_SIMPLENEON
#define FF_IDCT_SIMPLENEON
Definition: avcodec.h:1409
FF_DCT_FASTINT
#define FF_DCT_FASTINT
Definition: avcodec.h:1386
FF_IDCT_FAAN
#define FF_IDCT_FAAN
Definition: avcodec.h:1408
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:224
FF_DCT_AUTO
#define FF_DCT_AUTO
Definition: avcodec.h:1385
FF_IDCT_SIMPLEARMV5TE
#define FF_IDCT_SIMPLEARMV5TE
Definition: avcodec.h:1406
DEFAULT
#define DEFAULT
Definition: avdct.c:28
FF_IDCT_SIMPLEMMX
#define FF_IDCT_SIMPLEMMX
Definition: avcodec.h:1401
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:233