libavfilter/libmpcodecs/vf_mcdeint.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <math.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"

Go to the source code of this file.

Data Structures

struct  vf_priv_s

Defines

#define MIN(a, b)   ((a) > (b) ? (b) : (a))
#define MAX(a, b)   ((a) < (b) ? (b) : (a))
#define ABS(a)   ((a) > 0 ? (a) : (-(a)))
#define CHECK(j)

Functions

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)
 if (diff0+diff1 > 0) temp-
 for (y=0;y< h;y++)
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 vf_open (vf_instance_t *vf, char *args)

Variables

else temp = (diff0 + diff1 + ABS( ABS(diff0) - ABS(diff1) )/2)/2
 filp [0]
else dst [i][x+y *dst_stride[i]] = p->frame_dec->data[i][x + y*fils]
parity = 1
const vf_info_t vf_info_mcdeint


Define Documentation

#define ABS (  )     ((a) > 0 ? (a) : (-(a)))

Definition at line 73 of file vf_mcdeint.c.

#define CHECK (  ) 

Value:

{   int score= ABS(srcp[-srcs-1+j] - srcp[+srcs-1-j])\
                 + ABS(srcp[-srcs  +j] - srcp[+srcs  -j])\
                 + ABS(srcp[-srcs+1+j] - srcp[+srcs+1-j]);\
        if(score < spatial_score){\
            spatial_score= score;\
            diff0= filp[-fils+j] - srcp[-srcs+j];\
            diff1= filp[+fils-j] - srcp[+srcs-j];

Referenced by block_metrics_mmx2(), and filter().

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

Definition at line 72 of file vf_mcdeint.c.

#define MIN ( a,
 )     ((a) > (b) ? (b) : (a))

Definition at line 71 of file vf_mcdeint.c.


Function Documentation

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 181 of file vf_mcdeint.c.

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 
) [static]

Definition at line 93 of file vf_mcdeint.c.

for (  ) 

Definition at line 163 of file vf_mcdeint.c.

static void get_image ( struct vf_instance vf,
mp_image_t mpi 
) [static]

Definition at line 238 of file vf_mcdeint.c.

if ( diff0+  diff1,
 
)

