xine-lib  1.2.10
noise.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2000-2018 the xine project
3  *
4  * This file is part of xine, a free video player.
5  *
6  * xine is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * xine is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19  *
20  * mplayer's noise filter, ported by Jason Tackaberry. Original filter
21  * is copyright 2002 Michael Niedermayer <michaelni@gmx.at>
22  */
23 
24 #include <stdint.h>
25 
26 void lineNoise_MMX(uint8_t *dst, const uint8_t *src, const int8_t *noise, int len, int shift);
27 void lineNoise_MMX2(uint8_t *dst, const uint8_t *src, const int8_t *noise, int len, int shift);
28 void lineNoiseAvg_MMX(uint8_t *dst, const uint8_t *src, int len, int8_t **shift);
xine_s
Definition: xine_internal.h:80
xine_post_out_s::name
const char * name
Definition: xine.h:738
XINE_IMGFMT_YV12
#define XINE_IMGFMT_YV12
Definition: xine.h:494
vo_frame_s::pitches
int pitches[3]
Definition: video_out.h:117
get_parameters
static int get_parameters(xine_post_t *this_gen, void *param_gen)
Definition: pp.c:108
FilterParam::amount
double amount
Definition: unsharp.c:42
post_video_port_s::intercept_frame
int(* intercept_frame)(post_video_port_t *self, vo_frame_t *frame)
Definition: post.h:185
get_help
static char * get_help(void)
Definition: pp.c:126
unsharp_dispose
static void unsharp_dispose(post_plugin_t *this_gen)
Definition: unsharp.c:260
START_PARAM_DESCR
#define START_PARAM_DESCR(param_t)
Definition: post.h:431
post_in_s
Definition: post.h:134
xine_stream_s
Definition: xine_internal.h:123
get_param_descr
static xine_post_api_descr_t * get_param_descr(void)
Definition: unsharp.c:207
xine_post_api_t
Definition: xine.h:872
post_plugin_unsharp_t
struct post_plugin_unsharp_s post_plugin_unsharp_t
Definition: unsharp.c:122
unsharp_parameters_s
Definition: unsharp.c:127
MIN
#define MIN(a, b)
Definition: demux_ts.c:321
xineutils.h
MIN_MATRIX_SIZE
#define MIN_MATRIX_SIZE
Definition: unsharp.c:37
unsharp_parameters_s::luma_matrix_width
int luma_matrix_width
Definition: unsharp.c:129
unsharp_open_plugin
static post_plugin_t * unsharp_open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: unsharp.c:362
POST_PARAM_TYPE_CHAR
#define POST_PARAM_TYPE_CHAR
Definition: xine.h:901
planar.h
unsharp_draw
static int unsharp_draw(vo_frame_t *frame, xine_stream_t *stream)
Definition: unsharp.c:279
xine_list_push_back
void xine_list_push_back(xine_list_t *list, void *value)
Definition: list.c:162
xine_fast_memcpy
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
unsharp_parameters_s::chroma_matrix_height
int chroma_matrix_height
Definition: unsharp.c:134
post_video_port_s::new_port
xine_video_port_t new_port
Definition: post.h:176
pp_parameters_t
struct pp_parameters_s pp_parameters_t
PARAM_ITEM
PARAM_ITEM(POST_PARAM_TYPE_INT, quality, PARAM_ITEM(NULL, PARAM_ITEM(0, PP_QUALITY_MAX, PARAM_ITEM(0, "postprocessing quality")
Definition: pp.c:65
MM_ACCEL_X86_MMX
#define MM_ACCEL_X86_MMX
Definition: xineutils.h:164
post_video_port_s::original_port
xine_video_port_t * original_port
Definition: post.h:179
pp_init_plugin
void * pp_init_plugin(xine_t *xine, const void *data)
Definition: pp.c:331
FilterParam::msizeX
int msizeX
Definition: unsharp.c:41
post_video_port_s
Definition: post.h:173
unsharp_parameters_s::chroma_matrix_width
int chroma_matrix_width
Definition: unsharp.c:133
pp_parameters_s::mode
char mode[256]
Definition: pp.c:57
xine_video_port_s
Definition: video_out.h:176
post_class_s
Definition: post.h:45
xine_post_api_descr_t
Definition: xine.h:867
PP_STRING_SIZE
#define PP_STRING_SIZE
Definition: pp.c:47
vf_priv_s::width
int width
Definition: unsharp.c:49
post_video_port_s::new_frame
vo_frame_t * new_frame
Definition: post.h:188
unsharp_parameters_s::luma_matrix_height
int luma_matrix_height
Definition: unsharp.c:130
yuy2_to_yv12
void(* yuy2_to_yv12)(const unsigned char *yuy2_map, int yuy2_pitch, unsigned char *y_dst, int y_dst_pitch, unsigned char *u_dst, int u_dst_pitch, unsigned char *v_dst, int v_dst_pitch, int width, int height)
Definition: color.c:110
pp_parameters_s::quality
int quality
Definition: pp.c:56
unsharp_intercept_frame
static int unsharp_intercept_frame(post_video_port_t *port, vo_frame_t *frame)
Definition: unsharp.c:272
pp_mode
#define pp_mode
Definition: pp.c:43
_x_post_frame_copy_up
void _x_post_frame_copy_up(vo_frame_t *to, vo_frame_t *from)
Definition: post.c:695
vo_frame_s::height
int height
Definition: video_out.h:138
get_param_descr
static xine_post_api_descr_t * get_param_descr(void)
Definition: pp.c:122
NULL
NULL
Definition: xine_plugin.c:78
xine_mm_accel
uint32_t xine_mm_accel(void)
Definition: cpu_accel.c:390
pp_context
#define pp_context
Definition: pp.c:42
vo_frame_s::bad_frame
int bad_frame
Definition: video_out.h:111
vf_priv_s::lumaParam
FilterParam lumaParam
Definition: unsharp.c:47
pp_parameters_s
Definition: pp.c:54
lineNoise_MMX2
void lineNoise_MMX2(uint8_t *dst, const uint8_t *src, const int8_t *noise, int len, int shift)
Definition: noise.c:97
width
unsigned int width
Definition: gfontrle.c:4
post_out_s
Definition: post.h:146
POST_PARAM_TYPE_DOUBLE
#define POST_PARAM_TYPE_DOUBLE
Definition: xine.h:900
_
#define _(String)
Definition: vcdplayer.h:39
MM_ACCEL_X86_3DNOW
#define MM_ACCEL_X86_3DNOW
Definition: xineutils.h:165
FilterParam::SC
uint32_t * SC[63 -1]
Definition: unsharp.c:43
post_class_s::open_plugin
post_plugin_t *(* open_plugin)(post_class_t *this_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: post.h:50
MAX
#define MAX(a, b)
Definition: demux_ts.c:323
pp_draw
static int pp_draw(vo_frame_t *frame, xine_stream_t *stream)
Definition: pp.c:169
lineNoiseAvg_MMX
void lineNoiseAvg_MMX(uint8_t *dst, const uint8_t *src, int len, int8_t **shift)
Definition: noise.c:132
VO_BOTH_FIELDS
#define VO_BOTH_FIELDS
Definition: video_out.h:293
unsharp_init_plugin
void * unsharp_init_plugin(xine_t *xine, const void *data)
Definition: unsharp.c:422
set_parameters
static int set_parameters(xine_post_t *this_gen, const void *param_gen)
Definition: pp.c:91
set_parameters
static int set_parameters(xine_post_t *this_gen, const void *param_gen)
Definition: unsharp.c:170
FilterParam
Definition: unsharp.c:40
FilterParam
struct FilterParam FilterParam
vf_priv_s::chromaParam
FilterParam chromaParam
Definition: unsharp.c:48
unsharp_free_SC
static void unsharp_free_SC(post_plugin_unsharp_t *this)
Definition: unsharp.c:240
post.h
post_video_port_s::post
post_plugin_t * post
Definition: post.h:225
post_out_s::xine_out
xine_post_out_t xine_out
Definition: post.h:149
xine_post_in_s::name
const char * name
Definition: xine.h:724
blur
static void blur(uint8_t *dst, uint8_t *src, int w, int radius, int dstStep, int srcStep)
Definition: boxblur.c:132
END_PARAM_DESCR
#define END_PARAM_DESCR(name)
Definition: post.h:443
unsharp_parameters_s::chroma_amount
double chroma_amount
Definition: unsharp.c:135
vo_frame_s::format
int format
Definition: video_out.h:140
vo_frame_s::port
xine_video_port_t * port
Definition: video_out.h:150
height
unsigned int height
Definition: gfontrle.c:5
pp_dispose
static void pp_dispose(post_plugin_t *this_gen)
Definition: pp.c:144
xine_audio_port_s
Definition: audio_out.h:172
unsharp_parameters_t
struct unsharp_parameters_s unsharp_parameters_t
mode
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
MAX_MATRIX_SIZE
#define MAX_MATRIX_SIZE
Definition: unsharp.c:38
xine_video_port_s::get_frame
vo_frame_t *(* get_frame)(xine_video_port_t *self, uint32_t width, uint32_t height, double ratio, int format, int flags)
Definition: video_out.h:194
_x_post_dispose
int _x_post_dispose(post_plugin_t *this)
Definition: post.c:1044
_x_post_init
void _x_post_init(post_plugin_t *post, int num_audio_inputs, int num_video_inputs)
Definition: post.c:292
pp_intercept_frame
static int pp_intercept_frame(post_video_port_t *port, vo_frame_t *frame)
Definition: pp.c:162
vo_frame_s::draw
int(* draw)(vo_frame_t *vo_img, xine_stream_t *stream)
Definition: video_out.h:91
_x_post_intercept_video_port
post_video_port_t * _x_post_intercept_video_port(post_plugin_t *post, xine_video_port_t *original, post_in_t **input, post_out_t **output)
Definition: post.c:509
lineNoise_MMX
void lineNoise_MMX(uint8_t *dst, const uint8_t *src, const int8_t *noise, int len, int shift)
Definition: noise.c:61
xine_internal.h
unsharp_parameters_s::luma_amount
double luma_amount
Definition: unsharp.c:131
FilterParam::msizeY
int msizeY
Definition: unsharp.c:41
vo_frame_s::next
struct vo_frame_s * next
Definition: video_out.h:164
config.h
xine_post_s
Definition: xine.h:667
vf_priv_s::param
eq2_param_t param[3]
Definition: eq2.c:55
vo_frame_s
Definition: video_out.h:59
pp_open_plugin
static post_plugin_t * pp_open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
Definition: pp.c:260
xine_post_in_s
Definition: xine.h:721
vf_priv_s
Definition: eq2.c:54
post_plugin_s
Definition: post.h:80
vo_frame_s::lock
void(* lock)(vo_frame_t *vo_img)
Definition: video_out.h:97
xine_post_api_t::set_parameters
int(* set_parameters)(xine_post_t *self, const void *params)
Definition: xine.h:877
unsharp
static void unsharp(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int width, int height, FilterParam *fp)
Definition: unsharp.c:65
vo_frame_s::ratio
double ratio
Definition: video_out.h:139
get_help
static char * get_help(void)
Definition: unsharp.c:211
vo_frame_s::width
int width
Definition: video_out.h:138
XINE_POST_DATA_PARAMETERS
#define XINE_POST_DATA_PARAMETERS
Definition: xine.h:851
input
static int input(void)
Definition: goomsl_lex.c:1495
vo_frame_s::base
uint8_t * base[3]
Definition: video_out.h:116
vo_frame_s::flags
int flags
Definition: video_out.h:143
get_parameters
static int get_parameters(xine_post_t *this_gen, void *param_gen)
Definition: unsharp.c:197
XINE_IMGFMT_YUY2
#define XINE_IMGFMT_YUY2
Definition: xine.h:495
_x_asprintf
char * _x_asprintf(const char *format,...)
Definition: utils.c:783
_x_post_frame_copy_down
void _x_post_frame_copy_down(vo_frame_t *from, vo_frame_t *to)
Definition: post.c:660
MM_ACCEL_X86_MMXEXT
#define MM_ACCEL_X86_MMXEXT
Definition: xineutils.h:166
post_plugin_pp_t
struct post_plugin_pp_s post_plugin_pp_t
Definition: pp.c:49
PARAM_ITEM
PARAM_ITEM(PARAM_ITEM(POST_PARAM_TYPE_INT, luma_matrix_width, PARAM_ITEM(NULL, PARAM_ITEM(3, PARAM_ITEM(11, PARAM_ITEM(0, "width of the matrix (must be odd)")
Definition: unsharp.c:143
N_
#define N_(String)
Definition: xineintl.h:47
vo_frame_s::free
void(* free)(vo_frame_t *vo_img)
Definition: video_out.h:100
vf_priv_s::height
int height
Definition: unsharp.c:49
POST_PARAM_TYPE_INT
#define POST_PARAM_TYPE_INT
Definition: xine.h:899
noise
static void noise(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int width, int height, noise_param_t *fp)
Definition: noise.c:163