Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 23
View file
ffhevc.changes
Changed
@@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Fri Nov 18 01:20:00 UTC 2016 - neutrino8@opensuse.org + +- Update to version 3.0.3 + * Use process number instead of .old when renaming existing files + * Removed a pointless test of the $fpar variable + * Added support for detelecining (IVTC). Bumps up config file + version to 33 + * Minor improvements to the cropping code + +------------------------------------------------------------------- Wed Nov 16 09:18:00 UTC 2016 - neutrino8@opensuse.org - Update to version 3.0.2
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.0.2 +Version: 3.0.3 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.0.2.tar.gz/ChangeLog -> ffhevc-3.0.3.tar.gz/ChangeLog
Changed
@@ -1,3 +1,10 @@ +2016-11-18 - ffhevc 3.0.3 + * Use process number instead of .old when renaming existing files + * Removed a pointless test of the $fpar variable + * Added support for detelecining (IVTC). Bumps up config file + version to 33 + * Minor improvements to the cropping code + 2016-11-16 - ffhevc 3.0.2 * Added support for 3-pass encoding * Added support for setting a default audio codec in the config
View file
ffhevc-3.0.2.tar.gz/ffhevc -> ffhevc-3.0.3.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.0.2 -# Date: 2016-11-16 +# Version: 3.0.3 +# Date: 2016-11-18 # # ffhevc is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,16 +17,17 @@ # # You should have received a copy of the GNU General Public License # along with this program ; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA 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.2" +version="3.0.3" CFG="$HOME/.ffhevc" -cfgversion="32" +cfgversion="33" genconfig_func() { cat<<EOF>>"$CFG" @@ -84,6 +85,7 @@ VID_DEBLOCK="y" VID_ROTATE="y" VID_DEINTERLACE="y" +VID_DETELECINE="y" # Audio filters AUD_NORMALIZE="y" @@ -460,9 +462,9 @@ if [ -z "$batchmode" ]; then if [ -e "$OUTPUT" ]; then echo - error "-> Renaming existing file to '$OUTPUT.old'" + error "-> Renaming existing file to '$OUTPUT.$$'" echo - mv -f "$OUTPUT" "$OUTPUT.old" + mv -f "$OUTPUT" "$OUTPUT.$$" fi else OUTPUT="$(readlink -f "$(dirname "$OUTPUT")/\${i%.*}.$CONFMT")" @@ -683,12 +685,12 @@ GETFPS="$($FFPROBE -i "$input" -select_streams v:0 -show_entries stream=r_frame_rate 2>&1 | sed -n 's|^r_frame_rate=||p')" } -# Used by mc/bobbing deinterlace and interlace-aware encoding +# Used by mc/bobbing deinterlace, IVTC and interlace-aware encoding video_field_parity_func() { echo green "-> Detecting Field Parity..." sleep 1 - FPAR="$($FFPROBE -i "$input" -show_streams -select_streams v:0 -show_frames -read_intervals %+7 2>&1 | sed -n 's|^field_order=||p' | tail -1)" + FPAR="$($FFPROBE -i "$input" -show_streams -select_streams v:0 -show_frames -read_intervals %+10 2>&1 | sed -n 's|^field_order=||p' | tail -1)" case "$FPAR" in t*|T*) fp="tff"; fparity="Top Field First (TFF)" ;; b*|B*) fp="bff"; fparity="Bottom Field First (BFF)" ;; @@ -723,8 +725,8 @@ test -z "$par" && fpar="$defpar" || fpar="$par" fi case "$1" in - ofps) test ! -z "$fpar" && deinterlace="yadif=1,mcdeint=mode=medium:parity=$fpar:qp=10,framestep=step=2," || deinterlace="yadif=0," ;; - bob) test ! -z "$fpar" && deinterlace="yadif=1,mcdeint=mode=medium:parity=$fpar:qp=10," || deinterlace="yadif=1," ;; + ofps) deinterlace="yadif=1,mcdeint=mode=medium:parity=$fpar:qp=10,framestep=step=2," || deinterlace="yadif=0," ;; + bob) deinterlace="yadif=1,mcdeint=mode=medium:parity=$fpar:qp=10," || deinterlace="yadif=1," ;; esac } echo @@ -764,6 +766,27 @@ fi fi +if [ "$VID_DETELECINE" = "y" ]; then + if [ -z "$deinterlace" ]; then + printf "DeTelecine (IVTC) the Input File? [y/N]: " + read detel + if [ "$detel" = "y" -o "$detel" = "Y" ]; then + video_field_parity_func + printf "Specify the Field Parity of the Input File [tff/bff - default is $defpar]: " + read ipar + test -z "$ipar" && fparity="$defpar" || fparity="$ipar" + case "$fparity" in + b*|B*) forder="bottom" ;; + ""|*) forder="top" ;; + esac + printf "Specify the Pulldown Pattern to Apply [default is 23]: " + read pdp + test -z "$pdp" && pulldown="23" || pulldown="$pdp" + detelecine="detelecine=first_field=$forder:pattern=$pulldown," + fi + fi +fi + if [ "$VID_ROTATE" = "y" ]; then printf "Rotate the Video? [y/N]: " read rot @@ -819,7 +842,14 @@ echo printf "Specify the Crop Values [default is $CROPVAL$CDEF]: " read cropval - test -z "$cropval" && crop="crop=$CROPVAL," || crop="crop=$cropval," + if [ ! -z "$CDEF" -a -z "$cropval" ]; then + echo + error "-> No crop values provided!" + error "-> Skipping!" + echo + else + test -z "$cropval" && crop="crop=$CROPVAL," || crop="crop=$cropval," + fi else printf "Specify the Crop Values [press 'Enter' to skip]: " read cropval @@ -906,9 +936,9 @@ fi if [ "$VID_FPS_CONVERT" = "y" ]; then - # Not supported with interlaced encoding - # and deinterlacing with a bobber - if [ -z "$interlaced" -a -z "$bob" ]; then + # Not supported with interlaced encoding, + # deinterlacing with a bobber and IVTC + if [ -z "$interlaced" -a -z "$bob" -a -z "$detelecine" ]; then printf "Do an NTSC <-> PAL or NTSC <-> NTSC FPS conversion? [y/N]: " read fpscon if [ "$fpscon" = "y" -o "$fpscon" = "Y" ]; then @@ -1107,8 +1137,8 @@ exit 1 fi done + test "$subopt" = "2" && echo fi - test "$subopt" = "2" && echo ;; ext) case "$CONFMT" in @@ -1882,7 +1912,7 @@ test "$CHAPS" = "n" && CHPS="-map_chapters -1" -vidfilters="$(echo "$deinterlace$crop$deblock$denoise$scale$rotate$setpts$fps" | sed 's|,$||')" +vidfilters="$(echo "$deinterlace$detelecine$crop$deblock$denoise$scale$rotate$setpts$fps" | 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
.