Projects
Multimedia
ffx264
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 66
View file
ffx264.changes
Changed
@@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Mon Dec 25 10:36:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.5.5 + * Initial support for HDR to SDR conversions. Requires + FFmpeg to be compiled with the zimg library as it + needs the zscale filter + https://github.com/sekrit-twc/zimg + +------------------------------------------------------------------- Sun Oct 22 17:37:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.5.4
View file
ffx264.spec
Changed
@@ -17,7 +17,7 @@ Name: ffx264 -Version: 3.5.4 +Version: 3.5.5 Release: 0 Summary: A small shell script for encoding to H.264 with ffmpeg License: GPL-2.0+
View file
ffx264-3.5.4.tar.gz/ChangeLog -> ffx264-3.5.5.tar.gz/ChangeLog
Changed
@@ -1,3 +1,9 @@ +2017-12-25 - ffx264 3.5.5 + * Initial support for HDR to SDR conversions. Requires + FFmpeg to be compiled with the zimg library as it + needs the zscale filter + https://github.com/sekrit-twc/zimg + 2017-10-22 - ffx264 3.5.4 * Support dialog level normalization for AC3/EAC3 audio
View file
ffx264-3.5.4.tar.gz/ffx264 -> ffx264-3.5.5.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.5.4 -# Date: 2017-10-22 +# Version: 3.5.5 +# Date: 2017-11-25 # # 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,10 +24,10 @@ brown() { echo -e "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;39;49m"; } -version="3.5.4" +version="3.5.5" CFG="$HOME/.ffx264" -cfgversion="33" +cfgversion="34" genconfig_func() { cat<<EOF>>"$CFG" @@ -87,6 +87,7 @@ VID_ROTATE="y" VID_DEINTERLACE="y" VID_DETELECINE="y" +VID_HDR_TO_SDR="y" VID_PIXEL_FORMAT="y" VID_COLORSPACE="y" @@ -970,177 +971,251 @@ green "-> Color Primaries: $(to_upper "${CHARS[4]}")" } -video_colorspace_func() { - printf "Do a Colorspace/Transfer/Primaries Conversion? [y/N]: " - read ctp - if [ "$ctp" = "y" -o "$ctp" = "Y" ]; then +video_hdr_to_sdr_func() { + printf "Do an HDR to SDR Conversion? [y/N]: " + read hdr_sdr_conv + if [ "$hdr_sdr_conv" = "y" -o "$hdr_sdr_conv" = "Y" ]; then echo - green "-> Detecting characteristics..." - sleep 1 - video_chars_func + error "-> NOTE: This function requires that FFmpeg be compiled with" + error " the zimg library as it uses the zscale filter!" + error " https://github.com/sekrit-twc/zimg" echo - printf "Specify the Input/Output Color Range [tv|mpeg|pc|jpeg - default is tv:tv]: " - read crange - if [ -z "$crange" ]; then - irange="tv" - orange="tv" - else - if [ ! -z "$(echo "$crange" | grep ':')" ]; then - irange="$(echo "$crange" | awk -F: '{print $1}')" - orange="$(echo "$crange" | awk -F: '{print $2}')" - else - error "-> Invalid format! Valid is: <input_range>:<output_range> (eg: mpeg:tv)" + printf "Continue? [y/N]: " + read hdr_sdr_cont + if [ "$hdr_sdr_cont" = "y" -o "$hdr_sdr_cont" = "Y" ]; then + echo + brown " Tone Mapping Algorithms" + brown " ~~~~~~~~~~~~~~~~~~~~~~~" + echo " 0 -> None" + echo " 1 -> Clip" + echo " 2 -> Linear" + echo " 3 -> Gamma" + echo " 4 -> Reinhard" + echo " 5 -> Hable" + echo " 6 -> Mobius" + echo + printf "Specify the Tone Mapping Algorithm [default is 6]: " + read tma + case "$tma" in + 0) tm_algo="none" ;; + 1) tm_algo="clip" ;; + 2) tm_algo="linear" ;; + 3) tm_algo="gamma" ;; + 4) tm_algo="reinhard" ;; + 5) tm_algo="hable" ;; + 6|"") tm_algo="mobius" ;; + *) + error "-> Invalid option!" exit 1 - fi - fi - video_csmisc_func() { - printf "Use 10- or 12-bits BT2020 Transfer? [default is 10]: " - read bdepth - case "$bdepth" in - 10|"") bd="-10" ;; - 12) bd="-12" ;; + ;; + esac + echo + green "-> Detecting characteristics..." + sleep 1 + video_chars_func + echo + brown " Colorspace/Transfer/Primaries Conversion" + brown " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + echo " 0 -> Copy input characteristics" + echo " 1 -> Convert to BT709 (HD/FHD)" + echo " 2 -> Convert to BT470BG (PAL)" + echo " 3 -> Convert to SMPTE170M (NTSC)" + echo + printf "Specify the Conversion option [default is 0]: " + read ctpopt + case "$ctpopt" in + 0|"") + test "${CHARS[2]}" = "unknown" && colmatrix="undef" || colmatrix="${CHARS[2]}" + test "${CHARS[3]}" = "unknown" && coltrans="undef" || coltrans="${CHARS[3]}" + test "${CHARS[4]}" = "unknown" && colprim="undef" || colprim="${CHARS[4]}" + colorprim=":colormatrix=$colmatrix:colorprim=$colprim:transfer=$coltrans" + ;; + 1) zscale=",zscale=transfer=bt709:primaries=bt709:matrix=bt709"; colorprim=":colormatrix=bt709:colorprim=bt709:transfer=bt709" ;; + 2) zscale=",zscale=transfer=bt470bg:primaries=bt470bg:matrix=bt470bg"; colorprim=":colormatrix=bt470bg:colorprim=bt470bg:transfer=bt470bg" ;; + 3) zscale=",zscale=transfer=smpte170m:primaries=smpte170m:matrix=smpte170m"; colorprim=":colormatrix=smpte170m:colorprim=smpte170m:transfer=smpte170m" ;; *) - error "-> Invalid value!" + error "-> Invalid option!" exit 1 ;; esac - printf "Use Constant or Non-Constant Matrix? [c/n - default is n]: " - read mtype - case "$mtype" in - n|N|"") cm="nc" ;; - c|C) cm="c" ;; + tonemap="zscale=transfer=linear,tonemap=$tm_algo:desat=0$zscale," + fi + fi +} + +video_colorspace_func() { + if [ -z "$tonemap" ]; then + printf "Do a Colorspace/Transfer/Primaries Conversion? [y/N]: " + read ctp + if [ "$ctp" = "y" -o "$ctp" = "Y" ]; then + echo + green "-> Detecting characteristics..." + sleep 1 + video_chars_func + echo + printf "Specify the Input/Output Color Range [tv|mpeg|pc|jpeg - default is tv:tv]: " + read crange + if [ -z "$crange" ]; then + irange="tv" + orange="tv" + else + if [ ! -z "$(echo "$crange" | grep ':')" ]; then + irange="$(echo "$crange" | awk -F: '{print $1}')" + orange="$(echo "$crange" | awk -F: '{print $2}')" + else + error "-> Invalid format! Valid is: <input_range>:<output_range> (eg: mpeg:tv)" + exit 1 + fi + fi + video_csmisc_func() { + printf "Use 10- or 12-bits BT2020 Transfer? [default is 10]: " + read bdepth + case "$bdepth" in + 10|"") bd="-10" ;; + 12) bd="-12" ;; + *) + error "-> Invalid value!" + exit 1 + ;; + esac + printf "Use Constant or Non-Constant Matrix? [c/n - default is n]: " + read mtype + case "$mtype" in + n|N|"") cm="nc" ;; + c|C) cm="c" ;; + *) + error "-> Invalid value!" + exit 1 + ;; + esac + } + echo + brown " Colorspace Conversion" + brown " ~~~~~~~~~~~~~~~~~~~~~" + echo " 1 --> BT470M (NTSC) -> SMPTE170M (NTSC)" + echo " 2 --> BT470M (NTSC) -> BT470BG (PAL)" + echo " 3 --> BT470M (NTSC) -> BT709 (HD/FHD)" + echo " 4 --> BT470M (NTSC) -> BT2020 (4K/UHD)" + echo + echo " 5 --> SMPTE170M (NTSC) -> BT470M (NTSC)" + echo " 6 --> SMPTE170M (NTSC) -> BT470BG (PAL)" + echo " 7 --> SMPTE170M (NTSC) -> BT709 (HD/FHD)" + echo " 8 --> SMPTE170M (NTSC) -> BT2020 (4K/UHD)" + echo + echo " 9 --> BT470BG (PAL) -> BT470M (NTSC)"
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
.