set_shortname( N_( "Gradient" ));
set_capability( "video filter2", 0 );
set_category( CAT_VIDEO );
- set_subcategory( SUBCAT_VIDEO_VFILTER2 );
+ set_subcategory( SUBCAT_VIDEO_VFILTER );
add_string( FILTER_PREFIX "mode", "gradient", NULL,
MODE_TEXT, MODE_LONGTEXT, VLC_FALSE );
*****************************************************************************/
static void GaussianConvolution( picture_t *p_inpic, uint32_t *p_smooth )
{
- uint8_t *p_inpix = p_inpic->p[Y_PLANE].p_pixels;
- int i_src_pitch = p_inpic->p[Y_PLANE].i_pitch;
- int i_src_visible = p_inpic->p[Y_PLANE].i_visible_pitch;
- int i_num_lines = p_inpic->p[Y_PLANE].i_visible_lines;
+ const uint8_t *p_inpix = p_inpic->p[Y_PLANE].p_pixels;
+ const int i_src_pitch = p_inpic->p[Y_PLANE].i_pitch;
+ const int i_src_visible = p_inpic->p[Y_PLANE].i_visible_pitch;
+ const int i_num_lines = p_inpic->p[Y_PLANE].i_visible_lines;
int x,y;
for( y = 2; y < i_num_lines - 2; y++ )
picture_t *p_outpic )
{
int x, y;
- int i_src_pitch = p_inpic->p[Y_PLANE].i_pitch;
- int i_src_visible = p_inpic->p[Y_PLANE].i_visible_pitch;
- int i_dst_pitch = p_outpic->p[Y_PLANE].i_pitch;
- int i_num_lines = p_inpic->p[Y_PLANE].i_visible_lines;
+ const int i_src_pitch = p_inpic->p[Y_PLANE].i_pitch;
+ const int i_src_visible = p_inpic->p[Y_PLANE].i_visible_pitch;
+ const int i_dst_pitch = p_outpic->p[Y_PLANE].i_pitch;
+ const int i_num_lines = p_inpic->p[Y_PLANE].i_visible_lines;
- uint8_t *p_inpix = p_inpic->p[Y_PLANE].p_pixels;
+ const uint8_t *p_inpix = p_inpic->p[Y_PLANE].p_pixels;
uint8_t *p_outpix = p_outpic->p[Y_PLANE].p_pixels;
uint32_t *p_smooth;
{ \
for( x = 1; x < i_src_visible - 1; x++ ) \
{ \
- uint32_t a = \
+ const uint32_t a = \
( \
abs( \
( p_smooth[(y-1)*i_src_visible+x-1] \
{
int x, y;
- int i_src_pitch = p_inpic->p[Y_PLANE].i_pitch;
- int i_src_visible = p_inpic->p[Y_PLANE].i_visible_pitch;
- int i_dst_pitch = p_outpic->p[Y_PLANE].i_pitch;
- int i_num_lines = p_inpic->p[Y_PLANE].i_visible_lines;
+ const int i_src_pitch = p_inpic->p[Y_PLANE].i_pitch;
+ const int i_src_visible = p_inpic->p[Y_PLANE].i_visible_pitch;
+ const int i_dst_pitch = p_outpic->p[Y_PLANE].i_pitch;
+ const int i_num_lines = p_inpic->p[Y_PLANE].i_visible_lines;
- uint8_t *p_inpix = p_inpic->p[Y_PLANE].p_pixels;
+ const uint8_t *p_inpix = p_inpic->p[Y_PLANE].p_pixels;
uint8_t *p_outpix = p_outpic->p[Y_PLANE].p_pixels;
uint32_t *p_smooth;
for( x = 1; x < i_src_visible - 1; x++ )
{
- int gradx =
+ const int gradx =
( p_smooth[(y-1)*i_src_visible+x-1]
- p_smooth[(y+1)*i_src_visible+x-1] )
+ ( ( p_smooth[(y-1)*i_src_visible+x]
- p_smooth[(y+1)*i_src_visible+x] ) <<1 )
+ ( p_smooth[(y-1)*i_src_visible+x+1]
- p_smooth[(y+1)*i_src_visible+x+1] );
- int grady =
+ const int grady =
( p_smooth[(y-1)*i_src_visible+x-1]
- p_smooth[(y-1)*i_src_visible+x+1] )
+ ( ( p_smooth[y*i_src_visible+x-1]