Projects
Multimedia
ffhevc
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 74
View file
ffhevc.changes
Changed
@@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Mon Dec 25 10:36:00 UTC 2017 - neutrino8@opensuse.org + +- Update to version 3.4.6 + * 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 + +------------------------------------------------------------------- Tue Nov 28 18:35:00 UTC 2017 - neutrino8@opensuse.org - Update to version 3.4.5
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.4.5 +Version: 3.4.6 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.4.5.tar.gz/ChangeLog -> ffhevc-3.4.6.tar.gz/ChangeLog
Changed
@@ -1,3 +1,9 @@ +2017-12-25 - ffhevc 3.4.6 + * 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-11-28 - ffhevc 3.4.5 * Disable Open GOP and enable header repeating when HDR options are enabled like master display and max-cll
View file
ffhevc-3.4.5.tar.gz/ffhevc -> ffhevc-3.4.6.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.4.5 -# Date: 2017-11-28 +# Version: 3.4.6 +# Date: 2017-12-25 # # 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,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.4.5" +version="3.4.6" CFG="$HOME/.ffhevc" -cfgversion="37" +cfgversion="38" 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" @@ -956,177 +957,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
.