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
 Stores persistant variables. More...

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.

Referenced by ac3_decode_frame(), ac3_decode_transform_coeffs_ch(), add_frame_default(), adpcm_decode_frame(), alac_decode_frame(), apply_window_and_mdct(), atrac1_decode_frame(), audio_read_packet(), av_image_fill_pointers(), av_solve_lls(), bfi_decode_frame(), blend_slice(), bmv_aud_decode_frame(), cdg_load_palette(), compute_stereo(), copy_frame_default(), dca_parse_audio_coding_header(), decode_frame(), dnxhd_unquantize_c(), draw_slice(), eightsvx_decode_frame(), ff_draw_horiz_band(), ff_h264_decode_mb_cabac(), fill_picture(), fill_quantization_matrices(), fill_scaling_lists(), filter_samples(), flashsv_decode_frame(), idcin_decode_init(), init_image(), is_yuv_planar(), lag_decode_frame(), lavfi_read_header(), libgsm_decode_frame(), libopenjpeg_copy_yuv16(), mclms_predict(), mclms_update(), mct_decode(), msvideo1_decode_16bit(), mxf_get_sorted_table_segments(), mxf_read_close(), pack_yuv(), pcm_decode_frame(), pitch_sharpening(), pnm_decode_frame(), process_callback(), put_image(), qdm2_decode_fft_packets(), qdm2_decode_frame(), qmf_32_subbands(), recheck_discard_flags(), request_frame(), rv34_decode_slice(), s302m_decode_frame(), shorten_decode_frame(), svq3_decode_init(), sws_diffVec(), sws_init_context(), sws_sumVec(), synth_superframe(), tta_decode_frame(), txd_decode_frame(), v410_decode_frame(), v410_encode_frame(), vmd_decode(), vmdvideo_decode_init(), vorbis_encode_frame(), vp56_parse_mb_type_models(), and yop_decode_frame().

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_frame(), adpcm_decode_frame(), ape_decode_frame(), ape_decode_value(), ape_read_header(), asf_read_pts(), av_ext2dbl(), av_reduce(), avcodec_default_reget_buffer(), average_quantized_coeffs(), avs_decode_frame(), binkb_read_bundle(), blend_subrect(), cavs_decode_frame(), 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_init(), draw_slice(), dv_extract_audio(), dv_inject_audio(), dvdsub_init(), dvvideo_init(), ebml_parse_elem(), eightsvx_decode_frame(), encode_frame(), ff_ac3_compute_coupling_strategy(), ff_mjpeg_decode_sos(), 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(), FindNextSchroParseUnit(), flashsv_decode_frame(), flashsv_encode_frame(), flic_decode_init(), free_section(), get_block_sizes(), get_delayed_pic(), h263_probe(), h264_probe(), handle_packet(), hyscale(), iff_read_header(), imc_decode_frame(), init(), ipvideo_decode_block_opcode_0x8(), ipvideo_decode_block_opcode_0xA(), ipvideo_decode_frame(), ir2_decode_frame(), j2kenc_init(), libdirac_encode_init(), libspeex_decode_frame(), main(), matroska_probe(), mc_part_std(), mc_part_weighted(), mc_subpel(), mct_decode(), mlp_parse(), mm_decode_inter(), mmsh_close(), motion_search(), mov_parse_mpeg2_frame(), mov_read_extradata(), mpeg4_encode_mb(), mpeg4video_probe(), mpeg_decode_mb(), mpeg_decode_slice(), mpeg_mux_init(), mpegps_probe(), mpegvideo_probe(), MPV_frame_end(), msrle_decode_8_16_24_32(), mxf_interleave_get_packet(), mxf_parse_index(), mxf_parse_mpeg2_frame(), mxf_read_close(), nut_probe(), nut_read_seek(), ogg_read_page(), optimum_use15_7(), pam_encode_frame(), pcm_bluray_decode_frame(), pnm_decode_frame(), pnm_encode_frame(), put_image(), qcelp_decode_frame(), qdm2_decode(), qdm2_fft_tone_synthesizer(), qtrle_decode_1bpp(), 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(), 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_mc_dir(), synth_block_fcb_acb(), synth_superframe(), tgv_decode_inter(), tiff_decode_tag(), tm2_decode_blocks(), transcode_init(), unpack_superblocks(), unpack_vlcs(), utvideo_decode_init(), 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_parse_setup_hdr_codebooks(), vp8_decode_frame(), vqa_decode_init(), 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_get_string(), av_opt_get(), av_opt_set(), avfilter_draw_slice(), avfilter_filter_samples(), avfilter_start_frame(), avg_pixels16_l2_TMPL(), avg_pixels4_l2_TMPL(), avg_pixels8_l2_TMPL(), 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_const_block_data(), decode_frame(), decode_hybrid(), decode_i2_frame(), decode_i_frame(), decode_p_frame(), decode_tile(), deNoise(), dfa_decode_frame(), doTest(), draw_slice(), eightsvx_decode_frame(), encode_frame(), 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_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(), 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(), scale_image(), 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(), tm2_decode_blocks(), tmv_decode_frame(), transpose2_TMPL(), 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(), y41p_encode_frame(), yuv422ptouyvy_TMPL(), yuv422pToUyvyWrapper(), yuv422ptoyuy2_TMPL(), yuv422pToYuy2Wrapper(), yuvPlanartouyvy_TMPL(), yuvPlanartoyuy2_TMPL(), yv12touyvy_TMPL(), yv12touyvy_unscaled_altivec(), yv12toyuy2_TMPL(), and yv12toyuy2_unscaled_altivec().

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(), 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(), matroska_parse_block(), pp_get_mode_by_name_and_quality(), quant_psnr8x8_c(), rd8x8_c(), read32(), read_time(), render_slice(), rv34_inv_transform_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_inverse_coupling(), 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:43:51 2012 for FFmpeg by  doxygen 1.5.8