Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > High Efficiency Video Coding (HEVC)

Reply
 
Thread Tools Search this Thread Display Modes
Old 7th January 2021, 10:15   #7941  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Germany
Posts: 1,282
Quote:
Originally Posted by FranceBB View Post
I guess we're gonna have to wait 'till someone will upload a sample, then...
In case anyone is still interested in files produced by Iphone 12, here it is:



They're indeed in Dolby Vision with the HLG profile, so BT2020nc HLG HDR 4:2:0 10bit planar in H.265.
Too bad for the VFR stuff which mobiles seem to love and everyone else in the world hates... (especially us, working in broadcast!)
I'm not in the edit room in which I have an HDR monitor and scope, so I can't tell you exactly how many nits there actually are, but Apple claims to reach 699 nits...
I think they're way too many for such a tiny sensor. From a very quick analysis, it looks like it's more or less 300 nits, which, for a mobile phone, looks quite alright.


For the records: this is from a colleague of mine who bought it, I actually went for a Google Pixel 5 in early November.

Last edited by FranceBB; 7th January 2021 at 10:18.
FranceBB is offline   Reply With Quote
Old 8th January 2021, 03:48   #7942  |  Link
quietvoid
Registered User
 
Join Date: Jan 2019
Posts: 206
Updated my scenecut-aware-qp patch, now applies directly on Release 3.5 @ 5239276
quietvoid is offline   Reply With Quote
Old 8th January 2021, 14:36   #7943  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
Because the Yuuki mod appears to be well maintained, I tried to download and build this one alternatively in an interactive shell in MABS. Unfortunately, in contrast to the original x265 git, this modified fork apparently needs Ruby. A compatible version was found in the MSYS2 installation of MABS (2.7.0; minimum required is 1.8.0); but several include directories were missing, so cmake halted. I guess I could make it work if I knew where to include which shell variable exports?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 8th January 2021, 18:52   #7944  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 887
Code:
>tree /f D:\dev\x265-Yuuki-Asuna\include
D:\DEV\X265-YUUKI-ASUNA\INCLUDE
│  lsmash.h
│
├─avisynth
│  │  avisynth.h
│  │  avisynth_c.h
│  │
│  └─avs
│          alignment.h
│          capi.h
│          config.h
│          cpuid.h
│          minmax.h
│          posix.h
│          types.h
│          win.h
│
└─vapoursynth
        VapourSynth.h
        VSHelper.h
        VSScript.h
You'll need those to support avs/vpy/lsmash. ffmpeg input on msvc wasn't tested.

For msvc multi lib build you need to

-DLSMASH_SOURCE_DIR=../../x265-Yuuki-Asuna/include -DEXTRA_LINK_FLAGS="/LIBPATH:../../../x265-Yuuki-Asuna/lib-msvc /LIBPATH:.."

something like that.

For gcc you just compile and make install dependencies into system directories. That includes ffmpeg, avisynth (header only), vapoursynth(header only), lsmash.

Ruby script was to compose version number, so it's not absolute necessary and can be replaced by you own code to produce your own version number. I use Ruby because I'm a Ruby developer.

It may not be easy to use yuuki mod in mabs due to extra libraries being linked.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 9th January 2021, 01:48   #7945  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
One hurdle after another ... the first one looked rather low to me, as a layman:

Quote:
-- Could NOT find Ruby (missing: Ruby_INCLUDE_DIR Ruby_LIBRARY Ruby_CONFIG_INCLUDE_DIR) (found suitable version "2.7.2", minimum required is "1.8.0")
If that is all cmake complains about, I guess it can be solved. Then we will see further from there.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 10th January 2021, 18:52   #7946  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 887
Says found suitable version, so I guess it's just fine? I have the mingw-w64-x86_64-ruby package installed from pacman, and it works.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 10th January 2021, 22:18   #7947  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
Well, the Ruby package as such is installed, but it misses configured environment variables. Therefore cmake halts.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 11th January 2021, 07:42   #7948  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 887
That's weird. I'm getting a similar error but cmake did generate all the project files without any problem.
Code:
-- Found Nasm 2.15.05 to build assembly primitives
-- Could NOT find Ruby (missing: Ruby_LIBRARY) (found suitable version "2.7.1", minimum required is "1.8.0")
-- x265 version 3.4+13-g729a838d3+38
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 11th January 2021, 09:59   #7949  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
So maybe the reason is somewhere else, like the cmake command line may need more explicit parameters than the vanilla x265 multilib configuration.