Referenced by aac_decode_frame_int(), aac_encode_init(), aacPlus_encode_frame(), adpcm_decode_frame(), adpcm_encode_init(), adx_encode_frame(), alac_encode_frame(), alloc_buffers(), amr_wb_encode_frame(), ape_decode_value(), ape_read_header(), apply_lpc(), asf_read_pts(), av_ext2dbl(), av_reduce(), av_timecode_init_from_string(), avcodec_default_reget_buffer(), average_quantized_coeffs(), avpriv_check_timecode_rate(), avpriv_timecode_to_string(), avresample_get_matrix(), avresample_open(), binkb_read_bundle(), blend_subrect(), cavsvideo_probe(), check_header_mismatch(), cinaudio_decode_frame(), cmv_decode_inter(), commit_bitstream_and_slice_buffer(), compute_pkt_fields(), config_input(), config_props(), construct_perm_table(), dca_decode_init(), decode_end(), decode_exp_vlc(), decode_frame(), decode_frame_ilbm(), decode_i2_frame(), decode_init(), decode_slice_header(), decode_subframe(), decode_tilehdr(), dpcm_decode_frame(), draw_slice(), dv_extract_audio(), dv_inject_audio(), dvdsub_init(), dvvideo_decode_frame(), ebml_parse_elem(), eightsvx_decode_frame(), encode_frame(), encode_mb_internal(), expand_timestamps(), ff_ac3_compute_coupling_strategy(), ff_dvvideo_init(), ff_id3v2_write_apic(), ff_mjpeg_decode_frame(), ff_mjpeg_decode_sof(), ff_mjpeg_decode_sos(), ff_mpeg4_encode_mb(), ff_MPV_common_init(), ff_print_debug_info(), ff_sws_init_swScale_mmx(), ff_vdpau_mpeg_picture_complete(), ff_vdpau_vc1_decode_picture(), ff_xvmc_decode_mb(), ff_xvmc_field_start(), fill_picture_parameters(), find_next_parse_unit(), flac_encode_frame(), flashsv_decode_frame(), flashsv_encode_frame(), flic_decode_init(), free_section(), generate_intervals(), get_block_sizes(), get_delayed_pic(), h263_probe(), h264_probe(), handle_packet(), hl_decode_mb_444_internal(), hyscale(), iff_read_header(), imc_decode_frame(), init(), init_dequant_tables(), init_poc(), ipmovie_read_header(), ipvideo_decode_block_opcode_0x8(), ipvideo_decode_block_opcode_0xA(), ipvideo_decode_frame(), j2kenc_init(), libgsm_encode_frame(), libspeex_decode_frame(), main(), matroska_probe(), mc_dir_part(), mc_part_std(), mc_part_weighted(), mc_subpel(), mct_decode(), mlp_parse(), mm_decode_inter(), mmsh_close(), motion_search(), mov_parse_mpeg2_frame(), mov_parse_vc1_frame(), mov_read_extradata(), mpeg4video_probe(), mpeg_decode_mb(), mpeg_decode_slice(), mpeg_mux_init(), mpegps_probe(), mpegvideo_probe(), msrle_decode_8_16_24_32(), mxf_interleave_get_packet(), mxf_parse_mpeg2_frame(), nut_probe(), nut_read_seek(), ogg_read_page(), optimum_use15_7(), pcm_encode_frame(), pred_spatial_direct_motion(), pred_temp_direct_motion(), put_dc(), qcelp_decode_frame(), qdm2_decode(), qdm2_fft_tone_synthesizer(), ra144_encode_frame(), read_header(), read_major_sync(), read_thread(), read_var_block_data(), request_frame(), reset_options(), rpza_decode_stream(), rtsp_read_packet(), s302m_decode_frame(), sbr_hf_calc_npatches(), sbr_make_f_master(), select_input_picture(), seqvideo_decode(), set_channel_info(), set_palette(), shorten_decode_frame(), smc_decode_stream(), Stagefright_close(), Stagefright_decode_frame(), Stagefright_init(), store_packet(), svq3_decode_frame(), svq3_decode_init(), svq3_mc_dir(), synth_block_fcb_acb(), synth_superframe(), tiff_decode_tag(), tm2_decode_blocks(), transcode_init(), tta_decode_frame(), unpack_superblocks(), unpack_vlcs(), utvideo_decode_init(), utvideo_encode_frame(), vaapi_mpeg4_start_frame(), vc1_decode_b_mb(), vc1_decode_b_mb_intfi(), vc1_decode_p_mb_intfi(), vc1_decode_p_mb_intfr(), vc1_mc_4mv_luma(), vmdaudio_decode_frame(), vorbis_encode_frame(), vorbis_parse_setup_hdr_codebooks(), vp8_decode_frame(), wiener_denoise(), wma_decode_superframe(), wsvqa_read_header(), XAVS_init(), yuv2rgb_1_c_template(), and yuv2rgb_2_c_template().

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

Definition at line 256 of file vf_mcdeint.c.

static int query_format ( struct vf_instance vf,
unsigned int  fmt 
) [static]

Definition at line 297 of file vf_mcdeint.c.

static void uninit ( struct vf_instance vf  )  [static]

Definition at line 275 of file vf_mcdeint.c.

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

Definition at line 309 of file vf_mcdeint.c.


Variable Documentation

else dst[i][x+y *dst_stride[i]] = p->frame_dec->data[i][x + y*fils]

Definition at line 159 of file vf_mcdeint.c.

