FFmpeg 5.1.6
Data Fields
AVDCT Struct Reference

AVDCT context. More...

#include <libavcodec/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

◆ av_class

const AVClass* AVDCT::av_class

Definition at line 30 of file avdct.h.

◆ idct

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

Definition at line 32 of file avdct.h.

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

Definition at line 48 of file avdct.h.

◆ fdct

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

Definition at line 50 of file avdct.h.

◆ dct_algo

int AVDCT::dct_algo

DCT algorithm.

must use AVOptions to set this field.

Definition at line 57 of file avdct.h.

◆ idct_algo

int AVDCT::idct_algo

IDCT algorithm.

must use AVOptions to set this field.

Definition at line 63 of file avdct.h.

◆ get_pixels

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

Definition at line 65 of file avdct.h.

◆ bits_per_sample

int AVDCT::bits_per_sample

Definition at line 69 of file avdct.h.

◆ get_pixels_unaligned

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

Definition at line 71 of file avdct.h.


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