https://github.com/HandBrake/HandBrake/releases/tag/1.7.0 Please bump, thanks! Changelog: General Added Apple VideoToolbox hardware presets Updated Creator presets Disabled interlacing detection and removal; assume creators are working with progressive sources by default Updated Social presets Target higher quality and frame rate over shorter durations, without interlacing detection and removal Better suited for modern social sharing of short live action clips and screen/game captures Removed Email presets in favor of revised Social presets Please stop sending videos via email or use the new Social presets Miscellaneous bug fixes and improvements Video Added AMD VCN AV1 encoder Added NVIDIA NVENC AV1 encoder Added support for SVT-AV1 multi-pass ABR mode Added support for preserving ambient viewing enviroment metadata Added QSV Rotate and Format filters Improved performance on arm64 / aarch64 / Apple Silicon architectures Latest FFmpeg provides faster HEVC decoding, 30% faster bwdif filter New SVT-AV1 assembly optimizations provide up to 4x increase in performance Improved video conversion speed by removing unneeded frame copies for better memory efficiency Improved Dolby Vision dynamic range metadata pass through Supported encoders: x265 10-bit Supported profiles and cross-compatibility IDs: 8.4, 8.1, 7.6 (base layer only, converted to 8.1), 5.0 Improved HDR10+ dynamic range metadata pass through Supported encoders: x265 10-bit, SVT-AV1 Improved QSV support on Linux (#4958) Updated NVENC to not use multi-pass by default; user configurable advanced option Renamed 2-pass encode option to multi-pass (#5019) Fixed Intel QSV encoder outputting green video in some cases (#4842, #4876) Fixed pixel format conversion slightly altering colors when using a 10-bit hardware encoder (#5011) Fixed scan failures by using swscale instead of zscale when source resolution is not mod 2 Fixed incorrect PAR when reading from an anamorphic AV1 video track Removed an artificial bitrate limit on VP9 CQ mode Command line interface Renamed --two-pass to --multi-pass and --no-two-pass to --no-multi-pass, removed -2 (#5019) Fixed automatic cropping enabled despite using preset with cropping disabled (#5055) Audio Fixed low volume level when downmixing ac3 and eac3 Fixed left-only and right-only mono mixdowns (#3533, #5054) Subtitles Fixed locale settings potentially causing incorrect decimal separator in SSA headers Fixed a potential issue affecting zero-duration subtitles Build system Added Meson build system for the Linux GUI Third-party libraries New libraries libdovi 3.2.0 (Dolby Vision dynamic range metadata) Updated libraries AMF 1.4.30 (AMD VCN video encoding) FFmpeg 6.1 (decoding and filters) FreeType 2.13.2 (subtitles) Fribidi 1.0.13 (subtitles) HarfBuzz 8.2.2 (subtitles) libass 0.17.1 (subtitles) libdav1d 1.3.0 (AV1 video decoding) liblzma (xz) 5.4.5 (LZMA video decoding, e.g. TIFF) libopus 1.4 (Opus audio encoding) libjpeg-turbo 3.0.1 (preview image compression) libvpx 1.13.1 (VP8/VP9 video encoding) libxml 2.11.5 (general) oneVPL 2023.3.1 (Intel QSV video encoding/decoding) SVT-AV1 1.7 (AV1 video encoding) x264 164 r3107 (H.264/AVC video encoding) x265 r12776 (H.265/HEVC video encoding) zimg 3.0.5 (color conversion) zlib 1.3 (general) Linux Added drag and drop support for video scanning Added support for native file choosers via xdg-desktop-portal Added Queue > Add All menu option Added XML chapter import and export Added bit depth and HDR information to video summary Added option to pause encoding when switching to battery power or when power save mode is activated Added automatic file naming options: {codec} {bit-depth} {width} {height} {modification-date} {modification-time} Updated Queue, Activity, and Presets windows to no longer float on top of the main window Updated existing translations Removed obsolete update checker Miscellaneous bug fixes and improvements Reproducible: Always
add gtk4 flag while your at it. also looks like allot of deps aren't in tree yet, will probably take a while.
Created attachment 875262 [details] handbrake-1.7.0.ebuild
Created attachment 875263 [details] handbrake-1.7.0.ebuild once ffmpeg 6.1 lands in tree I will be able to finish testing also found some bugs in previous build version
(In reply to Gino McCarty from comment #3) > Created attachment 875263 [details] > handbrake-1.7.0.ebuild > > once ffmpeg 6.1 lands in tree I will be able to finish testing > > also found some bugs in previous build version I think two big problems come from - x265 library: I cannot find r12776 "version" - the libdovi library that isn't in the portage tree Without the former I'm not able to build 1.7.x branch. Iade
(In reply to Iade Gesso from comment #4) > (In reply to Gino McCarty from comment #3) > > Created attachment 875263 [details] > > handbrake-1.7.0.ebuild > > > > once ffmpeg 6.1 lands in tree I will be able to finish testing > > > > also found some bugs in previous build version > > I think two big problems come from > - x265 library: I cannot find r12776 "version" > - the libdovi library that isn't in the portage tree > > Without the former I'm not able to build 1.7.x branch. > > > Iade UPDATE Even installing x265-9999 and disabling dolby use flag, I cannot build Handbrake 1.7.x due to some error related to x265 (I will post the error after my system will finish to rebuild all the installed packages).
(In reply to Iade Gesso from comment #5) > (In reply to Iade Gesso from comment #4) > > (In reply to Gino McCarty from comment #3) > > > Created attachment 875263 [details] > > > handbrake-1.7.0.ebuild > > > > > > once ffmpeg 6.1 lands in tree I will be able to finish testing > > > > > > also found some bugs in previous build version > > > > I think two big problems come from > > - x265 library: I cannot find r12776 "version" > > - the libdovi library that isn't in the portage tree > > > > Without the former I'm not able to build 1.7.x branch. > > > > > > Iade > > UPDATE > > Even installing x265-9999 and disabling dolby use flag, I cannot build > Handbrake 1.7.x due to some error related to x265 (I will post the error > after my system will finish to rebuild all the installed packages). UPDATE 2: I just created an ebuild for libdovi. You can find it in my small overlay: https://github.com/iadegesso/howl-gentoo-overlay Anyway, even with HandBrake 1.7.3 the build process dies for a mismatching data structure in x265 code... I'm not able to find where I could get the x265 r12776 source code...
Created attachment 886545 [details] Latest (March 2024) 1.7.x proposed .ebuild
(In reply to Iade Gesso from comment #6) > (In reply to Iade Gesso from comment #5) > > (In reply to Iade Gesso from comment #4) > > > (In reply to Gino McCarty from comment #3) > > > > Created attachment 875263 [details] > > > > handbrake-1.7.0.ebuild > > > > > > > > once ffmpeg 6.1 lands in tree I will be able to finish testing > > > > > > > > also found some bugs in previous build version > > > > > > I think two big problems come from > > > - x265 library: I cannot find r12776 "version" > > > - the libdovi library that isn't in the portage tree > > > > > > Without the former I'm not able to build 1.7.x branch. > > > > > > > > > Iade > > > > UPDATE > > > > Even installing x265-9999 and disabling dolby use flag, I cannot build > > Handbrake 1.7.x due to some error related to x265 (I will post the error > > after my system will finish to rebuild all the installed packages). > > UPDATE 2: > > I just created an ebuild for libdovi. You can find it in my small overlay: > https://github.com/iadegesso/howl-gentoo-overlay > > Anyway, even with HandBrake 1.7.3 the build process dies for a mismatching > data structure in x265 code... I'm not able to find where I could get the > x265 r12776 source code... You may need to apply HandBrake's own contrib patches to both media-libs/x265 and media-video/ffmepg (more about this below), and then rebuild x265 and ffmpeg before handbrake. I rebuilt also media-libs/libheif (no custom patches needed, though). NOTE: HandBrake 1.7.3 seems to be not ready yet to support GTK4 (aka 'gtk4' use flag). =media-libs/x265-3.5-r3::gentoo + HandBrake's own contrib patches =media-video/ffmpeg-6.1.1-r4::gentoo + HandBrake's own contrib patches Gentoo's user patches wiki: https://wiki.gentoo.org/wiki//etc/portage/patches https://github.com/HandBrake/HandBrake/releases/download/1.7.3/HandBrake-1.7.3-source.tar.bz2 Put HandBrake-1.7.3/contrib/x265/A04-ambient-viewing-enviroment-sei.patch in /etc/portage/patches/media-libs/x265-3.5 The above patch requires to strip two elements, i.e. `patch -p2 < ...`. You may need to edit the patch and change: - all ' a/source/' in ' a/' - all ' b/source/' in ' b/' Put HandBrake-1.7.3/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-packet-side-.patch HandBrake-1.7.3/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch in /etc/portage/patches/media-video/ffmpeg-6.1.1 Rebuild both x265 and ffmpeg (I also rebuilt libheif). handbrake-1.7.3.ebuild by Iade Gesso: https://bugs.gentoo.org/attachment.cgi?id=886545 # emerge -v --info handbrake ... media-video/handbrake-1.7.3::localrepo was built with the following: USE="fdk gstreamer gtk3 numa nvenc x265 -dolby -gtk4" ABI_X86="(64) ... Compiling with the 'dolby' use flag enabled (aka media-libs/libdovi), I get 'undefined reference' errors: =media-libs/libdovi-3.2.0: https://github.com/iadegesso/howl-gentoo-overlay/tree/master/media-libs/libdovi /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: ./libhb/libhandbrake.a(rpu.o): in function `rpu_work': rpu.c:(.text+0xea): undefined reference to `dovi_parse_unspec62_nalu' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x13d): undefined reference to `dovi_rpu_free' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x1e5): undefined reference to `dovi_write_unspec62_nalu' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x249): undefined reference to `dovi_data_free' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x25d): undefined reference to `dovi_rpu_get_vdr_dm_data' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x357): undefined reference to `dovi_rpu_set_active_area_offsets' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x36d): undefined reference to `dovi_rpu_free_vdr_dm_data' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x385): undefined reference to `dovi_rpu_get_header' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x39a): undefined reference to `dovi_rpu_free_header' /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x40e): undefined reference to `dovi_convert_rpu_with_mode' Thanks, - mehw
(In reply to mehw from comment #8) > (In reply to Iade Gesso from comment #6) > > (In reply to Iade Gesso from comment #5) > > > (In reply to Iade Gesso from comment #4) > > > > (In reply to Gino McCarty from comment #3) > > > > > Created attachment 875263 [details] > > > > > handbrake-1.7.0.ebuild > > > > > > > > > > once ffmpeg 6.1 lands in tree I will be able to finish testing > > > > > > > > > > also found some bugs in previous build version > > > > > > > > I think two big problems come from > > > > - x265 library: I cannot find r12776 "version" > > > > - the libdovi library that isn't in the portage tree > > > > > > > > Without the former I'm not able to build 1.7.x branch. > > > > > > > > > > > > Iade > > > > > > UPDATE > > > > > > Even installing x265-9999 and disabling dolby use flag, I cannot build > > > Handbrake 1.7.x due to some error related to x265 (I will post the error > > > after my system will finish to rebuild all the installed packages). > > > > UPDATE 2: > > > > I just created an ebuild for libdovi. You can find it in my small overlay: > > https://github.com/iadegesso/howl-gentoo-overlay > > > > Anyway, even with HandBrake 1.7.3 the build process dies for a mismatching > > data structure in x265 code... I'm not able to find where I could get the > > x265 r12776 source code... > > You may need to apply HandBrake's own contrib patches to both > media-libs/x265 and media-video/ffmepg (more about this below), and then > rebuild x265 and ffmpeg before handbrake. I rebuilt also media-libs/libheif > (no custom patches needed, though). > > NOTE: HandBrake 1.7.3 seems to be not ready yet to support GTK4 (aka 'gtk4' > use flag). > > > =media-libs/x265-3.5-r3::gentoo + HandBrake's own contrib patches > =media-video/ffmpeg-6.1.1-r4::gentoo + HandBrake's own contrib patches > > Gentoo's user patches wiki: https://wiki.gentoo.org/wiki//etc/portage/patches > > https://github.com/HandBrake/HandBrake/releases/download/1.7.3/HandBrake-1.7. > 3-source.tar.bz2 > > Put > HandBrake-1.7.3/contrib/x265/A04-ambient-viewing-enviroment-sei.patch > in > /etc/portage/patches/media-libs/x265-3.5 > > The above patch requires to strip two elements, i.e. `patch -p2 < ...`. You > may need to edit the patch and change: > - all ' a/source/' in ' a/' > - all ' b/source/' in ' b/' > > Put > HandBrake-1.7.3/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment- > packet-side-.patch > HandBrake-1.7.3/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient- > viewing-en.patch > in > /etc/portage/patches/media-video/ffmpeg-6.1.1 > > Rebuild both x265 and ffmpeg (I also rebuilt libheif). > > > handbrake-1.7.3.ebuild by Iade Gesso: > https://bugs.gentoo.org/attachment.cgi?id=886545 > > # emerge -v --info handbrake > ... > media-video/handbrake-1.7.3::localrepo was built with the following: > USE="fdk gstreamer gtk3 numa nvenc x265 -dolby -gtk4" ABI_X86="(64) > ... > > > Compiling with the 'dolby' use flag enabled (aka media-libs/libdovi), I get > 'undefined reference' errors: > > =media-libs/libdovi-3.2.0: > https://github.com/iadegesso/howl-gentoo-overlay/tree/master/media-libs/ > libdovi > > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > ./libhb/libhandbrake.a(rpu.o): in function `rpu_work': > rpu.c:(.text+0xea): undefined reference to `dovi_parse_unspec62_nalu' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x13d): undefined reference to `dovi_rpu_free' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x1e5): undefined reference to `dovi_write_unspec62_nalu' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x249): undefined reference to `dovi_data_free' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x25d): undefined reference to `dovi_rpu_get_vdr_dm_data' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x357): undefined reference to > `dovi_rpu_set_active_area_offsets' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x36d): undefined reference to `dovi_rpu_free_vdr_dm_data' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x385): undefined reference to `dovi_rpu_get_header' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x39a): undefined reference to `dovi_rpu_free_header' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > rpu.c:(.text+0x40e): undefined reference to `dovi_convert_rpu_with_mode' > > > Thanks, > - mehw Hi, in my case, after patching x265 and ffmpeg (and rebuilt them correctly), I get the following error (full trace in the attachments): > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: ./libhb/libhandbrake.a(common.o): undefined reference to symbol 'x265_api_query' > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libx265.so.199: error adding symbols: DSO missing from command line > collect2: error: ld returned 1 exit status > make: *** [../test/module.rules:49: HandBrakeCLI] Error 1 > make: Leaving directory '/tmp/portage/media-video/handbrake-1.7.3-r900/work/HandBrake-1.7.3/build' Iade
Created attachment 887851 [details] Comment 9 error log
Created attachment 887852 [details] Comment 9: emerge --info =media-video/handbrake-1.7.3
(In reply to Iade Gesso from comment #9) > Hi, > in my case, after patching x265 and ffmpeg (and rebuilt them correctly), I > get the following error (full trace in the attachments): > > > > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > ./libhb/libhandbrake.a(common.o): undefined reference to symbol > 'x265_api_query' > > > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > /usr/lib64/libx265.so.199: error adding symbols: DSO missing from command > line > > collect2: error: ld returned 1 exit status > > make: *** [../test/module.rules:49: HandBrakeCLI] Error 1 > > make: Leaving directory > '/tmp/portage/media-video/handbrake-1.7.3-r900/work/HandBrake-1.7.3/build' > > > Iade Hi, What .ebuild are you using? Are you compiling with `ebuild handbrake-*.ebuild compile` or with `emerge -v --ask handbrake`? If you are using the former, you might miss some dependencies, or not enforcing the right versions... In your error.log there's no '-lx265', which is a requirement for 'x265_api_query', also the 'x265' use flag needs to be enabled along with 'numa' (.ebuild: REQUIRED_USE="numa? ( x265 )"): /usr/bin/g++ -pipe -Wl,-S -Wl,-O1 -Wl,--as-needed -fmessage-length=0 -Wall -Wno-format-truncation -g0 -O3 -mfpmath=sse -msse2 -O2 -pipe -march=haswell -msse4 -msse4.1 -msse4.2 -mcx16 -fomit-frame-pointer -mfpmath=sse -fno-lto -msahf -f\ stack-protector-strong -D_FORTIFY_SOURCE=2 -I./libhb/ -Iinclude -I/usr/include/libxml2 -o HandBrakeCLI -Wl,--start-group test/parsecsv.o test/test.o ./libhb/libhandbrake.a -Llib -lass -lavformat -lavfilter -lavcodec -lavutil -lswresamp\ le -lpostproc -lmp3lame -ldvdnav -ldvdread -lfribidi -lswscale -lvpx -ltheoraenc -ltheoradec -lvorbis -lvorbisenc -logg -lx264 -lbluray -lfreetype -lxml2 -lbz2 -lz -ljansson -lharfbuzz -lopus -lspeex -llzma -ldav1d -lturbojpeg -lzimg -\ lSvtAv1Enc -lfontconfig -lpthread -ldl -lm -lnuma -Wl,--end-group Could you please check the following: $ equery depends x265 * These packages depend on x265: ... media-video/handbrake-1.7.3 (x265 ? >=media-libs/x265-3.5-r2[10bit,12bit,numa?]) ... $ scanelf -l -s x265_api_query | grep x265_api_query ET_DYN x265_api_query /usr/lib64/libx265.so.199 ET_DYN x265_api_query /usr/lib/libx265.so.199 Also, in your error.log I see: /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libSvtAv1Enc.so.1, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libavcodec.so, may conflict with libSvtAv1Enc.so.2 Could you please also try these: $ eix -Ic media-libs/svt-av1 [I] media-libs/svt-av1 (2.0.0-r100(0/2){tbz2}[1]@03/15/2024): Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) [1] "stefantalpalaru" /var/db/repos/stefantalpalaru $ ls /usr/lib*/libSvtAv1* /usr/lib64/libSvtAv1Dec.so /usr/lib64/libSvtAv1Dec.so.0 /usr/lib64/libSvtAv1Dec.so.0.8.7 /usr/lib64/libSvtAv1Enc.so /usr/lib64/libSvtAv1Enc.so.2 /usr/lib64/libSvtAv1Enc.so.2.0.0 PS: You might need to install >=media-libs/svt-av1-1.7 from the "stefantalpalaru" overlay. Let us know, thanks.
Created attachment 887875 [details] media-video/handbrake-1.7.3.ebuild Remember to apply HandBrake's contrib patches to media-video/ffmpeg and media-libs/x265 when compiling >=media-video/handbrake-1.7.0: https://bugs.gentoo.org/917591#c8
Created attachment 887876 [details, diff] media-video/handbrake-1.7.3: custom user's patch x265_api_query-libhb-fix.patch Put custom user's patches in '/etc/portage/patches/media-video/handbrake-1.7.3' when using the attached media-video/handbrake-1.7.3.ebuild: https://bugs.gentoo.org/attachment.cgi?id=887875 Please, also read the comments inside all .patch files.
Created attachment 887877 [details, diff] media-video/handbrake-1.7.3: custom user's patch x265_api_query-test-fix.patch
Created attachment 887878 [details, diff] media-video/handbrake-1.7.3: custom user's patch build-contrib-include-directory-fix.patch
(In reply to mehw from comment #12) > (In reply to Iade Gesso from comment #9) > > Hi, > > in my case, after patching x265 and ffmpeg (and rebuilt them correctly), I > > get the following error (full trace in the attachments): > > > > > > > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > > ./libhb/libhandbrake.a(common.o): undefined reference to symbol > > 'x265_api_query' > > > > > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > > /usr/lib64/libx265.so.199: error adding symbols: DSO missing from command > > line > > > collect2: error: ld returned 1 exit status > > > make: *** [../test/module.rules:49: HandBrakeCLI] Error 1 > > > make: Leaving directory > > '/tmp/portage/media-video/handbrake-1.7.3-r900/work/HandBrake-1.7.3/build' > > > > > > Iade > > Hi, > > What .ebuild are you using? > > Are you compiling with `ebuild handbrake-*.ebuild compile` or with `emerge > -v --ask handbrake`? If you are using the former, you might miss some > dependencies, or not enforcing the right versions... > > In your error.log there's no '-lx265', which is a requirement for > 'x265_api_query', also the 'x265' use flag needs to be enabled along with > 'numa' (.ebuild: REQUIRED_USE="numa? ( x265 )"): > > /usr/bin/g++ -pipe -Wl,-S -Wl,-O1 -Wl,--as-needed -fmessage-length=0 -Wall > -Wno-format-truncation -g0 -O3 -mfpmath=sse -msse2 -O2 -pipe -march=haswell > -msse4 -msse4.1 -msse4.2 -mcx16 -fomit-frame-pointer -mfpmath=sse -fno-lto > -msahf -f\ > stack-protector-strong -D_FORTIFY_SOURCE=2 -I./libhb/ -Iinclude > -I/usr/include/libxml2 -o HandBrakeCLI -Wl,--start-group test/parsecsv.o > test/test.o ./libhb/libhandbrake.a -Llib -lass -lavformat -lavfilter > -lavcodec -lavutil -lswresamp\ > le -lpostproc -lmp3lame -ldvdnav -ldvdread -lfribidi -lswscale -lvpx > -ltheoraenc -ltheoradec -lvorbis -lvorbisenc -logg -lx264 -lbluray > -lfreetype -lxml2 -lbz2 -lz -ljansson -lharfbuzz -lopus -lspeex -llzma > -ldav1d -lturbojpeg -lzimg -\ > lSvtAv1Enc -lfontconfig -lpthread -ldl -lm -lnuma -Wl,--end-group > > Could you please check the following: > > $ equery depends x265 > * These packages depend on x265: > ... > media-video/handbrake-1.7.3 (x265 ? > >=media-libs/x265-3.5-r2[10bit,12bit,numa?]) > ... > > $ scanelf -l -s x265_api_query | grep x265_api_query > ET_DYN x265_api_query /usr/lib64/libx265.so.199 > ET_DYN x265_api_query /usr/lib/libx265.so.199 > > > Also, in your error.log I see: > > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: > warning: libSvtAv1Enc.so.1, needed by > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libavcodec.so, may > conflict with libSvtAv1Enc.so.2 > > Could you please also try these: > > $ eix -Ic media-libs/svt-av1 > [I] media-libs/svt-av1 (2.0.0-r100(0/2){tbz2}[1]@03/15/2024): Scalable Video > Technology for AV1 (SVT-AV1 Encoder and Decoder) > [1] "stefantalpalaru" /var/db/repos/stefantalpalaru > > $ ls /usr/lib*/libSvtAv1* > /usr/lib64/libSvtAv1Dec.so > /usr/lib64/libSvtAv1Dec.so.0 > /usr/lib64/libSvtAv1Dec.so.0.8.7 > /usr/lib64/libSvtAv1Enc.so > /usr/lib64/libSvtAv1Enc.so.2 > /usr/lib64/libSvtAv1Enc.so.2.0.0 > > PS: You might need to install >=media-libs/svt-av1-1.7 from the > "stefantalpalaru" overlay. > > > Let us know, thanks. Hi, I already patched both x265 and ffmpeg, and I have svt-av1-2.0.0 installed from xarblu-overlay. I emerge the package using emerge -q handbrake, and the ebuild I use is your own for 1.7.0 version renamed into handbrake-1.7.3.ebuild I will try your latest patches. Iade
(In reply to Iade Gesso from comment #17) > Hi, > I already patched both x265 and ffmpeg, and I have svt-av1-2.0.0 installed > from xarblu-overlay. > I emerge the package using emerge -q handbrake, and the ebuild I use is your > own for 1.7.0 version renamed into handbrake-1.7.3.ebuild > > I will try your latest patches. > > > Iade Your follow-up is much appreciated. Thank you.
(In reply to mehw from comment #18) > (In reply to Iade Gesso from comment #17) > > > Hi, > > I already patched both x265 and ffmpeg, and I have svt-av1-2.0.0 installed > > from xarblu-overlay. > > I emerge the package using emerge -q handbrake, and the ebuild I use is your > > own for 1.7.0 version renamed into handbrake-1.7.3.ebuild > > > > I will try your latest patches. > > > > > > Iade > > Your follow-up is much appreciated. Thank you. Ok, now it builds, but only using gtk3 use flag (with gtk4 it builds but not installs) and disabling dolby use flag. I will test the dolby use flag soon. Thanks, Iade
Created attachment 887993 [details, diff] media-video/handbrake-1.7.3: custom user's patch libdovi-ld.patch (In reply to Iade Gesso from comment #19) > Ok, now it builds, but only using gtk3 use flag (with gtk4 it builds but not > installs) and disabling dolby use flag. I will test the dolby use flag soon. > > > Thanks, > > Iade About the 'dolby' use flag, you may need the attached libdovi-ld.patch, since '-ldovi' is required to compile properly. Also, HandBrake v1.7.3 seems to be not ready yet to support GTK4. make/configure.py:1414: # Option hidden as GUI is not currently buildable with GTK4 grp.add_argument( '--enable-gtk4', default=False, action='store_true', help=argparse.SUPPRESS )
(In reply to mehw from comment #20) > Created attachment 887993 [details, diff] [details, diff] > media-video/handbrake-1.7.3: custom user's patch libdovi-ld.patch > > (In reply to Iade Gesso from comment #19) > > Ok, now it builds, but only using gtk3 use flag (with gtk4 it builds but not > > installs) and disabling dolby use flag. I will test the dolby use flag soon. > > > > > > Thanks, > > > > Iade > > About the 'dolby' use flag, you may need the attached libdovi-ld.patch, > since '-ldovi' is required to compile properly. > > Also, HandBrake v1.7.3 seems to be not ready yet to support GTK4. > > make/configure.py:1414: > # Option hidden as GUI is not currently buildable with GTK4 > > grp.add_argument( '--enable-gtk4', default=False, action='store_true', > help=argparse.SUPPRESS ) Ok, it works! Thanks. Iade
(In reply to Iade Gesso from comment #21) > Ok, it works! > > Thanks. > > Iade You're welcome ;)
https://github.com/HandBrake/HandBrake/commit/ba6c1c1636329d74184dec9a71666a3be166d932 indicates this will need meson as well in order to build the gui.
(In reply to Eli Schwartz from comment #23) > https://github.com/HandBrake/HandBrake/commit/ > ba6c1c1636329d74184dec9a71666a3be166d932 indicates this will need meson as > well in order to build the gui. Ok, but the GUI issue is only if I try to build it using GTK4... otherwise, if I stay with GTK3 the GUI is build correctly. Anyway, I will add the missing meson dependency to the experimental .ebuild file. Iade
Created attachment 889164 [details] 1.7.3 ebuild with meson dependency
Proposed ebuild needs an updated svt-av1.
1.8.0is out :-)
In trying out 1.8.1, I discover that handbrake is using some ffmpeg-7 functionality *and* some functionality that they've patched into ffmepg downstream in their bundled version of it. I've given them an issue to see if these breaks can be remedied at all for our sake: https://github.com/HandBrake/HandBrake/issues/6179
Since they never intend to compile against system ffmpeg anyway perhaps we should simply move on with things, then?
Any news about version 1.8.2 ?
(In reply to Nebojsa Trpkovic from comment #30) > Any news about version 1.8.2 ? Hello, To compile and run HandBrake v1.8.2 with FFmpeg v6.1.2 and x265 v3.5, you might need to prepare a chimera... If you do, are you willing to report the result back, please? The handbrake-1.8.2.ebuild file and patches still missing in this thread will be attached in following posts. I managed to compile and run HandBrake v1.8.2 on Gentoo amd64. DISCLAIMER: I HAVE NO IDEA OF SIDE ISSUES ABOUT THIS PROCEDURE... You'll need a local overlay for media-video/handbrake-1.8.2.ebuild and user's patches in the following locations (described later, in each section): - /etc/portage/patches/media-libs/x265-3.5/ - /etc/portage/patches/media-video/ffmpeg-6.1.2/ - /etc/portage/patches/media-video/handbrake-1.8.2/ The procedure consists in: A. make x265-3.5 compatible with handbrake-1.8.2; B. make ffmpeg-6.1.2 compatible with handbrake-1.8.2; C. make handbrake-1.8.2 compatible with ffmpeg-6.1.2 (in this version of FFmpeg 'colorspace' is not yet ready, here it's not discussed how to backport it). The objective is to being able to compile and run either HandBrake v1.8.2 and v1.7.3 with FFmpeg v6.1.2 and x265 v3.5 (about HandBrake v1.7.3, you may also read https://bugs.gentoo.org/917591#c8). OVERLAY media-video/handbrake-1.8.2.ebuild ========================================== - GTK3 and GStreamer had been removed (GUI ported to GTK4 only): https://github.com/HandBrake/HandBrake/pull/5793 https://github.com/HandBrake/HandBrake/pull/5896 - Removal of some not direct dependencies: bz2, dav1d, freetype, fribidi, harfbuzz, lzma, mp3lame, speex, vpx, z, zimg. https://github.com/HandBrake/HandBrake/pull/5956 PATCHES for media-libs/x265-3.5 =============================== /etc/portage/patches/media-libs/x265-3.5/ HandBrake v1.7.3 patches for x265 --------------------------------- See also https://bugs.gentoo.org/917591#c8 NOTE: You might need to modify the original (upstream) patch, stripping path components from the targets, otherwise it could be not applicable. - A04-ambient-viewing-enviroment-sei.patch (before was A05-ambient-viewing-enviroment-sei.patch) https://github.com/HandBrake/HandBrake/raw/60e41e54bb66c68a29f4af3ff11d515c82e11ef6/contrib/x265/A04-ambient-viewing-enviroment-sei.patch PATCHES for media-video/ffmpeg-6.1.2 ==================================== /etc/portage/patches/media-video/ffmpeg-6.1.2/ CUSTOM PATCHES -------------- - configure: autodetect libglslang ldflags (ndr applying the upstream e43615fc2ab27d562ed7e087803f4a364a7d1175 alone gives an 'ERROR: spirv_compiler not found' when compiling, you may also take a look at https://bugs.gentoo.org/918989) https://ffmpeg.org/pipermail/ffmpeg-devel/2024-January/319892.html FFmpeg upstream patches ----------------------- Sort of a backport... these patches seem to apply fine to media-video/ffmpeg-6.1.2. 1. avcodec/dovi_rpu: implement support for profile 10 https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/9aecd717ab9fb45bf57329c5afeaf5e80d2a3004 2. avcodec/libdav1d: parse DV profile 10 T.35 OBU https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/a5d1e69b3bd0ff6fea2086ba2bfb67f5c4184b49 3. avcodec/av1dec: parse DV profile 10 T.35 OBU https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/da39a19aadcaa07553554e74309feb0528339c73 4. avcodec/av1dec: use named constants for ITU-T T.35 metadata https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/4ca5d451933fd0c2e16378c3566807fd4dd9ec3f 5. avcodec/h2645_sei: use named constants for ITU-T T.35 metadata https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/a1f714d197bfe0df5abafd6ae51eae552803914e 6. avcodec/libdav1d: use named constants for ITU-T T.35 metadata https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/61519cc6546d4bb590d036fdd3b5ecf346080b69 7. avformat/matroska: use named constants for ITU-T T.35 https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/53dd31497b45b651f06bb89cfabd122f97bce38f HandBrake v1.7.3 patches for FFmpeg ----------------------------------- See also https://bugs.gentoo.org/917591#c8 - A14-avcodec-add-ambient-viewing-environment-packet-side-.patch (d0f915c761cfba6ae46d20fa9b995311ef0f0727 specified in the patch file) https://github.com/HandBrake/HandBrake/raw/2dc35089b3ed4faacc96160f262d00b9e97364a4/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-packet-side-.patch - A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch (db0cd1187ba72e2a140772e579e377f93575a418 specified in the patch file) https://github.com/HandBrake/HandBrake/raw/8531d847703d0ef76b5c8a064042a392d61aee55/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch HandBrake v1.8.2 patches for FFmpeg ----------------------------------- - A17-av1dec-dovi-rpu.patch https://github.com/HandBrake/HandBrake/raw/233d25b96864ecc9788a41713021293d4c736710/contrib/ffmpeg/A17-av1dec-dovi-rpu.patch PATCHES for media-video/handbrake-1.8.2 ======================================= /etc/portage/patches/media-video/handbrake-1.8.2/ CUSTOM PATCHES -------------- - 0001-hbavfilter-fix-garbled-preview-and-crop-not-working.patch ('colorspace' isn't part of ffmpeg-6.1.2, here it's not discussed how to backport it) see new attachments for handbrake-1.8.2 - build-contrib-include-directory-fix.patch (same as for handbrake-1.7.3) https://917591.bugs.gentoo.org/attachment.cgi?id=887878 - x265_api_query-libhb-fix.patch (same as for handbrake-1.7.3) https://917591.bugs.gentoo.org/attachment.cgi?id=887876 - x265_api_query-test-fix.patch (different from the one for handbrake-1.7.3) see new attachments for handbrake-1.8.2 - libdovi-ld.patch (different from the one for handbrake-1.7.3) see new attachments for handbrake-1.8.2 Happy hacking ;)
Created attachment 907281 [details] media-video/handbrake-1.8.2.ebuild OVERLAY media-video/handbrake-1.8.2.ebuild ========================================== - GTK3 and GStreamer had been removed (GUI ported to GTK4 only): https://github.com/HandBrake/HandBrake/pull/5793 https://github.com/HandBrake/HandBrake/pull/5896 - Removal of some not direct dependencies: bz2, dav1d, freetype, fribidi, harfbuzz, lzma, mp3lame, speex, vpx, z, zimg. https://github.com/HandBrake/HandBrake/pull/5956
Created attachment 907282 [details, diff] /etc/portage/patches/media-libs/x265-3.5/ to compile handbrake-1.7.3 and 1.8.2 Ref. https://bugs.gentoo.org/917591#c31 Same as the upstream HandBrake v1.7.3 patch for x265, but with some path components removed from the targets, otherwise it could be not applicable: https://github.com/HandBrake/HandBrake/raw/60e41e54bb66c68a29f4af3ff11d515c82e11ef6/contrib/x265/A04-ambient-viewing-enviroment-sei.patch
Created attachment 907283 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ custom fix to compile with glslang 14 Ref. https://bugs.gentoo.org/917591#c31
Created attachment 907284 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Created attachment 907285 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Created attachment 907286 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Created attachment 907287 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Created attachment 907288 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Created attachment 907289 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Created attachment 907290 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Created attachment 907291 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ from handbrake-1.7.3
Created attachment 907292 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ from handbrake-1.7.3
Created attachment 907293 [details, diff] /etc/portage/patches/media-video/ffmpeg-6.1.2/ from handbrake-1.8.2
Created attachment 907294 [details, diff] /etc/portage/patches/media-video/handbrake-1.8.2/ fix missing 'colorspace' in ffmpeg-6.1.2 Ref. https://bugs.gentoo.org/917591#c31
Created attachment 907295 [details, diff] /etc/portage/patches/media-video/handbrake-1.8.2/ fix missing x265_api_query definition
Created attachment 907296 [details, diff] /etc/portage/patches/media-video/handbrake-1.8.2/ fix for libdovi
Created attachment 907297 [details, diff] /etc/portage/patches/media-video/handbrake-1.8.2/ required to build the GTK interface (same as for handbrake-1.7.3)
Created attachment 907298 [details, diff] /etc/portage/patches/media-video/handbrake-1.8.2/ extra patch for x265_api_query (same as for handbrake-1.7.3)