#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "config.h"
#include "mp_msg.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
#include "libvo/fastmemcpy.h"
Go to the source code of this file.
Data Structures | |
struct | metrics |
struct | vf_priv_s |
Defines | |
#define | COMPE(a, b, e) (abs((a)-(b)) < (((a)+(b))>>(e))) |
#define | COMPARABLE(a, b) COMPE((a),(b),2) |
#define | VERYCLOSE(a, b) COMPE((a),(b),3) |
#define | OUTER_TC_NBHD(s) |
#define | INNER_TC_NBHD(s, l, h) |
#define | STARTVARS if (0) |
#define | GETVAR(str, name, out, func) |
Enumerations | |
enum | { TC_DROP, TC_PROG, TC_IL1, TC_IL2 } |
Functions | |
static void | block_diffs (struct metrics *m, unsigned char *old, unsigned char *new, int os, int ns) |
static void | diff_planes (struct metrics *m, unsigned char *old, unsigned char *new, int w, int h, int os, int ns) |
static void | diff_fields (struct metrics *metr, mp_image_t *old, mp_image_t *new) |
static void | status (int f, struct metrics *m) |
static int | analyze_fixed_pattern (struct vf_priv_s *p, mp_image_t *new, mp_image_t *old) |
static int | analyze_aggressive (struct vf_priv_s *p, mp_image_t *new, mp_image_t *old) |
static void | copy_image (mp_image_t *dmpi, mp_image_t *mpi, int field) |
static int | do_put_image (struct vf_instance *vf, mp_image_t *dmpi) |
static int | put_image (struct vf_instance *vf, mp_image_t *mpi, double pts) |
static int | query_format (struct vf_instance *vf, unsigned int fmt) |
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 | uninit (struct vf_instance *vf) |
static void | parse_var (struct vf_priv_s *p, char *var) |
static void | parse_args (struct vf_priv_s *p, char *args) |
static int | vf_open (vf_instance_t *vf, char *args) |
Variables | |
struct { | |
const char * name | |
int(* func )(struct vf_priv_s *p, mp_image_t *new, mp_image_t *old) | |
int needread | |
} | anal_funcs [] |
const vf_info_t | vf_info_detc |
#define COMPARABLE | ( | a, | |||
b | ) | COMPE((a),(b),2) |
#define COMPE | ( | a, | |||
b, | |||||
e | ) | (abs((a)-(b)) < (((a)+(b))>>(e))) |
#define INNER_TC_NBHD | ( | s, | |||
l, | |||||
h | ) |
Value:
( \ COMPARABLE((s)[0].m.even,(l)) && \ COMPARABLE((s)[2].m.odd,(l)) && ( \ COMPARABLE((s)[0].m.noise,(h)) || \ COMPARABLE((s)[1].m.noise,(h)) ) )
#define OUTER_TC_NBHD | ( | s | ) |
Value:
( \ COMPARABLE((s)[-1].m.even,(s)[-1].m.odd) && \ COMPARABLE((s)[1].m.even,(s)[0].m.odd) && \ COMPARABLE((s)[2].m.even,(s)[1].m.odd) && \ COMPARABLE((s)[-1].m.noise,(s)[0].m.temp) && \ COMPARABLE((s)[2].m.noise,(s)[2].m.temp) )
#define STARTVARS if (0) |
#define VERYCLOSE | ( | a, | |||
b | ) | COMPE((a),(b),3) |
static int analyze_aggressive | ( | struct vf_priv_s * | p, | |
mp_image_t * | new, | |||
mp_image_t * | old | |||
) | [static] |
static int analyze_fixed_pattern | ( | struct vf_priv_s * | p, | |
mp_image_t * | new, | |||
mp_image_t * | old | |||
) | [static] |
static void block_diffs | ( | struct metrics * | m, | |
unsigned char * | old, | |||
unsigned char * | new, | |||
int | os, | |||
int | ns | |||
) | [static] |
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 void copy_image | ( | mp_image_t * | dmpi, | |
mp_image_t * | mpi, | |||
int | field | |||
) | [static] |
static void diff_fields | ( | struct metrics * | metr, | |
mp_image_t * | old, | |||
mp_image_t * | new | |||
) | [static] |
Definition at line 117 of file vf_detc.c.
Referenced by analyze_aggressive(), foo(), and put_image().
static void diff_planes | ( | struct metrics * | m, | |
unsigned char * | old, | |||
unsigned char * | new, | |||
int | w, | |||
int | h, | |||
int | os, | |||
int | ns | |||
) | [static] |
static int do_put_image | ( | struct vf_instance * | vf, | |
mp_image_t * | dmpi | |||
) | [static] |
static void parse_args | ( | struct vf_priv_s * | p, | |
char * | args | |||
) | [static] |
static void parse_var | ( | struct vf_priv_s * | p, | |
char * | var | |||
) | [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 status | ( | int | f, | |
struct metrics * | m | |||
) | [static] |
Definition at line 141 of file vf_detc.c.
Referenced by analyze_aggressive(), end_frame(), ff_er_frame_end(), ff_h264_check_intra4x4_pred_mode(), ff_vc1_parse_frame_header(), ff_vc1_parse_frame_header_adv(), ff_vda_create_decoder(), ff_vda_decoder_decode(), ff_vda_destroy_decoder(), handle_child_exit(), Stagefright_decode_frame(), and start_jack().
static void uninit | ( | struct vf_instance * | vf | ) | [static] |
static int vf_open | ( | vf_instance_t * | vf, | |
char * | args | |||
) | [static] |
struct { ... } anal_funcs[] [static] |
Referenced by vf_open().
int(* func)(struct vf_priv_s *p, mp_image_t *new, mp_image_t *old) |
const char* name |
Definition at line 385 of file vf_detc.c.
Referenced by asf_read_ext_content_desc(), asf_read_marker(), asf_read_metadata(), av_dump_format(), av_get_channel_layout_string(), av_opt_next(), avi_read_nikon(), choose_pix_fmts(), choose_pixel_fmt(), color_table_compare(), config_output(), decode_info_header(), doTest(), ff_alsa_open(), init(), main(), matroska_convert_tag(), modplug_load_metadata(), oggvorbis_init_encoder(), opt_formats(), opt_loglevel(), opt_protocols(), parse_device_name(), parse_filter(), parse_inputs(), parse_link_name(), parse_outputs(), parse_primary(), sdt_cb(), selfTest(), set_codec_from_probe_data(), split_init(), vf_open(), wtvfile_open2(), and xbm_decode_frame().
const vf_info_t vf_info_detc |