Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 271
View file
ffhevc.changes
Changed
@@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Thu Nov 13 19:10:00 UTC 2025 - microchip8@proton.me + +- Update to version 4.6.7 + * Lower qg-size to 16 for HDR encodings + * Enable hdr10-opt by default for HDR encodings + * Set default in-script FFmpeg scaler to natural bicubic + spline and the default zimg scaler to spline36 + * Minor improvements to the scaling code + * Updated the README and man page files + +------------------------------------------------------------------- Wed Nov 12 22:30:00 UTC 2025 - microchip8@proton.me - Update to version 4.6.6
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 4.6.6 +Version: 4.6.7 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.6.tar.gz/ChangeLog -> ffhevc-4.6.7.tar.gz/ChangeLog
Changed
@@ -1,3 +1,11 @@ +2025-11-13 - ffhevc 4.6.7 + * Lower qg-size to 16 for HDR encodings + * Enable hdr10-opt by default for HDR encodings + * Set default in-script FFmpeg scaler to natural bicubic + spline and the default zimg scaler to spline36 + * Minor improvements to the scaling code + * Updated the README and man page files + 2025-11-12 - ffhevc 4.6.6 * Lower subme from 7 to 5 in the script preset and increase aq-strength to 1.1
View file
ffhevc-4.6.6.tar.gz/README -> ffhevc-4.6.7.tar.gz/README
Changed
@@ -1,6 +1,7 @@ -ffhevc is a small shell script 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 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. Features:
View file
ffhevc-4.6.6.tar.gz/ffhevc -> ffhevc-4.6.7.tar.gz/ffhevc
Changed
@@ -1,9 +1,9 @@ #!/usr/bin/env bash # -# Small script to encode to H.265/HEVC video using FFmpeg and libx265. +# Bash TUI script program to encode to H.265/HEVC video using FFmpeg and libx265. # Author: Grozdan "microchip" Nikolov <microchip8@proton.me> -# Version: 4.6.6 -# Date: 2025-11-12 +# Version: 4.6.7 +# Date: 2025-11-13 # # 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 +24,7 @@ brown() { echo -e "\e0;33m$1\e0;39;49m"; } error() { echo -e "\e1;31m$1\e0;39;49m"; } -version="4.6.6" +version="4.6.7" CFG="$HOME/.ffhevc" cfgversion="94" @@ -1712,11 +1712,6 @@ if "$fhlg" = "y" -o "$fhlg" = "Y" ; then hlg=":pic-struct=0:atc-sei=18" fi - printf "Enable Luma/Chroma Optimization (hdr10-opt)? y/N: " - read lcopt - if "$lcopt" = "y" -o "$lcopt" = "Y" ; then - hdr10_opt=":hdr10-opt=1" - fi test "$nohdr" = "1" && hdr10=":hdr10=0" || hdr10=":hdr10=1" fi @@ -1738,7 +1733,7 @@ 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:cbqpoffs=-3:crqpoffs=-3$hlg" + hdr_encopts=":hdr10-opt=1:open-gop=0:repeat-headers=1:cbqpoffs=-3:crqpoffs=-3:qg-size=16$hlg" fi if ! -z "$batchmode" ; then @@ -1756,7 +1751,7 @@ echo " hdrsdsd=\"\$(grep \"^\${sdarraysd}\" \"\$HDRFILE\" | tail -1 | awk -F= '{print \$2}' | awk -F/ '{print \$1}')\"" echo " done" echo " rm -f \"\$HDRFILE\"" - echo " hdr_encopts=\":hdr10-opt=1:open-gop=0:repeat-headers=1:cbqpoffs=-3:crqpoffs=-3\"" + echo " hdr_encopts=\":hdr10-opt=1:open-gop=0:repeat-headers=1:cbqpoffs=-3:crqpoffs=-3:qg-size=16\"" 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}\"" } @@ -1858,6 +1853,23 @@ fi if "$SCALE" = "y" ; then + presetconf_func() { + test ! -z "$PRESETFILE" && PRST=" or '$(realpath "$PRESETFILE")'" + case "$1" in + ffmpeg) + echo + green "-> Using FFmpeg software scaler '$scaler'" + green "-> Set in config file '$CFG'$PRST" + echo + ;; + zimg) + echo + green "-> Using zimg zcale software scaler '$ZSCALER'" + green "-> Set in config file '$CFG'$PRST" + echo + ;; + esac + } echo green "-> Detecting video resolution..." sleep 1 @@ -1882,7 +1894,7 @@ sws_func() { case "$1" in config) swsopt="$SCALER" ;; - script) test -z "$swsopt" && swsopt="8" || swsopt="$swsopt" ;; + script) test -z "$swsopt" && swsopt="9" || swsopt="$swsopt" ;; esac case "$swsopt" in 0) scaler="fast_bilinear" ;; @@ -1922,19 +1934,17 @@ echo " 9 --> Natural Bicubic Spline" echo " 10 -> Experimental" echo - printf "Sepcify the Software Scaler default is 8: " + printf "Sepcify the Software Scaler default is 9: " read swsopt sws_func script else case "$SCALER" in 0-9|10) sws_func config - echo - green "-> Using software scaler '$scaler' set in config file '$CFG'" - echo + presetconf_func ffmpeg ;; *) - error "-> Invalid software scaler in config file '$CFG'" + error "-> Invalid software scaler in config file '$CFG'$PRST" exit 1 ;; esac @@ -2014,9 +2024,7 @@ ZWIDTH="$(echo "$res" | awk -Fx '{print $1}')" ZHEIGHT="$(echo "$res" | awk -Fx '{print $2}')" if ! -z "$ZSCALER" ; then - echo - green "-> Using zcale software scaler '$ZSCALER' set in config file '$CFG'" - echo + presetconf_func zimg zfilter="$ZSCALER" test "$ZSCALER" = "lanczos3" && zparam=":param_a=3" test "$ZSCALER" = "lanczos4" && zparam=":param_a=4" @@ -2032,15 +2040,15 @@ echo " 5 -> Lanczos3" echo " 6 -> Lanczos4" echo - printf "Specify the Software Scaler default is 5: " + printf "Specify the Software Scaler default is 4: " read swsopt case "$swsopt" in 0) zfilter="point" ;; 1) zfilter="bilinear" ;; 2) zfilter="bicubic" ;; 3) zfilter="spline16" ;; - 4) zfilter="spline36" ;; - 5|"") zfilter="lanczos"; zparam=":param_a=3" ;; + 4|"") zfilter="spline36" ;; + 5) zfilter="lanczos"; zparam=":param_a=3" ;; 6) zfilter="lanczos"; zparam=":param_a=4" ;; *) error "-> Invalide software scaler!" @@ -3927,9 +3935,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_cll$hdr10$hdr10_opt$dhdr10$hdr_encopts$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_clldhdr10$hdr_encopts$hdr10$min_keyint$max_keyint$chromaloc$vbv_maxrate$vbv_bufsize$dither$level_idc$rc_grain$cbcrqpoffs $vtune" else - X265PARAMS="$colorprim$interlaced$dolby_vision$dolby_vision_rpu$master_display$max_cll$hdr10$hdr10_opt$dhdr10$hdr_encopts$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$hdr10$min_keyint$max_keyint$chromaloc$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.6.tar.gz/ffhevc.1 -> ffhevc-4.6.7.tar.gz/ffhevc.1
Changed
@@ -3,7 +3,7 @@ .de IPs .IP "\\$1" .. -.TH ffhevc 1 "Jun 04, 2025" +.TH ffhevc 1 "Nov 13, 2025" .SH NAME ffhevc @@ -13,10 +13,10 @@ .br .SH DESCRIPTION -\fBffhevc\fR is a small yet quite capable shell script 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 +\fBffhevc\fR is a small 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 not possible to encode directly from a DVD/BD drive or an ISO image. .LP The script uses a configuration file stored in $HOME/.ffhevc where the user can set things up.
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
.