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. |
![]() |
#1 | Link |
Registered User
Join Date: Jul 2015
Posts: 681
|
New additions to ffmpeg evc, vvc, htj2k
New additions to ffmpeg evc, vvc, htj2k
After month I managed to create ffmpeg converter. SIMD AVX2 This is the beginning of the implementation of evc, vvc, htj2k. Added extras: libaom_x64.dll libaribb24_x64.dll libavcodec_x64.dll libavformat_x64.dll libavutil_x64.dll libcairo_pixman_x64.dll libcelt_opus_silk_x64.dll libcelt_x64.dll libcodec2_x64.dll libdav1d_x64.dll libdavs2_x64.dll libgsmfr_x64.dll libharfbuzz_x64.dll libiconv_x64.dll libjxl_x64.dll libkvazaar_x64.dll liblcms2_x64.dll libmp3lame_x64.dll libogg_x64.dll libopenh264_x64.dll libopenjpeg_x64.dll libpng_x64.dll libpthread_win32.dll librsvg_x64.dll libsdl2_x64.dll libshine_x64.dll libsnappy_x64.dll libspeex_x64.dll libsvtav1_x64.dll libswresample_x64.dll libswscale_x64.dll libtheora_x64.dll libtwolame_x64.dll libuavs3d_x64.dll libuavs3e_x64.dll libvorbis_x64.dll libvpx_x64.dll libwebp_x64.dll libx264_0810bit_x64.dll libx265_081012bit_x64.dll libxavs_x64.dll libxavs2_x64.dll libxevd_x64.dll libxeve_x64.dll libxml2_x64.dll libxvid_x64.dll zlib_x64.dll libuvg266 If I have time my dump is github. https://github.com/Jamaika1/plugins_...tj2k/tree/main Perhaps on the forum there are other converters and players evc/vvc/htj2k/jpegxs/heif. Not all additions have been added. https://www.sendspace.com/file/iwahqb Edit: Problems encountered: Add-ons to ffmpeg can have the same functionality. In static compilation, problems with similar functions come out and the functions should be changed. In a static build, it is important that add-ins are not in WINAPI, i.e. contain int DLLmain functions. Problems with libintl.h, iconv.h and pthread.h functions under Win64. To add or not to add such additives? Problems with libcelt and libcelt2. Doesn't libcelt2 support libcelt? What was the old plug for? Is librsvg under Windows 64bit and what is this decoder for? "This is librsvg - A small library to render Scalable Vector Graphics (SVG), associated with the GNOME Project. It renders SVG files to Cairo surfaces. Cairo is the 2D, antialiased drawing library that GNOME uses to draw things to the screen or to generate output for printing." This is not a small library. A lot of add-ons and should all of them be added, e.g. fonts? Should add-ons contain glib, cairo, fonttype include callbacks? Edit: After many trials and tests, there is success. Unfortunately, it ended up in the trash of librsvg. FFmpeg is unstable with it. It's time to start testing. ![]() Code:
Compiled: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX Detected: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX Available: sse2(2) sse41(7) In use: sse2(1) sse41(7) --owf=auto value set to 2. --threads=auto value set to 4. Output #0, vvc, to 'output_uvg266.vvc': Output #0, evc, to 'output_xeve.evc': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf59.35.100 Stream #0:0(und): Video: vvc, yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 3000 kb/s, 29.97 fps, 29.97 tbn (default) Stream #0:0(und): Video: evc, yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 3000 kb/s, 29.97 fps, 29.97 tbn (default) Metadata: handler_name : ISO Media file produced by Google Inc. Created on: 02/14/2019. vendor_id : [0][0][0][0] encoder : Lavc59.56.100 libuvg266 encoder : Lavc59.56.100 libxeve frame= 100 fps=3.6 q=42.0 Lsize= 1184kB time=00:00:03.30 bitrate=2937.2kbits/s speed=0.118x Edit: A few fixes I decided to add. It doesn't matter which ones. The EVC codec can be converted to a mov container. It has a special plug added. I failed to compile aac fixed correctly. I added XAVS2/UAVS3 10bit decoder. The encoders are underdeveloped. Bitrate problem. Successfully compiled X264 with asm 10bit. I was able to compile ac3 fixed correctly. I don't know how to decode HTJ2K. I don't know how to configure SDL2 under ffplay. https://www.sendspace.com/file/dsmn42 Edit: I added few fixes. News: https://github.com/strukturag/libhei...14dc23aba7e743 https://www.sendspace.com/file/c1hhpx Edit: Several improvements I added ffplay. I thought that in gcc nothing would come of it but miracle happened. I replaced the libxml2 libraries and it works. Delete -> https://github.com/GNOME/libxml2 Add -> https://github.com/GerHobbelt/libxml2 https://www.sendspace.com/file/ll5ipb Test of the latest gcc 13.0.1 isn't recommended. http://msystem.waw.pl/x265/mingw-gcc1301-20230322.7z Edit: I added few extras: https://github.com/freetype/freetype https://gitlab.freedesktop.org/fontconfig/fontconfig https://github.com/fribidi/fribidi https://gitlab.freedesktop.org/cairo/cairo https://github.com/harfbuzz/harfbuzz -> plus new fixes for vvc https://github.com/ffvvc/FFmpeg/tree...ea47feb91a0b21 Unresolved GNOME atomic function C/C++ problem. https://gitlab.gnome.org/GNOME/glib/-/issues/600 https://www.sendspace.com/file/ph9xyb Edit: Test codec audio AVX ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a libopus -ac 2 -ar 48000 -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_opus.mp4 OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a libspeex -ac 2 -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_speex.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a libtwolame -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_twolame.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a libvorbis -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_vorbis.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a libshine -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_shine.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a libsnappy -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_snappy.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a libmp3lame -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_mp3lame.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -y -c:a libcodec2 -vn -mode 3200 -frames:v 100 output_codec2.c2 OK Test codec video AVX ffmpeg.exe -i "iphone6s_4k.mov" -c:v libkvazaar -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_kvazaar.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libxvid -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_xvid.mov {not retained bitrates} ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx264 -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_x264.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libopenh264 -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_openh264.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libx265 -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_x265.mov OK ffmpeg.exe -i "iphone6s_4k.mov" -c:v libxavs -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_xavs.mkv {doesn't like the mov container, not retained bitrates, cavs decoder not working, abandoned project} ffmpeg.exe -i "iphone6s_4k.mov" -c:v libxavs2 -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_xavs2.mkv {doesn't like the mov container, not retained bitrates, recommended installation of 10bit decoder, abandoned project} ffmpeg.exe -i "iphone6s_4k.mov" -c:v libuavs3 -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_uavs3.mov {problem DTS, abandoned project} I don't know if there is avs4. ffmpeg.exe -i "iphone6s_4k.mov" -c:v libxeve -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_xeve.mov {encoder/decoder drops frames} ffmpeg.exe -i "iphone6s_4k.mov" -c:v libuvg266 -vb 3000k -c:a ac3 -ac 2 -ar 48000 -ab 128k -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_uvg266.mts {vvc decoder not working} ffmpeg.exe -i "iphone6s_4k.mov" -c:v libtheora -q:v 20 -c:a libvorbis -q:a 20 -s 1920x1080 -frames:v 100 -pix_fmt yuv420p output_theora.ogv {encoder not working, abandoned project(2010} Creating ffmpeg converter in AVX2. There is currently no way to do this in nasm and gcc. These libraries are not written. I can only add fma3. Test of Elecard films in the first versions of VVC. I can only open I frames. Code:
Input #0, vvc, from 'NovosobornayaSquare_1920x1080.bin': 0B f=0/0 Duration: N/A, bitrate: N/A Stream #0:0: Video: vvc (Main), yuv420p, 1920x1080, 59.94 fps, 25 tbr, 1200k tbn [vvc @ 00000275747fe190] Skipping NAL unit 23 Last message repeated 3 times [vvc @ 00000275747fe190] Skipping NAL unit 2342KB sq= 0B f=0/0 Last message repeated 1 times [vvc @ 00000275747fe190] Skipping NAL unit 2333KB sq= 0B f=0/0 Last message repeated 1 times [vvc @ 00000275747fe190] Skipping NAL unit 2371KB sq= 0B f=0/0 [vvc @ 00000275747fe190] Skipping NAL unit 2370KB sq= 0B f=0/0 Last message repeated 2 times [vvc @ 00000275747fe190] Skipping NAL unit 2389KB sq= 0B f=0/0 Last message repeated 2 times Free intoPIX JPEG XS codecs included. Advertised successor to JPEG2000. Unfortunately, I didn't find plugins for ffmpeg and I don't know how to use the codec. My created AVX / AVX2 codecs. https://www.sendspace.com/file/09luu5 Edit: I had to delete some previous content. I have problem with the ar.exe file in mingw. https://www.gnu.org/software/binutils/ For amateurs I remind you that there is file needed to merge libraries into larger projects. The problem is that created .a libraries aren't created only patches are overwritten. Redundant information may remain with any changes. Edit: Latest FFmpeg GCC 13.0.1 20230423/NASM 2.17rc0 20230220 converter test AVX. https://github.com/FFmpeg/FFmpeg/com...fd3a96d77ecc6b HTjpeg2000 decoder has been completely rebuilt. Now it works. AOM codec doesn't like the new GCC. I don't know. Is it better to use AOM or AVM? Theora codec has problems. Blurred frames. The mov container doesn't like to decode CAVS, AVS2, AVS3. Problem with AAC encoder float It seems FFmpeg with GCC/NASM won't work any better. My knowledge of creating FFmpeg ends. https://github.com/Jamaika1/plugins_...de5edb9cf2418d https://www.sendspace.com/file/6jpbi2 Edit: Added updates in May: Added ffmpeg FFmpeg/FFmpeg@41dd50ad Added xevc mpeg5/ffevc@8ca6b5f Added vvc dec ffvvc/FFmpeg@b1c8bd1 Added x265 multicoreware/x265_git@3dae0c3 Added dav1d videolan/dav1d@6afabf8 Added LittleCMS2 mm2/Little-CMS@2dec684 Added libwebp webmproject/libwebp@761f49c Added harfbuzz harfbuzz/harfbuzz@afd432d Added freetype freedesktop/freetype@36a086b Added aom jbeich/aom@578a0b3 Added lzma tukaani-project/xz@2cf5ae5 Added zlib madler/zlib@6658868 Added bzip2 bzip2/bzip2@2d83939 Added libxml2 GNOME/libxml2@e07f765 https://www.sendspace.com/file/cx7o8m News plus new video codec samples: Added svt-av1 AOMediaCodec/SVT-AV1@ea296ef Added aom jbeich/aom@51b883e Added mstorsjo/fdk-aac@3f864cc ??? https://github.com/schreibfaul1/FDK-AAC-DECODER-in-C Added cpuinfo pytorch/cpuinfo@b16eacd Added jpegxl libjxl/libjxl@466e243 Change davs2 xatabhk/davs2-10bit@6b944dc https://www.sendspace.com/file/gxmrn7 And after the May weekend. News plus new video codec samples: https://github.com/FFmpeg/FFmpeg@2dd9b407 https://github.com/ffvvc/FFmpeg@580a67f9 https://github.com/jbeich/aom@6009df0 https://github.com/videolan/dav1d@8af8244 https://github.com/harfbuzz/harfbuzz@5ec0cca https://github.com/GNOME/libxml2@3463063 https://gitlab.freedesktop.org/freet...etype@8fe50c2a https://github.com/tukaani-project/xz@c247d06 Fix name libcelt, libvorbis, libspeex, libcodec2 https://www.sendspace.com/file/ovw996 Test fortran gcc-14-20230507-64 News plus new video codec samples: https://github.com/FFmpeg/FFmpeg@8564b4a https://github.com/ffvvc/FFmpeg@4a0266b https://github.com/mpeg5/ffevc@ba38046 https://github.com/drowe67/codec2@f68a2fe https://github.com/videolan/dav1d@8a104cf https://bitbucket.org/multicoreware/x265_git@34532bd https://github.com/harfbuzz/harfbuzz@5d543d6 https://github.com/GNOME/libxml2@687a2b7 https://gitlab.freedesktop.org/freet...etype@3af4772d https://github.com/GNOME/glib@fde0683 + libgnuintl 0.21.0 + valgrind-3.21.0 delete failed attempt https://www.sendspace.com/file/w6gp91 News ffmpeg plus new video codec samples: https://github.com/FFmpeg/FFmpeg/com...2727f12af5c535 https://github.com/mpeg5/ffevc/commi...9cb6a65531faef https://github.com/harfbuzz/harfbuzz...910a105536f8c2 https://gitlab.freedesktop.org/freet...7e9e47fc84c6eb https://gitlab.freedesktop.org/cairo...43890b440e9a80 https://github.com/GNOME/libxml2/com...4bb42a63caeeea https://github.com/xiph/speex/commit...9825b9f79b686c https://www.sendspace.com/file/fwdqdz Last edited by Jamaika; 28th May 2023 at 11:34. |
![]() |
![]() |
![]() |
#2 | Link |
Registered User
Join Date: Jul 2015
Posts: 681
|
News ffmpeg plus new video codec samples:
https://github.com/FFmpeg/FFmpeg/com...f5274b1f986729 https://github.com/mpeg5/ffevc/commi...12e2524e2d7888 https://github.com/videolan/dav1d/co...673acb649577fb https://github.com/harfbuzz/harfbuzz...d02f8dbe2a84cf https://gitlab.freedesktop.org/freet...329bd2fb2a85ef https://gitlab.freedesktop.org/cairo...0d97845a0c727f https://github.com/GNOME/libxml2/com...7528274efebe44 https://github.com/tukaani-project/x...a15838a0d00878 https://github.com/mm2/Little-CMS/co...03a79ca908b5a4 https://github.com/libass/libass/com...8603edb87da2fd https://github.com/webmproject/libwe...7242ceaa6eaf75 https://github.com/google/highway/co...4a2369f2f2480a https://gitlab.com/AOMediaCodec/SVT-...4748b6633975ec https://github.com/libjxl/libjxl/com...bc1b3b8973bb3d https://github.com/jbeich/aom/commit...ff0bf167e24df3 Problem playing cavs, xvid, xeve, webm Problem creating xeve Could my ffmpeg contain errors? They can be, this is manually assembled ffmpeg. Adding the https://github.com/FFmpeg/FFmpeg/com...591d8ca7f6c1de patch to gcc 11.3.1 causes aac encoder to suddenly work. Code:
Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> vvc (libuvg266)) Stream #0:1 -> #0:1 (aac (aac_fixed) -> aac (libfdk_aac)) Press [q] to stop, [?] for help Compiled: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX Detected: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX Available: sse2(2) sse41(7) In use: sse2(1) sse41(7) --owf=auto value set to 2. --threads=auto value set to 4. Output #0, avi, to 'output_uvg266.avi': News ffmpeg plus new video codec samples: https://github.com/FFmpeg/FFmpeg/com...a1134884475309 https://github.com/mpeg5/ffevc/commi...b2c627889738f7 https://github.com/ffvvc/FFmpeg/comm...6ecc8c1bb081ba https://gitlab.gnome.org/GNOME/pango...a17259a928fc8f https://gitlab.gnome.org/GNOME/glib/...ae6f9903f0f4f3 https://gitlab.gnome.org/GNOME/libxm...1d9b79cc2035f8 https://gitlab.freedesktop.org/cairo...01cc92dd12fd4a https://gitlab.freedesktop.org/fontc...333d3afdf2566e https://github.com/harfbuzz/harfbuzz...66e2042e86c66f https://github.com/videolan/dav1d/co...58f06824462cb9 https://github.com/webmproject/libwe...b9c80ccbad9f6f https://github.com/mm2/Little-CMS/co...140751e8eba606 https://www.sendspace.com/file/wv2rnr Unfinished project, with errors. A hint on how to compile rsvg under win64 is welcome https://www.sendspace.com/file/45q6pk News ffmpeg plus new video codec samples: https://github.com/FFmpeg/FFmpeg/com...30d2002487935f https://github.com/mpeg5/ffevc/commi...f522ea25fefb72 https://github.com/ffvvc/FFmpeg/comm...6ecc8c1bb081ba https://github.com/xiph/opus/commit/...8dca7565a0bfa2 https://github.com/ultravideo/kvazaa...3bd2ff7caf33d2 https://github.com/videolan/dav1d/co...b2725e5e5852d8 https://github.com/jbeich/aom/commit...b590dcce7325a6 https://github.com/libjxl/libjxl/com...d2b878584e4650 https://github.com/google/highway/co...69b3dd4a4ec4e3 https://gitlab.com/AOMediaCodec/SVT-...523a5bbaf2cee1 https://gitlab.freedesktop.org/freet...c876987f03a3e6 https://github.com/xz-mirror/xz/comm...d2d7a89df5a10b https://github.com/GNOME/pango/commi...a1601f8ebc881c https://github.com/GNOME/libxml2/com...aef889375aae32 https://gitlab.freedesktop.org/cairo...cfa28b488f5a29 https://github.com/harfbuzz/harfbuzz...afddf999faddbe https://www.sendspace.com/file/qrkwwo I was able to add librsvg under win64. The question is correct? One thing is for sure now ffmpeg doesn't crash. https://www.sendspace.com/file/jbplw9 News ffmpeg plus new video codec samples: We have holiday. New additions may be underdeveloped. Currently the new gcc 11.4.0 isn't available for windows versions. Since you got here, be aware that mingw may have trouble playing cavs,avs2,avs3,xvid,aac smoothly. FFmpeg converter doesn't contain ac4 and jpegxs codecs. The jpegxs codecs can be downloaded from the site. https://jpeg.org/jpegxs/software.html [libopenh264 @ 0000028e40c0df80] [OpenH264] this = 0x0000028e4186f4e0, Warning:layerId(0) doesn't support profile(578), change to UNSPECIFIC profile [libopenh264 @ 0000028e40c0df80] [OpenH264] this = 0x0000028e4186f4e0, Warning:bEnableFrameSkip = 0,bitrate can't be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame. [cavs @ 00000239eb7e7570] No sequence header decoded yet [cavs @ 00000239eb7e7570] unexpected start code 0x1b3 [cavs @ 00000239eb7e7570] stc 0x1b3 is too large [theora @ 00000298b0e68440] error in unpack_block_qpis [theora @ 00000298afdee860] error in unpack_block_qpis [theora @ 00000298aff2cd70] error in unpack_block_qpis 0B f=0/0 [theora @ 00000298b0c8cbd0] error in unpack_block_qpis [theora @ 00000298afdee860] error in unpack_block_qpis [theora @ 00000298b0c8cbd0] error in unpack_block_qpis 0B f=0/0 [theora @ 00000298aff2cd70] error in unpack_block_qpis 0B f=0/0 [theora @ 00000298afcef690] error in unpack_block_qpis 0B f=0/0 [codec2 @ 00000232cd859a00] Estimating duration from bitrate, this may be inaccurate [shine @ 0000020145c6ea50] overread, skip -6 enddists: -4 -4B f=0/0 [shine @ 0000020145c6ea50] overread, skip -5 enddists: -2 -2B f=0/0 [shine @ 0000020145c6ea50] overread, skip -6 enddists: -5 -5 [shine @ 0000020145c6ea50] overread, skip -5 enddists: -2 -2 ←[1;31mxavs2[e]: deprecated parameter: FrameRate = 4 ←[1;32m[davs2 debug]: Dec[ 0] 21a59fd1420: discontinuous COI (prev: 102 --> curr: 0).←[0m ←[1;33m[davs2 warn]: Dec[ 0] 21a59fd1420: force to remove obsolete frame <poc: 104>.←[0m ←[1;33m[davs2 warn]: Dec[ 0] 21a59fd1420: force to remove obsolete frame <poc: 100>.←[0m ←[1;33m[davs2 warn]: Dec[ 0] 21a59fd1420: force to remove obsolete frame <poc: 96>.←[0m ←[1;33m[davs2 warn]: Dec[ 0] 21a59fd1420: force to remove obsolete frame <poc: 98>.←[0m ←[1;33m[davs2 warn]: Dec[ 0] 21a59fd1420: force to remove obsolete frame <poc: 102>.←[0m [vvc @ 000002663073ebe0] Skipping NAL unit 2367KB sq= 0B f=0/0 [vvc @ 000002663073ebe0] Skipping NAL unit 2342KB sq= 0B f=0/0 [vvc @ 000002663073ebe0] Skipping NAL unit 2342KB sq= 0B f=0/0 file mpegts // openvvc [mpegts @ 000001e75c407120] start time for stream 0 is not set in estimate_timings_from_pts [mpegts @ 000001e75c407120] stream 0 : no TS found at start of file, duration not set [mpegts @ 000001e75c407120] Could not find codec parameters for stream 0 (Video: vvc (VVC / 0x20435656), none): unspecified size [vvc @ 000001e75c8e9ab0] Picture header not available. 0B f=0/0 [vvc @ 000001e75c8e9ab0] Failed to read unit 0 (type 0). [vvc @ 000001e75c8e9ab0] Failed to parse picture unit. [vvc @ 000001e75c8e9ab0] PPS id 0 not available.B sq= 0B f=0/0 [mp4/vvc @ 00000164cc516c40] extra data is not supported yet.0B f=0/0 https://github.com/FFmpeg/FFmpeg/com...10b2580608d428 https://github.com/ffvvc/FFmpeg/comm...6977e4fb63f891 https://github.com/harfbuzz/harfbuzz...6947b9db240176 https://github.com/GNOME/libxml2/com...aeae32ad4b90db https://github.com/libjxl/libjxl/com...dca5f4d63369e7 https://github.com/google/highway/co...c2647adab392ec https://github.com/GNOME/glib/commit...d1980bd0e1af00 https://github.com/jbeich/aom/commit...66ca024293d8bb https://gitlab.com/AOMediaCodec/SVT-...326fb3a7549bd9 https://github.com/webmproject/libwe...0cd0b68f8cccc6 https://github.com/mm2/Little-CMS/co...03cbcce1aad127 https://github.com/GerHobbelt/pthrea...cbf5eb2458d5ee https://github.com/videolan/dav1d/co...6369a31663cb25 https://www.sendspace.com/file/6qv4ra FFmpeg and the matter of fonts for windows. At first I added fontconfig and freetype. Add-ons recommended by FFmpeg but not working, e.g. libass/vf_drawtext on windows. [Parsed_drawtext_0 @ 0000022966714de0] Cannot find a valid font for the family Sans https://www.gyan.dev/ffmpeg/builds/ I was wondering what could be improved here. Freetype advertising under linux/unix/windows/... First of all freetype standard (src/base/ftsystem.c) it isn't known what system it is under. When we want specific system it turns out that the file from the builds directory should be replaced. It's troublesome. Even after replacing freetype files ffmpeg doesn't see the fonts. The situation is different in librsvg. The add-on is in the rust system, which can be troublesome for beginners, but you can throw fontconfig/freetype under windows and include the font windows options. Again, ffmpeg reports no font installed. An uninstalled font is displayed with a default font. Disadvantages. You cannot specify font directory for ffmpeg to read. ** (process:10756): WARNING **: 06:19:18.300: couldn't load font "DejaVu Sans Mono Not-Rotated 5.0791015625", falling back to "Sans Not-Rotated 5.0791015625", expect ugly output. News ffmpeg plus new video codec samples: https://github.com/FFmpeg/FFmpeg/com...a9f44fb14d7875 https://github.com/ffvvc/FFmpeg/comm...7992eb8905ae58 https://github.com/glennrp/libpng/co...71bb36e6b48551 https://github.com/mm2/Little-CMS/co...19146616a62de9 https://github.com/harfbuzz/harfbuzz...18016cabe50a15 https://github.com/GNOME/glib/commit...ac0e0b01db398a https://gitlab.freedesktop.org/freet...e30a0ed8353c0d https://github.com/PCRE2Project/pcre...78007dfcbccd5b https://gitlab.freedesktop.org/cairo...cfa28b488f5a29 https://github.com/jbeich/aom/commit...8fa3038fe7f4dd https://github.com/GNOME/libxml2/com...275a18e3d7a036 https://bitbucket.org/multicoreware/...655f93951128c3 https://github.com/libjxl/libjxl/com...de584fa693273c https://github.com/webmproject/libwe...0539001b692042 https://github.com/google/highway/co...947f980081b047 https://www.sendspace.com/file/lp5mz7 News ffmpeg plus new video codec samples: https://github.com/FFmpeg/FFmpeg/com...984d898f3738eb https://github.com/mm2/Little-CMS/co...8ee699bbaf9ade https://github.com/harfbuzz/harfbuzz...3a3c05300dff78 https://github.com/GNOME/glib/commit...5499d25ead041a https://github.com/jbeich/aom/commit...7ded2a13dccc36 https://github.com/libjxl/libjxl/com...d62db19c58f6d2 https://github.com/webmproject/libwe...2d9cdaf801aa54 https://github.com/videolan/dav1d/co...bec9ca11931502 https://gitlab.freedesktop.org/freet...7cff681ab8a1c7 https://gitlab.freedesktop.org/cairo...25b868d34c4756 Stream #0:0[0x1]: Video: evc (Baseline) (evc1 / 0x31637665), yuv420p10le(progressive), 1920x1080, 1270 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 11988 tbn (default) [mov,mp4,m4a,3gp,3g2,mj2 @ 00000292287f27b0] Could not find codec parameters for stream 0 (Video: vvc (vvc1 / 0x31637676), none, 1920x1080, 2991 kb/s): unspecified pixel format https://www.sendspace.com/file/fnoyo9 Test ffmpeg AVX/AVX2 https://github.com/FFmpeg/FFmpeg/com...50285863ab5829 https://github.com/ffvvc/FFmpeg/blob...c/vvc_filter.c https://github.com/libjxl/libjxl/com...ea42a437537b34 https://gitlab.freedesktop.org/freet...c420bdd6a8941d https://github.com/webmproject/libwe...fbd756c97c9711 https://github.com/jbeich/aom/commit...5fd9961a206e16 https://github.com/harfbuzz/harfbuzz...dd7a14f59e1def https://github.com/PCRE2Project/pcre...3eade07617148c https://www.sendspace.com/file/ue11k4 Last edited by Jamaika; 16th July 2023 at 10:29. |
![]() |
![]() |
![]() |
#4 | Link | ||
Registered User
Join Date: Jul 2015
Posts: 681
|
Quote:
Quote:
The new Codec Git on JPEG.org is actually paid. Novelties JPEGXT, JPEGHT2000, JPEGXS did not enter, they are not applicable in free programs or have a lot of bugs. Creators who are nervous don't like pointing out mistakes or sharing knowledge about programs. Working at DHL, pandemic, loneliness, war in Ukraine, lack of leave is my being on the forum. And one more thing. I don't create my own programs so the rest shouldn't interest me. It's been 6 years on the forum. Wasted time? What can I say about libheif/avif. HEIF is still not added in ffmpeg/libavcodec in programs and probably won't be. The google butteraugli add-on has ceased to exist. JpegXL deleted the plugins so there is no way to connect it. Code:
tune_butteraugli.c: In function 'set_mb_butteraugli_rdmult_scaling': tune_butteraugli.c:109:10: error: 'AV1_COMP' has no member named 'butteraugli_info' 109 | cpi->butteraugli_info.rdmult_scaling_factors[index] = weight; | ^~ libheif was supposed to add vvc. He didn't add. Added kvazaar. It added jpeg2000 but not htjpeg2000. Oh, the latest generation codecs are already in c++17 or higher, so they don't quite match the often discontinued c99 add-ons. x266 vvc did not appear. I've been struggling with ffmpeg manually lately. It works out on average. GCC 11.3.1 is unstable with ffmpeg or there are bugs. The add-ons have common functions. How MSVC compiles it I don't know? But what do you want from free programs. Currently fortran isn't creating new GCC 11.4.0, so something is still wrong. There is a lot of AV2 advertising on the forum, but I don't see the need to create a codec. Nobody did some tests. My builds are AVX rarely AVX2, AVX3(?). The higher SIMD the more time it takes to compile. Phew how hot and stagnant on the forum. It's hard, let's introduce some movement. https://github.com/FFmpeg/FFmpeg/com...387f5ab895fa46 https://github.com/ffvvc/FFmpeg/comm...39db249d1c60b1 https://github.com/madler/zlib/commi...fb96d684b2c9d5 https://github.com/GNOME/glib/commit...64f17716d50bb3 https://github.com/GNOME/libxml2/com...4d7110e429bce9 https://github.com/harfbuzz/harfbuzz...cb9b3cc0921f69 https://github.com/PCRE2Project/pcre...6f61b9be50cbc2 https://github.com/libass/libass/com...440209965eb64f https://gitlab.freedesktop.org/cairo...de96a0a4007905 https://gitlab.freedesktop.org/freet...76d09b2604e5b6 https://gitlab.freedesktop.org/fontc...156733b2b2c13a https://github.com/jbeich/aom/commit...e042d06e7b2895 https://github.com/libjxl/libjxl/com...54a805596b1916 https://github.com/google/highway/co...de47acb823f825 https://github.com/pytorch/cpuinfo/c...45f2af720e0aa4 https://gitlab.com/AOMediaCodec/SVT-...d6831ab06a849c https://www.sendspace.com/file/l41eae Last edited by Jamaika; 27th August 2023 at 10:37. |
||
![]() |
![]() |
![]() |
#5 | Link | ||
Huba Huba
Join Date: Aug 2005
Location: Palumbian Jungle
Posts: 78
|
Quote:
Quote:
There is no jxl support except for a too basic viewer, and avif is just supported as baseline with 8bpp on my Samung S20, and 12bpp jpeg doesn't work either. As I've painfully discovered, the one and only way is 10bpp heic (which happens to be supported because of 10bpp hevc encoding). And the one and only way to create heic seems to be heifenc. Concerning ffmpeg heif, direct support isn't vital if you can do ffmpeg frame => mp4box ... I can get this to work for avif (av1 frame), but it doesn't seem to work for x265 frame and the resulting image is broken (did anyone ever manage?). Otherwise heic is rather annoying because it's slow to browse on desktop and isn't supported in browsers. The hassle with heifenc is that it doesn't support pipes, only reads jpg/png and doesn't have all the filtering stuff from ffmpeg or image magick - i.e. I have to generate immensely large (and slow) temporary files to use heifenc...
__________________
"The innocent have nothing to fear" :stupid: Last edited by Marsu42; 28th August 2023 at 12:22. |
||
![]() |
![]() |
![]() |
#6 | Link |
Registered User
Join Date: Jul 2015
Posts: 681
|
Latest additions in libheif. This is what I managed to do. I haven't tested.
HEIC encoders: - x265 = x265 HEVC encoder (3.5+105-59ff5e7) [default] - kvazaar = kvazaar HEVC encoder AVIF encoders: - aom = AOMedia Project AV1 Encoder v3.6.1-5f8db64 [default] - svt = SVT-AV1 encoder 1.7.0-ebc5df4 JPEG encoders: - jpeg = libjpeg-turbo 3.0.1-9b704f9 (libjpeg 8.0) [default] JPEG-2000 encoders: - openjpeg = OpenJPEG 2.5.0-1ee6d11 [default] Uncompressed encoders: - uncompressed = uncompressed [default] https://www.sendspace.com/file/31ikqk Last edited by Jamaika; 30th August 2023 at 05:13. |
![]() |
![]() |
![]() |
#8 | Link |
Registered User
Join Date: Jul 2015
Posts: 681
|
New functions. AVIF + AVM
https://github.com/AOMediaCodec/liba...rc/codec_avm.c Problem libavif with gcc 11.3.1 int wmain https://learn.microsoft.com/pl-pl/cp...?view=msvc-170 Problem with int main. GCC 11.3.1 doesn't indicate multiple use errors of this function in lzma in ffmpeg. Only on a small libavif projection did it turn out that the functions were added incorrectly. Problem assembler xavs, xavs2, davs2. Removal recommended even though it has the ARCH_X86_64 function. Videos decode incorrectly. Problem assembler avm. Unknown DOS transition error. I probably did something wrong in aom_dsp_rtcd.h. The tests show nothing. Perhaps with the SSE2 feature cut out there is no point in adding SIMD for old computers. After many attempts I managed to create libavif avm. Code:
Successfully loaded: image_21447_24bit.jpg AVIF to be written: (Lossy) * Resolution : 4000x3000 * Bit Depth : 8 * Format : YUV420 * Chroma Sam. Pos: 0 * Alpha : Absent * Range : Full * Color Primaries: 1 * Transfer Char. : 13 * Matrix Coeffs. : 6 * ICC Profile : Absent * XMP Metadata : Absent * Exif Metadata : Absent * Transformations: None * Progressive : Unavailable * Gain map : Absent Encoding with AV1 codec 'avm' speed [5], color quality [60 (Medium)], alpha quality [100 (Lossless)], tileRowsLog2 [0], tileColsLog2 [0], 4 worker thread(s), please wait... Encoded successfully. * Color AV1 total size: 870397 bytes * Alpha AV1 total size: 0 bytes Wrote AVIF: image_21447_24bita_avm.avif Code:
Codec 0xe3 is not in the full list.0KB vq= 0KB sq= 0B f=0/0 [mov,mp4,m4a,3gp,3g2,mj2 @ 00000270afae3780] Could not find codec parameters for stream 0 (Video: unknown_codec, none): unspecified size Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'image_21447_24bita_avm.avif': Metadata: major_brand : avif minor_version : 2 compatible_brands: avifmif1miafMA1B Duration: N/A, start: 0.000000, bitrate: N/A Codec 0xe3 is not in the full list. Stream #0:0[0x1]: Video: unknown_codec, none, 1 fps, 1 tbr, 1 tbn Codec 0xe3 is not in the full list. No decoder could be found for codec unknown_codec Failed to open file 'image_21447_24bita_avm.avif' or configure filtergraph Version: 1.0.1 (svt [enc]:1.7.0-09df835, avm [enc/dec]:v5.0.0-8f881c2) libyuv : available (1857) https://www.sendspace.com/file/z1lhs4 New additions, improved functions FFmpeg https://github.com/FFmpeg/FFmpeg/com...0ca684fbe8d65c https://github.com/ffvvc/FFmpeg/comm...397a2c72633943 https://github.com/mm2/Little-CMS/co...62f289d972cfa0 https://github.com/tukaani-project/x...3eb22c78f6c4f8 https://github.com/GNOME/libxml2/com...9edaa727843696 https://github.com/GNOME/glib/commit...3dfd7c3e4931d2 https://github.com/harfbuzz/harfbuzz...6a8a5ed6ef908b https://github.com/google/brotli/com...17c881eaf35ca2 https://github.com/google/highway/co...1657c5fa228ee1 https://github.com/libjxl/libjxl/com...9d12ac65b7bc85 https://github.com/jbeich/aom/commit...aabda45d4c85fe https://github.com/cisco/openh264/co...97cb4324f98bac https://gitlab.freedesktop.org/cairo...5e1c3179135180 https://gitlab.freedesktop.org/freet...46b407ef0c0ceb https://github.com/videolan/dav1d/co...ddf212c6e49300 https://github.com/PCRE2Project/pcre...c20c3af890465b https://gitlab.com/AOMediaCodec/SVT-...13002cad6594c3 https://github.com/webmproject/libwe...1c642b804ebeea https://www.nasm.us/pub/nasm/snapshots/20230220/win64/ https://www.sendspace.com/file/hx5po5 Despite removing assembler there is still problem in libopus. I don't know why libdav1d isn't enabled only manually Problem with xavs/xavs2. Projects have been abandoned and videos are lagging. I think I'll delete them. ←[1;31m[davs2 error]: Dec[ 1] 145a0fc5c40: reference frame of [coi: 523, poc: 522]: <COI: 522> not found.←[0m ←[1;31m[davs2 error]: Failed to decode frame <COI: 523, POC: 522> https://github.com/FFmpeg/FFmpeg/com...b9a5c9f233cfb3 https://github.com/ffvvc/FFmpeg/comm...8a0bca59f45c66 https://github.com/mm2/Little-CMS/co...fc4dbd2b0883c5 https://github.com/tukaani-project/x...b4a83ff748ad06 https://github.com/GNOME/libxml2/com...4a1de6959685da https://github.com/GNOME/glib/commit...2661786908c686 https://github.com/harfbuzz/harfbuzz...a46f5fea88536f https://github.com/google/brotli/com...17c881eaf35ca2 https://github.com/google/highway/co...c856b40c8cc97a https://github.com/libjxl/libjxl/com...8b2308c3e215d4 https://github.com/jbeich/aom/commit...6d8826c75ce473 https://gitlab.com/AOMediaCodec/avm/...f2fcd5277184ef https://github.com/AOMediaCodec/liba...3525aa56247aad https://gitlab.freedesktop.org/freet...01616b19ec59f8 https://github.com/videolan/dav1d/co...1b2dd0050f355f https://gitlab.com/AOMediaCodec/SVT-...6f536d12651cb5 https://www.sendspace.com/file/9795pu https://www.sendspace.com/file/8mrqxe https://github.com/FFmpeg/FFmpeg/com...54f349c39e81e0 https://github.com/ffvvc/FFmpeg/comm...efb73cd212fee3 https://github.com/GNOME/glib/commit...e35c7606b9bff5 https://github.com/GNOME/libxml2/com...f0ae46322c583d https://gitlab.freedesktop.org/cairo...341bbab415ba46 https://github.com/PCRE2Project/pcre...8f9a15665bb8bc https://github.com/jbeich/aom/commit...26e710031ef820 https://gitlab.com/AOMediaCodec/avm/...f05a5559fb7607 https://github.com/AOMediaCodec/liba...0b4ee2b613a186 https://gitlab.com/AOMediaCodec/SVT-...00efc07f3de13a https://github.com/pytorch/cpuinfo/c...891af3c0e1a1d7 https://github.com/madler/zlib/commi...a56eb90f668f44 https://github.com/mm2/Little-CMS/co...c000600364ef0c https://github.com/tukaani-project/x...0f4c7b89d3998b https://github.com/harfbuzz/harfbuzz...0f692f18d52d42 https://gitlab.freedesktop.org/freet...d8029a8bde1957 https://github.com/google/highway/co...98176cc9e70c34 https://github.com/libjxl/libjxl/com...072f8e2edc3183 https://github.com/mstorsjo/fdk-aac/...463e368d95083c https://github.com/libass/libass/com...27e6c5b7c2bde0 https://github.com/xiph/opus/commit/...2454206b6138ba https://github.com/klemensn/libyuv/c...f7b50b3fd698dc https://www.sendspace.com/file/ocwmtt https://www.sendspace.com/file/uwcb3r How to create ffmpeg with nasm assembler. We have two functions ARCH_X86 and HAVE_X86ASM ARCH_X86 must be included for gcc to link assembler files. HAVE_X86ASM is only for win32 so xvid/vp9 videos will not play in hpeldsp_init.c and qpeldsp_init.c files. Putting zero into the HAVE_MMXEXT_EXTERNAL function will cause errors in swscale.c. You will not connect the ff_yuv2yuvX_mmxext function. Only libopus doesn't reproduce well. You must manually bind HAVE_MMXEXT_EXTERNAL in the hpeldsp_init.c and qpeldsp_init.c files. Perhaps libcelt and libcelt2 have common functions and don't like each other. In fact, why is there libcelt plugin that isn't adapted to libcelt2. https://github.com/FFmpeg/FFmpeg/com...5b6a4f2d5a9701 https://github.com/ffvvc/FFmpeg/comm...e4e4be72864f1d https://github.com/GNOME/glib/commit...c10ae346b9a973 https://github.com/GNOME/libxml2/com...6e57819cc57a78 https://github.com/PCRE2Project/pcre...9cd9c0eae9e13a https://github.com/jbeich/aom/commit...bce800e7ed4fd7 https://gitlab.com/AOMediaCodec/avm/...de430ea8818eaf https://github.com/AOMediaCodec/liba...f30787a1c88230 https://github.com/pytorch/cpuinfo/c...87bc9df8d2522b https://github.com/madler/zlib/commi...880579692f769d https://github.com/mm2/Little-CMS/co...5d9659311e913d https://github.com/webmproject/libvp...30a056e7b0a3c8 https://github.com/webmproject/libwe...baf945c188d1f0 https://github.com/libjxl/libjxl/com...b4de4cf9975b65 https://github.com/google/highway/co...19eadc6c9438b6 https://gitlab.freedesktop.org/freet...f999362aefe565 https://github.com/harfbuzz/harfbuzz...88b8a4674b2e8a https://www.sendspace.com/file/31el74 https://www.sendspace.com/file/kyi0t4 https://github.com/FFmpeg/FFmpeg/com...ce957fe3da77f0 https://github.com/ffvvc/FFmpeg/comm...9b7ed3c1c0d93d https://github.com/GNOME/glib/commit...f6137790f5325b https://github.com/GNOME/libxml2/com...79afe692d30168 https://github.com/PCRE2Project/pcre...2d9d66373d5f4d https://github.com/jbeich/aom/commit...e266d0f061b3a1 https://gitlab.com/AOMediaCodec/avm/...3161c3ac91efc8 https://github.com/AOMediaCodec/liba...7e1abe1f517d95 https://gitlab.com/AOMediaCodec/SVT-...79adbf3ecc4ac1 https://github.com/webmproject/libwe...d258c49d5fe8c6 https://github.com/libjxl/libjxl/com...7313ac6c8f2d53 https://github.com/google/highway/co...c3fdaa20967baf https://gitlab.freedesktop.org/freet...dcf4dc8179cbf6 https://github.com/tukaani-project/x...c5aa4c0aa6b23d https://www.sendspace.com/file/stth2j https://www.sendspace.com/file/py4ljl Code:
Output #0, matroska, to 'output_xeve.mkv': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf60.17.100 Stream #0:0(und): Video: evc, 1 reference frame (evc1 / 0x31637665), yuv420p(tv, progressive, left), 1920x1080 (0x0) [SAR 1:1 DAR 16:9], q=2-31, 3000 kb/s, 29.97 fps, 1k tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] encoder : Lavc60.34.100 libxeve Stream #0:1(und): Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, delay 1024, 128 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] encoder : Lavc60.34.100 aac frame= 2 fps=0.2 q=33.0 size= 1kB time=00:00:00.53 bitrate= 15.3kbits/s speed=0.0536x Code:
Output #0, matroska, to 'output_uvg266.mkv': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf60.17.100 Stream #0:0(und): Video: vvc, 1 reference frame (vvi1 / 0x31697676), yuv420p(tv, progressive, left), 1920x1080 (0x0) [SAR 1:1 DAR 16:9], q=2-31, 3000 kb/s, 29.97 fps, 1k tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] encoder : Lavc60.34.100 libuvg266 Stream #0:1(und): Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, delay 1024, 128 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] encoder : Lavc60.34.100 aac frame= 11 fps=3.0 q=34.0 size= 1kB time=00:00:00.36 bitrate= 24.1kbits/s speed=0.0987x The new rsvg project is in the Rust language. The era of new codecs is over. XEVE has no updates, HW VVC is in C++17 which doesn't match ffmpeg. So there is a thread break Problem with gcc programming How to connect freetype with harfbuzz? Add "-l:freetype_x64.a -l:harfbuzz_x64.a" first or vice versa. It turned out that you had to merge "-l:freetype_harfbuzz_x64.a". Last edited by Jamaika; 25th November 2023 at 22:26. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|