On Mon, Sep 04, 2023 at 04:28:57PM +0200, Michael Niedermayer wrote: > On Sun, Sep 03, 2023 at 12:07:41AM +0800, Nuo Mi wrote: > > vvc decoder plug-in to avcodec. > > split frames into slices/tiles and send them to vvc_thread for further decoding > > reorder and wait for the frame decoding to be done and output the frame > > > > Features: > > + Support I, P, B frames > > + Support 8/10/12 bits, chroma 400, 420, 422, and 444 and range extension > > + Support VVC new tools like MIP, CCLM, AFFINE, GPM, DMVR, PROF, BDOF, LMCS, ALF > > + 295 conformace clips passed > > - Not support RPR, IBC, PALETTE, and other minor features yet > > > > Performance: > > C code FPS on i7-12700 (x86): > > BQTerrace_1920x1080_60_10_420_22_RA.vvc 77.7 > > Chimera_8bit_1080P_1000_frames.vvc 174.3 > > NovosobornayaSquare_1920x1080.bin 163.7 > > RitualDance_1920x1080_60_10_420_32_LD.266 136.7 > > RitualDance_1920x1080_60_10_420_37_RA.266 154.3 > > Tango2_3840x2160_60_10_420_27_LD.266 30.0 > > Tango2_3840x2160_60_10_420_27_RA.266 29.0 > > > > C code FPS on M1 Mac Pro (ARM): > > BQTerrace_1920x1080_60_10_420_22_RA.vvc 58.7 > > Chimera_8bit_1080P_1000_frames.vvc 153.3 > > NovosobornayaSquare_1920x1080.bin 150.3 > > RitualDance_1920x1080_60_10_420_32_LD.266 105.0 > > RitualDance_1920x1080_60_10_420_37_RA.266 133.0 > > Tango2_3840x2160_60_10_420_27_LD.266 21.7 > > > > Asm optimizations still working in progress. please check > > https://github.com/ffvvc/FFmpeg/wiki#performance-data for the latest > > > > Contributors(based on code merge order): > > Nuo Mi > > Xu Mu > > frankplow > > Shaun Loo > > --- > > libavcodec/vvc/vvcdec.c | 1025 ++++++++++++++++++++++++++++++++++++++- > > 1 file changed, 1024 insertions(+), 1 deletion(-) > > are the fate tests like fate-cbs-vvc-SUBPIC_A_3 supposed to take really long > after this ? > > (really long meaning longer than my patience before killing the task) Heres a backtrace when i stop it [vvc @ 0x555558699e40] Skipping NAL unit 19 [vvc @ 0x555558699e40] Skipping NAL unit 24 [vvc @ 0x555558699e40] Skipping NAL unit 19 [vvc @ 0x555558699e40] Skipping NAL unit 24 [vvc @ 0x555558699e40] Skipping NAL unit 19 ^C Thread 1 "ffmpeg_g" received signal SIGINT, Interrupt. __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135 135 ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: No such file or directory. (gdb) bt #0 __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135 #1 0x00007ffff00c4025 in __GI___pthread_mutex_lock (mutex=0x5555586d3540) at ../nptl/pthread_mutex_lock.c:80 #2 0x00005555567d24d5 in strict_pthread_mutex_lock (mutex=0x5555586d3540) at libavutil/thread.h:91 #3 0x00005555567d2e6c in av_executor_execute (e=0x5555586d3500, t=0x555558dc7900) at libavutil/executor.c:187 #4 0x0000555556642195 in ff_vvc_frame_add_task (s=0x55555869b400, t=0x555558dc7900) at libavcodec/vvc/vvc_thread.c:770 #5 0x000055555627f997 in decode_slice (s=0x55555869b400, fc=0x7ffff7f3b0b0, nal=0x555558721f30, unit=0x55555873e498) at libavcodec/vvc/vvcdec.c:825 #6 0x000055555627fa48 in decode_nal_unit (s=0x55555869b400, fc=0x7ffff7f3b0b0, nal=0x555558721f30, unit=0x55555873e498) at libavcodec/vvc/vvcdec.c:851 #7 0x000055555627fc11 in decode_nal_units (s=0x55555869b400, fc=0x7ffff7f3b0b0, avpkt=0x55555869ba00) at libavcodec/vvc/vvcdec.c:897 #8 0x0000555556280007 in vvc_decode_frame (avctx=0x555558699e40, output=0x55555869b0c0, got_output=0x7fffffffd400, avpkt=0x55555869ba00) at libavcodec/vvc/vvcdec.c:989 #9 0x0000555555d9fa3c in decode_simple_internal (avctx=0x555558699e40, frame=0x55555869b0c0, discarded_samples=0x7fffffffd460) at libavcodec/decode.c:432 #10 0x0000555555d9ff93 in decode_simple_receive_frame (avctx=0x555558699e40, frame=0x55555869b0c0) at libavcodec/decode.c:606 #11 0x0000555555da0103 in decode_receive_frame_internal (avctx=0x555558699e40, frame=0x55555869b0c0) at libavcodec/decode.c:634 #12 0x0000555555da04c8 in avcodec_send_packet (avctx=0x555558699e40, avpkt=0x555559917c88) at libavcodec/decode.c:731 #13 0x0000555555a9d3d8 in try_decode_frame (s=0x555558698900, st=0x5555586999c0, pkt=0x555559917c88, options=0x55555869a3c0) at libavformat/demux.c:2075 #14 0x0000555555aa01f2 in avformat_find_stream_info (ic=0x555558698900, options=0x55555869a3c0) at libavformat/demux.c:2771 #15 0x0000555555697446 in ifile_open (o=0x7fffffffdaa0, filename=0x7fffffffe56b "fate-suite//vvc-conformance/SUBPIC_A_3.bit") at fftools/ffmpeg_demux.c:1538 #16 0x00005555556baaf6 in open_files (l=0x555558698218, inout=0x55555687dc92 "input", open_file=0x555555696649 ) at fftools/ffmpeg_opt.c:1284 #17 0x00005555556bac9e in ffmpeg_parse_options (argc=22, argv=0x7fffffffe1c8) at fftools/ffmpeg_opt.c:1324 #18 0x00005555556c8c06 in main (argc=22, argv=0x7fffffffe1c8) at fftools/ffmpeg.c:1314 [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Everything should be made as simple as possible, but not simpler. -- Albert Einstein