Projects
Multimedia
ffx264
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 6
View file
ffx264.changes
Changed
@@ -1,4 +1,18 @@ ------------------------------------------------------------------- +Thu Nov 03 15:31:00 UTC 2016 - neutrino8@gmail.com + +- Update to version 3.0.7 + * 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 23 + * Do a test write to see if output directory is writable by + the script executing user + * Updated the README file + +------------------------------------------------------------------- Wed Nov 02 19:41:00 UTC 2016 - neutrino8@gmail.com - Update to version 3.0.6
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.0.6 +Version: 3.0.7 Release: 0 Summary: A small shell script for encoding to H.264 with ffmpeg License: GPL-2.0+
View file
ffx264-3.0.6.tar.gz/ChangeLog -> ffx264-3.0.7.tar.gz/ChangeLog
Changed
@@ -1,3 +1,14 @@ +2016-11-03 - ffx264 3.0.7 + * 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 23 + * Do a test write to see if output directory is writable + by the script executing user + * Updated the README file + 2016-11-02 - ffx264 3.0.6 * Added support for motion compensation deinterlacing for both deinterlacing at original FPS and bobbing
View file
ffx264-3.0.6.tar.gz/README -> ffx264-3.0.7.tar.gz/README
Changed
@@ -9,7 +9,7 @@ - it has a configuration file in $HOME/.ffx264 to set things up. - it does auto-cropping. - it supports three video denoise filters. -- it supports one video deblock 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 'ffx264 -h' in a console to see a list of supported parameters. +Run 'ffx264 -h' in a console to see a list of supported parameters or +read the man page (man ffx264).
View file
ffx264-3.0.6.tar.gz/ffx264 -> ffx264-3.0.7.tar.gz/ffx264
Changed
@@ -2,18 +2,18 @@ # # Small script to encode to H.264/AVC video using FFmpeg and libx264. # Author: Grozdan "microchip" Nikolov <neutrino8@gmail.com> -# Version: 3.0.6 -# Date: 2016-11-02 +# Version: 3.0.7 +# 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="3.0.6" +version="3.0.7" CFG="$HOME/.ffx264" -cfgversion="22" +cfgversion="23" 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 @@ -324,6 +327,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 @@ -333,17 +356,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 @@ -447,10 +462,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 @@ -459,7 +510,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" ;; @@ -510,6 +561,7 @@ fi fi + if [ "$VID_ROTATE" = "y" ]; then printf "Rotate the Video? [y/N]: " read rot @@ -539,6 +591,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=":tff=1" ;; + b*|B*) interlaced=":bff=1" ;; + *) + error "-> Invalid option!" + exit 1 + ;; + esac + X264PARAMS="$X264PARAMS$interlaced" + fi +fi + if [ "$AUTOCROP" = "y" ]; then echo green "-> Detecting crop values..." @@ -560,12 +630,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 @@ -1095,7 +1201,7 @@ test ! -z "$vidfilters" && vfilters="-vf $vidfilters" -test ! -z "$vpreset" && X264PARAMS=":force-cfr=1:threads=auto$colorprim $vpreset" || X264PARAMS=":$X264PARAMS$colorprim" +test ! -z "$vpreset" && X264PARAMS=":force-cfr=1:threads=auto$colorprim$interlaced $vpreset" || X264PARAMS=":$X264PARAMS$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
.