Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 64
View file
ffhevc.changes
Changed
@@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Wed Jun 14 12:15:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.3.8 + * Make software scaler tweaking optional + * Added support for the unsharp filter for sharpen/blur + * Use a colon symbol as separation for input/output color range + in the video_colorspace_func() function as to be consistent + with the other options. Also set the default to tv:tv + +------------------------------------------------------------------- Tue Jun 13 00:02:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.3.7
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.3.7 +Version: 3.3.8 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.3.7.tar.gz/ChangeLog -> ffhevc-3.3.8.tar.gz/ChangeLog
Changed
@@ -1,3 +1,10 @@ +2017-06-14 - ffhevc 3.3.8 + * Make software scaler tweaking optional + * Added support for the unsharp filter for sharpen/blur + * Use a colon symbol as separation for input/output color range + in the video_colorspace_func() function as to be consistent + with the other options. Also set the default to tv:tv + 2017-06-13 - ffhevc 3.3.7 * Bugfix in the video_colorspace_func() function. Wrong value used for the ispace option of the filter. Must be bt2020ncl
View file
ffhevc-3.3.7.tar.gz/ffhevc -> ffhevc-3.3.8.tar.gz/ffhevc
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to H.265/HEVC video using FFmpeg and libx265. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 3.3.7 -# Date: 2017-06-13 +# Version: 3.3.8 +# Date: 2017-06-14 # # ffhevc is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -24,10 +24,10 @@ brown() { echo -e "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;39;49m"; } -version="3.3.7" +version="3.3.8" CFG="$HOME/.ffhevc" -cfgversion="36" +cfgversion="37" genconfig_func() { cat<<EOF>>"$CFG" @@ -83,6 +83,7 @@ # Video filters VID_DENOISE="y" VID_DEBLOCK="y" +VID_SHARPEN="y" VID_ROTATE="y" VID_DEINTERLACE="y" VID_DETELECINE="y" @@ -707,6 +708,56 @@ fi } +video_sharpen_func() { + printf "Sharpen or Blur the Encode? [y/N]: " + read sharp + if [ "$sharp" = "y" -o "$sharp" = "Y" ]; then + printf "Set the Luma Matrix Horizontal/Vertical sizes [odd num between 3-23 - default is 5:5]: " + read lmhv + if [ ! -z "$lmhv" ]; then + if [ -z "$(echo "$lmhv" | grep ':')" ]; then + echo + error "-> You have to specify both values! (eg, 5:5)" + error "-> Using default of 5:5" + echo + lx="5" + ly="5" + else + lx="$(echo "$lmhv" | awk -F: '{print $1}')" + ly="$(echo "$lmhv" | awk -F: '{print $2}')" + fi + else + lx="5" + ly="5" + fi + printf "Set the Luma Effect Strength [-1.5-1.5 - default is 0.5]: " + read les + test -z "$les" && la="0.5" || la="$les" + printf "Set the Chroma Matrix Horizontal/Vertical sizes [odd num between 3-23 - default is 5:5]: " + read cmhv + if [ ! -z "$cmhv" ]; then + if [ -z "$(echo "$cmhv" | grep ':')" ]; then + echo + error "-> You have to specify both values! (eg, 5:5)" + error "-> Using default of 5:5" + echo + cx="5" + cy="5" + else + cx="$(echo "$cmhv" | awk -F: '{print $1}')" + cy="$(echo "$cmhv" | awk -F: '{print $2}')" + fi + else + cx="5" + cy="5" + fi + printf "Set the Chroma Effect Strength [-1.5-1.5 - default is 0.0]: " + read ces + test -z "$ces" && ca="0.0" || ca="$ces" + unsharp="unsharp=lx=$lx:ly=$ly:la=$la:cx=$cx:cy=$cy:ca=$ca," + fi +} + # Used by mc/bobbing deinterlace and FPS conversion video_fps_func() { GETFPS="$($FFPROBE -i "$input" -v error -select_streams v:0 -show_entries stream=r_frame_rate -of default=noprint_wrappers=1:nokey=1 | tail -1)" @@ -914,17 +965,17 @@ sleep 1 video_chars_func echo - printf "Specify the Input/Output Color Range [tv|mpeg|pc|jpeg - default is mpeg/tv]: " + printf "Specify the Input/Output Color Range [tv|mpeg|pc|jpeg - default is mpeg:tv]: " read crange if [ -z "$crange" ]; then - irange="mpeg" + irange="tv" orange="tv" else - if [ ! -z "$(echo "$crange" | grep '/')" ]; then - irange="$(echo "$crange" | awk -F/ '{print $1}')" - orange="$(echo "$crange" | awk -F/ '{print $2}')" + if [ ! -z "$(echo "$crange" | grep ':')" ]; then + irange="$(echo "$crange" | awk -F: '{print $1}')" + orange="$(echo "$crange" | awk -F: '{print $2}')" else - error "-> Invalid format! Valid is: <input_range>/<output_range> (eg: mpeg/tv)" + error "-> Invalid format! Valid is: <input_range>:<output_range> (eg: mpeg:tv)" exit 1 fi fi @@ -1084,6 +1135,7 @@ if [ "$postproc" = "y" -o "$postproc" = "Y" ]; then test "$VID_DENOISE" = "y" && video_denoise_func test "$VID_DEBLOCK" = "y" && video_deblock_func + test "$VID_SHARPEN" = "y" && video_sharpen_func test "$VID_DEINTERLACE" = "y" && video_deinterlace_func test "$VID_DETELECINE" = "y" && video_detelecine_func test "$VID_PIXEL_FORMAT" = "y" && video_pixfmt_func @@ -1261,64 +1313,68 @@ ;; esac fi - case "$swsopt" in - 2|9) - echo - brown "Scaler Tuning" - brown "~~~~~~~~~~~~~" - echo " 0 -> Default (0.00, 0.60)" - echo " 1 -> Catmull-Rom Spline (0.00, 0.50)" - echo " 2 -> Mitchell-Netravali Spline (0.33, 0.33)" - echo " 3 -> Cubic B-Spline (1.00, 0.00)" - echo " 4 -> Custom" - echo - printf "Specify the Scaler Tuning option [default is 0]: " - read swstune - case "$swstune" in - 0|"") swsparam0=":param0=0.00"; swsparam1=":param1=0.60" ;; - 1) swsparam0=":param0=0.00"; swsparam1=":param1=0.50" ;; - 2) swsparam0=":param0=0.33"; swsparam1=":param1=0.33" ;; - 3) swsparam0=":param0=1.00"; swsparam1=":param1=0.00" ;; - 4) - printf "Specify the Custom Scaler Tuning values [default is 0.00:0.60]: " - read swscus - if [ ! -z "$swscus" ]; then - swsparam0=":param0=$(echo "$swscus" | awk -F: '{print $1}')" - swsparam1=":param1=$(echo "$swscus" | awk -F: '{print $2}')" - fi + printf "Tweak the Software Scaler? [y/N]: " + read swstweak + if [ "$swstweak" = "y" -o "$swstweak" = "Y" ]; then + case "$swsopt" in + 2|9) + echo + brown "Scaler Tuning" + brown "~~~~~~~~~~~~~" + echo " 0 -> Default (0.00, 0.60)" + echo " 1 -> Catmull-Rom Spline (0.00, 0.50)" + echo " 2 -> Mitchell-Netravali Spline (0.33, 0.33)" + echo " 3 -> Cubic B-Spline (1.00, 0.00)" + echo " 4 -> Custom" + echo + printf "Specify the Scaler Tuning option [default is 0]: " + read swstune + case "$swstune" in + 0|"") swsparam0=":param0=0.00"; swsparam1=":param1=0.60" ;; + 1) swsparam0=":param0=0.00"; swsparam1=":param1=0.50" ;; + 2) swsparam0=":param0=0.33"; swsparam1=":param1=0.33" ;; + 3) swsparam0=":param0=1.00"; swsparam1=":param1=0.00" ;; + 4) + printf "Specify the Custom Scaler Tuning values [default is 0.00:0.60]: " + read swscus + if [ ! -z "$swscus" ]; then + swsparam0=":param0=$(echo "$swscus" | awk -F: '{print $1}')" + swsparam1=":param1=$(echo "$swscus" | awk -F: '{print $2}')" + fi + ;; + *) + error "-> Invalid option" + exit 1 + ;; + esac ;; - *) - error "-> Invalid option" - exit 1 + 6|8) + if [ "$swsopt" = "6" ]; then + swscaler="Gaussian" + swsval="0-100" + swsdef="0" + swstype="Sharpness" + else + swscaler="Lanczos" + swsval="1-10" + swsdef="1" + swstype="Filter Length" + fi + printf "Specify the $swscaler scaler $swstype [$swsval - default is $swsdef]: " + read swstune + test ! -z "$swstune" && swsparam0=":param0=$swstune" ;; esac - ;; - 6|8) - if [ "$swsopt" = "6" ]; then - swscaler="Gaussian" - swsval="0-100" - swsdef="0" - swstype="Sharpness" - else - swscaler="Lanczos" - swsval="1-10" - swsdef="1" - swstype="Filter Length" + printf "Enable Accurate Rounding? [y/N]: " + read around + if [ "$around" = "y" -o "$around" = "Y" ]; then + accuround="+accurate_rnd" + fi + printf "Enable Full Chroma Interpolation? [y/N]: " + read fci + if [ "$fci" = "y" -o "$fci" = "Y" ]; then + fullchroma="+full_chroma_int" fi - printf "Specify the $swscaler scaler $swstype [$swsval - default is $swsdef]: " - read swstune - test ! -z "$swstune" && swsparam0=":param0=$swstune" - ;; - esac - printf "Enable Accurate Rounding? [y/N]: " - read around - if [ "$around" = "y" -o "$around" = "Y" ]; then - accuround="+accurate_rnd" - fi - printf "Enable Full Chroma Interpolation? [y/N]: " - read fci - if [ "$fci" = "y" -o "$fci" = "Y" ]; then - fullchroma="+full_chroma_int" fi test ! -z "$interlaced" && interl=":interl=1" scale="scale=$res$interl:flags=$scaler$accuround$fullchroma$swsparam0$swsparam1," @@ -1339,7 +1395,7 @@ echo " 0 -> BT470M (NTSC)" echo " 1 -> SMPTE170M (NTSC)" echo " 2 -> BT470BG (PAL)" - echo " 3 -> BT709 (HD/Full HD)" + echo " 3 -> BT709 (HD/FHD)" echo " 4 -> BT2020NC & BT2020-10 (4K/UHD)" echo " 5 -> BT2020NC & BT2020-12 (4K/UHD)" echo " 6 -> BT2020C & BT2020-10 (4K/UHD)" @@ -2802,7 +2858,7 @@ test "$CHAPS" = "n" && CHPS="-map_chapters -1" -vidfilters="$(echo "$deinterlace$detelecine$pixformat$colorspace$crop$deblock$denoise$scale$rotate$setpts$fps$framestep" | sed 's|,$||')" +vidfilters="$(echo "$deinterlace$detelecine$pixformat$colorspace$crop$deblock$denoise$scale$unsharp$rotate$setpts$fps$framestep" | sed 's|,$||')" test ! -z "$vidfilters" && vfilters="-vf $vidfilters"
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.