Code:
...
-- Found nasm: E:/MABS/msys64/mingw64/bin/nasm.exe (found version "2.15.05") 
-- Found Nasm 2.15.05 to build assembly primitives
CMake Deprecation Warning at dynamicHDR10/CMakeLists.txt:13 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Found Git: E:/MABS/msys64/usr/bin/git.exe (found version "2.30.0") 
-- Could NOT find Ruby (missing: Ruby_INCLUDE_DIR Ruby_LIBRARY Ruby_CONFIG_INCLUDE_DIR) (found suitable version "2.7.2", minimum required is "1.8.0")
-- x265 Release Version 
-- The ASM_NASM compiler identification is NASM
-- Found assembler: E:/MABS/msys64/mingw64/bin/nasm.exe
-- Looking for strtok_r
-- Looking for strtok_r - found
CMake Error at CMakeLists.txt:637 (list):
  list GET given empty list


CMake Error at CMakeLists.txt:638 (list):
  list GET given empty list


-- Configuring incomplete, errors occurred!
See also "E:/MABS/x265-Yuuki-Asuna-Yuuki/build/msys64_hdr10_ml/12bit/CMakeFiles/CMakeOutput.log".
See also "E:/MABS/x265-Yuuki-Asuna-Yuuki/build/msys64_hdr10_ml/12bit/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found.  Stop.
cp: cannot stat 'libx265.a': No such file or directory
make: *** No rule to make target 'clean-generated'.  Stop.
Shall we discuss this elsewhere? A new thread here? An issue in your github repo?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 11th January 2021, 18:23   #7950  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 887
Please open an issue ticket.

EDIT:

Actually, I think you are on the wrong branch. Please switch to Asuna branch to test. Yuuki branch is not ready yet because 3.5 is not ready yet. As soon as 3.5 is tagged I'm going to revise the version generation code, which should solve the issue you are seeing.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median

Last edited by MeteorRain; 11th January 2021 at 18:40.
MeteorRain is offline   Reply With Quote
Old 12th January 2021, 10:04   #7951  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348


The Asuna branch passed.

PS: OK, adding a few parameters of the modification may break the attempt, e.g. L-SMASH headers need to be found if I want to enable MP4 output...

Seems I could create a build with AVS and VPY input and MKV output, yet without LAVF input and without MP4 output. And with unknown version. To be tested...

Works with AviSynth input and MKV output.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 12th January 2021 at 13:51.
LigH is offline   Reply With Quote
Old 12th January 2021, 18:56   #7952  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 887
FYI: MKV output is not supported and is provided as best effort because one of my friends actively uses it. I was thinking maybe I should add a warning message saying it's unsupported.

