#include <stdint.h>
#include "libavcodec/dsputil.h"
#include "dsputil_vis.h"
#include "libavutil/mem.h"
Go to the source code of this file.
Defines | |
#define | INIT_IDCT |
#define | LOADSCALE(in) |
#define | LOAD(in) |
#define | TRANSPOSE |
#define | IDCT4ROWS |
#define | STOREROWS(out) |
#define | SCALEROWS |
#define | PUTPIXELSCLAMPED(dest) |
#define | ADDPIXELSCLAMPED(dest) |
#define | ADDROUNDER |
#define | ADDROUNDER "fpadd16 %%f28, %%f46, %%f28 \n\t" |
#define | ADDROUNDER |
#define | ADDROUNDER "fpadd16 %%f28, %%f46, %%f28 \n\t" |
Functions | |
void | ff_simple_idct_vis (DCTELEM *data) |
void | ff_simple_idct_put_vis (uint8_t *dest, int line_size, DCTELEM *data) |
void | ff_simple_idct_add_vis (uint8_t *dest, int line_size, DCTELEM *data) |
Variables | |
static const int16_t | coeffs [28] |
static const uint16_t | scale [4] |
static const uint16_t | rounder [4] |
static const uint16_t | expand [4] |
#define ADDPIXELSCLAMPED | ( | dest | ) |
#define ADDROUNDER "fpadd16 %%f28, %%f46, %%f28 \n\t" |
#define ADDROUNDER |
#define ADDROUNDER "fpadd16 %%f28, %%f46, %%f28 \n\t" |
#define ADDROUNDER |
#define IDCT4ROWS |
Definition at line 144 of file simple_idct_vis.c.
Referenced by ff_simple_idct_add_vis(), ff_simple_idct_put_vis(), and ff_simple_idct_vis().
#define INIT_IDCT |
Value:
"ldd [%1], %%f32 \n\t"\ "ldd [%1+8], %%f34 \n\t"\ "ldd [%1+16], %%f36 \n\t"\ "ldd [%1+24], %%f38 \n\t"\ "ldd [%1+32], %%f40 \n\t"\ "ldd [%1+40], %%f42 \n\t"\ "ldd [%1+48], %%f44 \n\t"\ "ldd [%0], %%f46 \n\t"\ "fzero %%f62 \n\t"\
Definition at line 50 of file simple_idct_vis.c.
Referenced by ff_simple_idct_add_vis(), ff_simple_idct_put_vis(), and ff_simple_idct_vis().
#define LOAD | ( | in | ) |
Value:
"ldd [" in "], %%f16 \n\t"\ "ldd [" in "+8], %%f18 \n\t"\ "ldd [" in "+16], %%f20 \n\t"\ "ldd [" in "+24], %%f22 \n\t"\ "ldd [" in "+32], %%f24 \n\t"\ "ldd [" in "+40], %%f26 \n\t"\ "ldd [" in "+48], %%f28 \n\t"\ "ldd [" in "+56], %%f30 \n\t"\
Definition at line 106 of file simple_idct_vis.c.
Referenced by denoise_depth(), denoise_spatial(), denoise_temporal(), ff_simple_idct_add_vis(), ff_simple_idct_put_vis(), and ff_simple_idct_vis().
#define LOADSCALE | ( | in | ) |
Definition at line 61 of file simple_idct_vis.c.
Referenced by ff_simple_idct_add_vis(), ff_simple_idct_put_vis(), and ff_simple_idct_vis().
#define PUTPIXELSCLAMPED | ( | dest | ) |
Value:
"fpack16 %%f48, %%f14 \n\t"\ "fpack16 %%f50, %%f12 \n\t"\ "fpack16 %%f16, %%f0 \n\t"\ "fpack16 %%f20, %%f2 \n\t"\ "fpack16 %%f24, %%f4 \n\t"\ "fpack16 %%f28, %%f6 \n\t"\ "fpack16 %%f54, %%f8 \n\t"\ "fpack16 %%f52, %%f10 \n\t"\ "st %%f0, [%3+" dest "] \n\t"\ "st %%f2, [%5+" dest "] \n\t"\ "st %%f4, [%6+" dest "] \n\t"\ "st %%f6, [%7+" dest "] \n\t"\ "st %%f8, [%8+" dest "] \n\t"\ "st %%f10, [%9+" dest "] \n\t"\ "st %%f12, [%10+" dest "] \n\t"\ "st %%f14, [%11+" dest "] \n\t"\
Definition at line 329 of file simple_idct_vis.c.
Referenced by ff_simple_idct_put_vis().
#define SCALEROWS |
Value:
"fmul8sux16 %%f46, %%f48, %%f48 \n\t"\ "fmul8sux16 %%f46, %%f50, %%f50 \n\t"\ "fmul8sux16 %%f46, %%f52, %%f52 \n\t"\ "fmul8sux16 %%f46, %%f54, %%f54 \n\t"\ "fmul8sux16 %%f46, %%f16, %%f16 \n\t"\ "fmul8sux16 %%f46, %%f20, %%f20 \n\t"\ "fmul8sux16 %%f46, %%f24, %%f24 \n\t"\ "fmul8sux16 %%f46, %%f28, %%f28 \n\t"\
Definition at line 319 of file simple_idct_vis.c.
Referenced by ff_simple_idct_vis().
#define STOREROWS | ( | out | ) |
Value:
"std %%f48, [" out "+112] \n\t"\ "std %%f50, [" out "+96] \n\t"\ "std %%f52, [" out "+80] \n\t"\ "std %%f54, [" out "+64] \n\t"\ "std %%f16, [" out "] \n\t"\ "std %%f20, [" out "+16] \n\t"\ "std %%f24, [" out "+32] \n\t"\ "std %%f28, [" out "+48] \n\t"\
Definition at line 309 of file simple_idct_vis.c.
Referenced by ff_simple_idct_add_vis(), ff_simple_idct_put_vis(), and ff_simple_idct_vis().
#define TRANSPOSE |
Value:
"fpmerge %%f16, %%f24, %%f0 \n\t"\ "fpmerge %%f20, %%f28, %%f2 \n\t"\ "fpmerge %%f17, %%f25, %%f4 \n\t"\ "fpmerge %%f21, %%f29, %%f6 \n\t"\ "fpmerge %%f18, %%f26, %%f8 \n\t"\ "fpmerge %%f22, %%f30, %%f10 \n\t"\ "fpmerge %%f19, %%f27, %%f12 \n\t"\ "fpmerge %%f23, %%f31, %%f14 \n\t"\ \ "fpmerge %%f0, %%f2, %%f16 \n\t"\ "fpmerge %%f1, %%f3, %%f18 \n\t"\ "fpmerge %%f4, %%f6, %%f20 \n\t"\ "fpmerge %%f5, %%f7, %%f22 \n\t"\ "fpmerge %%f8, %%f10, %%f24 \n\t"\ "fpmerge %%f9, %%f11, %%f26 \n\t"\ "fpmerge %%f12, %%f14, %%f28 \n\t"\ "fpmerge %%f13, %%f15, %%f30 \n\t"\ \ "fpmerge %%f16, %%f17, %%f0 \n\t"\ "fpmerge %%f18, %%f19, %%f2 \n\t"\ "fpmerge %%f20, %%f21, %%f4 \n\t"\ "fpmerge %%f22, %%f23, %%f6 \n\t"\ "fpmerge %%f24, %%f25, %%f8 \n\t"\ "fpmerge %%f26, %%f27, %%f10 \n\t"\ "fpmerge %%f28, %%f29, %%f12 \n\t"\ "fpmerge %%f30, %%f31, %%f14 \n\t"\
Definition at line 116 of file simple_idct_vis.c.
Referenced by avfilter_register_all(), ff_simple_idct_add_vis(), ff_simple_idct_put_vis(), and ff_simple_idct_vis().
void ff_simple_idct_vis | ( | DCTELEM * | data | ) |
Initial value:
{ - 1259,- 1259,- 1259,- 1259, - 4989,- 4989,- 4989,- 4989, -11045,-11045,-11045,-11045, -19195,-19195,-19195,-19195, -29126,-29126,-29126,-29126, 25080, 25080, 25080, 25080, 12785, 12785, 12785, 12785 }
Definition at line 31 of file simple_idct_vis.c.
Referenced by aac_encode_frame(), ac3_decode_transform_coeffs_ch(), allocate_buffers(), decode_block(), decode_subframe_lpc(), ff_eac3_apply_spectral_extension(), ff_simple_idct_add_vis(), ff_simple_idct_put_vis(), ff_simple_idct_vis(), psy_3gpp_init(), rematrix_channels(), search_for_quantizers_faac(), and wiener_denoise().
const uint16_t expand[4] [static] |
Initial value:
{ 1<<14, 1<<14, 1<<14, 1<<14 }
Definition at line 46 of file simple_idct_vis.c.
Referenced by ff_simple_idct_add_vis().
const uint16_t rounder[4] [static] |
Initial value:
{ 1<<5, 1<<5, 1<<5, 1<<5 }
Definition at line 43 of file simple_idct_vis.c.
Referenced by ff_simple_idct_add_vis(), and ff_simple_idct_put_vis().
const uint16_t scale[4] [static] |
Initial value:
{ 65536>>6, 65536>>6, 65536>>6, 65536>>6 }
Definition at line 40 of file simple_idct_vis.c.
Referenced by add_8x8basis_TMPL(), adx_decode(), adx_encode(), analyze_plane(), apply_intensity_stereo(), arith2_get_number(), arith2_get_prob(), avfilter_register_all(), bmv_aud_decode_frame(), comp_ppf_coeff(), config_props(), dca_decode_frame(), dca_subframe_header(), dct_error(), decode_cce(), decode_init(), decode_spectrum_and_dequant(), dnxhd_decode_dct_block(), draw_mandelbrot(), draw_slice(), estimate_best_b_count(), extrapolate_isf(), ff_h263_encode_mb(), ff_h263_pred_acdc(), ff_mpeg4_pred_dc(), ff_msmpeg4_pred_dc(), ff_mss34_gen_quant_mat(), ff_simple_idct_vis(), ff_snow_pred_block(), ff_vc1_parse_frame_header(), ff_vc1_parse_frame_header_adv(), filter_samples(), float_to_fixed24_c(), formant_postfilter(), iac_generate_tabs(), init(), main(), mkv_write_chapters(), model256_update(), model2_update(), model_update(), mp_decode_layer2(), postProcess_TMPL(), pred_mv(), pred_temp_direct_motion(), print_report(), quantize_lpc_coefs(), scale_slice(), start_frame(), swri_get_dither(), try_8x8basis_TMPL(), uninit(), vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_intra_block(), vc1_decode_p_block(), vc1_i_pred_dc(), and w_c().