FFmpeg
Public Attributes | List of all members
AVDCT Struct Reference

AVDCT context. More...

#include <avdct.h>

Public Attributes

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
 

Detailed Description

AVDCT context.

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

Member Data Documentation

§ dct_algo

int AVDCT::dct_algo

DCT algorithm.

must use AVOptions to set this field.

§ idct_algo

int AVDCT::idct_algo

IDCT algorithm.

must use AVOptions to set this field.

§ idct_permutation

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 -> ...)

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