If possible, please try to integrate l-smash using the flags above (post #7944).
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 12th January 2021, 21:01   #7953  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
Your repo does not provide an include directory, so I tried to configure the cmake flags to use the liblsmash git directory which is retrieved by MABS when building all its projects, up to ffmpeg:

-DENABLE_LSMASH=ON -DLSMASH_SOURCE_DIR=/build/liblsmash-git/

Configuring finished, make started ... all these NASM warnings are a PITA ... hmm, no. Obviously I have no clue how to point to the lsmash.h file so that it is found:

Code:
In file included from F:/MABS/x265-Yuuki-Asuna-Asuna/source/output/output.cpp:44:
F:/MABS/x265-Yuuki-Asuna-Asuna/source/output/mp4.h:8:10: fatal error: lsmash.h: No such file or directory
    8 | #include <lsmash.h>
      |          ^~~~~~~~~~
compilation terminated.
Maybe due to:

Code:
CMake Warning:
  Manually-specified variables were not used by the project:

    LSMASH_SOURCE_DIR
Trying again with additional -DSPECIFY_LSMASH_SOURCE_DIR=ON

Next hurdle: I guess MABS used liblsmash somewhere but did not make and install it separately, so it is not a registered package.

Code:
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -llsmash
Ran make install-lib and trying again without explicitly specifying lsmash directory...

Meh. Did not help. Without explicit source dir it doesn't find the header, with it it can't link the library. "It's complicated"...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 12th January 2021 at 22:13.
LigH is offline   Reply With Quote
Old 13th January 2021, 05:52   #7954  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 887
Ooooh you are using GCC.

Code:
>make install-lib
install -d /mingw64/include
install -m 644 ./lsmash.h /mingw64/include
install -d /mingw64/lib/pkgconfig
install -m 644 liblsmash.pc /mingw64/lib/pkgconfig
install -m 644 liblsmash.a /mingw64/lib
You should be able to find those 3 files in the corresponding directories, and GCC should automatically find them. Can you confirm they are there?

Try this and see if pkg-config gets you the command line.

Code:
pkg-config --libs liblsmash
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median

Last edited by MeteorRain; 13th January 2021 at 05:57.
MeteorRain is offline   Reply With Quote
Old 13th January 2021, 08:42   #7955  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
Yes, the media-autobuild suite is based on MSYS2, MinGW, and usually GCC (could use clang if configured). And I even run the interactive shell instead of patching the automated build scripts. So I mostly profit from MABS keeping MSYS2/MinGW and GCC and all projects linked into ffmpeg up-to-date, before sometimes also experimenting interactively.

Using ./configure without extra parameters, it gets installed into /usr/local ... I guess I should add a parameter to change the prefix, because MABS uses /local64 (or /local32) as target directories.

OK, MABS requires e.g. ./configure --prefix="/local64" to install the header and library where the packages are expected. Compilation seems to be successful.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 13th January 2021, 19:27   #7956  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
Last missing puzzle piece: Linking issues with libav libraries ... but ffmpeg had been built before and has been found by the compiler. So the reason must be in a different magnitude.

Code:
[ 96%] Linking CXX executable x265.exe
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x11): undefined reference to `avcodec_free_context'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x1a): undefined reference to `avformat_close_input'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x19d): undefined reference to `av_init_packet'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x1c0): undefined reference to `avcodec_receive_frame'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x1d8): undefined reference to `av_read_frame'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x1f4): undefined reference to `av_packet_unref'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x204): undefined reference to `av_init_packet'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x226): undefined reference to `avcodec_send_packet'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x23d): undefined reference to `avcodec_receive_frame'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x2a4): undefined reference to `av_packet_unref'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x2b8): undefined reference to `av_packet_unref'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x4aa): undefined reference to `avcodec_find_decoder'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x4ba): undefined reference to `avcodec_alloc_context3'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x4d3): undefined reference to `avcodec_parameters_to_context'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x4e7): undefined reference to `avcodec_open2'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x5ad): undefined reference to `av_packet_unref'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x60c): undefined reference to `av_frame_alloc'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x62e): undefined reference to `avformat_open_input'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x64b): undefined reference to `avformat_find_stream_info'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x6c9): undefined reference to `avcodec_find_decoder'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x6d8): undefined reference to `avcodec_alloc_context3'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x6f4): undefined reference to `avcodec_parameters_to_context'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x707): undefined reference to `avcodec_open2'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x72c): undefined reference to `av_dict_set'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x73f): undefined reference to `avcodec_open2'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x761): undefined reference to `av_dict_free'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x82b): undefined reference to `av_pix_fmt_desc_get'
F:/MABS/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles/cli.dir/objects.a(lavf.cpp.obj):lavf.cpp:(.text+0x2c): undefined reference to `av_frame_free'
collect2.exe: error: ld returned 1 exit status
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 14th January 2021, 19:48   #7957  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 887
I have no idea about that. Maybe check if the lib files are correctly found by gcc.
The error message looks like it didn't find the lib and thus missed the reference to its functions.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline   Reply With Quote
Old 14th January 2021, 20:32   #7958  |  Link
DJATOM
Registered User
 
DJATOM's Avatar
 
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 290
Undefined reference usually means that symbol is not reachable. For example, there is no library with such names supplied to the linker. Check generated build files if all needed ffmpeg libs are actually provided for linking.
__________________
Me on GitHub
PC Specs: Ryzen 3900X, 64 GB RAM, RTX 2070
DJATOM is offline   Reply With Quote
Old 14th January 2021, 21:59   #7959  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,348
Which are these "build files"?
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 15th January 2021, 00:18   #7960  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,196
Quote:
Originally Posted by LigH View Post
Which are these "build files"?
If a C/C++ application depends on library 'XYZ', the you will need to do two things:
  • At compile-time, you need to ensure that the required header files (usually .h or .hpp) for library XYZ are present in one of the directories that the compiler scans for header files.
    Additional search directories for header files can be specified by adding the -I option to the CFLAGS.
  • At link-time, you need to ensure that library XYZ is actually linked to your binary. This is done by adding the -l option your LDFLAGS.
    Note that -l automatically adds the "lib..." prefix as well as the file extension. So, in order to link against libXYZ.a, you just need to write -lXYZ.

    Furthermore, you have to make sure that the library file (usually .a) is present in one of the directories that the linker scans for library files.
    Additional search directories for library files can be specified by adding the -L option to the LDLAGS.

Of course you will need to build library 'XYZ' before you build your "main" application, because otherwise the required library file libXYZ.a (the "build file") has not been created yet

Quote:
Originally Posted by LigH View Post
Undefined reference usually means that symbol is not reachable. For example, there is no library with such names supplied to the linker.
Yes, "undefined reference" could mean that a required library was not linked at all. Could also mean that you are linking a "wrong" version of the library which doesn't match to the header files that were used.

(If you try to link against a library, but the linker couldn't find the requested library file, it would be a different error message)

Another "fun" thing needs to be considered: Libraries can be compiled as either a "static" library (.a) or a "shared" library (.dll). Specifically on Windows, the actual symbol names differ between the "static" and "shared" libraries! Usually the header files support both variants, via #ifdef's, but default often is the "shared" variant. So, a special #define needs to be set, at compile-time, if you intend to link against the "static" library. Could also be the other way around tough
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 15th January 2021 at 01:06.
LoRd_MuldeR is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 23:50.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.