Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 272
View file
ffhevc.changes
Changed
@@ -1,4 +1,12 @@ ------------------------------------------------------------------- +Fri Nov 14 08:25:00 UTC 2025 - microchip8@proton.me + +- Update to version 4.6.8 + * Fixed a bug in the options parsing that resulted in + max-cll and dhdr10 not being added for HDR encodings + * Minor code restructuring in the HDR code + +------------------------------------------------------------------- Thu Nov 13 19:10:00 UTC 2025 - microchip8@proton.me - Update to version 4.6.7
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 4.6.7 +Version: 4.6.8 Release: %mkrel 1 Summary: A small shell script for encoding to H.265/HEVC with FFmpeg License: GPL-2.0+
View file
ffhevc-4.6.7.tar.gz/AUTHORS -> ffhevc-4.6.8.tar.gz/AUTHORS
Changed
@@ -1,3 +1,3 @@ -- Grozdan Nikolov aka microchip <microchip8@proton.me> +- Grozdan "microchip" Nikolov <microchip8@proton.me> Author/maintainer/developer/packager
View file
ffhevc-4.6.7.tar.gz/ChangeLog -> ffhevc-4.6.8.tar.gz/ChangeLog
Changed
@@ -1,3 +1,8 @@ +2025-11-14 - ffhevc 4.6.8 + * Fixed a bug in the options parsing that resulted in + max-cll and dhdr10 not being added for HDR encodings + * Minor code restructuring in the HDR code + 2025-11-13 - ffhevc 4.6.7 * Lower qg-size to 16 for HDR encodings * Enable hdr10-opt by default for HDR encodings
View file
ffhevc-4.6.7.tar.gz/README -> ffhevc-4.6.8.tar.gz/README
Changed
@@ -1,7 +1,6 @@ -ffhevc is a small TUI (Terminal User Interface) shell program for -encoding to H.265/HEVC video using ffmpeg and the libx265 library. -I wrote it for my own use but share it with others in the hope to -be useful. +ffhevc is a smallish TUI (Terminal User Interface) Bash shell program for +encoding to H.265/HEVC video using FFmpeg and the libx265 library. I wrote +it for my own use but share it with others in the hope to be useful. Features:
View file
ffhevc-4.6.7.tar.gz/ffhevc -> ffhevc-4.6.8.tar.gz/ffhevc
Changed
@@ -1,9 +1,11 @@ #!/usr/bin/env bash # -# Bash TUI script program to encode to H.265/HEVC video using FFmpeg and libx265. +# TUI (Terminal User Interface) Bash shell program for +# encoding to H.265/HEVC video using FFmpeg and libx265. +# # Author: Grozdan "microchip" Nikolov <microchip8@proton.me> -# Version: 4.6.7 -# Date: 2025-11-13 +# Version: 4.6.8 +# Date: 2025-11-14 # # 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,7 +26,7 @@ brown() { echo -e "\e0;33m$1\e0;39;49m"; } error() { echo -e "\e1;31m$1\e0;39;49m"; } -version="4.6.7" +version="4.6.8" CFG="$HOME/.ffhevc" cfgversion="94" @@ -1633,20 +1635,28 @@ 5) doviprof="5" ;; 8.1|"") doviprof="8.1" ;; 8.2) doviprof="8.2" ;; - *) doviprof="0" ;; + *) + doviprof="0" + nodovi="1" + echo + error "-> Disabling Dolby Vision HDR due to unsupported profile!" + echo + ;; esac - dolby_vision=":dolby-vision-profile=$doviprof" - - 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=\"$(realpath "$dvrpu")\"" + if "$nodovi" != "1" ; then + dolby_vision=":dolby-vision-profile=$doviprof" + + 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=\"$(realpath "$dvrpu")\"" + fi fi fi fi @@ -1662,7 +1672,7 @@ 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" + test -z "${hdrsdi}" && hdrsdi="NOT_AVAIL" done rm -f "$HDRFILE" MDCV="G(${hdrsd0},${hdrsd1})B(${hdrsd2},${hdrsd3})R(${hdrsd4},${hdrsd5})WP(${hdrsd6},${hdrsd7})L(${hdrsd9},${hdrsd8})" @@ -1670,19 +1680,23 @@ check_hdr_func() { case "$1" in md) - if ! -z "$(echo "$master_display" | grep 'ENOT_AVAIL')" ; then + if ! -z "$(echo "$master_display" | grep 'NOT_AVAIL')" ; then master_display=""; nohdr="1" echo - error "-> Disabling HDR10 due to unavailable values!" + error "-> Disabling HDR10 due to missing value(s)!" echo fi ;; cll) - if ! -z "$(echo "$max_cll" | grep 'ENOT_AVAIL')" ; then - max_cll=":max-cll=\"0,0\"" - echo - error "-> Setting max-cll to 0,0 due to unavailable values!" - echo + if ! -z "$(echo "$max_cll" | grep 'NOT_AVAIL')" ; then + if "$nohdr" != "1" ; then + max_cll=":max-cll=\"0,0\"" + echo + error "-> Setting max-cll to 0,0 due to missing value(s)!" + echo + else + max_cll="" + fi fi ;; esac @@ -1707,32 +1721,35 @@ else max_cll=":max-cll=\"$maxcll\"" fi - printf "Flag the file as HLG (Hybrid Log Gamma)? y/N: " - read fhlg - if "$fhlg" = "y" -o "$fhlg" = "Y" ; then - hlg=":pic-struct=0:atc-sei=18" + if "$nohdr" != "1" ; then + printf "Flag the file as HLG (Hybrid Log Gamma)? y/N: " + read fhlg + if "$fhlg" = "y" -o "$fhlg" = "Y" ; then + hlg=":pic-struct=0:atc-sei=18" + fi fi - test "$nohdr" = "1" && hdr10=":hdr10=0" || hdr10=":hdr10=1" - 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 - echo - error "-> No such file. Skipping!" - echo - else - dhdr10=":dhdr10-info=\"$(realpath "$json")\"" + if "$nohdr" != "1" ; then + 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=\"$(realpath "$json")\"" + fi + fi fi fi + test "$nohdr" = "1" && hdr10=":hdr10=0" || hdr10=":hdr10=1" fi fi - if ! -z "$master_display" -o ! -z "$max_cll" -o ! -z "$dhdr10" -o ! -z "$dolby_vision" -o ! -z "$dolby_vision_rpu" ; then + if "$nohdr" != "1" -o "$nodovi" != "1" ; then hdr_encopts=":hdr10-opt=1:open-gop=0:repeat-headers=1:cbqpoffs=-3:crqpoffs=-3:qg-size=16$hlg" fi @@ -1764,8 +1781,8 @@ fi # For SDR encodings -if -z "$hdr_encopts" -a -z "$colorspace" ; then - cbcrqpoffs=":cbqpoffs=1:crqpoffs=1" +if -z "$hdr_encopts" -a ! -z "$tonemap" ; then + cbcrqpoffs=":cbqpoffs=0:crqpoffs=0" fi # Used by cropping and bitrate @@ -1864,7 +1881,7 @@ ;; zimg) echo - green "-> Using zimg zcale software scaler '$ZSCALER'" + green "-> Using zimg software scaler '$ZSCALER'" green "-> Set in config file '$CFG'$PRST" echo ;; @@ -3935,9 +3952,9 @@ test ! -z "$vidfilters" && vfilters="-vf $vidfilters" if ! -z "$(echo "$vpreset" | grep 'script')" -o ! -z "$PRESETFILE" ; then - X265PARAMS=":$X265PARAMS$colorprim$interlaced$dolby_vision$dolby_vision_rpu$master_display$max_clldhdr10$hdr_encopts$hdr10$min_keyint$max_keyint$chromaloc$vbv_maxrate$vbv_bufsize$dither$level_idc$rc_grain$cbcrqpoffs $vtune" + X265PARAMS=":$X265PARAMS$colorprim$interlaced$dolby_vision$dolby_vision_rpu$master_display$max_cll$dhdr10$hdr_encopts$min_keyint$max_keyint$chromaloc$hdr10$vbv_maxrate$vbv_bufsize$dither$level_idc$rc_grain$cbcrqpoffs $vtune" else - X265PARAMS="$colorprim$interlaced$dolby_vision$dolby_vision_rpu$master_display$max_cll$dhdr10$hdr_encopts$hdr10$min_keyint$max_keyint$chromaloc$vbv_maxrate$vbv_bufsize$dither$level_idc$rc_grain$cbcrqpoffs $vpreset $vtune" + X265PARAMS="$colorprim$interlaced$dolby_vision$dolby_vision_rpu$master_display$max_cll$dhdr10$hdr_encopts$min_keyint$max_keyint$chromaloc$hdr10$vbv_maxrate$vbv_bufsize$dither$level_idc$rc_grain$cbcrqpoffs $vpreset $vtune" fi test ! -z "$COMMENT" && METACOMMENT="-metadata comment=\"$COMMENT\""
View file
ffhevc-4.6.7.tar.gz/ffhevc.1 -> ffhevc-4.6.8.tar.gz/ffhevc.1
Changed
@@ -13,7 +13,7 @@ .br .SH DESCRIPTION -\fBffhevc\fR is a small yet quite capable TUI (Terminal User Interface) shell program for encoding +\fBffhevc\fR is a smallish yet quite capable TUI (Terminal User Interface) shell program for encoding to the H.265/HEVC video format. It uses the FFmpeg encoder and the libx265 library. \fBffhevc\fR supports a wide range of options for video encoding coupled with support for encoding multiple audio tracks and copying multiple subtitles. \fBffhevc\fR only supports as input video files so it is @@ -122,7 +122,7 @@ .SH AUTHORS .B ffhevc -was written by Grozdan Nikolov <microchip8@proton.me> +was written by Grozdan \'microchip\' Nikolov <microchip8@proton.me> .SH BUG REPORTS Please send all bug reports and/or questions/suggestions/donations to <microchip8@proton.me>
View file
ffhevc-4.6.7.tar.gz/hdr -> ffhevc-4.6.8.tar.gz/hdr
Changed
@@ -14,7 +14,7 @@ for i in {0..11}; do hdri="$(grep "^${sdarrayi}" "$hdrfile" | tail -1 | awk -F= '{print $2}' | awk -F/ '{print $1}')" - test -z "${hdri}" && hdri="ENOT_AVAIL" + test -z "${hdri}" && hdri="NOT_AVAIL" done echo "-> master-display: G(${hdr0},${hdr1})B(${hdr2},${hdr3})R(${hdr4},${hdr5})WP(${hdr6},${hdr7})L(${hdr9},${hdr8})"
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
.