From af5cf2ae38d2b38646130131f450244c8139a559 Mon Sep 17 00:00:00 2001 From: Raphael Canut Date: Thu, 28 Dec 2023 21:06:16 +0100 Subject: [PATCH] version 0.3.0-rc6 Fine-tune nhw_kernel weights --- encoder/image_processing.c | 30 ++++++++++++++++++++++++++---- encoder/nhw_encoder_cli.c | 6 +++--- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/encoder/image_processing.c b/encoder/image_processing.c index ea65ffe..8f12440 100644 --- a/encoder/image_processing.c +++ b/encoder/image_processing.c @@ -2,8 +2,8 @@ **************************************************************************** * NHW Image Codec * * file: image_processing.c * -* version: 0.3.0-rc5 * -* last update: $ 12212023 nhw exp $ * +* version: 0.3.0-rc6 * +* last update: $ 12282023 nhw exp $ * * * **************************************************************************** **************************************************************************** @@ -557,7 +557,7 @@ void im_recons_wavelet_band(image_buffer *im) void pre_processing(image_buffer *im) { - int i,j,scan,res,res2,res3,count,e=0,f=0,a=0,sharpness=0,sharpn2=0,n1,t,t1,t2; + int i,j,scan,res,res2,res3,count,e=0,f=0,a=0,sharpness=0,sharpn2=0,n1,t,t1,t2,t3,t4; short *nhw_process, *nhw_kernel; char lower_quality_setting_on, *nhw_sharp_on; @@ -597,7 +597,7 @@ void pre_processing(image_buffer *im) else if (im->setup->quality_setting==LOW19) n1=60; - for (i=(2*IM_DIM),res3=0,a=0,t1=0,t2=0;i<((4*IM_SIZE)-(2*IM_DIM));i+=(2*IM_DIM)) + for (i=(2*IM_DIM),res3=0,a=0,t1=0,t2=0,t3=0,t4=0;i<((4*IM_SIZE)-(2*IM_DIM));i+=(2*IM_DIM)) { for (scan=i+1,j=1;j<((2*IM_DIM)-1);j++,scan++) { @@ -623,6 +623,17 @@ void pre_processing(image_buffer *im) if (abs(res)<=sharpn2 && abs(res2)>sharpn2 && abs(res2)<=(sharpn2+20) && im->setup->quality_setting<=LOW4) { if (j>1 && abs(nhw_kernel[scan-1])<=(sharpness>>1)) res3 = 0; + else if (j>1 && abs(nhw_kernel[scan-1])== -(sharpn2+21)) + { + if (!t3) + { + res3 = 0; + if (!t1) t1 = 1; + + t3 = 1; + } + else t3 = 0; + } if (!res3) { @@ -661,6 +672,17 @@ void pre_processing(image_buffer *im) if (res<=sharpn2 && res2>sharpn2 && res2<=(sharpn2+20) && im->setup->quality_setting<=LOW4) { if (j>1 && abs(nhw_kernel[scan-1])<=(sharpness>>1)) a = 0; + else if (j>1 && abs(nhw_kernel[scan-1])==(sharpn2+21)) + { + if (!t4) + { + a = 0; + if (!t2) t2 = 1; + + t4 = 1; + } + else t4 = 0; + } if (!a) { diff --git a/encoder/nhw_encoder_cli.c b/encoder/nhw_encoder_cli.c index 4f5ea1e..9c903ed 100644 --- a/encoder/nhw_encoder_cli.c +++ b/encoder/nhw_encoder_cli.c @@ -2,8 +2,8 @@ **************************************************************************** * NHW Image Codec * * file: nhw_encoder_cli.c * -* version: 0.3.0-rc5 * -* last update: $ 12212023 nhw exp $ * +* version: 0.3.0-rc6 * +* last update: $ 12282023 nhw exp $ * * * **************************************************************************** **************************************************************************** @@ -50,7 +50,7 @@ #include "codec.h" #define PROGRAM "nhw-enc" -#define VERSION "0.3.0-rc5" +#define VERSION "0.3.0-rc6" #define NHW_QUALITY_MIN LOW20 #define NHW_QUALITY_MAX HIGH3