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 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 "\e[0;33m$1\e[0;39;49m"; } error() { echo -e "\e[1;31m$1\e[0;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 + hdrsd[i]="$(grep "^${sdarray[i]}" "$HDRFILE" | tail -1 | awk -F= '{print $2}' | awk -F/ '{print $1}')" + test -z "${hdrsd[i]}" && hdrsd[i]="ENOT_AVAIL" + done + rm -f "$HDRFILE" echo - error "-> No such file! Skipping" + green "-> master-display: G(${hdrsd[0]},${hdrsd[1]})B(${hdrsd[2]},${hdrsd[3]})R(${hdrsd[4]},${hdrsd[5]})WP(${hdrsd[6]},${hdrsd[7]})L(${hdrsd[9]},${hdrsd[8]})" + green "-> max-cll: ${hdrsd[10]},${hdrsd[11]}" 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 - hdrsd[i]="$(grep "^${sdarray[i]}" "$HDRFILE" | tail -1 | awk -F= '{print $2}' | awk -F/ '{print $1}')" - test -z "${hdrsd[i]}" && hdrsd[i]="ENOT_AVAIL" - done - rm -f "$HDRFILE" - echo - green "-> master-display: G(${hdrsd[0]},${hdrsd[1]})B(${hdrsd[2]},${hdrsd[3]})R(${hdrsd[4]},${hdrsd[5]})WP(${hdrsd[6]},${hdrsd[7]})L(${hdrsd[9]},${hdrsd[8]})" - green "-> max-cll: ${hdrsd[10]},${hdrsd[11]}" - 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 " hdrsd[sd]=\"\$(grep \"^\${sdarray[sd]}\" \"\$HDRFILE\" | tail -1 | awk -F= '{print \$2}' | awk -F/ '{print \$1}')\""
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
.