Direct Cosine Transform

Direct Cosine Transform — DCT related functions

Synopsis




void        oil_dct36_f32                   (float *d_36,
                                             int dstr,
                                             const float *s_36,
                                             int sstr);
void        oil_fdct8_f64                   (double *d_8,
                                             const double *s_8,
                                             int dstr,
                                             int sstr);
void        oil_fdct8x8_f64                 (double *d_8x8,
                                             int dstr,
                                             const double *s_8x8,
                                             int sstr);
void        oil_fdct8x8s_s16                (int16_t *d_8x8,
                                             int ds,
                                             const int16_t *s_8x8,
                                             int ss);
void        oil_idct8_f64                   (double *d_8,
                                             int dstr,
                                             const double *s_8,
                                             int sstr);
void        oil_idct8x8_f64                 (double *d_8x8,
                                             int dstr,
                                             const double *s_8x8,
                                             int sstr);
void        oil_idct8x8_s16                 (int16_t *d_8x8,
                                             int dstr,
                                             const int16_t *s_8x8,
                                             int sstr);
void        oil_imdct12_f64                 (double *d_12,
                                             const double *s_6);
void        oil_imdct32_f32                 (float *d_32,
                                             const float *s_32);
void        oil_imdct36_f64                 (double *d_36,
                                             const double *s_18);
void        oil_mdct12_f64                  (double *d_6,
                                             const double *s_12);
void        oil_mdct36_f64                  (double *d_18,
                                             const double *s_36);
void        oil_idct8theora_s16             (int16_t *d_8,
                                             int dstr,
                                             const int16_t *s_8,
                                             int sstr);
void        oil_idct8x8lim10_f64            (double *d_8x8,
                                             int dstr,
                                             const double *s_8x8,
                                             int sstr);
void        oil_idct8x8lim10_s16            (int16_t *d_8x8,
                                             int dstr,
                                             const int16_t *s_8x8,
                                             int sstr);
void        oil_idct8x8theora_s16           (int16_t *d_8x8,
                                             int dstr,
                                             const int16_t *s_8x8,
                                             int sstr);

Description

Details

oil_dct36_f32 ()

void        oil_dct36_f32                   (float *d_36,
                                             int dstr,
                                             const float *s_36,
                                             int sstr);

FIXME: This function is broken.

d_36 :
dstr :
s_36 :
sstr :

oil_fdct8_f64 ()

void        oil_fdct8_f64                   (double *d_8,
                                             const double *s_8,
                                             int dstr,
                                             int sstr);

Performs a Forward Discrete Cosine Transform on s_8 and places the result in d_8.

d_8 :
s_8 :
dstr :
sstr :

oil_fdct8x8_f64 ()

void        oil_fdct8x8_f64                 (double *d_8x8,
                                             int dstr,
                                             const double *s_8x8,
                                             int sstr);

Performs a 2-D Forward Discrete Cosine Transform on s_8x8 and places the result in d_8x8.

d_8x8 :
dstr :
s_8x8 :
sstr :

oil_fdct8x8s_s16 ()

void        oil_fdct8x8s_s16                (int16_t *d_8x8,
                                             int ds,
                                             const int16_t *s_8x8,
                                             int ss);

Performs a 2-D Forward Discrete Cosine Transform on s_8x8 and places the result in d_8x8.

This function uses an alternate scaling used by RTjpeg.

d_8x8 :
ds :
s_8x8 :
ss :

oil_idct8_f64 ()

void        oil_idct8_f64                   (double *d_8,
                                             int dstr,
                                             const double *s_8,
                                             int sstr);

Performs a Inverse Discrete Cosine Transform on s_8 and places the result in d_8.

d_8 :
dstr :
s_8 :
sstr :

oil_idct8x8_f64 ()

void        oil_idct8x8_f64                 (double *d_8x8,
                                             int dstr,
                                             const double *s_8x8,
                                             int sstr);

Performs a 2-D Inverse Discrete Cosine Transform on s_8x8 and places the result in d_8x8.

d_8x8 :
dstr :
s_8x8 :
sstr :

oil_idct8x8_s16 ()

void        oil_idct8x8_s16                 (int16_t *d_8x8,
                                             int dstr,
                                             const int16_t *s_8x8,
                                             int sstr);

Performs a limited 2-D Inverse Discrete Cosine Transform on s_8x8 and places the result in d_8x8. The source 8x8 block must be non-zero only in the 10 lowest-order components.

d_8x8 :
dstr :
s_8x8 :
sstr :

oil_imdct12_f64 ()

void        oil_imdct12_f64                 (double *d_12,
                                             const double *s_6);

Performs a Inverse Modified Discrete Cosine Transform (IMDCT) on the source array s_6 and places the result in d_12.

d_12 :
s_6 :

oil_imdct32_f32 ()

void        oil_imdct32_f32                 (float *d_32,
                                             const float *s_32);

Performs a Inverse Modified Discrete Cosine Transform (IMDCT) on the source array s_32 and places the result in d_32.

d_32 :
s_32 :

oil_imdct36_f64 ()

void        oil_imdct36_f64                 (double *d_36,
                                             const double *s_18);

Performs a Inverse Modified Discrete Cosine Transform (IMDCT) on the source array s_18 and places the result in d_36.

d_36 :
s_18 :

oil_mdct12_f64 ()

void        oil_mdct12_f64                  (double *d_6,
                                             const double *s_12);

Performs a Modified Discrete Cosine Transform (MDCT) on the source array s_12 and places the result in d_6.

d_6 :
s_12 :

oil_mdct36_f64 ()

void        oil_mdct36_f64                  (double *d_18,
                                             const double *s_36);

Performs a Modified Discrete Cosine Transform (MDCT) on the source array s_36 and places the result in d_18.

d_18 :
s_36 :

oil_idct8theora_s16 ()

void        oil_idct8theora_s16             (int16_t *d_8,
                                             int dstr,
                                             const int16_t *s_8,
                                             int sstr);

Performs a Inverse Discrete Cosine Transform on s_8 and places the result in d_8, as defined by the Theora specification.

d_8 :
dstr :
s_8 :
sstr :

oil_idct8x8lim10_f64 ()

void        oil_idct8x8lim10_f64            (double *d_8x8,
                                             int dstr,
                                             const double *s_8x8,
                                             int sstr);

Performs a 2-D Inverse Discrete Cosine Transform on s_8x8 and places the result in d_8x8.

d_8x8 :
dstr :
s_8x8 :
sstr :

oil_idct8x8lim10_s16 ()

void        oil_idct8x8lim10_s16            (int16_t *d_8x8,
                                             int dstr,
                                             const int16_t *s_8x8,
                                             int sstr);

Performs a limited 2-D Inverse Discrete Cosine Transform on s_8x8 and places the result in d_8x8. The source 8x8 block must be non-zero only in the 10 lowest-order components.

d_8x8 :
dstr :
s_8x8 :
sstr :

oil_idct8x8theora_s16 ()

void        oil_idct8x8theora_s16           (int16_t *d_8x8,
                                             int dstr,
                                             const int16_t *s_8x8,
                                             int sstr);

Performs a Inverse Discrete Cosine Transform on s_8x8 and places the result in d_8x8, as defined by the Theora specification.

d_8x8 :
dstr :
s_8x8 :
sstr :