simpleidct in C. More...
#include "libavutil/intreadwrite.h"#include "avcodec.h"#include "dsputil.h"#include "mathops.h"#include "simple_idct.h"#include "simple_idct_template.c"Go to the source code of this file.
Defines | |
| #define | BIT_DEPTH 8 |
| #define | BIT_DEPTH 10 |
| #define | CN_SHIFT 12 |
| #define | C_FIX(x) ((int)((x) * (1 << CN_SHIFT) + 0.5)) |
| #define | C1 C_FIX(0.6532814824) |
| #define | C2 C_FIX(0.2705980501) |
| #define | C_SHIFT (4+1+12) |
| #define | BF(k) |
| #define | CN_SHIFT 12 |
| #define | C_FIX(x) ((int)((x) * 1.414213562 * (1 << CN_SHIFT) + 0.5)) |
| #define | C1 C_FIX(0.6532814824) |
| #define | C2 C_FIX(0.2705980501) |
| #define | C3 C_FIX(0.5) |
| #define | C_SHIFT (4+1+12) |
| #define | RN_SHIFT 15 |
| #define | R_FIX(x) ((int)((x) * 1.414213562 * (1 << RN_SHIFT) + 0.5)) |
| #define | R1 R_FIX(0.6532814824) |
| #define | R2 R_FIX(0.2705980501) |
| #define | R3 R_FIX(0.5) |
| #define | R_SHIFT 11 |
Functions | |
| static void | idct4col_put (uint8_t *dest, int line_size, const DCTELEM *col) |
| void | ff_simple_idct248_put (uint8_t *dest, int line_size, DCTELEM *block) |
| static void | idct4col_add (uint8_t *dest, int line_size, const DCTELEM *col) |
| static void | idct4row (DCTELEM *row) |
| void | ff_simple_idct84_add (uint8_t *dest, int line_size, DCTELEM *block) |
| void | ff_simple_idct48_add (uint8_t *dest, int line_size, DCTELEM *block) |
| void | ff_simple_idct44_add (uint8_t *dest, int line_size, DCTELEM *block) |
| void | ff_prores_idct (DCTELEM *block, const int16_t *qmat) |
| Special version of ff_simple_idct_10() which does dequantization and scales by a factor of 2 more between the two IDCTs to account for larger scale of input coefficients. | |
simpleidct in C.
Definition in file simple_idct.c.
| #define BF | ( | k | ) |
{\
int a0, a1;\
a0 = ptr[k];\
a1 = ptr[8 + k];\
ptr[k] = a0 + a1;\
ptr[8 + k] = a0 - a1;\
}
Definition at line 74 of file simple_idct.c.
Referenced by ff_simple_idct248_put().
| #define BIT_DEPTH 8 |
Definition at line 38 of file simple_idct.c.
| #define BIT_DEPTH 10 |
Definition at line 38 of file simple_idct.c.
| #define C1 C_FIX(0.6532814824) |
Definition at line 128 of file simple_idct.c.
| #define C1 C_FIX(0.6532814824) |
Definition at line 128 of file simple_idct.c.
| #define C2 C_FIX(0.2705980501) |
Definition at line 129 of file simple_idct.c.
| #define C2 C_FIX(0.2705980501) |
Definition at line 129 of file simple_idct.c.
| #define C3 C_FIX(0.5) |
Definition at line 130 of file simple_idct.c.
Referenced by idct4col_add().
| #define C_FIX | ( | x | ) | ((int)((x) * (1 << CN_SHIFT) + 0.5)) |
Definition at line 127 of file simple_idct.c.
| #define C_FIX | ( | x | ) | ((int)((x) * 1.414213562 * (1 << CN_SHIFT) + 0.5)) |
Definition at line 127 of file simple_idct.c.
| #define C_SHIFT (4+1+12) |
Definition at line 131 of file simple_idct.c.
| #define C_SHIFT (4+1+12) |
Definition at line 131 of file simple_idct.c.
Referenced by idct4col_add(), and idct4col_put().
| #define CN_SHIFT 12 |
Definition at line 126 of file simple_idct.c.
| #define CN_SHIFT 12 |
Definition at line 126 of file simple_idct.c.
Referenced by idct4col_put().
| #define R1 R_FIX(0.6532814824) |
Definition at line 155 of file simple_idct.c.
Referenced by idct4row().
| #define R2 R_FIX(0.2705980501) |
Definition at line 156 of file simple_idct.c.
| #define R3 R_FIX(0.5) |
Definition at line 157 of file simple_idct.c.
Referenced by idct4row().
| #define R_FIX | ( | x | ) | ((int)((x) * 1.414213562 * (1 << RN_SHIFT) + 0.5)) |
Definition at line 154 of file simple_idct.c.
| #define R_SHIFT 11 |
Definition at line 158 of file simple_idct.c.
Referenced by idct4row().
| #define RN_SHIFT 15 |
Definition at line 153 of file simple_idct.c.
| void ff_prores_idct | ( | DCTELEM * | block, | |
| const int16_t * | qmat | |||
| ) |
Special version of ff_simple_idct_10() which does dequantization and scales by a factor of 2 more between the two IDCTs to account for larger scale of input coefficients.
Definition at line 222 of file simple_idct.c.
Referenced by prores_idct_put_c().
| void ff_simple_idct248_put | ( | uint8_t * | dest, | |
| int | line_size, | |||
| DCTELEM * | block | |||
| ) |
Definition at line 89 of file simple_idct.c.
Referenced by dvvideo_init(), and main().
| void ff_simple_idct44_add | ( | uint8_t * | dest, | |
| int | line_size, | |||
| DCTELEM * | block | |||
| ) |
Definition at line 207 of file simple_idct.c.
| void ff_simple_idct48_add | ( | uint8_t * | dest, | |
| int | line_size, | |||
| DCTELEM * | block | |||
| ) |
Definition at line 192 of file simple_idct.c.
Referenced by wmv2_add_block().
| void ff_simple_idct84_add | ( | uint8_t * | dest, | |
| int | line_size, | |||
| DCTELEM * | block | |||
| ) |
Definition at line 177 of file simple_idct.c.
Referenced by wmv2_add_block().
| static void idct4col_add | ( | uint8_t * | dest, | |
| int | line_size, | |||
| const DCTELEM * | col | |||
| ) | [inline, static] |
Definition at line 132 of file simple_idct.c.
Referenced by ff_simple_idct44_add(), and ff_simple_idct84_add().
| static void idct4col_put | ( | uint8_t * | dest, | |
| int | line_size, | |||
| const DCTELEM * | col | |||
| ) | [inline, static] |
Definition at line 53 of file simple_idct.c.
Referenced by ff_simple_idct248_put().
| static void idct4row | ( | DCTELEM * | row | ) | [inline, static] |
Definition at line 159 of file simple_idct.c.
Referenced by ff_simple_idct44_add(), and ff_simple_idct48_add().