FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
simple_idct_mmi.c File Reference
#include "idctdsp_mips.h"
#include "constants.h"

Go to the source code of this file.

Macros

#define C0   23170
 
#define C1   22725
 
#define C2   21407
 
#define C3   19266
 
#define C4   16383
 
#define C5   12873
 
#define C6   8867
 
#define C7   4520
 
#define ROW_SHIFT   11
 
#define COL_SHIFT   20
 
#define DC_COND_IDCT(src0, src4, src1, src5, dst, rounder, rarg, shift)
 
#define Z_COND_IDCT(src0, src4, src1, src5, dst, rounder, rarg, shift, bt)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 
#define IDCT(src0, src4, src1, src5, dst, shift)
 

Functions

void ff_simple_idct_mmi (int16_t *block)
 

Variables

static const int16_t coeffs []
 

Macro Definition Documentation

#define C0   23170

Definition at line 28 of file simple_idct_mmi.c.

#define C1   22725

Definition at line 29 of file simple_idct_mmi.c.

Referenced by lbr_bank_c(), and xbr_filter().

#define C2   21407

Definition at line 30 of file simple_idct_mmi.c.

Referenced by lbr_bank_c().

#define C3   19266

Definition at line 31 of file simple_idct_mmi.c.

Referenced by lbr_bank_c().

#define C4   16383

Definition at line 32 of file simple_idct_mmi.c.

Referenced by lbr_bank_c(), and xbr_filter().

#define C5   12873

Definition at line 33 of file simple_idct_mmi.c.

#define C6   8867

Definition at line 34 of file simple_idct_mmi.c.

#define C7   4520

Definition at line 35 of file simple_idct_mmi.c.

#define ROW_SHIFT   11

Definition at line 37 of file simple_idct_mmi.c.

#define COL_SHIFT   20

Definition at line 38 of file simple_idct_mmi.c.

#define DC_COND_IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  rounder,
  rarg,
  shift 
)

Referenced by ff_simple_idct_mmi().

#define Z_COND_IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  rounder,
  rarg,
  shift,
  bt 
)

Referenced by ff_simple_idct_mmi().

#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)

Referenced by ff_simple_idct_mmi().

#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)
#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)
#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)
#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)
#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)
#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)
#define IDCT (   src0,
  src4,
  src1,
  src5,
  dst,
  shift 
)
Value:
"ldc1 $f0, " #src0 " \n\t" /* R4 R0 r4 r0 */\
"ldc1 $f8, 16(%2) \n\t" /* C4 C4 C4 C4 */\
"li $10, " #shift " \n\t" \
"pmaddhw $f8, $f8, $f0 \n\t" /* C4R4+C4R0 C4r4+C4r0 */\
"mtc1 $10, $f18 \n\t" \
"ldc1 $f10, 24(%2) \n\t" /* -C4 C4 -C4 C4 */\
"pmaddhw $f0, $f0, $f10 \n\t" /* -C4R4+C4R0 -C4r4+C4r0 */\
"psraw $f8, $f8, $f18 \n\t" \
"psraw $f0, $f0, $f18 \n\t" \
"ldc1 $f4, 8+" #src0 " \n\t" /* R4 R0 r4 r0 */\
"ldc1 $f2, 16(%2) \n\t" /* C4 C4 C4 C4 */\
"pmaddhw $f2, $f2, $f4 \n\t" /* C4R4+C4R0 C4r4+C4r0 */\
"ldc1 $f14, 24(%2) \n\t" /* -C4 C4 -C4 C4 */\
"pmaddhw $f4, $f4, $f14 \n\t" /* -C4R4+C4R0 -C4r4+C4r0 */\
"ldc1 $f14, 32(%2) \n\t" /* C6 C2 C6 C2 */\
"psraw $f2, $f2, $f18 \n\t" \
"packsswh $f8, $f8, $f2 \n\t" /* A0 a0 */\
"sdc1 $f8, " #dst " \n\t" \
"psraw $f4, $f4, $f18 \n\t" \
"packsswh $f0, $f0, $f4 \n\t" /* A1 a1 */\
"sdc1 $f0, 16+" #dst " \n\t" \
"sdc1 $f0, 96+" #dst " \n\t" \
"sdc1 $f8, 112+" #dst " \n\t" \
"sdc1 $f0, 32+" #dst " \n\t" \
"sdc1 $f8, 48+" #dst " \n\t" \
"sdc1 $f8, 64+" #dst " \n\t" \
"sdc1 $f0, 80+" #dst " \n\t"
static int shift(int a, int b)
Definition: sonic.c:82
#define src0
Definition: h264pred.c:138

Function Documentation

void ff_simple_idct_mmi ( int16_t *  block)

Definition at line 57 of file simple_idct_mmi.c.

Variable Documentation

const int16_t coeffs[]
static
Initial value:
= {
1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,
1<<(ROW_SHIFT-1), 1, 1<<(ROW_SHIFT-1), 0,
C4, C4, C4, C4,
C4, -C4, C4, -C4,
C2, C6, C2, C6,
C6, -C2, C6, -C2,
C1, C3, C1, C3,
C5, C7, C5, C7,
C3, -C7, C3, -C7,
-C1, -C5, -C1, -C5,
C5, -C1, C5, -C1,
C7, C3, C7, C3,
C7, -C5, C7, -C5,
C3, -C1, C3, -C1
}
#define C3
#define C5
#define C6
#define C1
#define C2
#define C4
#define ROW_SHIFT
#define C7

Definition at line 40 of file simple_idct_mmi.c.

Referenced by aac_encode_frame(), ac3_decode_transform_coeffs_ch(), apply_scalefactors(), aptx_qmf_convolution(), aptx_qmf_polyphase_analysis(), aptx_qmf_polyphase_synthesis(), celt_frame_mdct(), check_idct(), check_idct_dc(), config_input(), decode_block(), decode_lpc(), decode_subframe_lpc(), dequant(), ff_eac3_apply_spectral_extension(), ff_hevc_hls_residual_coding(), ff_iir_filter_free_coeffsp(), ff_simple_idct_mmi(), FUNC(), get_luma_coefficients(), get_transfer_characteristics(), hevc_idct_16x16_msa(), hevc_idct_32x32_msa(), hevc_idct_8x32_column_msa(), hls_transform_unit(), long_filter_ehigh_3830(), long_filter_high_3800(), psy_3gpp_init(), read_coeffs_coarse(), step_collect_psy_metrics(), transform_4x4_luma(), transform_rdpcm(), and wiener_denoise().