#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <math.h>
#include "config.h"
#include "mp_msg.h"
#include "cpudetect.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/dsputil.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
#include "vd_ffmpeg.h"
#include "libvo/fastmemcpy.h"
Go to the source code of this file.
Data Structures | |
struct | vf_priv_s |
Stores persistant variables. More... | |
Defines | |
#define | XMIN(a, b) ((a) < (b) ? (a) : (b)) |
#define | SHIFT 22 |
#define | REQUANT_CORE(dst0, dst1, dst2, dst3, src0, src1, src2, src3) |
#define | REQUANT_CORE(dst0, dst1, dst2, dst3, src0, src1, src2, src3) |
#define | STORE(pos) |
Functions | |
static void | hardthresh_c (DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation) |
static void | softthresh_c (DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation) |
static void | hardthresh_mmx (DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation) |
static void | softthresh_mmx (DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation) |
static void | add_block (int16_t *dst, int stride, DCTELEM block[64]) |
static void | store_slice_c (uint8_t *dst, int16_t *src, int dst_stride, int src_stride, int width, int height, int log2_scale) |
static void | store_slice_mmx (uint8_t *dst, int16_t *src, int dst_stride, int src_stride, int width, int height, int log2_scale) |
static void | filter (struct vf_priv_s *p, uint8_t *dst, uint8_t *src, int dst_stride, int src_stride, int width, int height, uint8_t *qp_store, int qp_stride, int is_luma) |
static int | config (struct vf_instance *vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt) |
static void | get_image (struct vf_instance *vf, mp_image_t *mpi) |
static int | put_image (struct vf_instance *vf, mp_image_t *mpi, double pts) |
static void | uninit (struct vf_instance *vf) |
static int | query_format (struct vf_instance *vf, unsigned int fmt) |
static int | control (struct vf_instance *vf, int request, void *data) |
static int | vf_open (vf_instance_t *vf, char *args) |
Variables | |
static const uint8_t | dither [8][8] |
static const uint8_t | offset [127][2] |
static void(* | store_slice )(uint8_t *dst, int16_t *src, int dst_stride, int src_stride, int width, int height, int log2_scale) = store_slice_c |
static void(* | requantize )(DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation) = hardthresh_c |
const vf_info_t | vf_info_spp |
#define REQUANT_CORE | ( | dst0, | |||
dst1, | |||||
dst2, | |||||
dst3, | |||||
src0, | |||||
src1, | |||||
src2, | |||||
src3 | ) |
#define REQUANT_CORE | ( | dst0, | |||
dst1, | |||||
dst2, | |||||
dst3, | |||||
src0, | |||||
src1, | |||||
src2, | |||||
src3 | ) |
Referenced by hardthresh_mmx(), and softthresh_mmx().
#define STORE | ( | pos | ) |
static int config | ( | struct vf_instance * | vf, | |
int | width, | |||
int | height, | |||
int | d_width, | |||
int | d_height, | |||
unsigned int | flags, | |||
unsigned int | outfmt | |||
) | [static] |
static int control | ( | struct vf_instance * | vf, | |
int | request, | |||
void * | data | |||
) | [static] |
static void filter | ( | struct vf_priv_s * | p, | |
uint8_t * | dst, | |||
uint8_t * | src, | |||
int | dst_stride, | |||
int | src_stride, | |||
int | width, | |||
int | height, | |||
uint8_t * | qp_store, | |||
int | qp_stride, | |||
int | is_luma | |||
) | [static] |
static void get_image | ( | struct vf_instance * | vf, | |
mp_image_t * | mpi | |||
) | [static] |
static int put_image | ( | struct vf_instance * | vf, | |
mp_image_t * | mpi, | |||
double | pts | |||
) | [static] |
static int query_format | ( | struct vf_instance * | vf, | |
unsigned int | fmt | |||
) | [static] |
static void store_slice_c | ( | uint8_t * | dst, | |
int16_t * | src, | |||
int | dst_stride, | |||
int | src_stride, | |||
int | width, | |||
int | height, | |||
int | log2_scale | |||
) | [static] |
static void store_slice_mmx | ( | uint8_t * | dst, | |
int16_t * | src, | |||
int | dst_stride, | |||
int | src_stride, | |||
int | width, | |||
int | height, | |||
int | log2_scale | |||
) | [static] |
static void uninit | ( | struct vf_instance * | vf | ) | [static] |
static int vf_open | ( | vf_instance_t * | vf, | |
char * | args | |||
) | [static] |
const uint8_t dither[8][8] [static] |
Initial value:
{ { 0, 48, 12, 60, 3, 51, 15, 63, }, { 32, 16, 44, 28, 35, 19, 47, 31, }, { 8, 56, 4, 52, 11, 59, 7, 55, }, { 40, 24, 36, 20, 43, 27, 39, 23, }, { 2, 50, 14, 62, 1, 49, 13, 61, }, { 34, 18, 46, 30, 33, 17, 45, 29, }, { 10, 58, 6, 54, 9, 57, 5, 53, }, { 42, 26, 38, 22, 41, 25, 37, 21, }, }
const uint8_t offset[127][2] [static] |
Initial value:
{ {0,0}, {0,0}, {4,4}, {0,0}, {2,2}, {6,4}, {4,6}, {0,0}, {5,1}, {2,2}, {7,3}, {4,4}, {1,5}, {6,6}, {3,7}, {0,0}, {4,0}, {1,1}, {5,1}, {3,2}, {7,2}, {2,3}, {6,3}, {0,4}, {4,4}, {1,5}, {5,5}, {3,6}, {7,6}, {2,7}, {6,7}, {0,0}, {0,2}, {0,4}, {0,6}, {1,1}, {1,3}, {1,5}, {1,7}, {2,0}, {2,2}, {2,4}, {2,6}, {3,1}, {3,3}, {3,5}, {3,7}, {4,0}, {4,2}, {4,4}, {4,6}, {5,1}, {5,3}, {5,5}, {5,7}, {6,0}, {6,2}, {6,4}, {6,6}, {7,1}, {7,3}, {7,5}, {7,7}, {0,0}, {4,4}, {0,4}, {4,0}, {2,2}, {6,6}, {2,6}, {6,2}, {0,2}, {4,6}, {0,6}, {4,2}, {2,0}, {6,4}, {2,4}, {6,0}, {1,1}, {5,5}, {1,5}, {5,1}, {3,3}, {7,7}, {3,7}, {7,3}, {1,3}, {5,7}, {1,7}, {5,3}, {3,1}, {7,5}, {3,5}, {7,1}, {0,1}, {4,5}, {0,5}, {4,1}, {2,3}, {6,7}, {2,7}, {6,3}, {0,3}, {4,7}, {0,7}, {4,3}, {2,1}, {6,5}, {2,5}, {6,1}, {1,0}, {5,4}, {1,4}, {5,0}, {3,2}, {7,6}, {3,6}, {7,2}, {1,2}, {5,6}, {1,6}, {5,2}, {3,0}, {7,4}, {3,4}, {7,0}, }
Definition at line 69 of file vf_spp.c.
Referenced by adpcm_decode_frame(), adx_encode_header(), aiff_read_header(), alloc_and_copy(), altivec_packIntArrayToCharArray(), ape_decode_frame(), apply_window_and_mdct(), avpriv_adx_decode_header(), avpriv_copy_pce_data(), aw_parse_coords(), bfi_decode_frame(), bitplane_decoding(), chroma_4mv_motion(), chroma_4mv_motion_lowres(), cin_decode_lzss(), comp_block(), comp_interp_index(), compute_pkt_fields(), cook_decode_frame(), copy_cell(), decode_blockcode(), decode_blocks(), decode_bytes_and_gain(), decode_cell(), decode_dds1(), decode_decorrelation_matrix(), decode_dsw1(), decode_fixed_sparse(), decode_frame(), decode_init(), decode_init_static(), decode_scalefactors(), decode_subframe(), decode_tilehdr(), decode_tsw1(), denoise_dct_mmx(), denoise_dct_sse2(), dnxhd_encode_picture(), dnxhd_init_vlc(), dnxhd_setup_threads_slices(), do_a_deblock_TMPL(), dv_frame_offset(), dv_read_seek(), encode_block(), encode_frame(), encode_init(), estimate_timings_from_pts(), ff_asf_parse_packet(), ff_draw_horiz_band(), ff_h264_chroma422_dc_dequant_idct(), ff_h264_decode_init_vlc(), ff_h264_filter_mb(), ff_h264_luma_dc_dequant_idct(), ff_mpa_synth_filter_TMPL(), ff_mspel_motion(), ff_rtmp_packet_read(), ff_rtp_send_latm(), ff_rv34_decode_frame(), ff_svq3_luma_dc_dequant_idct_c(), filter(), fixup_vorbis_headers(), flac_read_header(), flv_read_header(), gen_fcb_excitation(), get_intra_count(), get_p_cbp(), get_residual(), gmc1_motion(), gsm_decode_block(), h263_mv4_search(), h_block_filter(), init_ref(), lag_decode_arith_plane(), lsp2lpc(), matroska_parse_block(), matroska_parse_seekhead_entry(), matroska_read_header(), mc_dir_part(), md5_finish(), mjpeg_decode_scan(), motion_search(), mov_probe(), mov_read_trun(), mp_read_changes_map(), mpeg4_encode_mb(), nsv_probe(), oggvorbis_encode_init(), postProcess_TMPL(), ptx_decode_frame(), qdm2_fft_decode_tones(), qdm2_fft_tone_synthesizer(), radix_count(), read_braindead_odml_indx(), read_frame_data(), read_header(), read_uncompressed_sgi(), read_var_block_data(), rpl_read_header(), rv10_decode_frame(), seq_decode_op3(), spdif_probe(), spdif_read_packet(), svq1_decode_init(), svq1_encode_plane(), svq3_decode_init(), tgv_decode_inter(), unpack(), v_block_filter(), vble_decode_frame(), vorbis_floor1_decode(), vp3_draw_horiz_band(), vp56_get_vectors_predictors(), x11grab_read_header(), x8_vlc_init(), xan_decode_chroma(), and yuv2yuvX_TMPL().
void(* requantize)(DCTELEM dst[64], DCTELEM src[64], int qp, uint8_t *permutation) = hardthresh_c [static] |
void(* store_slice)(uint8_t *dst, int16_t *src, int dst_stride, int src_stride, int width, int height, int log2_scale) = store_slice_c [static] |
const vf_info_t vf_info_spp |