Referenced by add_frame_default(), adx_encode_frame(), av_base64_decode(), av_base64_encode(), av_bprintf(), av_get_string(), av_opt_get(), av_opt_set(), avfilter_draw_slice(), avfilter_start_frame(), avg_pixels16_l2_TMPL(), avg_pixels4_l2_TMPL(), avg_pixels8_l2_TMPL(), avui_encode_frame(), bethsoftvid_decode_frame(), bfi_decode_frame(), bink_decode_plane(), binkb_decode_plane(), binkb_read_bundle(), blockCopy_TMPL(), bmp_decode_frame(), bmp_encode_frame(), bswap16Y_c(), cmp_direct_inline(), cmv_decode_inter(), cmv_decode_intra(), copy(), copy_backptr(), copy_block16(), copy_block2(), copy_block4(), copy_block8(), copy_cell(), copy_frame(), copy_frame_default(), decode(), decode_bmv_frame(), decode_cell_data(), decode_channel(), decode_const_block_data(), decode_frame(), decode_hybrid(), decode_i2_frame(), decode_p_frame(), decode_tile(), deNoise(), dfa_decode_frame(), doTest(), eightsvx_decode_frame(), encode_frame(), ff_filter_samples(), ff_h264_decode_nal(), ff_h264_idct8_add(), ff_h264_idct8_add4(), ff_h264_idct8_dc_add(), ff_h264_idct_add(), ff_h264_idct_add16(), ff_h264_idct_add16intra(), ff_h264_idct_dc_add(), ff_ivi_inverse_haar_8x8(), ff_ivi_inverse_slant_4x4(), ff_ivi_inverse_slant_8x8(), ff_ivi_process_empty_tile(), ff_metadata_conv(), ff_mjpeg_decode_frame(), ff_mjpeg_find_marker(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_inner_add_yblock(), fill_buffer(), filter(), filter_mb_row(), filter_mb_row_simple(), for(), get_number(), h264_handle_packet(), hScale16To19_c(), hScale8To19_c(), id3v2_3_metadata_split_date(), idct_put(), insert_mb_into_sb(), lag_decode_frame(), load_input_picture(), lumRangeFromJpeg16_c(), lumRangeToJpeg16_c(), main(), mimic_decode_update_thread_context(), MIX_FUNC_GENERIC(), mv_pred_sym(), parse_h264_sdp_line(), parse_option(), pcm_encode_frame(), pixels16_l2(), pixels8_l2(), planar_rgb16be_to_y(), planar_rgb16le_to_y(), planarToNv12Wrapper(), planarToUyvyWrapper(), planarToYuy2Wrapper(), postProcess_TMPL(), propagate_block_data(), put_image(), put_no_rnd_pixels16_l2_TMPL(), put_no_rnd_pixels8_l2_TMPL(), put_pixels16_l2_TMPL(), put_pixels4_l2_TMPL(), put_pixels8_l2_TMPL(), raw_decode(), read_dcs(), read_header(), reorder_block(), reset_options(), rgb15to16_TMPL(), rgb15to32_TMPL(), rgb15tobgr24_TMPL(), rgb16to15_TMPL(), rgb16to32_TMPL(), rgb16tobgr24_TMPL(), rgb24to15_TMPL(), rgb24to16_TMPL(), rgb24tobgr15_TMPL(), rgb24tobgr16_TMPL(), rgb24tobgr24_TMPL(), rgb24tobgr32_TMPL(), rgb32to15_TMPL(), rgb32to16_TMPL(), rgb32tobgr15_TMPL(), rgb32tobgr16_TMPL(), rgb32tobgr24_TMPL(), rv34_decode_inter_macroblock(), rv34_output_i16x16(), rv34_output_intra(), sdp_parse_fmtp_config_h264(), seqvideo_decode(), set_number(), shuffle_bytes_2103_TMPL(), svq1_decode_block_intra(), svq1_decode_block_non_intra(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq1_skip_block(), swri_resample_TMPL(), tm2_decode_blocks(), tmv_decode_frame(), transpose2_TMPL(), utvideo_encode_frame(), v308_encode_frame(), v408_encode_frame(), v410_encode_frame(), vble_restore_plane(), vc1_apply_p_h_loop_filter(), vc1_apply_p_v_loop_filter(), vc1_decode_i_blocks(), vc1_inv_trans_4x4_c(), vc1_inv_trans_4x8_c(), vc1_inv_trans_8x4_c(), vc1_inv_trans_8x8_c(), vf_mpi_clear(), vp56_mc(), vp8_decode_frame(), wavpack_decode_block(), xbm_decode_frame(), xwd_decode_frame(), y41p_encode_frame(), yuv422ptouyvy_TMPL(), yuv422pToUyvyWrapper(), yuv422ptoyuy2_TMPL(), yuv422pToYuy2Wrapper(), yuv4_encode_frame(), yuvPlanartouyvy_TMPL(), yuvPlanartoyuy2_TMPL(), yv12touyvy_TMPL(), yv12touyvy_unscaled_altivec(), yv12toyuy2_TMPL(), yv12toyuy2_unscaled_altivec(), and zerocodec_decode_frame().

filp[0]

Initial value:

                        dst[i][x + y*dst_stride[i]]= temp > 255U ? ~(temp>>31) : temp

Definition at line 152 of file vf_mcdeint.c.

Referenced by filter().

p parity = 1

Definition at line 177 of file vf_mcdeint.c.

Referenced by ff_yadif_filter_line_TMPL(), and read_access_unit().

else temp = (diff0 + diff1 + ABS( ABS(diff0) - ABS(diff1) )/2)/2

Definition at line 147 of file vf_mcdeint.c.

Referenced by a64_compress_colram(), at1_subband_synthesis(), backward_filter(), bink_idct_c(), bink_idct_put_c(), bit8x8_c(), biweight_h264_W_altivec(), block_diffs(), comp_interp_index(), config(), dct_max8x8_c(), dct_sad8x8_c(), decode_8_pulses_31bits(), decode_frame(), decode_plane(), decode_rgb_frame(), ff_block_permute(), ff_ea_idct_put_c(), ff_faandct(), ff_faandct248(), ff_faanidct(), ff_faanidct_add(), ff_faanidct_put(), ff_h264_chroma422_dc_dequant_idct(), ff_h264_luma_dc_dequant_idct(), ff_simple_idct_vis(), ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_svq3_luma_dc_dequant_idct_c(), ff_vorbis_inverse_coupling(), ffurl_register_protocol(), filter(), find_new_headers(), flac_parse(), flac_parse_close(), formant_postfilter(), gain_scale(), gen_fcb_excitation(), get_tilt_comp(), h261_loop_filter_c(), h263_h_loop_filter_mmx(), h264_deblock_q1(), hadamard8_diff8x8_c(), hadamard8_intra8x8_c(), horizontal_compose53i(), horizontal_decompose53i(), horizontal_decompose97i(), http_write(), idct(), idct_put(), idctRowCondDC(), imdct_and_windowing(), inverse_quant(), ls_encode_runterm(), ls_get_code_runterm(), main(), matroska_parse_block(), pp_get_mode_by_name_and_quality(), quant_psnr8x8_c(), rd8x8_c(), read32(), read_time(), render_slice(), rv34_idct_add_c(), rv34_inv_transform_noround_c(), sbr_gain_calc(), sbr_make_f_derived(), sbr_make_f_master(), store_slice_c(), sub_left_prediction(), svq1_encode_frame(), svq1_encode_plane(), unpack_bitstream(), vc1_inv_trans_8x8_c(), vorbis_residue_decode_internal(), and weight_h264_W_altivec().

Initial value:

 {
    "motion compensating deinterlacer",
    "mcdeint",
    "Michael Niedermayer",
    "",
    vf_open,
    NULL
}

Definition at line 330 of file vf_mcdeint.c.


Generated on Fri Oct 26 02:48:01 2012 for FFmpeg by  doxygen 1.5.8