FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
vf_uspp.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <math.h>
#include <assert.h>
#include "config.h"
#include "mp_msg.h"
#include "cpudetect.h"
#include "libavutil/mem.h"
#include "libavcodec/avcodec.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
#include "av_helpers.h"
#include "libvo/fastmemcpy.h"

Go to the source code of this file.

Data Structures

struct  vf_priv_s
 

Macros

#define XMIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define BLOCK   16
 
#define STORE(pos)
 

Functions

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 filter (struct vf_priv_s *p, uint8_t *dst[3], uint8_t *src[3], int dst_stride[3], int src_stride[3], int width, int height, uint8_t *qp_store, int qp_stride)
 
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 [511][2]
 
const vf_info_t ff_vf_info_uspp
 

Macro Definition Documentation

#define XMIN (   a,
  b 
)    ((a) < (b) ? (a) : (b))

Definition at line 42 of file vf_uspp.c.

#define BLOCK   16

Definition at line 44 of file vf_uspp.c.

Referenced by config(), filter(), and uninit().

#define STORE (   pos)
Value:
temp= ((src[x + y*src_stride + pos]<<log2_scale) + d[pos])>>8;\
if(temp & 0x100) temp= ~(temp>>31);\
dst[x + y*dst_stride + pos]= temp;

Function Documentation

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

Definition at line 118 of file vf_uspp.c.

Referenced by filter().

static void filter ( struct vf_priv_s p,
uint8_t dst[3],
uint8_t src[3],
int  dst_stride[3],
int  src_stride[3],
int  width,
int  height,
uint8_t qp_store,
int  qp_stride 
)
static

Definition at line 142 of file vf_uspp.c.

Referenced by put_image().

static int config ( struct vf_instance *  vf,
int  width,
int  height,
int  d_width,
int  d_height,
unsigned int  flags,
unsigned int  outfmt 
)
static

Definition at line 213 of file vf_uspp.c.

Referenced by vf_open().

static void get_image ( struct vf_instance *  vf,
mp_image_t mpi 
)
static

Definition at line 258 of file vf_uspp.c.

Referenced by vf_open().

static int put_image ( struct vf_instance *  vf,
mp_image_t mpi,
double  pts 
)
static

Definition at line 275 of file vf_uspp.c.

Referenced by vf_open().

static void uninit ( struct vf_instance *  vf)
static

Definition at line 310 of file vf_uspp.c.

Referenced by vf_open().

static int query_format ( struct vf_instance *  vf,
unsigned int  fmt 
)
static

Definition at line 329 of file vf_uspp.c.

Referenced by vf_open().

static int control ( struct vf_instance *  vf,
int  request,
void data 
)
static

Definition at line 341 of file vf_uspp.c.

Referenced by vf_open().

static int vf_open ( vf_instance_t vf,
char *  args 
)
static

Definition at line 353 of file vf_uspp.c.

Variable Documentation

const uint8_t dither[8][8]
static
Initial value:
= {
{ 0*4, 48*4, 12*4, 60*4, 3*4, 51*4, 15*4, 63*4, },
{ 32*4, 16*4, 44*4, 28*4, 35*4, 19*4, 47*4, 31*4, },
{ 8*4, 56*4, 4*4, 52*4, 11*4, 59*4, 7*4, 55*4, },
{ 40*4, 24*4, 36*4, 20*4, 43*4, 27*4, 39*4, 23*4, },
{ 2*4, 50*4, 14*4, 62*4, 1*4, 49*4, 13*4, 61*4, },
{ 34*4, 18*4, 46*4, 30*4, 33*4, 17*4, 45*4, 29*4, },
{ 10*4, 58*4, 6*4, 54*4, 9*4, 57*4, 5*4, 53*4, },
{ 42*4, 26*4, 38*4, 22*4, 41*4, 25*4, 37*4, 21*4, },
}

Definition at line 47 of file vf_uspp.c.

Referenced by store_slice_c().

const uint8_t offset[511][2]
static

Definition at line 58 of file vf_uspp.c.

