Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 111
View file
ffhevc.changes
Changed
@@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Sat Mar 02 07:10:00 UTC 2019 - neutrino8@opensuse.org + +- Update to version 3.6.9 + * Add HDR_SUPPORT option to config file for making HDR + support optional + +------------------------------------------------------------------- Sat Jan 12 11:05:00 UTC 2019 - neutrino8@opensuse.org - Update to version 3.6.8
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 3.6.8 +Version: 3.6.9 Release: 0 Summary: A small shell script for encoding to H.265/HEVC with ffmpeg License: GPL-2.0+
View file
ffhevc-3.6.8.tar.gz/ChangeLog -> ffhevc-3.6.9.tar.gz/ChangeLog
Changed
@@ -1,3 +1,7 @@ +2019-03-02 - ffhevc 3.6.9 + * Add HDR_SUPPORT option to config file for making HDR + support optional + 2019-01-12 - ffhevc 3.6.8 * Set Open GOP to 0 and repeat headers to 1 when Dolby Vision is used
View file
ffhevc-3.6.8.tar.gz/ffhevc -> ffhevc-3.6.9.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.6.8 -# Date: 2019-01-12 +# Version: 3.6.9 +# Date: 2019-03-02 # # 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 "\e0;33m$1\e0;39;49m"; } error() { echo -e "\e1;31m$1\e0;39;49m"; } -version="3.6.8" +version="3.6.9" CFG="$HOME/.ffhevc" -cfgversion="38" +cfgversion="39" genconfig_func() { cat<<EOF>>"$CFG" @@ -91,6 +91,8 @@ VID_PIXEL_FORMAT="y" VID_COLORSPACE="y" +HDR_SUPPORT="y" + # Audio filters AUD_NORMALIZE="y" AUD_VOLUME="y" @@ -1304,113 +1306,115 @@ fi fi -if -z "$tonemap" ; then - printf "Set Dolby Vision Profile/RPU File? y/N: " - read dolv - if "$dolv" = "y" -o "$dolv" = "Y" ; then - printf "Specify the Dolby Vision Profile 5/8.1/8.2 - default is 8.1: " - read dvp - case "$dvp" in - 5) dolprof="5" ;; - 8.1|"") dolprof="8.1" ;; - 8.2) dolprof="8.2" ;; - *) dolprof="0" ;; - esac - - dolby_vision=":dolby-vision-profile=$dolprof" +if "$HDR_SUPPORT" = "y" ; then + if -z "$tonemap" ; then + printf "Set Dolby Vision Profile/RPU File? y/N: " + read dolv + if "$dolv" = "y" -o "$dolv" = "Y" ; then + printf "Specify the Dolby Vision Profile 5/8.1/8.2 - default is 8.1: " + read dvp + case "$dvp" in + 5) dolprof="5" ;; + 8.1|"") dolprof="8.1" ;; + 8.2) dolprof="8.2" ;; + *) dolprof="0" ;; + esac + + dolby_vision=":dolby-vision-profile=$dolprof" + + printf "Provide the Dolby Vision RPU File press 'Enter' to skip: " + read dvrpu + if ! -z "$dvrpu" ; then + if ! -f "$dvrpu" ; then + echo + error "-> No such file! Skipping" + echo + else + dolby_vision_rpu=":dolby-vision-rpu=\"$(readlink -m "$dvrpu")\"" + fi + fi + fi - printf "Provide the Dolby Vision RPU File press 'Enter' to skip: " - read dvrpu - if ! -z "$dvrpu" ; then - if ! -f "$dvrpu" ; then + printf "Set HDR VUI Options? y/N: " + read hdr + if "$hdr" = "y" -o "$hdr" = "Y" ; then + printf "Scan for HDR Side Data? y/N: " + read hdr_sd + if "$hdr_sd" = "y" -o "$hdr_sd" = "Y" ; then + echo + green "-> Scanning for HDR Side Data..." + HDRFILE="$OUTDIR/hdr_sd_$$" + $FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries side_data -read_intervals %+1 > "$HDRFILE" + + sdarray=(0=green_x 1=green_y 2=blue_x 3=blue_y 4=red_x 5=red_y 6=white_point_x 7=white_point_y 8=min_luminance 9=max_luminance 10=max_content 11=max_average) + for i in {0..11}; do + hdrsdi="$(grep "^${sdarrayi}" "$HDRFILE" | tail -1 | awk -F= '{print $2}' | awk -F/ '{print $1}')" + test -z "${hdrsdi}" && hdrsdi="ENOT_AVAIL" + done + rm -f "$HDRFILE" echo - error "-> No such file! Skipping" + green "-> master-display: G(${hdrsd0},${hdrsd1})B(${hdrsd2},${hdrsd3})R(${hdrsd4},${hdrsd5})WP(${hdrsd6},${hdrsd7})L(${hdrsd9},${hdrsd8})" + green "-> max-cll: ${hdrsd10},${hdrsd11}" echo - else - dolby_vision_rpu=":dolby-vision-rpu=\"$(readlink -m "$dvrpu")\"" + fi + printf "Specify the SMPTE-ST-2086 Master Display Color Volume (master-display) press 'Enter' to skip: " + read mdcv + test ! -z "$mdcv" && master_display=":master-display=\"$mdcv\"" + printf "Specify the Content Light Level Info (max-cll) press 'Enter' to skip: " + read clli + test ! -z "$clli" && max_cll=":max-cll=$clli" + printf "Add Luma/Chroma Offsets (hdr-opt)? y/N: " + read lcoffset + if "$lcoffset" = "y" -o "$lcoffset" = "Y" ; then + hdr_opt=":hdr-opt=1" fi fi - fi - - printf "Set HDR VUI Options? y/N: " - read hdr - if "$hdr" = "y" -o "$hdr" = "Y" ; then - printf "Scan for HDR Side Data? y/N: " - read hdr_sd - if "$hdr_sd" = "y" -o "$hdr_sd" = "Y" ; then - echo - green "-> Scanning for HDR Side Data..." - HDRFILE="$OUTDIR/hdr_sd_$$" - $FFPROBE -i "$input" -v quiet -select_streams v:0 -show_entries side_data -read_intervals %+1 > "$HDRFILE" - - sdarray=(0=green_x 1=green_y 2=blue_x 3=blue_y 4=red_x 5=red_y 6=white_point_x 7=white_point_y 8=min_luminance 9=max_luminance 10=max_content 11=max_average) - for i in {0..11}; do - hdrsdi="$(grep "^${sdarrayi}" "$HDRFILE" | tail -1 | awk -F= '{print $2}' | awk -F/ '{print $1}')" - test -z "${hdrsdi}" && hdrsdi="ENOT_AVAIL" - done - rm -f "$HDRFILE" - echo - green "-> master-display: G(${hdrsd0},${hdrsd1})B(${hdrsd2},${hdrsd3})R(${hdrsd4},${hdrsd5})WP(${hdrsd6},${hdrsd7})L(${hdrsd9},${hdrsd8})" - green "-> max-cll: ${hdrsd10},${hdrsd11}" - echo + + printf "Use Dynamic HDR10+ JSON file? y/N: " + read dhdr + if "$dhdr" = "y" -o "$dhdr" = "Y" ; then + printf "Provide the JSON file press 'Enter' to skip: " + read -e json + if ! -z "$json" ; then + if ! -f "$json" ; then + echo + error "-> No such file. Skipping!" + echo + else + dhdr10=":dhdr10-info=\"$(readlink -e "$json")\"" + fi + fi fi - printf "Specify the SMPTE-ST-2086 Master Display Color Volume (master-display) press 'Enter' to skip: " - read mdcv - test ! -z "$mdcv" && master_display=":master-display=\"$mdcv\"" - printf "Specify the Content Light Level Info (max-cll) press 'Enter' to skip: " - read clli - test ! -z "$clli" && max_cll=":max-cll=$clli" - printf "Add Luma/Chroma Offsets (hdr-opt)? y/N: " - read lcoffset - if "$lcoffset" = "y" -o "$lcoffset" = "Y" ; then - hdr_opt=":hdr-opt=1" + + if ! -z "$master_display" -o ! -z "$max_cll" -o ! -z "$dhdr10" -o ! -z "$dolby_vision" -o ! -z "$dolby_vision_rpu" ; then + hdr_encopts=":open-gop=0:repeat-headers=1" fi - fi - - printf "Use Dynamic HDR10+ JSON file? y/N: " - read dhdr - if "$dhdr" = "y" -o "$dhdr" = "Y" ; then - printf "Provide the JSON file press 'Enter' to skip: " - read -e json - if ! -z "$json" ; then - if ! -f "$json" ; then + + if ! -z "$batchmode" ; then + printf "Auto-Detect and Add HDR Side Data to All Encodes? y/N: " + read addhdr + if "$addhdr" = "y" -o "$addhdr" = "Y" ; then echo - error "-> No such file. Skipping!" + error "-> NOTE: all input files must contain valid HDR side data (master-display and max-cll)!" echo - else - dhdr10=":dhdr10-info=\"$(readlink -e "$json")\"" + hdr_sd_func() { + echo " HDRFILE=\"$(dirname "$OUTPUT")/hdr_sd_$$\"" + echo " $FFPROBE -i \"\$i\" -v quiet -select_streams v:0 -show_entries side_data -read_intervals %+1 > \"\$HDRFILE\"" + echo " sdarray=(0=green_x 1=green_y 2=blue_x 3=blue_y 4=red_x 5=red_y 6=white_point_x 7=white_point_y 8=min_luminance 9=max_luminance 10=max_content 11=max_average)" + echo " for sd in {0..11}; do" + echo " hdrsdsd=\"\$(grep \"^\${sdarraysd}\" \"\$HDRFILE\" | tail -1 | awk -F= '{print \$2}' | awk -F/ '{print \$1}')\"" + echo " done" + echo " rm -f \"\$HDRFILE\"" + echo " hdr_encopts=\":open-gop=0:repeat-headers=1\"" + echo " mast_disp=\"G(\${hdrsd0},\${hdrsd1})B(\${hdrsd2},\${hdrsd3})R(\${hdrsd4},\${hdrsd5})WP(\${hdrsd6},\${hdrsd7})L(\${hdrsd9},\${hdrsd8})\"" + echo " max_cll=\":max-cll=\${hdrsd10},\${hdrsd11}\"" + } + hdr_encopts="\$hdr_encopts" + master_display=":master-display=\"\$mast_disp\"" + max_cll="\$max_cll" fi fi fi - - if ! -z "$master_display" -o ! -z "$max_cll" -o ! -z "$dhdr10" -o ! -z "$dolby_vision" -o ! -z "$dolby_vision_rpu" ; then - hdr_encopts=":open-gop=0:repeat-headers=1" - fi - - if ! -z "$batchmode" ; then - printf "Auto-Detect and Add HDR Side Data to All Encodes? y/N: " - read addhdr - if "$addhdr" = "y" -o "$addhdr" = "Y" ; then - echo - error "-> NOTE: all input files must contain valid HDR side data (master-display and max-cll)!" - echo - hdr_sd_func() { - echo " HDRFILE=\"$(dirname "$OUTPUT")/hdr_sd_$$\"" - echo " $FFPROBE -i \"\$i\" -v quiet -select_streams v:0 -show_entries side_data -read_intervals %+1 > \"\$HDRFILE\"" - echo " sdarray=(0=green_x 1=green_y 2=blue_x 3=blue_y 4=red_x 5=red_y 6=white_point_x 7=white_point_y 8=min_luminance 9=max_luminance 10=max_content 11=max_average)" - echo " for sd in {0..11}; do" - echo " hdrsdsd=\"\$(grep \"^\${sdarraysd}\" \"\$HDRFILE\" | tail -1 | awk -F= '{print \$2}' | awk -F/ '{print \$1}')\"" - echo " done" - echo " rm -f \"\$HDRFILE\"" - echo " hdr_encopts=\":open-gop=0:repeat-headers=1\"" - echo " mast_disp=\"G(\${hdrsd0},\${hdrsd1})B(\${hdrsd2},\${hdrsd3})R(\${hdrsd4},\${hdrsd5})WP(\${hdrsd6},\${hdrsd7})L(\${hdrsd9},\${hdrsd8})\"" - echo " max_cll=\":max-cll=\${hdrsd10},\${hdrsd11}\"" - } - hdr_encopts="\$hdr_encopts" - master_display=":master-display=\"\$mast_disp\"" - max_cll="\$max_cll" - fi - fi fi # Used by cropping and bitrate
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
.