From 9512657041566f8c81aeb174be6337e0db95772e Mon Sep 17 00:00:00 2001 From: arpi Date: Fri, 1 Nov 2002 00:02:52 +0000 Subject: =?UTF-8?q?vf=5Funsharp:=20proper=20rounding=20&=20print=20if=20sh?= =?UTF-8?q?arpening=20or=20bluring=20patch=20by=20R=C3=A9mi=20Guyomarch=20?= =?UTF-8?q??= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8016 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf_unsharp.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libmpcodecs/vf_unsharp.c b/libmpcodecs/vf_unsharp.c index eb200c7f4f..f504d4dd36 100644 --- a/libmpcodecs/vf_unsharp.c +++ b/libmpcodecs/vf_unsharp.c @@ -86,7 +86,7 @@ static void unsharp( uint8_t *dst, uint8_t *src, int dstStride, int srcStride, i int stepsX = fp->msizeX/2; int stepsY = fp->msizeY/2; int scalebits = (stepsX+stepsY)*2; - int32_t halfscale = 1 << (stepsX+stepsY); + int32_t halfscale = 1 << ((stepsX+stepsY)*2-1); if( !fp->amount ) { if( src == dst ) @@ -138,11 +138,13 @@ static int config( struct vf_instance_s* vf, int z, stepsX, stepsY; FilterParam *fp; + char *effect; // allocate buffers fp = &vf->priv->lumaParam; - mp_msg( MSGT_VFILTER, MSGL_INFO, "unsharp: %dx%d:%0.2f (luma) \n", fp->msizeX, fp->msizeY, fp->amount ); + effect = fp->amount == 0 ? "don't touch" : fp->amount < 0 ? "blur" : "sharpen"; + mp_msg( MSGT_VFILTER, MSGL_INFO, "unsharp: %dx%d:%0.2f (%s luma) \n", fp->msizeX, fp->msizeY, fp->amount, effect ); memset( fp->SC, 0, sizeof( fp->SC ) ); stepsX = fp->msizeX/2; stepsY = fp->msizeY/2; @@ -150,7 +152,8 @@ static int config( struct vf_instance_s* vf, fp->SC[z] = memalign( 16, sizeof(*(fp->SC[z])) * (width+2*stepsX) ); fp = &vf->priv->chromaParam; - mp_msg( MSGT_VFILTER, MSGL_INFO, "unsharp: %dx%d:%0.2f (chroma)\n", fp->msizeX, fp->msizeY, fp->amount ); + effect = fp->amount == 0 ? "don't touch" : fp->amount < 0 ? "blur" : "sharpen"; + mp_msg( MSGT_VFILTER, MSGL_INFO, "unsharp: %dx%d:%0.2f (%s chroma)\n", fp->msizeX, fp->msizeY, fp->amount, effect ); memset( fp->SC, 0, sizeof( fp->SC ) ); stepsX = fp->msizeX/2; stepsY = fp->msizeY/2; @@ -317,7 +320,7 @@ static int open( vf_instance_t *vf, char* args ) { } vf_info_t vf_info_unsharp = { - "unsharp mask", + "unsharp mask & gaussian blur", "unsharp", "Rémi Guyomarch", "", -- cgit v1.2.3