Referenced by adx_decode(), aiff_read_header(), alloc_and_copy(), alloc_frame_buffer(), ape_decode_frame(), apng_read_header(), apply_window_and_mdct(), asf_parse_packet(), asf_write_markers(), asf_write_packet(), assign_pair(), av_probe_input_buffer2(), avi_extract_stream_metadata(), avio_seek(), avpriv_copy_pce_data(), aw_parse_coords(), bfi_decode_frame(), bidir_sal(), bitplane_decoding(), bl_intrp(), buffer_offset(), bytestream2_seek(), bytestream2_seek_p(), celt_decode_allocation(), celt_decode_band(), celt_decode_final_energy(), celt_decode_fine_energy(), chroma_4mv_motion(), chroma_4mv_motion_lowres(), chroma_tc(), cin_decode_lzss(), comp_block(), comp_interp_index(), comp_ppf_coeff(), compute_pkt_fields(), cook_decode_frame(), copy_cell(), count_ts(), decode_0(), decode_8_pulses_35bits(), decode_blockcode(), decode_blocks(), decode_bytes_and_gain(), decode_cell(), decode_dds1(), decode_decorrelation_matrix(), decode_dsw1(), decode_entropy_coded_image(), decode_fixed_sparse(), decode_frame(), decode_init(), decode_init_static(), decode_interframe_v4(), decode_interframe_v4a(), decode_log_area(), decode_rgb_frame(), decode_scalefactors(), decode_subframe(), decode_tilehdr(), decode_tsw1(), dnxhd_encode_picture(), dnxhd_init_vlc(), dnxhd_setup_threads_slices(), draw_slice(), dv_frame_offset(), dv_read_seek(), dyn_buf_seek(), encode_422_bitstream(), encode_block(), encode_callback(), encode_frame(), encode_init(), encode_plane(), encode_rgb_frame(), estimate_timings_from_pts(), ff_adx_decode_header(), ff_copy_and_dup(), ff_cos(), ff_draw_horiz_band(), ff_h264_chroma422_dc_dequant_idct(), ff_h264_decode_init_vlc(), ff_h264_draw_horiz_band(), ff_h264_filter_mb(), ff_h264_luma_dc_dequant_idct(), ff_hevc_hls_residual_coding(), ff_huff_gen_len_table(), ff_mpa_synth_filter_TMPL(), ff_mpeg4_encode_mb(), ff_mpv_export_qp_table(), ff_mspel_motion(), ff_rtmpe_gen_pub_key(), ff_rtp_send_latm(), ff_rv34_decode_frame(), ff_snow_get_buffer(), ff_spdif_probe(), ff_spdif_read_packet(), ff_svq3_luma_dc_dequant_idct_c(), filter(), filter_frame(), find_header(), find_headers_search_validate(), fixup_vorbis_headers(), flac_fifo_read(), flac_fifo_read_wrap(), flac_read_header(), flv_read_header(), gen_fcb_excitation(), get_buffer_sao(), get_buffer_with_edge(), get_intra_count(), get_p_cbp(), get_residual(), gmc1_motion(), gsm_decode_block(), h263_mv4_search(), h_block_filter(), hashNext(), hls_slice_data_wpp(), horizontal_fill(), imdct_output(), init_ref(), ism_seek(), lag_decode_arith_plane(), libvorbis_encode_init(), lrc_probe(), lsp2lpc(), luma_mc_bi(), luma_mc_uni(), matroska_parse_frame(), matroska_parse_seekhead_entry(), matroska_parse_wavpack(), mc_dir_part(), md5_finish(), mkv_strip_wavpack(), mkv_write_block(), motion_search(), mov_probe(), mov_read_trun(), mov_write_sidx_tag(), mp_read_changes_map(), mxf_absolute_bodysid_offset(), mxf_compute_ptses_fake_index(), nsv_probe(), ogg_write_vorbiscomment(), oggvorbis_decode_init(), pop_integer(), postProcess_TMPL(), probe(), process_options(), ptx_decode_frame(), put_hevc_epel_bi_h(), put_hevc_epel_bi_hv(), put_hevc_epel_bi_v(), put_hevc_epel_uni_h(), put_hevc_epel_uni_hv(), put_hevc_epel_uni_v(), put_hevc_epel_uni_w_h(), put_hevc_epel_uni_w_hv(), put_hevc_epel_uni_w_v(), put_hevc_pel_bi_pixels(), put_hevc_pel_uni_w_pixels(), put_hevc_qpel_bi_h(), put_hevc_qpel_bi_hv(), put_hevc_qpel_bi_v(), put_hevc_qpel_uni_h(), put_hevc_qpel_uni_hv(), put_hevc_qpel_uni_v(), put_hevc_qpel_uni_w_h(), put_hevc_qpel_uni_w_hv(), put_hevc_qpel_uni_w_v(), qdm2_fft_decode_tones(), qdm2_fft_init_coefficient(), qdm2_fft_tone_synthesizer(), quantize_value(), radix_count(), read_braindead_odml_indx(), read_frame_data(), read_header(), read_packet(), read_tfra(), read_ts(), read_uncompressed_sgi(), read_var_block_data(), revert_channel_correlation(), rpl_read_header(), rv10_decode_frame(), sao_edge_filter_0(), sao_edge_filter_1(), seg_write_packet(), seq_decode_op3(), set_sar(), silk_decode_lpc(), silk_lsf2lpc(), svq1_decode_init(), svq1_encode_plane(), svq3_decode_init(), tgv_decode_inter(), transform_skip(), unpack(), unpack_intraframe(), unpack_parse_unit(), v_block_filter(), vb_decode_framedata(), vble_decode_frame(), vble_restore_plane(), vcr1_decode_frame(), vertical_frame_pack(), vorbis_floor1_decode(), vp3_draw_horiz_band(), vp56_get_vectors_predictors(), write_mb_info(), write_packet(), writer_print_data(), wtvfile_seek(), x11grab_read_header(), x8_vlc_init(), xan_decode_chroma(), yae_flush(), yuv2NBPS(), yuv2plane1_8_c(), and yuv2yuvX_TMPL().

const vf_info_t ff_vf_info_uspp
Initial value:
= {
"ultra simple/slow postprocess",
"uspp",
"Michael Niedermayer",
"",
NULL
}

Definition at line 387 of file vf_uspp.c.