Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 6
View file
ffhevc.changes
Changed
@@ -1,4 +1,18 @@ ------------------------------------------------------------------- +Thu Nov 03 15:29:00 UTC 2016 - neutrino8@gmail.com + +Update to version 2.9.1 + * Added support for interlace-aware encoding + * Added support for the spp, uspp and pp7 deblockers + * Support asking for software scaler during exec time + * Added new SCALE var to the config file to enable/disable + support for software scaling. Bumps up the config file + version to 27 + * Do a test write to see if output directory is writable by + the script executing user + * Updated the README file + +------------------------------------------------------------------- Wed Nov 02 19:40:00 UTC 2016 - neutrino8@gmail.com - Update to version 2.9.0
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 2.9.0 +Version: 2.9.1 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-2.9.0.tar.gz/ChangeLog -> ffhevc-2.9.1.tar.gz/ChangeLog
Changed
@@ -1,3 +1,14 @@ +2016-11-03 - ffhevc 2.9.1 + * Added support for interlace-aware encoding + * Added support for the spp, uspp and pp7 deblockers + * Support asking for software scaler during exec time + * Added new SCALE var to the config file to enable/disable + support for software scaling. Bumps up the config file + version to 27 + * Do a test write to see if output directory is writable + by the script executing user + * Updated the README file + 2016-11-02 - ffhevc 2.9.0 * Added support for motion compensation deinterlacing for both deinterlacing at original FPS and bobbing
View file
ffhevc-2.9.0.tar.gz/README -> ffhevc-2.9.1.tar.gz/README
Changed
@@ -9,7 +9,7 @@ - it has a configuration file in $HOME/.ffhevc to set things up. - it does auto-cropping. - it supports three video denoise filters. -- it supports one video deblocking filter (fspp). +- it supports four video deblock filters. - it supports one audio volume filter. - it supports one audio volume normalizing filter. - it supports audio resampling. @@ -27,4 +27,5 @@ Parameters: -Run 'ffhevc -h' in a console to see a list of supported parameters. +Run 'ffhevc -h' in a console to see a list of supported parameters or +read the man page (man ffhevc).
View file
ffhevc-2.9.0.tar.gz/ffhevc -> ffhevc-2.9.1.tar.gz/ffhevc
Changed
@@ -2,18 +2,18 @@ # # Small script to encode to H.265/HEVC video using FFmpeg and libx265. # Author: Grozdan "microchip" Nikolov <neutrino8@gmail.com> -# Version: 2.9.0 -# Date: 2016-11-02 +# Version: 2.9.1 +# Date: 2016-11-03 # License: GNU GPLv2+ green() { echo -e "\e[1;32m$1\e[0;39;49m"; } brown() { echo -e "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;39;49m"; } -version="2.9.0" +version="2.9.1" CFG="$HOME/.ffhevc" -cfgversion="26" +cfgversion="27" genconfig_func() { cat<<EOF>>"$CFG" @@ -43,8 +43,11 @@ # Automatically crop the input? AUTOCROP="y" -# Leave empty to encode at full (cropped) -# resolution or set a software scaler +# Enable software scaling support +SCALE="y" + +# Leave empty to ask each time or +# set a default software scaler # # fast_bilinear # bilinear @@ -323,6 +326,26 @@ error "-> You have to provide a name for the output!" exit 1 else + if [ ! -z "$(echo "$output" | grep '/')" ]; then + mkdir -p "$(dirname "$output")" 2>/dev/null + if [ $? != 0 ]; then + error "-> Could not create output directory!" + exit 1 + fi + OUTPUT="$output" + else + OUTPUT="$OUTDIR/$output" + fi + # Check if output dir is writable + WRITE="$(dirname "$OUTPUT")/.ff_writable$$" + touch "$WRITE" 2>/dev/null + if [ $? != 0 ]; then + error "-> Specified output directory is not writable by user '$(id -un)'" + exit 1 + else + rm -f "$WRITE" + fi + if [ -z "$CON" ]; then printf "Which Container Format to use? [default is mkv]: " read confmt @@ -332,17 +355,9 @@ case "$CON" in mp4|m4v|mov) movflags="-movflags +faststart" ;; esac - if [ ! -z "$(echo "$output" | grep '/')" ]; then - mkdir -p "$(dirname "$output")" 2>/dev/null - if [ $? != 0 ]; then - error "-> Could not create output directory!" - exit 1 - fi - OUTPUT="$output.$CON" - OUTDIR="$(dirname "$OUTPUT")" - else - OUTPUT="$OUTDIR/$output.$CON" - fi + + OUTPUT="$OUTPUT.$CON" + METATITLE="-metadata title=\"$(basename "${OUTPUT%.*}")\" -metadata:s:v:0 title=\"$(basename "${OUTPUT%.*}")\"" fi @@ -446,10 +461,46 @@ printf "Deblock the Input File? [y/N]: " read db if [ "$db" = "y" -o "$db" = "Y" ]; then - printf "Specify the fspp filter strength [-15-32 - default is 6]: " - read ffs - test -z "$ffs" && fs="6" || fs="$ffs" - deblock="fspp=strength=$fs," + echo + brown " Deblock Filters" + brown " ~~~~~~~~~~~~~~~" + echo " 0 -> spp" + echo " 1 -> fspp" + echo " 2 -> uspp" + echo " 3 -> pp7" + echo + printf "Specify the Deblock Filter [default is 3]: " + read dbfilter + case "$dbfilter" in + 0) + printf "Specify the Deblock Parameters [quality(0-6):qp - default is 3:11]: " + read dp + test -z "$dp" && dparam="3:11" || dparam="$dp" + deblock="spp=quality=$(echo "$dparam" | awk -F: '{print $1}'):qp=$(echo "$dparam" | awk -F: '{print $2}')," + ;; + 1) + printf "Specify the Deblock Parameters [strength(-15-32):qp - default is 6:11]: " + read dp + test -z "$dp" && dparam="6:11" || dparam="$dp" + deblock="fspp=strength=$(echo "$dparam" | awk -F: '{print $1}'):qp=$(echo "$dparam" | awk -F: '{print $2}')," + ;; + 2) + printf "Specify the Deblock Parameters [quality(0-8):qp - default is 3:11]: " + read dp + test -z "$dp" && dparam="3:11" || dparam="$dp" + deblock="uspp=quality=$(echo "$dparam" | awk -F: '{print $1}'):qp=$(echo "$dparam" | awk -F: '{print $2}')," + ;; + 3|"") + printf "Specify the Deblock Quantization Parameter [default is 11]: " + read dp + test -z "$dp" && dparam="11" || dparam="$dp" + deblock="pp7=qp=$dparam," + ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac fi fi @@ -458,7 +509,7 @@ printf "Use Motion-Compensation Deinterlacing? [y/N]: " read mcd if [ "$mcd" = "y" -o "$mcd" = "Y" ]; then - printf "Specify the Field Parity [tff/bff - default is tff]: " + printf "Specify the Field Parity of the Input File [tff/bff - default is tff]: " read par case "$par" in t*|T*|"") fp="tff" ;; @@ -538,6 +589,24 @@ fi fi +if [ -z "$deinterlace" ]; then + printf "Enable Interlace-aware encoding? [y/N]: " + read intaw + if [ "$intaw" = "y" -o "$intaw" = "Y" ]; then + printf "Specify the Field Parity of the Input File [tff/bff - default is tff]: " + read parity + case "$parity" in + t*|T*|"") interlaced=":interlace=tff" ;; + b*|B*) interlaced=":interlace=bff" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + X265PARAMS="$X265PARAMS$interlaced" + fi +fi + if [ "$AUTOCROP" = "y" ]; then echo green "-> Detecting crop values..." @@ -559,12 +628,48 @@ test ! -z "$cropval" && crop="crop=$cropval," fi -if [ ! -z "$SCALER" ]; then +if [ "$SCALE" = "y" ]; then printf "Specify the Desired Resolution [WxH - press 'Enter' to skip]: " read res if [ ! -z "$res" ]; then - scale="scale=$res," - sws="-sws_flags $SCALER" + test -z "$interlaced" && scale="scale=$res," || scale="scale=$res:interl=1," + if [ -z "$SCALER" ]; then + echo + brown " Software Scalers" + brown " ~~~~~~~~~~~~~~~~" + echo " 0 -> Fast Bilinear" + echo " 1 -> Bilinear" + echo " 2 -> Bicubic" + echo " 3 -> Neighbor" + echo " 4 -> Area" + echo " 5 -> Luma Bicubic/Chroma Bilinear" + echo " 6 -> Gaussian" + echo " 7 -> Sinc" + echo " 8 -> Lanczos" + echo " 9 -> Natural Bicubic Spline" + echo + printf "Sepcify the Software Scaler [default is 9]: " + read scale + case "$scale" in + 0) scaler="fast_bilinear" ;; + 1) scaler="bilinear" ;; + 2) scaler="bicubic" ;; + 3) scaler="neighbor" ;; + 4) scaler="area" ;; + 5) scaler="bicublin" ;; + 6) scaler="gauss" ;; + 7) scaler="sinc" ;; + 8) scaler="lanczos" ;; + 9|"") scaler="spline" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + sws="-sws_flags $scaler" + else + sws="-sws_flags $SCALER" + fi fi fi @@ -1093,7 +1198,7 @@ test ! -z "$vidfilters" && vfilters="-vf $vidfilters" -test ! -z "$vpreset" && X265PARAMS="$colorprim $vpreset" || X265PARAMS=":$X265PARAMS$colorprim" +test ! -z "$vpreset" && X265PARAMS="$colorprim$interlaced $vpreset" || X265PARAMS=":$X265PARAMS$colorprim" test ! -z "$COMMENT" && METACOMMENT="-metadata comment=\"$COMMENT\""
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
.