Changes of Revision 196

ffhevc.changes Changed
x
 
1
@@ -1,4 +1,13 @@
2
 -------------------------------------------------------------------
3
+Sat Dec 28 15:40:00 UTC 2019 - neutrino8@opensuse.org
4
+
5
+- Update to version 4.1.4
6
+  * Add support for the noise video filter. Can be beneficial
7
+    on (very) clean sources by applying some noise to avoid
8
+    things like color/light banding in the encode
9
+  * Fine-tuning to the default encoding options
10
+
11
+-------------------------------------------------------------------
12
 Wed Dec 25 08:35:00 UTC 2019 - neutrino8@opensuse.org
13
 
14
 - Update to version 4.1.3
15
ffhevc.spec Changed
10
 
1
@@ -17,7 +17,7 @@
2
 
3
 
4
 Name:           ffhevc
5
-Version:        4.1.3
6
+Version:        4.1.4
7
 Release:        0
8
 Summary:        A small shell script for encoding to H.265/HEVC with FFmpeg
9
 License:        GPL-2.0+
10
ffhevc-4.1.3.tar.gz/ChangeLog -> ffhevc-4.1.4.tar.gz/ChangeLog Changed
11
 
1
@@ -1,3 +1,9 @@
2
+2019-12-28 - ffhevc 4.1.4
3
+   * Add support for the noise video filter. Can be beneficial
4
+     on (very) clean sources by applying some noise to avoid
5
+     things like color/light banding in the encode
6
+   * Fine-tuning to the default encoding options
7
+
8
 2019-12-25 - ffhevc 4.1.3
9
    * More fine-tuning to the default encoding options
10
      that should preserve noise and especially mosquito
11
ffhevc-4.1.3.tar.gz/ffhevc -> ffhevc-4.1.4.tar.gz/ffhevc Changed
98
 
1
@@ -2,8 +2,8 @@
2
 #
3
 # Small script to encode to H.265/HEVC video using FFmpeg and libx265.
4
 # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org>
5
-# Version: 4.1.3
6
-# Date: 2019-12-25
7
+# Version: 4.1.4
8
+# Date: 2019-12-28
9
 #
10
 # ffhevc is free software ; you can redistribute it and/or modify
11
 # it under the terms of the GNU General Public License as published by
12
@@ -24,10 +24,10 @@
13
 brown() { echo -e "\e[0;33m$1\e[0;39;49m"; }
14
 error() { echo -e "\e[1;31m$1\e[0;39;49m"; }
15
 
16
-version="4.1.3"
17
+version="4.1.4"
18
 
19
 CFG="$HOME/.ffhevc"
20
-cfgversion="61"
21
+cfgversion="62"
22
 
