media-autobuild_suite
media-autobuild_suite copied to clipboard
Request: Add new Fraunhofer VVdeC and VVenC to the suite
Hello,
I think it would be great, if the new Fraunhofer VVdeC and VVenC could be added to the suite. The sources are available here: https://github.com/fraunhoferhhi/vvdec https://github.com/fraunhoferhhi/vvenc
Thank you for considering!
From last time I tried, they both currently do not compile with mingw-w64, I have considered tried to make it so they do, but that will have to be done at a time when I am free
Release tag v1.0.0 is available.
vvenc-1.1.0 is out :) Speedups 20% for faster 15% for fast 7% for medium Added BCW Redefined the presets Improved SCC and 2-pass RC accuracy Various bugfixes and improvements -> https://github.com/fraunhoferhhi/vvenc/releases/tag/v1.1.0
But does it compile in GCC? May still require VS.
Still doesn't compile with mingw-w64 gcc without issue
Example?
[14/131] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/CodingStructure.cpp.obj
FAILED: source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/CodingStructure.cpp.obj
C:\msys64\ucrt64\bin\c++.exe -DVVENC_SOURCE -D_WIN32_WINNT=0x0600 -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/../../../include -IC:/msys64/home/cddeg/bui -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/SYSTEM -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/. -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/.. -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/../DecoderLib -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/../EncoderLib -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/../CommonLib -IC:/msys64/home/cddeg/vvenc/source/Lib/vvenc/../CommonLib/x86 -DTARGET_SIMD_X86 -O3 -DNDEBUG -flto -fno-fat-lto-objects -msse4.1 -Wall -Werror -Wno-unused-function -Wno-unused-variable -Wno-sign-compare -fdiagnostics-show-option -std=gnu++14 -MD -MT source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/CodingStructure.cpp.obj -MF source\Lib\vvenc\CMakeFiles\vvenc.dir\__\CommonLib\CodingStructure.cpp.obj.d -o source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/CodingStructure.cpp.obj -c C:/msys64/home/cddeg/vvenc/source/Lib/CommonLib/CodingStructure.cpp
In file included from C:/msys64/home/cddeg/vvenc/source/Lib/CommonLib/Unit.h:52,
from C:/msys64/home/cddeg/vvenc/source/Lib/CommonLib/CodingStructure.h:52,
from C:/msys64/home/cddeg/vvenc/source/Lib/CommonLib/CodingStructure.cpp:52:
C:/msys64/home/cddeg/vvenc/source/Lib/CommonLib/CommonDef.h:590:62: error: ignoring attributes on template argument 'void(void*, int, const char*, va_list)' {aka 'void(void*, int, const char*, char*)'} [-Werror=ignored-attributes]
590 | extern std::function<void( void*, int, const char*, va_list )> g_msgFnc;
|
with ucrt, one of many
in theory removing -Werror would probably solve it
@MartinEesmaa (VVCEasy) has some experience in compiling and integrating libvvdec into different software (ffmpeg, vlc, bitmovin player). I hope he can support this issue.
Tried a build just now using their latest master branch, and it seems it compiled fine. I will try to see if I can add it to the suite in the morning
@LigH-de, I'm sure I can solve the issue to add vvenc and vvdec too, but I'm not very good programmer of Batchfile and others programming languages. I'm very good compiler and integrator, thank you!
@1480c1, I think you could add suite in the morning, if possible :).
If anyone wants to build libvvdec into ffmpeg, before @1480c1 adds suite, here is my script:
git clone https://github.com/fraunhoferhhi/vvdec.git
cd vvdec
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=1 ..
cmake --build . --config Release
After release shared build, we will go over ahead to tbiat/FFmpeg repository:
git clone https://github.com/tbiat/FFmpeg.git
cd FFmpeg
export PKG_CONFIG_PATH=~/vvdec/install/lib/pkgconfig
./configure --enable-gpl --enable-version3 --enable-libvvdec --enable-pic --enable-libxml2 --enable-libaom --enable-libx264 --enable-libx265 --enable-libvpx --enable-libsvtav1 --enable-libopus --enable-librav1e --enable-sdl2 --disable-w32threads
make -j
- Martin Eesmaa
Seems vvenc doesn't like being compiled under clang
In file included from D:/mabs/build/vvenc-git/source/Lib/CommonLib/AffineGradientSearch.cpp:53:
In file included from D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/AffineGradientSearch.h:49:
D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/CommonDef.h:710:8: error: inline variables are a C++17 extension [-Werror,-Wc++17-extensions]
static inline unsigned long _bit_scan_reverse( long a )
^
D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/CommonDef.h:710:53: error: expected ')'
static inline unsigned long _bit_scan_reverse( long a )
^
D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/CommonDef.h:710:29: note: to match this '('
static inline unsigned long _bit_scan_reverse( long a )
^
D:/mabs/msys64/mingw64/lib/clang/14.0.4/include/ia32intrin.h:85:37: note: expanded from macro '_bit_scan_reverse'
#define _bit_scan_reverse(A) __bsrd((A))
^
In file included from D:/mabs/build/vvenc-git/source/Lib/CommonLib/AffineGradientSearch.cpp:53:
In file included from D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/AffineGradientSearch.h:49:
D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/CommonDef.h:710:29: error: expected expression
static inline unsigned long _bit_scan_reverse( long a )
^
D:/mabs/msys64/mingw64/lib/clang/14.0.4/include/ia32intrin.h:85:40: note: expanded from macro '_bit_scan_reverse'
#define _bit_scan_reverse(A) __bsrd((A))
^
In file included from D:/mabs/build/vvenc-git/source/Lib/CommonLib/AffineGradientSearch.cpp:53:
In file included from D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/AffineGradientSearch.h:49:
D:/mabs/build/vvenc-git/source/Lib/vvenc/../CommonLib/CommonDef.h:710:56: error: expected ';' after top level declarator
static inline unsigned long _bit_scan_reverse( long a )
^
;
4 errors generated.
somehow, they conflicted on a name already in clang's headers
Your source coloring hides parts of the report...
inline variables are a C++17 extension
@1480c1, my clang worked to build vvenc, before @adamjw24 merges into fraunhoferhhi/vvenc, you can now build vvenc with your clang msys2:
git clone https://github.com/adamjw24/vvenc --branch develop_fix_log2
cd vvenc
mkdir build && cd build
cmake ..
cmake --build . --config Release
Build log:
marti@MartinEesmaa CLANG64 ~/clang/vvenc/build
$ cmake ..
-- Building for: Ninja
-- The C compiler identification is Clang 14.0.3
-- The CXX compiler identification is Clang 14.0.3
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/clang64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/clang64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_MODULE_PATH: updating module path to: C:/msys64/home/marti/clang/vvenc/cmake/modules
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/marti/clang/vvenc/build
marti@MartinEesmaa CLANG64 ~/clang/vvenc/build
$ cmake --build . --config Release
[1/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/AffineGradientSearch.cpp.obj
[2/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/InterpolationFilter.cpp.obj
[3/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/BitStream.cpp.obj
[4/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/ContextModelling.cpp.obj
[5/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Mv.cpp.obj
[6/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Contexts.cpp.obj
[7/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/MatrixIntraPrediction.cpp.obj
[8/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/ProfileLevelTier.cpp.obj
[9/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Buffer.cpp.obj
[10/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/IntraPrediction.cpp.obj
[11/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/LoopFilter.cpp.obj
[12/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/CodingStructure.cpp.obj
[13/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/DepQuant.cpp.obj
[14/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/InterPrediction.cpp.obj
[15/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/PicYuvMD5.cpp.obj
[16/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/AdaptiveLoopFilter.cpp.obj
[17/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Picture.cpp.obj
[18/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/MCTF.cpp.obj
[19/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/RomTr.cpp.obj
[20/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/SearchSpaceCounter.cpp.obj
[21/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Quant.cpp.obj
[22/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/SEI.cpp.obj
[23/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/TimeProfiler.cpp.obj
[24/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/StatCounter.cpp.obj
[25/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/TrQuant_EMT.cpp.obj
[26/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Reshape.cpp.obj
[27/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/QuantRDOQ.cpp.obj
[28/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/SampleAdaptiveOffset.cpp.obj
[29/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/RdCost.cpp.obj
[30/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Rom.cpp.obj
[31/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/QuantRDOQ2.cpp.obj
[32/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Unit.cpp.obj
[33/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/UnitPartitioner.cpp.obj
[34/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/TrQuant.cpp.obj
[35/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/AnnexBread.cpp.obj
[36/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/Slice.cpp.obj
[37/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncCfg.cpp.obj
[38/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/NALread.cpp.obj
[39/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/BinDecoder.cpp.obj
[40/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/UnitTools.cpp.obj
[41/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/dtrace.cpp.obj
[42/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/DecCu.cpp.obj
[43/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/DecSlice.cpp.obj
[44/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/CABACReader.cpp.obj
[45/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/BinEncoder.cpp.obj
[46/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/BitAllocation.cpp.obj
[47/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/SEIread.cpp.obj
[48/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncHRD.cpp.obj
[49/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/VLCReader.cpp.obj
[50/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/CABACWriter.cpp.obj
[51/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/DecoderLib/DecLib.cpp.obj
[52/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/NALwrite.cpp.obj
[53/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncAdaptiveLoopFilter.cpp.obj
[54/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncReshape.cpp.obj
[55/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncModeCtrl.cpp.obj
[56/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncSampleAdaptiveOffset.cpp.obj
[57/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncCu.cpp.obj
[58/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncPicture.cpp.obj
[59/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncLib.cpp.obj
[60/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncGOP.cpp.obj
[61/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/SEIEncoder.cpp.obj
[62/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/Utilities/NoMallocThreadPool.cpp.obj
[63/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/EncSlice.cpp.obj
[64/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/IntraSearch.cpp.obj
[65/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/VLCWriter.cpp.obj
[66/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/vvenc.cpp.obj
[67/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/InitX86.cpp.obj
[68/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/vvencCfg.cpp.obj
[69/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/Buffer_sse41.cpp.obj
[70/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/LoopFilter_sse41.cpp.obj
[71/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/vvencimpl.cpp.obj
[72/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/IntraPred_sse41.cpp.obj
[73/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/RateCtrl.cpp.obj
[74/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/SEIwrite.cpp.obj
[75/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/CommonDefX86.cpp.obj
[76/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/EncoderLib/InterSearch.cpp.obj
[77/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/AffineGradientSearch_sse41.cpp.obj
[78/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/AdaptiveLoopFilter_sse41.cpp.obj
[79/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/InterpolationFilter_sse41.cpp.obj
[80/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/InterPred_sse41.cpp.obj
[81/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/SampleAdaptiveOffset_sse41.cpp.obj
[82/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/Quant_sse41.cpp.obj
[83/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/Buffer_sse42.cpp.obj
[84/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/AffineGradientSearch_avx.cpp.obj
[85/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/MCTF_avx41.cpp.obj
[86/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/InterPred_sse42.cpp.obj
[87/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/SampleAdaptiveOffset_sse42.cpp.obj
[88/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/Trafo_sse41.cpp.obj
[89/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/Quant_sse42.cpp.obj
[90/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse41/RdCost_sse41.cpp.obj
[91/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/InterpolationFilter_sse42.cpp.obj
[92/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/IntraPred_sse42.cpp.obj
[93/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/Trafo_sse42.cpp.obj
[94/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/MCTF_avx42.cpp.obj
[95/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/Buffer_avx.cpp.obj
[96/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/LoopFilter_sse42.cpp.obj
[97/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/sse42/RdCost_sse42.cpp.obj
[98/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/AdaptiveLoopFilter_avx.cpp.obj
[99/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/InterPred_avx.cpp.obj
[100/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/AffineGradientSearch_avx2.cpp.obj
[101/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/SampleAdaptiveOffset_avx.cpp.obj
[102/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/IntraPred_avx.cpp.obj
[103/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/InterpolationFilter_avx.cpp.obj
[104/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/MCTF_avx.cpp.obj
[105/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/LoopFilter_avx.cpp.obj
[106/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/Quant_avx.cpp.obj
[107/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/Buffer_avx2.cpp.obj
[108/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/Trafo_avx.cpp.obj
[109/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx/RdCost_avx.cpp.obj
[110/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/AdaptiveLoopFilter_avx2.cpp.obj
[111/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/InterPred_avx2.cpp.obj
[112/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/Quant_avx2.cpp.obj
[113/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/LoopFilter_avx2.cpp.obj
[114/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/MCTF_avx2.cpp.obj
[115/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/IntraPred_avx2.cpp.obj
[116/133] Building C object test/vvencinterfacetest/CMakeFiles/vvencinterfacetest.dir/vvencinterfacetest.c.obj
[117/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/InterpolationFilter_avx2.cpp.obj
[118/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/SampleAdaptiveOffset_avx2.cpp.obj
[119/133] Building CXX object source/App/vvencFFapp/CMakeFiles/vvencFFapp.dir/EncApp.cpp.obj
[120/133] Building CXX object source/App/vvencapp/CMakeFiles/vvencapp.dir/vvencapp.cpp.obj
[121/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/Trafo_avx2.cpp.obj
[122/133] Building CXX object source/Lib/vvenc/CMakeFiles/vvenc.dir/__/CommonLib/x86/avx2/RdCost_avx2.cpp.obj
[123/133] Building CXX object test/vvenclibtest/CMakeFiles/vvenclibtest.dir/vvenclibtest.cpp.obj
[124/133] Building CXX object source/App/vvencFFapp/CMakeFiles/vvencFFapp.dir/encmain.cpp.obj
[125/133] Building CXX object source/Lib/apputils/CMakeFiles/apputils.dir/YuvFileIO.cpp.obj
[126/133] Building CXX object source/Lib/apputils/CMakeFiles/apputils.dir/ParseArg.cpp.obj
[127/133] Building CXX object source/Lib/apputils/CMakeFiles/apputils.dir/VVEncAppCfg.cpp.obj
[128/133] Linking CXX static library ..\lib\release-static\libapputils.a
[129/133] Linking CXX static library ..\lib\release-static\libvvenc.a
[130/133] Linking CXX executable ..\bin\release-static\vvencinterfacetest.exe
[131/133] Linking CXX executable ..\bin\release-static\vvenclibtest.exe
[132/133] Linking CXX executable ..\bin\release-static\vvencapp.exe
[133/133] Linking CXX executable ..\bin\release-static\vvencFFapp.exe
marti@MartinEesmaa CLANG64 ~/clang/vvenc/build
$
REPORT:
$ ldd vvencapp.exe
ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffdffa60000)
KERNEL32.DLL => /c/WINDOWS/System32/KERNEL32.DLL (0x7ffdfe2a0000)
KERNELBASE.dll => /c/WINDOWS/System32/KERNELBASE.dll (0x7ffdfd060000)
apphelp.dll => /c/WINDOWS/SYSTEM32/apphelp.dll (0x7ffdfa4c0000)
ucrtbase.dll => /c/WINDOWS/System32/ucrtbase.dll (0x7ffdfcf40000)
libc++.dll => /clang64/bin/libc++.dll (0x7ffd9a460000)
libunwind.dll => /clang64/bin/libunwind.dll (0x7ffdf7060000)
- Martin Eesmaa
Using clang specifically for cargo-c among gcc for the rest - passes here.
@LigH-de, I should make my own pull request and making lists of additional vvc programs to compile easily on Windows.
@1480c1 & @LigH-de, I added vvenc and vvdec suites into autobuild media, so could you test and see if it works?
VVENC plugin (tbiat/FFmpeg) is now available, but not finished codec, so it's expiremental codec. See the other contributor made libvvenc support of FFmpeg: https://github.com/tbiat/FFmpeg/pull/6
NOTE ⚠️: In FFmpeg vvc version of tbiat, libvvenc is only default of qp 32 and preset medium only. Changing your qp and preset might revert to default by qp 32 and preset medium in ffmpeg (modified repository of tbiat). In pixel format of libvvenc, you're allowed to change your pixel format maximum 10 bit. libvvenc is experimental codec in tbiat/FFmpeg.
Trying encode (eg. x264) to VVC with audio in FFmpeg may corrupt the encoded file, so you may need to disable audio -an
to avoid corruption.
libvvenc awesome programmer: @yodadude2003
libvvenc (FFmpeg vvc version) works for:
- Pixel format (changeable of 8/10bit) ✅
- Video size (auto detects) ✅
- Frame rate (auto detects) ✅
- Bitrates ✅
- Passes 🔳
- Presets (only medium) ⚠️
- QP/CRF (only you can set -global_quality command only, global_quality equals qp) ⚠️
libvvenc = experimental codec of FFmpeg
libvvdec = completed codec of FFmpeg
Status report of ffmpeg -codecs
:
DEV.L. vvc H.266 / VVC (Versatile Video Coding) (decoders: libvvdec ) (encoders: libvvenc )
- Martin Eesmaa
Will try https://github.com/MartinEesmaa/media-autobuild_suite after a backup...
Your version built vvenc, vvdec, and the libraries. To include them in ffmpeg, I guess I would have to add parameters to build/ffmpeg_options.txt when I set up the suite to use it. Which also means: You may have to add these options to the set of ffmpeg compile options in the group of full version options in the batch file.
@BlackScreen, it is now merged of your request 2da55dd.
Regarding the naming in the configuration: It is developed by the Fraunhofer Society's Heinrich Hertz Institute; so I would recommend to treat the HHI separated.