Loading...
Searching...
No Matches
AVDCT Struct Reference

AVDCT context. More...

`#include <libavcodec/avdct.h>`

## Data Fields

const AVClass * | av_class
void(* | idct )(int16_t *block)
uint8_t | idct_permutation [64]
| IDCT input permutation.
void(* | fdct )(int16_t *block)
int | dct_algo
| DCT algorithm.
int | idct_algo
| IDCT algorithm.
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:

- libavcodec/avdct.h