23
 genconfig_func() {
24
 cat<<EOF>>"$CFG"
25
@@ -57,7 +57,7 @@
26
 
27
 # CRF value (0-51)
28
 # Leave empty to ask each time
29
-CRF="20"
30
+CRF="21"
31
 
32
 # Automatically crop the input?
33
 AUTOCROP="y"
34
@@ -84,6 +84,7 @@
35
 
36
 # Video filters
37
 VID_DENOISE="y"
38
+VID_NOISE="y"
39
 VID_DEBLOCK="y"
40
 VID_SHARPEN="y"
41
 VID_ROTATE="y"
42
@@ -122,7 +123,7 @@
43
 # libx265 parameters. Modify, if needed,
44
 # to fit your needs
45
 # merange is calculated as: ctu size - 4(luma) - 2(chroma) (- 1 if me=hex is used)
46
-X265PARAMS="ref=4:hme=0:me=star:merange=58:bframes=8:rd=4:rd-refine=0:subme=5:qcomp=0.71:fades=1:strong-intra-smoothing=1:ctu=64:qg-size=64:sao=0:selective-sao=0:cu-lossless=0:cutree=1:tu-inter-depth=4:tu-intra-depth=4:rskip=1:max-merge=3:rc-lookahead=100:aq-mode=2:aq-strength=1.0:rdoq-level=1:psy-rdoq=1.6:psy-rd=2.6:limit-modes=0:limit-refs=0:limit-tu=0:deblock=-1,-1:weightb=1:weightp=1:rect=1:amp=0:wpp=1:pmode=0:pme=0:b-intra=1:b-adapt=2:b-pyramid=1:tskip-fast=0:fast-intra=0:early-skip=0:min-keyint=24:keyint=240"
47
+X265PARAMS="ref=4:hme=0:me=star:merange=58:bframes=8:rd=4:rd-refine=0:subme=5:qcomp=0.72:fades=1:strong-intra-smoothing=1:ctu=64:qg-size=64:sao=0:selective-sao=0:cu-lossless=0:cutree=1:tu-inter-depth=4:tu-intra-depth=4:rskip=1:max-merge=4:rc-lookahead=100:aq-mode=2:aq-strength=1.0:rdoq-level=1:psy-rdoq=1.7:psy-rd=2.6:limit-modes=0:limit-refs=0:limit-tu=0:deblock=-1,-1:weightb=1:weightp=1:rect=1:amp=0:wpp=1:pmode=0:pme=0:b-intra=1:b-adapt=2:b-pyramid=1:tskip-fast=0:fast-intra=0:early-skip=0:min-keyint=24:keyint=240"
48
 
49
 # Leave empty to auto-detect ffmpeg/ffprobe/mplayer
50
 # or set your custom ones (eg, /path/to/bin/ffmpeg)
51
@@ -706,9 +707,9 @@
52
    ;;
53
    ""|crf)
54
    if [ -z "$CRF" ]; then
55
-       printf "Specify a CRF Value for the Encoding [0-51 - default is 20]: "
56
+       printf "Specify a CRF Value for the Encoding [0-51 - default is 21]: "
57
        read crf
58
-       test -z "$crf" && CRF="20" || CRF="$crf"
59
+       test -z "$crf" && CRF="21" || CRF="$crf"
60
    fi
61
    ;;
62
 esac
63
@@ -798,6 +799,17 @@
64
    fi
65
 }
66
 
67
+video_noise_func() {
68
+   printf "Add Temporal & Uniform Noise to the Input File? [y/N]: "
69
+   read tun
70
+   if [ "$tun" =  "y" -o "$tun" = "Y" ]; then
71
+       printf "Specify the Noise Strength [0-100 - default is 2]: "
72
+       read nvalue
73
+       test -z "$nvalue" && nval="2" || nval="$nvalue"
74
+       noise="noise=alls=$nvalue:allf=t+u,"
75
+   fi
76
+}
77
+
78
 video_deblock_func() {
79
    printf "Deblock the Input File? [y/N]: "
80
    read db
81
@@ -1477,6 +1489,7 @@
82
 read postproc
83
 if [ "$postproc" = "y" -o "$postproc" = "Y" ]; then
84
    test "$VID_DENOISE" = "y" && video_denoise_func
85
+   test "$VID_NOISE" = "y" && video_noise_func
86
    test "$VID_DEBLOCK" = "y" && video_deblock_func
87
    test "$VID_SHARPEN" = "y" && video_sharpen_func
88
    test "$VID_DEINTERLACE" = "y" && video_deinterlace_func
89
@@ -3618,7 +3631,7 @@
90
 
91
 test "$CHAPS" = "n" && CHAPS="-map_chapters -1" || CHAPS="-map_chapters 0"
92
 
93
-vidfilters="$(echo "$deinterlace$detelecine$tonemap$crop$deblock$denoise$scale$colorspace$unsharp$eq$rotate$pixformat$setpts$fps$framestep$subtitles" | sed 's|,$||')"
94
+vidfilters="$(echo "$deinterlace$detelecine$tonemap$crop$deblock$denoise$scale$noise$colorspace$unsharp$eq$rotate$pixformat$setpts$fps$framestep$subtitles" | sed 's|,$||')"
95
 
96
 test ! -z "$vidfilters" && vfilters="-vf $vidfilters"
97
 
98