Projects
Multimedia
ffx264
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 38
View file
ffx264.changes
Changed
@@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Sun Jan 15 11:44:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.3.0 + * 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.2.9
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.2.9 +Version: 3.3.0 Release: 0 Summary: A small shell script for encoding to H.264 with ffmpeg License: GPL-2.0+
View file
ffx264-3.2.9.tar.gz/ChangeLog -> ffx264-3.3.0.tar.gz/ChangeLog
Changed
@@ -1,3 +1,8 @@ +2017-01-15 - ffx264 3.3.0 + * Support ALAC audio encoding + * Some small improvements to the audio code + * A few variable renamings, mostly in the case statements + 2017-01-13 - ffx264 3.2.9 * Support 50 <-> 60/59.940 FPS conversions * Use upper-case words for the color primaries/transfers/matrices
View file
ffx264-3.2.9.tar.gz/ffx264 -> ffx264-3.3.0.tar.gz/ffx264
Changed
@@ -2,8 +2,8 @@ # # Small script to encode to H.264/AVC video using FFmpeg and libx264. # Author: Grozdan "microchip" Nikolov <neutrino8@opensuse.org> -# Version: 3.2.9 -# Date: 2017-01-13 +# Version: 3.3.0 +# Date: 2017-01-15 # # ffx264 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.2.9" +version="3.3.0" CFG="$HOME/.ffx264" cfgversion="30" @@ -525,16 +525,17 @@ if [ ! -z "$remuxcon" ]; then container_func() { case "$1" in - mp4|mov|m4v|avi|flv) + mp4|mov|m4v|avi|flv|ts|mts|m2ts) green "-> Note: additional container $i supports the following audio codecs:" ;; 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" ;; - m4v) green "-> ac3|aac|fdk-aac|copy" ;; - avi) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|pcm|flac|copy" ;; - flv) green "-> aac|fdk-aac|mp3|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" ;; + m4v) green "-> ac3|aac|fdk-aac|alac|copy" ;; + avi) green "-> ac3|eac3|dts|aac|fdk-aac|mp3|vorbis|pcm|flac|copy" ;; + flv) green "-> aac|fdk-aac|mp3|copy" ;; + ts|mts|m2ts) green "-> ac3|eac3|truehd|dts|aac|fdk-aac|mp3|vorbis|flac|copy" ;; other) error "-> H.264 video not supported by the $i container!" error "-> Supported containers are: mkv, mp4, mov, m4v, m2ts, mts, ts, flv and avi" @@ -558,18 +559,19 @@ exit 1 fi case "$i" in - mkv|m2ts|mts|ts) + mkv) green "-> Note: additional container $i supports all the audio codecs" ;; flv) container_func flv error "-> Note: you may need to resample the audio to 44100, 22050 or 11025 Hz!" ;; - mp4) container_func mp4 ;; - mov) container_func mov ;; - m4v) container_func m4v ;; - avi) container_func avi ;; - *) container_func other ;; + mp4) container_func mp4 ;; + mov) container_func mov ;; + m4v) container_func m4v ;; + avi) container_func avi ;; + ts|mts|m2ts) container_func ts ;; + *) container_func other ;; esac done echo @@ -638,8 +640,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 @@ -685,8 +687,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 @@ -840,8 +842,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," ;; @@ -1022,7 +1024,6 @@ printf "Specify the Field Parity of the Input File [tff/bff - default is $defpar]: " read parity test -z "$parity" && interlaced=":${defpar}=1" || interlaced=":${parity}=1" - X264PARAMS="$X264PARAMS$interlaced" fi fi @@ -1096,8 +1097,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" ;; @@ -1137,8 +1138,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" ;; @@ -1152,7 +1153,7 @@ exit 1 ;; esac - case "$colprim" in + case "$cpopt" in [3-6]) printf "Use SMPTE-2084 Transfer Characteristics? [y/N]: " read smpte @@ -1206,7 +1207,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 ;; @@ -1592,6 +1593,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 @@ -1676,6 +1678,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" @@ -1715,13 +1724,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,12 +1750,12 @@ ;; avi) case "${acodec[i]}" in - opus|truehd) conerror_func ;; + opus|truehd|alac) conerror_func ;; esac ;; flv) case "${acodec[i]}" in - ac3|eac3|dts|vorbis|flac|opus|truehd|"") conerror_func ;; + ac3|eac3|dts|vorbis|flac|opus|truehd|alac|"") conerror_func ;; esac ;; esac @@ -1764,8 +1778,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]}" @@ -1798,7 +1813,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" ;; @@ -1821,9 +1836,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" @@ -1839,10 +1867,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 @@ -2082,7 +2110,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" @@ -2135,8 +2163,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 @@ -2242,7 +2270,7 @@ test ! -z "$vidfilters" && vfilters="-vf $vidfilters" -test ! -z "$vpreset" && X264PARAMS=":force-cfr=1:threads=auto$colorprim$interlaced $vpreset $vtune" || X264PARAMS=":$X264PARAMS$colorprim" +test ! -z "$vpreset" && X264PARAMS=":force-cfr=1:threads=auto$colorprim$interlaced $vpreset $vtune" || X264PARAMS=":$X264PARAMS$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
.