Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 37
View file
ffhevc.changes
Changed
@@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Sun Jan 15 11:44:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.1.4 + * Support ALAC audio encoding + * Some small improvements to the audio code + * A few variable renamings, mostly in the case statements + +------------------------------------------------------------------- Fri Jan 13 11:43:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.1.3
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.1.3 +Version: 3.1.4 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.1.3.tar.gz/ChangeLog -> ffhevc-3.1.4.tar.gz/ChangeLog
Changed
@@ -1,3 +1,8 @@ +2017-01-15 - ffhevc 3.1.4 + * Support ALAC audio encoding + * Some small improvements to the audio code + * A few variable renamings, mostly in the case statements + 2017-01-13 - ffhevc 3.1.3 * Support 50 <-> 60/59.940 FPS conversions * Use upper-case words for the color primaries/transfers/matrices
View file
ffhevc-3.1.3.tar.gz/ffhevc -> ffhevc-3.1.4.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.1.3 -# Date: 2017-01-13 +# Version: 3.1.4 +# Date: 2017-01-15 # # 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,7 +24,7 @@ brown() { echo -e "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;39;49m"; } -version="3.1.3" +version="3.1.4" CFG="$HOME/.ffhevc" cfgversion="34" @@ -528,8 +528,9 @@ ;; esac case "$1" in - mp4) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|flac|copy" ;; - mov) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|copy" ;; + mp4) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|flac|copy" ;; + mov) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|alac|copy" ;; + ts|mts|m2ts) green "-> ac3|eac3|truehd|dts|aac|fdk-aac|mp3|vorbis|flac|copy" ;; other) error "-> HEVC video not supported by the $i container!" error "-> Supported containers are: mkv, mp4, mov, m2ts, mts and ts" @@ -553,9 +554,10 @@ exit 1 fi case "$i" in - mkv|m2ts|ts) green "-> Note: additional container $i supports all the audio codecs" ;; + mkv) green "-> Note: additional container $i supports all the audio codecs" ;; mp4) container_func mp4 ;; mov) container_func mov ;; + ts|mts|m2ts) container_func ts ;; *) container_func other ;; esac done @@ -625,8 +627,8 @@ echo " 2 -> atadenoise (adaptive temporal denoiser)" echo printf "Which Denoiser to use? [default is 0]: " - read dfilter - case "$dfilter" in + read dnopt + case "$dnopt" in 0|"") printf "Specify the hqdn3d denoise values [default is 3:2:4]: " read dvalues @@ -672,8 +674,8 @@ echo " 3 -> pp7" echo printf "Specify the Deblock Filter [default is 3]: " - read dbfilter - case "$dbfilter" in + read dbopt + case "$dbopt" in 0) printf "Specify the Deblock Parameters [quality(0-6):qp - default is 3:11]: " read dp @@ -827,8 +829,8 @@ echo " 4 -> 180°" echo printf "Specify the Transpose filter option [default is 0]: " - read trans - case "$trans" in + read transopt + case "$transopt" in 0|"") rotate="transpose=0," ;; 1) rotate="transpose=1," ;; 2) rotate="transpose=2," ;; @@ -1009,7 +1011,6 @@ printf "Specify the Field Parity of the Input File [tff/bff - default is $defpar]: " read parity test -z "$parity" && interlaced=":interlaced=$defpar" || interlaced=":interlaced=$parity" - X265PARAMS="$X265PARAMS$interlaced" fi fi @@ -1083,8 +1084,8 @@ echo " 9 -> Natural Bicubic Spline" echo printf "Sepcify the Software Scaler [default is 9]: " - read swscaler - case "$swscaler" in + read swsopt + case "$swsopt" in 0) scaler="fast_bilinear" ;; 1) scaler="bilinear" ;; 2) scaler="bicubic" ;; @@ -1124,8 +1125,8 @@ echo " 7 -> Undefined" echo printf "Specify the Color Primaries [default is 7]: " - read colprim - case "$colprim" in + read cpopt + case "$cpopt" in 0) matrix="smpte170m"; prim="smpte170m"; transfer="smpte170m" ;; 1) matrix="bt470bg"; prim="bt470bg"; transfer="bt470bg" ;; 2) matrix="bt709"; prim="bt709"; transfer="bt709" ;; @@ -1139,7 +1140,7 @@ exit 1 ;; esac - case "$colprim" in + case "$cpopt" in [3-6]) printf "Use SMPTE-ST-2084 Transfer Characteristics? [y/N]: " read smpte @@ -1193,7 +1194,7 @@ echo " 0 -> fps (converts by duplicating/dropping of frames)" echo " 1 -> setpts + atempo (converts by PTS + audio speedup/down)" echo - printf "Specify the FPS conversion method [default is 0]: " + printf "Specify the FPS Conversion Method [default is 0]: " read fcm case "$fcm" in 0|1|"") true ;; @@ -1579,6 +1580,7 @@ echo " MP3 -----> Channels Support: 2 (codec max)" echo " TrueHD --> Channels Support: 6 (encoder max)" echo " FLAC ----> Channels Support: 8 (codec max)" + echo " ALAC ----> Channels Support: 8 (codec max)" echo " PCM -----> Channels Support: 8 (ffmpeg max)" echo " COPY ----> Channels Support: depends on audio codec" else @@ -1663,6 +1665,13 @@ abrdef[i]="5" skiptfs="1" ;; + alac) + acdc[i]="alac" + ameta[i]="ALAC" + abropts[i]="0-8" + abrdef[i]="5" + skiptfs="1" + ;; pcm) ameta[i]="PCM" skiptfs="1" @@ -1702,13 +1711,18 @@ exit 1 } - # mkv/m2ts/mts/ts are missing from the list since they - # support all the audio codecs supported by the script + # mkv is missing from the list since it supports + # all the audio codecs supported by the script for c in $CONFMT $remuxcon; do case "$c" in + ts|mts|m2ts) + case "${acodec[i]}" in + alac|opus) conerror_func ;; + esac + ;; mp4) case "${acodec[i]}" in - pcm|opus|truehd) conerror_func ;; + pcm|opus|truehd|alac) conerror_func ;; esac ;; mov) @@ -1736,8 +1750,9 @@ esac audprofile[i]="-profile:a:${audindex[i]} ${aacprof[i]} -afterburner:a:${audindex[i]} 1" ;; - flac) - printf "Track $i: Specify the FLAC Compression Level [${abropts[i]} - default is ${abrdef[i]}]: " + flac|alac) + test "${acodec[i]}" = "flac" && cdcname[i]="FLAC" || cdcname[i]="ALAC" + printf "Track $i: Specify the ${cdcname[i]} Compression Level [${abropts[i]} - default is ${abrdef[i]}]: " read abr[i] test -z "${abr[i]}" && acomplevel[i]="${abrdef[i]}" || acomplevel[i]="${abr[i]}" audcomplevel[i]="-compression_level:a:${audindex[i]} ${acomplevel[i]}" @@ -1770,7 +1785,7 @@ case "${acodec[i]}" in ac3|eac3|"") chanrange[i]="1-6"; defchan[i]="6" ;; - aac|opus|vorbis|flac|pcm) chanrange[i]="1-8"; defchan[i]="8" ;; + aac|opus|vorbis|flac|alac|pcm) chanrange[i]="1-8"; defchan[i]="8" ;; mp3) chanrange[i]="1-2"; defchan[i]="2" ;; truehd) chanrange[i]="2/5/6"; defchan[i]="6" ;; dts) chanrange[i]="1/2/4/5/6"; defchan[i]="6" ;; @@ -1793,9 +1808,22 @@ printf "Track $i: Use Quad or 4.0 Layout? [quad/4.0 - default is quad]: " read acl case "$(echo "$acl" | tr '[:upper:]' '[:lower:]')" in - quad|"") achmeta[i]="4.0"; test "${acdc[i]}" = "dca" && chlayout[i]="quad(side)" || chlayout[i]="quad" ;; + quad|"") + case "${acodec[i]}" in + dts) chlayout[i]="quad(side)" ;; + alac) + echo + error "-> Quad channel layout not supported by ALAC encoder!" + error "-> Use 4.0 instead but channel order may be wrong" + echo + exit 1 + ;; + ""|*) chlayout[i]="quad" ;; + esac + achmeta[i]="4.0" + ;; 4.0|4) - if [ "${acdc[i]}" = "dca" ]; then + if [ "${acodec[i]}" = "dts" ]; then echo error "-> 4.0 channel layout not supported by DTS encoder!" error "-> Use Quad instead but channel order may be wrong" @@ -1811,10 +1839,10 @@ ;; esac ;; - 5) achmeta[i]="5.0"; test "${acdc[i]}" = "dca" && chlayout[i]="5.0(side)" || chlayout[i]="5.0" ;; - 6) achmeta[i]="5.1"; test "${acdc[i]}" = "dca" && chlayout[i]="5.1(side)" || chlayout[i]="5.1" ;; - 7) chlayout[i]="6.1"; achmeta[i]="6.1" ;; - 8) chlayout[i]="7.1"; achmeta[i]="7.1" ;; + 5) achmeta[i]="5.0"; test "${acodec[i]}" = "dts" && chlayout[i]="5.0(side)" || chlayout[i]="5.0" ;; + 6) achmeta[i]="5.1"; test "${acodec[i]}" = "dts" && chlayout[i]="5.1(side)" || chlayout[i]="5.1" ;; + 7) achmeta[i]="6.1"; test "${acodec[i]}" = "alac" && chlayout[i]="6.1(back)" || chlayout[i]="6.1" ;; + 8) achmeta[i]="7.1"; test "${acodec[i]}" = "alac" && chlayout[i]="7.1(wide)" || chlayout[i]="7.1" ;; *) error "-> ${ach[i]} channels not supported!" exit 1 @@ -2054,7 +2082,7 @@ ;; esac ;; - vorbis|pcm) + vorbis|pcm|alac) echo " 0 -> 8000 Hz 5 -> 24000 Hz 10 -> 88200 Hz" echo " 1 -> 11025 Hz 6 -> 32000 Hz 11 -> 96000 Hz" echo " 2 -> 12000 Hz 7 -> 44100 Hz 12 -> 176400 Hz" @@ -2107,8 +2135,8 @@ case "$encmode" in [1-3]p) # Haven't found a reliable way to make it work with - # FLAC and PCM audio so just skip this if one of - # these audio codecs is chosen. Patch welcome + # FLAC, ALAC and PCM audio so just skip this if one + # of these audio codecs is chosen. Patch welcome # In case of TrueHD, while we support setting the # bitrate, that codec is variable in nature and # the actual bitrate can wildly fluctuate, which @@ -2213,7 +2241,7 @@ test ! -z "$vidfilters" && vfilters="-vf $vidfilters" -test ! -z "$vpreset" && X265PARAMS="$colorprim$interlaced $vpreset $vtune" || X265PARAMS=":$X265PARAMS$colorprim" +test ! -z "$vpreset" && X265PARAMS="$colorprim$interlaced $vpreset $vtune" || X265PARAMS=":$X265PARAMS$colorprim$interlaced" 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
.