FFmpeg
Data Fields
AVDCT Struct Reference

AVDCT context. More...

#include <avdct.h>

Data Fields

const AVClassav_class
 
void(* idct )(int16_t *block)
 
uint8_t idct_permutation [64]
 IDCT input permutation. More...
 
void(* fdct )(int16_t *block)
 
int dct_algo
 DCT algorithm. More...
 
int idct_algo
 IDCT algorithm. More...
 
void(* get_pixels )(int16_t *block, const uint8_t *pixels, ptrdiff_t line_size)
 
int bits_per_sample
 
void(* get_pixels_unaligned )(int16_t *block, const uint8_t *pixels, ptrdiff_t line_size)
 

Detailed Description

AVDCT context.

Note
function pointers can be NULL if the specific features have been disabled at build time.

Definition at line 29 of file avdct.h.

Field Documentation

const AVClass* AVDCT::av_class

Definition at line 30 of file avdct.h.

Referenced by avcodec_dct_alloc().

void(* AVDCT::idct) (int16_t *block)

Definition at line 32 of file avdct.h.

Referenced by filter().

uint8_t AVDCT::idct_permutation[64]

IDCT input permutation.

Several optimized IDCTs need a permutated input (relative to the normal order of the reference IDCT). This permutation must be performed before the idct_put/add. Note, normally this can be merged with the zigzag/alternate scan
An example to avoid confusion:

  • (->decode coeffs -> zigzag reorder -> dequant -> reference IDCT -> ...)
  • (x -> reference DCT -> reference IDCT -> x)
  • (x -> reference DCT -> simple_mmx_perm = idct_permutation -> simple_idct_mmx -> x)
  • (-> decode coeffs -> zigzag reorder -> simple_mmx_perm -> dequant -> simple_idct_mmx -> ...)

Definition at line 48 of file avdct.h.

Referenced by ff_spp_init_x86(), and filter().

void(* AVDCT::fdct) (int16_t *block)

Definition at line 50 of file avdct.h.

Referenced by filter().

int AVDCT::dct_algo

DCT algorithm.

must use AVOptions to set this field.

Definition at line 57 of file avdct.h.

Referenced by avcodec_dct_init().

int AVDCT::idct_algo

IDCT algorithm.

must use AVOptions to set this field.

Definition at line 63 of file avdct.h.

Referenced by avcodec_dct_init().

void(* AVDCT::get_pixels) (int16_t *block, const uint8_t *pixels, ptrdiff_t line_size)

Definition at line 65 of file avdct.h.

int AVDCT::bits_per_sample

Definition at line 69 of file avdct.h.

Referenced by avcodec_dct_init().

void(* AVDCT::get_pixels_unaligned) (int16_t *block, const uint8_t *pixels, ptrdiff_t line_size)

Definition at line 71 of file avdct.h.

Referenced by filter().


The documentation for this struct was generated from the following file: