Avidemux Forum

Avidemux => Main version 2.6 => Topic started by: eumagga0x2a on October 02, 2022, 01:42:10 PM

Title: Avidemux 2.8.2 development
Post by: eumagga0x2a on October 02, 2022, 01:42:10 PM
This topic is dedicated exclusively to info and feedback (bugs / features) about Avidemux v2.8.2 dev. builds (official and private).

Official repository: https://github.com/mean00/avidemux2

Official nightly builds: https://avidemux.org/nightly/
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on October 02, 2022, 01:58:08 PM
2022-10-02 nightlies:

Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on October 21, 2022, 09:34:21 PM
2022-10-15 nightlies:

Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on October 23, 2022, 12:53:33 PM
2022-10-23 nightlies:

Title: Re: Avidemux 2.8.2 development
Post by: mayhair on July 09, 2023, 04:58:51 PM
I think in 2.8.2, the ability to input a custom audio bit rate should be added. In the current version (2.8.1), we are limited to a few preset bit rates for each codec. One can already enter a custom bit rate for video, so why not add that functionality for audio too?
(https://i.postimg.cc/4nw06Djw/Screenshot-from-2023-07-09-21-56-46.png) (https://postimg.cc/4nw06Djw)
(https://i.postimg.cc/jWzgLmzH/Screenshot-from-2023-07-09-21-55-59.png) (https://postimg.cc/jWzgLmzH)
Title: Re: Avidemux 2.8.2 development
Post by: UNKNOWN on September 25, 2023, 03:41:46 PM
Hi, this nightly bulds for September are with same problems, missed various dll files when execute...:
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_6.zip
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_7.zip
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_8.zip
https://www.avidemux.org/nightly/win64/avidemux_2.8.2%20r230924_win64.exe

Note: Possible fix them?
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on September 25, 2023, 04:18:18 PM
Quote from: UNKNOWN on September 25, 2023, 03:41:46 PMHi, this nightly bulds for September are with same problems, missed various dll files when execute...:
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_6.zip
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_7.zip
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_8.zip
https://www.avidemux.org/nightly/win64/avidemux_2.8.2%20r230924_win64.exe

Note: Possible fix them?

Please see pinned topic https://avidemux.org/smif/index.php/topic,20301.0.html
Title: Re: Avidemux 2.8.2 development
Post by: ivitek on September 26, 2023, 06:41:53 PM
Quote from: eumagga0x2a on September 25, 2023, 04:18:18 PM
Quote from: UNKNOWN on September 25, 2023, 03:41:46 PMHi, this nightly bulds for September are with same problems, missed various dll files when execute...:
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_6.zip
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_7.zip
https://www.avidemux.org/nightly/win64/avidemux_r230924_win64Qt5_8.zip
https://www.avidemux.org/nightly/win64/avidemux_2.8.2%20r230924_win64.exe

Note: Possible fix them?

Please see pinned topic https://avidemux.org/smif/index.php/topic,20301.0.html

In build avidemux_r230924_win64Qt5_8.zip are in fact 3 libraries missing:
icuin66.dll
icuuc66.dll
libbrotlidec.dll

Looking forward for the fix...
Title: Re: Avidemux 2.8.2 development
Post by: ivitek on October 03, 2023, 11:39:41 AM
In the newest build avidemux_r230930_win64Qt5_10.zip libraries are still missing...
Fix please, thank you
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on October 03, 2023, 10:22:47 PM
The VC++ build from Sep 24 2023 10:03 PM is fine, please use it.

New features:


I'll keep you posted when "win64" cross-builds become usable again.
Title: Re: Avidemux 2.8.2 development
Post by: Vygantas on October 25, 2023, 03:02:51 PM
Any updates on win64 builds?
Title: Re: Avidemux 2.8.2 development
Post by: xanax on October 31, 2023, 08:50:26 AM
for avidemux_r230930_win64Qt5_10.zip i have download libs from
https://github.com/unicode-org/icu/releases/tag/release-66-1icu4c-66_1-Win64-MSVC2017.zip
extract to Avidemux folder:
icudt66.dll
icuin66.dll
icuuc66.dll

then also brotli
https://github.com/google/brotli/releases/tag/v1.1.0brotli-x64-windows-dynamic.zip
extract to Avidemux folder:
brotlicommon.dll
brotlidec.dll

also rename brotlidec.dll to libbrotlidec.dll

(https://i.imgur.com/er52FMu.png) (https://i.imgur.com/er52FMu.png)
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on October 31, 2023, 01:03:06 PM
Quote from: Vygantas on October 25, 2023, 03:02:51 PMAny updates on win64 builds?

No news related to official build nodes yet, but non-official packaging as well as MXE setup script and the how-to have been updated, so you should be fine when cross-compiling 64-bit Windows version of Avidemux yourself. Indeed, Brotli (the decoder part of the library) has been made a dependency of Freetype library by MXE developers, so that libbrotlicommon and libbrotlidec libs need to be packaged as well.

Mixing libraries compiled by different compilers (especially MSVC and MinGW) can easily crash, I am really surprised that it worked in this case.
Title: Re: Avidemux 2.8.2 development
Post by: Vygantas on November 02, 2023, 07:55:57 AM
Quote from: eumagga0x2a on October 31, 2023, 01:03:06 PM
Quote from: Vygantas on October 25, 2023, 03:02:51 PMAny updates on win64 builds?

No news related to official build nodes yet, but non-official packaging as well as MXE setup script and the how-to have been updated, so you should be fine when cross-compiling 64-bit Windows version of Avidemux yourself. Indeed, Brotli (the decoder part of the library) has been made a dependency of Freetype library by MXE developers, so that libbrotlicommon and libbrotlidec libs need to be packaged as well.

Mixing libraries compiled by different compilers (especially MSVC and MinGW) can easily crash, I am really surprised that it worked in this case.

Thank you very much!
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on November 02, 2023, 08:35:51 PM
New Avidemux nightlies from 2023-11-02

appImage for recent Linux distributions (https://avidemux.org/nightly/appImage4Buster/)
Cross-compiled MinGW builds for supported 64-bit Windows versions (https://avidemux.org/nightly/win64/)
macOS Monterey or later (x86_64) (https://avidemux.org/nightly/osx_monterey/) (not yet tested, is fine too)

All platforms:

Vorbis audio tracks in WebM / MKV files can be decoded again. The Vorbis decoder in libavcodec is broken in FFmpeg 6.0 release, the FFmpeg update in Avidemux has imported the upstream problem. Unfortunately, it took a loooong time to notice this in Avidemux and a couple of days to understand what was going on.

The alternative libvorbis-based audio decoder plugin in Avidemux, eclipsed by the libavcodec audio decoder plugin (i.e. the former is selected only if the latter is missing), was broken probably for a decade or so, now fixed as well.

Support for 32-bit signed integer PCM audio tracks as well as incomplete support for 64-bit signed integer PCM audio tracks has been added by szlldm.

Quantizer combo box in VP9 encoder configuration dialog was enforcing a wrong upper bound, now fixed (the issue could be worked around by means of scripting).

Linux-specific:

Avidemux profile directory has been moved from ${HOME}/avidemux6 to ${XDG_DATA_HOME}/avidemux6 with (most of) configuration now stored in ${XDG_CONFIG_HOME}/avidemux6. There are no prompts or automated transition, Avidemux starts afresh. This is intentional, users can manually copy old files from ~/.avidemux6 to (usually) ~/.local/share/avidemux6 with config3 and defaultSettings.py belonging into ~/.config/avidemux6 if they wish so.

Specific to cross-compiled Windows builds:

The ZIP-packaged nightly includes now all necessary DLLs and is fit for broad testing. The NSIS-packaged (*.exe) one cannot be installed due to elevation (UAC) being still broken.
Title: Re: Avidemux 2.8.2 development
Post by: Renxo on November 26, 2023, 09:31:07 PM
Quote from: eumagga0x2a on October 03, 2023, 10:22:47 PMThe VC++ build from Sep 24 2023 10:03 PM is fine, please use it.

New features:

  • libaom-based AV1 encoder
  • NVDEC hw accelerated decoder (depending on installed NVIDIA graphics card, NVDEC supports more codecs than the DXVA2 wrapper, including AV1)

I'll keep you posted when "win64" cross-builds become usable again.

Are there plans for adding NVENC AV1 support to avidemux as well?
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on December 10, 2023, 01:20:55 PM
Quote from: Renxo on November 26, 2023, 09:31:07 PMAre there plans for adding NVENC AV1 support to avidemux as well?

If someone with NVIDIA RTX 40xx graphics card, able to build Avidemux from source, volunteers to do all the testing, then yes. Else, no.
Title: Re: Avidemux 2.8.2 development
Post by: MoonKid on January 07, 2024, 04:33:04 PM
Where is the ticket system?

The linked Microsoft GitHub repo do not have an Issue section.
Title: Re: Avidemux 2.8.2 development
Post by: jimmyjim on January 18, 2024, 11:22:29 PM
There's a crash in 2.8.2.
Probably a rare case as the file is pretty broken, play fines but here it is starting at 960x540 then jumps to 1080x720 i assume after a few frames.
When i open these videos usually i'm met with the decoding frame type popup which i just cancel and can edit the video
(https://i.imgur.com/TtGkTSU.png)
ADM_setCrashHook  [libADM_core6.dll]
ADM_setCrashHook  [libADM_core6.dll]
ADM_backTrack  [libADM_core6.dll]
ADMImage::duplicateMacro(ADMImage*, bool)  [libADM_coreImage6.dll]
ADM_Composer::decompressImage(ADMImage*, ADMCompressedImage*, unsigned int)  [avidemux.exe]
ADM_Composer::DecodePictureUpToIntra(unsigned int, unsigned int)  [avidemux.exe]
ADM_Composer::seektoTime(unsigned int, unsigned long long, bool)  [avidemux.exe]
ADM_Composer::goToTimeVideo(unsigned long long)  [avidemux.exe]
ADM_Composer::checkForValidPts(_SEGMENT*)  [avidemux.exe]
ADM_Composer::addFile(char const*)  [avidemux.exe]
A_openVideo(char const*)  [avidemux.exe]
MainWindow::openFiles(QList<QUrl>)  [avidemux.exe]
MainWindow::eventFilter(QObject*, QEvent*)  [avidemux.exe]
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*)  [Qt5Core.dll]
QApplicationPrivate::notify_helper(QObject*, QEvent*)  [Qt5Widgets.dll]
QCoreApplication::notifyInternal2(QObject*, QEvent*)  [Qt5Core.dll]
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)  [Qt5Core.dll]
qt_plugin_instance  [qwindows.dll]
QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Core.dll]
qt_plugin_instance  [qwindows.dll]
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)  [Qt5Core.dll]
QCoreApplication::exec()  [Qt5Core.dll]
UI_RunApp()  [avidemux.exe]
startAvidemux(int, char**)  [avidemux.exe]
SDL_main  [avidemux.exe]
ms2timedisplay(unsigned int)  [avidemux.exe]
unknown function  [avidemux.exe]
unknown function  [avidemux.exe]
BaseThreadInitThunk  [KERNEL32.DLL]
RtlUserThreadStart  [ntdll.dll]
(https://i.imgur.com/J7tzWvQ.png)
thanks
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on January 22, 2024, 02:46:17 PM
Resolution changing on-the-fly is absolutely unsupported, thus crashing in a safe manner is the best we can do.

Canceling decoding frame type is only acceptable when video is re-encoded. This means also that locations where resolution changes cannot be detected during loading at all (there is no warning pop-up, the info appears only in the Avidemux log).
Title: Re: Avidemux 2.8.2 development
Post by: Gurnsy on February 21, 2024, 09:51:29 PM
Just updated to VC++ ver. 240204.

Attempting to queue a job, no job listing is displayed when avidemux_jobs.exe is run.

Mpeg4 AVC (x264) selected, crop filter used 1920x1080 -> 1920x960
AAC (FDK) E-AC3 192kbps -> HE-AAC 192kbps
MKV -> MP4

Win 11 23H2 Build 22631.3155
Intel i7-4770k

Cheers
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on February 21, 2024, 10:52:57 PM
Quote from: Gurnsy on February 21, 2024, 09:51:29 PMAttempting to queue a job, no job listing is displayed when avidemux_jobs.exe is run.

This known regression is fixed in code, a recent cross-compiled build (https://avidemux.org/nightly/win64/) containing the fix is available, no VC++ build yet.
Title: Re: Avidemux 2.8.2 development
Post by: Zzzzzap on April 29, 2024, 01:51:52 PM
Subtitle Support

Is subtitle support planned?

It's really a pity that all subtitles are gone after encoding a video with avidemux.
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on May 31, 2024, 03:19:12 PM
New Avidemux nightlies from 2024-05-31

appImage for recent Linux distributions (https://avidemux.org/nightly/appImage4Buster/)
Cross-compiled MinGW builds for supported 64-bit Windows versions (https://avidemux.org/nightly/win64/)

Already present in the previous round of builds from May 20, but not announced here: Avidemux keeps the index for MPEG-TS and MPEG-PS files now in memory when the files are located in a read-only directory (a feature contributed by szlldm).

A notable fix in the current nightlies: audio tracks in fragmented MP4 containers (MP4 dash) work again. This was a regression from extensive rearrangements in the MP4 demuxer back in January, which went unnoticed for 4 months.
Title: Re: Avidemux 2.8.2 development
Post by: cachaito on May 31, 2024, 06:45:05 PM
Quote from: eumagga0x2a on May 31, 2024, 03:19:12 PMA notable fix in the current nightlies: audio tracks in fragmented MP4 containers (MP4 dash) work again. This was a regression from extensive rearrangements in the MP4 demuxer back in January, which went unnoticed for 4 months.

Awesome that it's caught and fixed. And I'm glad there's new nightly builds available too. :-)

I wonder if this bug has something in common, that always when I cutting *.mp4 videos, I need to select one additional advance frame to cut out exact scene I want. Similar is with Plugin called Still Image: I need always subtract ~0h:00m:00s,050 of clip duration to apply the still image effect for video. I will try to confirm if it's fixed later!
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on May 31, 2024, 07:49:23 PM
Quote from: cachaito on May 31, 2024, 06:45:05 PMI wonder if this bug has something in common, that always when I cutting *.mp4 videos, I need to select one additional advance frame to cut out exact scene I want.

Absolutely unrelated. The end point of a selection doesn't belong to the selection.

Quote from: cachaito on May 31, 2024, 06:45:05 PMSimilar is with Plugin called Still Image: I need always subtract ~0h:00m:00s,050 of clip duration to apply the still image effect for video.

At the first glance it looks like the stillimage filter treats the end of range as belonging to the range, which is probably a (minor) bug. Not sure, will need to check.

Title: Re: Avidemux 2.8.2 development
Post by: Ferdi on September 27, 2024, 05:03:22 PM
Error building Avidemux

I have been building Avidemux for quite a while but current git errors out on building the avidemux core.
More specific, it fails at linking libADM6swscale.so.8

extract from logbuildCore:
GEN    libavutil/libavutil.ver
LD    libavutil/libADM6avutil.so.59
LD    libpostproc/libADM6postproc.so.58
LD    libswscale/libADM6swscale.so.8
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x89a against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x8a1 against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x8a8 against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x8af against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x8b6 against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x8bd against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x8c4 against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x8cb against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x17d7 against symbol `mul15_hi' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1866 against symbol `mul15_hi' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x18e4 against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x18eb against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x18f2 against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x18f9 against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1900 against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1907 against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x190e against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1915 against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1bf4 against symbol `mul16_mid' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1bfb against symbol `mul15_hi' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1c87 against symbol `mul16_mid' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1c8e against symbol `mul15_hi' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d0c against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d13 against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d1a against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d21 against symbol `mask24l' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d28 against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d2f against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d36 against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x1d3d against symbol `mask24h' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x205f against symbol `mul15_hi' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x220c against symbol `mul16_mid' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x2213 against symbol `mul15_hi' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x2399 against symbol `mask24r' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x23a0 against symbol `mask24g' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x23a7 against symbol `mask24b' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x2abc against symbol `mmx_ff' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x503a against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x5041 against symbol `bFC' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x5048 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x51fd against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x5204 against symbol `bFC' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x520b against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x547a against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x5481 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x5488 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x563d against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x5644 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x564b against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x6445 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x644c against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x6453 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x65d5 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x65dc against symbol `bFC' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x65e3 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x6fc7 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x6fce against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x6fd5 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x7105 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x710c against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x7113 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x7257 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x725e against symbol `bFC' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x7265 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x7385 against symbol `bF8' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x738c against symbol `bFC' can not be used; recompile with -fPIC
mold: error: /tmp/ccyQG0XH.ltrans7.ltrans.o:(.text): R_X86_64_PC32 relocation at offset 0x7393 against symbol `bF8' can not be used; recompile with -fPIC
collect2: error: ld returned 1 exit status
make[3]: *** [/home/ferdi/builds/avidemux/buildCore/ffmpeg/source/ffbuild/library.mak:119: libswscale/libADM6swscale.so.8] Error 1
make[3]: *** Waiting for unfinished jobs....
Title: Re: Avidemux 2.8.2 development
Post by: Ferdi on September 27, 2024, 05:20:28 PM
Bisecting blames this:
b9ac9582924a3b90aee9c286aa7d07407088f43d is the first bad commit
commit b9ac9582924a3b90aee9c286aa7d07407088f43d
Author: mean <fixounet@free.fr>
Date:   Fri Sep 6 17:57:48 2024 +0200

    remove lto, clang does not like mixing lto and not lto objects

 cmake/admFFmpegBuild_native.cmake | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

I am building with GCC 14.2
Title: Re: Avidemux 2.8.2 development
Post by: Ferdi on September 27, 2024, 05:35:39 PM
Confirmed, by reverting only commit b9ac9582924a3b90aee9c286aa7d07407088f43d I can successfully build Avidemux with current Head using GCC 14.2
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on September 28, 2024, 07:43:26 PM
@Ferdi, should be fixed now, but could you please specify which Linux distribution was affected by completely disabling lto for FFmpeg libs in Avidemux?

It still compiled just fine on Fedora, that is why I missed the issue.
Title: Re: Avidemux 2.8.2 development
Post by: Ferdi on September 30, 2024, 09:46:28 PM
I'll give it a try.

I am using Ubuntu 24.04, customized for my own purpose.

edit: Now builds successful again
Title: Re: Avidemux 2.8.2 development
Post by: sl1pkn07 on November 19, 2024, 04:56:47 PM
Hi

i get

[ 70%] Built target ADM_ve_x264_other
[ 70%] Building CXX object ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_other.dir/ADM_x265.cpp.o
/tmp/makepkg/avidemux-git/src/avidemux/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265.cpp: In member function 'virtual bool x265Encoder::encode(ADMBitstream*)':
/tmp/makepkg/avidemux-git/src/avidemux/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265.cpp:216:66: error: cannot convert 'x265_picture*' to 'x265_picture**' in argument passing
  216 |            er = api->encoder_encode(handle, &nal, &nbNal, NULL, &pic_out);
      |                                                                  ^~~~~~~~
      |                                                                  |
      |                                                                  x265_picture*
/tmp/makepkg/avidemux-git/src/avidemux/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265.cpp:224:66: error: cannot convert 'x265_picture*' to 'x265_picture**' in argument passing
  224 |            er = api->encoder_encode(handle, &nal, &nbNal, &pic, &pic_out);
      |                                                                  ^~~~~~~~
      |                                                                  |
      |                                                                  x265_picture*
make[2]: *** [ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_other.dir/build.make:93: ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_other.dir/ADM_x265.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:6133: ADM_videoEncoder/x265/CMakeFiles/ADM_ve_x265_other.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

from github with system x265 4.0

greetings
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on November 19, 2024, 11:25:35 PM
Thanks for the heads-up, x265 has changed API in v4.0, will look into it soon (Homebrew has already jumped onto the latest and greatest, RPM Fusion only for Fedora Rawhide).
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on November 19, 2024, 11:37:38 PM
For now, you may apply the following cmake patch which disables the build of the x265 encoder plugin for versions more recent than 3.6:

diff --git a/cmake/admCheckX265.cmake b/cmake/admCheckX265.cmake
index 2e3f4d9a9..9bff1829a 100644
--- a/cmake/admCheckX265.cmake
+++ b/cmake/admCheckX265.cmake
@@ -14,11 +14,14 @@ MACRO(checkX265)
                                STRING(REGEX MATCH "#define[ ]+X265_BUILD[ ]+([0-9]+)" X265_CONFIG_H "${X265_CONFIG_H}")
                                STRING(REGEX REPLACE ".*[ ]([0-9]+).*" "\\1" x265_version "${X265_CONFIG_H}")
                                MESSAGE(STATUS "  core version: ${x265_version}")
-                              
-                               IF (x265_version LESS 9)
-                                       MESSAGE("WARNING: x265 core version is too old.  At least version 9 is required.")
+                               IF (x265_version LESS 9 OR x265_version GREATER 209)
+                                       IF (x265_version LESS 9)
+                                               MESSAGE("WARNING: x265 core version is too old. At least version 9 is required.")
+                                       ELSE (x265_version LESS 9)
+                                               MESSAGE("WARNING: only x265 core up to version 209 (3.6 release) is supported.")
+                                       ENDIF (x265_version LESS 9)
                                        SET(X265_FOUND 0)
-                               ELSE (x265_version LESS 9)
+                               ELSE (x265_version LESS 9 OR x265_version GREATER 209)
                                         IF(NOT WIN32)
                                                 SET(DL dl)
                                         ELSE(NOT WIN32)
@@ -31,7 +34,7 @@ MACRO(checkX265)
                                                 ADD_DEFINITIONS(${X265_CFLAGS})
                                         ENDIF(MSVC)
                                        FIND_HEADER_AND_LIB(X265 x265.h x265 x265_encoder_open_${x265_version} ${DL})
-                               ENDIF (x265_version LESS 9)
+                               ENDIF (x265_version LESS 9 OR x265_version GREATER 209)
                        ELSE (_X265_FOUND AND _X265_CONFIG_FOUND)
                                MESSAGE(STATUS "  No working version found")
                                SET(X265_FOUND 0)
Title: Re: Avidemux 2.8.2 development
Post by: sl1pkn07 on November 20, 2024, 02:04:39 PM
Hi

thanks, but not failed in

CMake Error at /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:260 (message):
  qt6_wrap_cpp: TARGET parameter is empty.  Since the file
  /tmp/makepkg/avidemux-git/src/avidemux/avidemux/qt4/ADM_jobs/src/ADM_jobControl.cpp
  is a source file, the TARGET option must be specified.
Call Stack (most recent call first):
  /usr/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:184 (_qt_internal_wrap_cpp)
  /tmp/makepkg/avidemux-git/src/fakeroot/usr/include/avidemux/2.8/cmake/admQtMacro.cmake:26 (QT6_WRAP_CPP)
  ADM_jobs/src/CMakeLists.txt:26 (ADM_QT_WRAP_CPP)


-- Configuring incomplete, errors occurred!

greetings
Title: Re: Avidemux 2.8.2 development
Post by: sl1pkn07 on November 21, 2024, 03:36:03 PM
oh. gigantic typo in the message, i mean "thanks, but now failed in"

sorry. greetings
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on November 22, 2024, 09:18:24 PM
No problem, the meaning was clear.

Please sync your local git mirror and retry.
Title: Re: Avidemux 2.8.2 development
Post by: sl1pkn07 on November 24, 2024, 06:00:51 PM
all done

thanks!
Title: Re: Avidemux 2.8.2 development
Post by: jlocash on November 29, 2024, 08:35:10 PM
I'm seeing this build failure with the new x265-4.1:

/tmp/build/avidemux2-git/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:219:51: error: incompatible types in assignment of 'char*' to 'char [256]'
  219 |                              param.rc.statFileName=strdup(logFile);
      |                              ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/tmp/build/avidemux2-git/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:225:51: error: incompatible types in assignment of 'char*' to 'char [256]'
  225 |                              param.rc.statFileName=strdup(logFile);
      |                              ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~


I resolved it with the following:
diff -Nuarp avidemux2-git.orig/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp avidemux2-git/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp
--- avidemux2-git.orig/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp 2024-11-29 14:16:25.000000000 -0500
+++ avidemux2-git/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp      2024-11-29 15:05:51.174165522 -0500
@@ -216,13 +216,21 @@ bool x265Encoder::setup(void)
                         {
                              param.rc.bStatWrite=1;
                              param.rc.bStatRead=0;
+#if (X265_BUILD < 215)
                              param.rc.statFileName=strdup(logFile);
+#else
+                             snprintf(param.rc.statFileName, X265_MAX_STRING_SIZE, "%s", logFile);
+#endif

                         }else
                         {
                              param.rc.bStatWrite=0;
                              param.rc.bStatRead=1;
+#if (X265_BUILD < 215)
                              param.rc.statFileName=strdup(logFile);
+#else
+                             snprintf(param.rc.statFileName, X265_MAX_STRING_SIZE, "%s", logFile);
+#endif
                              if(!ADM_fileExist(logFile))
                              {
                                    ADM_error("Logfile %s does not exist \n",logFile);

Also note that the API change introduced in x265-4.0 was reverted in 4.1.
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on November 29, 2024, 08:48:59 PM
Quote from: jlocash on November 29, 2024, 08:35:10 PMI'm seeing this build failure with the new x265-4.1:

Code Select Expand
/tmp/build/avidemux2-git/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:219:51: error: incompatible types in assignment of 'char*' to 'char [256]'
  219 |                              param.rc.statFileName=strdup(logFile);
      |                              ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/tmp/build/avidemux2-git/avidemux_plugins/ADM_videoEncoder/x265/ADM_x265Setup.cpp:225:51: error: incompatible types in assignment of 'char*' to 'char [256]'
  225 |                              param.rc.statFileName=strdup(logFile);
      |                              ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~

Early heads-up very much appreciated.

Quote from: jlocash on November 29, 2024, 08:35:10 PMAlso note that the API change introduced in x265-4.0 was reverted in 4.1.

#if (X265_BUILD > 209) && (X265_BUILD < 213)
in https://github.com/mean00/avidemux2/commit/930d0e998030f78cd68ede0611285f9df8d55935 (https://github.com/mean00/avidemux2/commit/930d0e998030f78cd68ede0611285f9df8d55935), stolen from libavcodec/libx265.c, takes care of that.
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on November 29, 2024, 09:19:25 PM
x265 devs were fixing memleaks and turned to allocating only 256 bytes (https://bitbucket.org/multicoreware/x265_git/commits/451add89e81d45134b9d41168ceeb5516bf62d0b) for strings containing file paths? Oh my, this is vastly insufficient unless the library expects just the basename. And even then it may be insufficient and we must catch that and fail early when the filename is too long.
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on January 07, 2025, 11:48:18 PM
From now on, things may become somewhat rough at git master for a while. Please git checkout pre-reorg if all you need is a stable application (that branch (https://github.com/mean00/avidemux2/tree/pre-reorg) reflects the state of git master prior to refactoring).
Title: Re: Avidemux 2.8.2 development
Post by: kgha on February 14, 2025, 09:37:36 AM
Building (on slackware, qt6-6.8.2 installed) from latest git works fine using --enable-qt5, but when trying to build for qt6 I get the following error (from logbuildQt6):
[100%] Linking CXX executable avidemux3_qt6
/usr/bin/ld: ADM_userInterfacesQT6/ADM_filters/libADM_filtersQT6.a(Q_seekablePreview.cpp.o): non-canonical reference to canonical protected function `_ZN16QDialogButtonBox8acceptedEv@@Qt_6' in /usr/lib64/libQt6Widgets.so.6.8.2
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/avidemux3_qt6.dir/build.make:334: avidemux3_qt6] Error 1
make[1]: *** [CMakeFiles/Makefile2:903: CMakeFiles/avidemux3_qt6.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
What can I do to fix this?
Title: Re: Avidemux 2.8.2 development
Post by: kgha on February 15, 2025, 10:52:02 AM
Found a fix for the abovementioned issue when looking at the buildscript from archlinux: the flag
CXXFLAGS+=" -fPIC" \needs to be added to bootStrap.bash

A patch like this should do it:
--- bootStrap.bash 2025-02-15 11:23:21.875284589 +0100
+++ /home/kgha/bootStrap.bash 2025-02-15 10:47:13.000000000 +0100
@@ -78,6 +78,7 @@
     mkdir "${BUILDDIR}" || fail "creating build directory"
   fi
   pushd "${BUILDDIR}" >/dev/null
+  CXXFLAGS+=" -fPIC" \
   cmake \
     $COMPILER \
     $PKG \

Don't know if this is distro-specific, but if it's a general Linux issue maybe the flag should be added to bootStrap.bash?
Title: Re: Avidemux 2.8.2 development
Post by: eumagga0x2a on February 15, 2025, 12:04:23 PM
Should be fixed once wayland branch gets merged.
Title: Re: Avidemux 2.8.2 development
Post by: kgha on February 15, 2025, 01:34:33 PM
Great, thanks!
Title: Re: Avidemux 2.8.2 development
Post by: philippjhofmann on February 20, 2025, 10:53:42 AM
I have one feature wish as I use avidemux very often to build GoPro videos.
A GoPro video is splitted to different mp4-file (~4B big) and I need to join them to one video:

GX010116.MP4
GX020116.MP4
GX030116.MP4
...
-> GX[SPLITNR][VIDEONR].MP4

I want to select the first GoPro-mp4-file (GX01[VIDEONR].MP4 and then the app is adding also other mp4-file for the same video-nr automatically or I can add all mp4-file for one video-nr with a multi select and the order is automatically correct. This helps to avoid join errors if you are doing this step by step manually.