Projects
Multimedia
ffhevc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 291
View file
ffhevc.changes
Changed
@@ -1,4 +1,14 @@ ------------------------------------------------------------------- +Mon Aug 10 08:30:00 UTC 2026 - microchip8@proton.me + +- Update to version 4.7.5 + * Enable Selective MCSTF and cu-lossless for the built-in + script preset. Requires x265 v4.3 or latest from git + * Add support for the AC-3 fixed point encoder + * Add support for disabling DRC (Dynamic Range Compression) + for the AC-3/E-AC-3 audio codecs + +------------------------------------------------------------------- Mon Jul 27 16:15:00 UTC 2026 - microchip8@proton.me - Update to version 4.7.4
View file
ffhevc.spec
Changed
@@ -17,7 +17,7 @@ Name: ffhevc -Version: 4.7.4 +Version: 4.7.5 Release: %mkrel 1 Summary: A small shell script for encoding to H.265/HEVC with FFmpeg License: GPL-2.0+
View file
ffhevc-4.7.4.tar.gz/ChangeLog -> ffhevc-4.7.5.tar.gz/ChangeLog
Changed
@@ -1,3 +1,10 @@ +2026-08-10- ffhevc 4.7.5 + * Enable Selective MCSTF and cu-lossless for the built-in + script preset. Requires x265 v4.3 or latest from git + * Add support for the AC-3 fixed point encoder + * Add support for disabling DRC (Dynamic Range Compression) + for the AC-3/E-AC-3 audio codecs + 2026-07-27 - ffhevc 4.7.4 * Increase rc-lookahead for the built-in script preset to 240
View file
ffhevc-4.7.4.tar.gz/ffhevc -> ffhevc-4.7.5.tar.gz/ffhevc
Changed
@@ -4,8 +4,8 @@ # encoding to H.265/HEVC video using FFmpeg and libx265. # # Author: Grozdan "microchip" Nikolov <microchip8@proton.me> -# Version: 4.7.4 -# Date: 2026-07-27 +# Version: 4.7.5 +# Date: 2026-08-10 # # ffhevc is free software ; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,10 +26,10 @@ brown() { echo -e "\e0;33m$1\e0;39;49m"; } error() { echo -e "\e1;31m$1\e0;39;49m"; } -version="4.7.4" +version="4.7.5" CFG="$HOME/.ffhevc" -cfgversion="105" +cfgversion="106" genconfig_func() { cat<<EOF>>"$CFG" @@ -137,7 +137,7 @@ # libx265 parameters for the 'script' preset # merange is calculated as: ctu size - 4(luma) - 2(chroma) (- 1 if me=hex is used) -X265PARAMS="ref=4:me=umh:merange=52:subme=7:bframes=6:rd=4:rd-refine=0:qcomp=0.60:fades=1:strong-intra-smoothing=0:ctu=32:qg-size=32:sao=0:selective-sao=0:cu-lossless=0:cutree=1:tu-inter-depth=4:tu-intra-depth=4:max-merge=5:rskip=2:rskip-edge-threshold=1:rc-lookahead=240:lookahead-slices=2:aq-mode=1:aq-strength=1.1:rdoq-level=1:psy-rd=3.0:psy-rdoq=3.5:limit-modes=1:limit-refs=0:limit-tu=0:deblock=-3,-3:weightb=1:weightp=1:rect=1:amp=1:wpp=1:b-intra=1:b-adapt=2:b-pyramid=1:tskip=0:tskip-fast=0:fast-intra=0:early-skip=0:splitrd-skip=0:refine-mv=3:refine-intra=4:refine-inter=1" +X265PARAMS="ref=4:me=umh:merange=52:subme=7:bframes=6:rd=4:rd-refine=0:qcomp=0.60:fades=1:strong-intra-smoothing=0:ctu=32:qg-size=32:sao=0:selective-sao=0:mcstf=1:selective-mcstf=1:cu-lossless=1:cutree=1:tu-inter-depth=4:tu-intra-depth=4:max-merge=5:rskip=2:rskip-edge-threshold=1:rc-lookahead=240:lookahead-slices=2:aq-mode=1:aq-strength=1.1:rdoq-level=1:psy-rd=3.0:psy-rdoq=3.5:limit-modes=1:limit-refs=0:limit-tu=0:deblock=-3,-3:weightb=1:weightp=1:rect=1:amp=1:wpp=1:b-intra=1:b-adapt=2:b-pyramid=1:tskip=0:tskip-fast=0:fast-intra=0:early-skip=0:splitrd-skip=0:refine-mv=3:refine-intra=4:refine-inter=1" # Leave empty to auto-detect ffmpeg/ffprobe/ffplay # or set your custom ones (eg, /path/to/bin/ffmpeg) @@ -2797,6 +2797,16 @@ audmapi="-map ${atracki}" + AC3_AUDi="$($FFPROBE -i "$input" -v quiet -select_streams a:${audindexi} -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1)" + + if "${AC3_AUDi}" = "ac3" -o "${AC3_AUDi}" = "eac3" ; then + printf "Track $i: Disable (E)AC-3 DRC (Dynamic Range Compression)? y/N: " + read drcoffi + if "${drcoffi}" = "y" -o "${drcoffi}" = "Y" ; then + ac3drci="-drc_scale:a:${audindexi} 0" + fi + fi + printf "Track $i: Specify the 3-letter Language Code for Metadata press 'Enter' to skip: " read alangi test ! -z "${alangi}" && audlangi="-metadata:s:a:${audindexi} language=${alangi}" @@ -2806,22 +2816,23 @@ echo brown " Available Audio Codecs" brown " ~~~~~~~~~~~~~~~~~~~~~~" - echo " AC3 -----> Channels Support: 6" - echo " EAC3 ----> Channels Support: 8" - echo " DTS -----> Channels Support: 6" - echo " AAC -----> Channels Support: 8" - echo " FDK-AAC -> Channels Support: 8" - echo " Libopus -> Channels Support: 8" - echo " Opus ----> Channels Support: 2" - echo " Vorbis --> Channels Support: 8" - echo " MP3 -----> Channels Support: 2" - echo " WMAv1 ---> Channels Support: 2" - echo " WMAv2 ---> Channels Support: 2" - echo " TrueHD --> Channels Support: 6" - echo " FLAC ----> Channels Support: 8" - echo " ALAC ----> Channels Support: 8" - echo " PCM -----> Channels Support: 8" - echo " COPY ----> Channels Support: depends on audio codec" + echo " AC3 -------> Channels Support: 6" + echo " AC3-FIXED -> Channels Support: 6" + echo " EAC3 ------> Channels Support: 8" + echo " DTS -------> Channels Support: 6" + echo " AAC -------> Channels Support: 8" + echo " FDK-AAC ---> Channels Support: 8" + echo " Libopus ---> Channels Support: 8" + echo " Opus ------> Channels Support: 2" + echo " Vorbis ----> Channels Support: 8" + echo " MP3 -------> Channels Support: 2" + echo " WMAv1 -----> Channels Support: 2" + echo " WMAv2 -----> Channels Support: 2" + echo " TrueHD ----> Channels Support: 6" + echo " FLAC ------> Channels Support: 8" + echo " ALAC ------> Channels Support: 8" + echo " PCM -------> Channels Support: 8" + echo " COPY ------> Channels Support: depends on audio codec" else echo green "-> Using default audio codec set in config file: $DEFAULT_AUD_CODEC" @@ -2848,8 +2859,12 @@ test -z "${acodeci}" && acodeci="${defacodeci}" acodeci="$(echo "${acodeci}" | tr ':upper:' ':lower:')" case "${acodeci}" in - ac3) - acdci="ac3" + ac3|ac3-fixed) + if "${acodeci}" = "ac3" ; then + acdci="ac3" + else + acdci="ac3_fixed" + fi acdcmetai="AC-3" abroptsi="192/384/448/640" abrdefi="640" @@ -3067,7 +3082,7 @@ esac case "${acodeci}" in - ac3|eac3|truehd|dts|aac|fdk*|mp3|vorbis|libopus|opus|wmav1|wmav2) + ac3|ac3-fixed|eac3|truehd|dts|aac|fdk*|mp3|vorbis|libopus|opus|wmav1|wmav2) printf "Track $i: Specify the Audio Bitrate in kbps ${abroptsi} - default is ${abrdefi}: " read abri test -z "${abri}" && abitratei="${abrdefi}k" || abitratei="${abri}k" @@ -3086,7 +3101,7 @@ esac case "${acodeci}" in - ac3) chanrangei="1-6"; defchani="6" ;; + ac3|ac3-fixed) chanrangei="1-6"; defchani="6" ;; eac3|aac|libopus|vorbis|flac|alac|pcm) chanrangei="1-8"; defchani="8" ;; mp3|opus|wmav1|wmav2) chanrangei="1-2"; defchani="2" ;; truehd) chanrangei="2/4/5/6"; defchani="6" ;; @@ -3108,9 +3123,9 @@ ;; esac case "${acodeci}" in - ac3|eac3) + ac3|ac3-fixed|eac3) case "${acodeci}" in - ac3) + ac3|ac3-fixed) case "${achi}" in 1-6) true ;; *) @@ -3204,9 +3219,9 @@ brown " Audio Channel Layouts" brown " ~~~~~~~~~~~~~~~~~~~~~" case "${acodeci}" in - ac3|eac3) + ac3|ac3-fixed|eac3) case "${acodeci}" in - ac3) + ac3|ac3-fixed) echo " 0 -> Mono 4 -> Quad 8 --> 5.0" ;; eac3) @@ -3495,7 +3510,7 @@ esac case "${acodeci}" in - ac3|eac3) + ac3|ac3-fixed|eac3) printf "Track $i: Specify the Dialog Level Normalization in dB -31 to -1 - default is -31: " read adni test -z "${adni}" && auddialnormi="-dialnorm:a:${audindexi} -31" || auddialnormi="-dialnorm:a:${audindexi} ${adni}" @@ -3551,7 +3566,7 @@ ;; esac ;; - ac3|eac3) + ac3|ac3-fixed|eac3) echo " 0 -> 32000 Hz" echo " 1 -> 44100 Hz" echo " 2 -> 48000 Hz" @@ -3780,7 +3795,7 @@ } case "${GETAUDCDCi}" in - ac3) GETAUDCDCi="AC-3" ;; + ac3|ac3-fixed) GETAUDCDCi="AC-3" ;; eac3|truehd) get_audio_profile_func case "${GETAUDPROFi}" in @@ -4065,14 +4080,14 @@ OPTS3="${audparams*} $strict $subparams $MKVCOVER \"$OUTPUT\"" ;; esac - echo "nice -n $NICE $FFMPEG $verbose -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passone$X265PARAMS $OPTS1" + echo "nice -n $NICE $FFMPEG $verbose ${ac3drc*} -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passone$X265PARAMS $OPTS1" case "$1" in 2p|3p) echo - echo "nice -n $NICE $FFMPEG $verbose -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passtwo$X265PARAMS $OPTS2" + echo "nice -n $NICE $FFMPEG $verbose ${ac3drc*} -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passtwo$X265PARAMS $OPTS2" if "$1" = "3p" ; then echo - echo "nice -n $NICE $FFMPEG $verbose -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passtwo$X265PARAMS $OPTS3" + echo "nice -n $NICE $FFMPEG $verbose ${ac3drc*} -i \"$input\" $VIDOPTS -c:v libx265 -x265-params $passtwo$X265PARAMS $OPTS3" fi ;; esac
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
.