From: Nuo Mi <nuomi2021@gmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 01/14] vvcdec: add thread executor Date: Sun, 21 May 2023 23:16:36 +0800 Message-ID: <CAFXK13ft+1HkDX=JtUDzy1FuddRzK6E-TPjk0Q9PZQPRG-1RYg@mail.gmail.com> (raw) In-Reply-To: <NVyqLGs--3-9@lynne.ee> On Sun, May 21, 2023 at 11:07 PM Lynne <dev@lynne.ee> wrote: > May 21, 2023, 17:06 by nuomi2021@gmail.com: > > > On Sun, May 21, 2023 at 10:11 PM Lynne <dev@lynne.ee> wrote: > > > >> May 21, 2023, 15:03 by nuomi2021@gmail.com: > >> > >> > The executor design pattern was inroduced by java > >> > < > >> > https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/util/concurrent/Executor.html > >> > > >> > it also adapted by python > >> > <https://docs.python.org/3/library/concurrent.futures.html> > >> > Compared to handcrafted thread pool management, it greatly simplifies > >> the thread code. > >> > --- > >> > libavcodec/Makefile | 1 + > >> > libavcodec/vvc/Makefile | 4 + > >> > libavcodec/vvc/vvc_executor.c | 193 > ++++++++++++++++++++++++++++++++++ > >> > libavcodec/vvc/vvc_executor.h | 73 +++++++++++++ > >> > 4 files changed, 271 insertions(+) > >> > create mode 100644 libavcodec/vvc/Makefile > >> > create mode 100644 libavcodec/vvc/vvc_executor.c > >> > create mode 100644 libavcodec/vvc/vvc_executor.h > >> > > >> > >> I'd like a unified API, since for AV1, we'd want something similar. > >> Having a custom one for each codec is a bad idea and prone to > bitrotting. > >> > > Hi Lynne, > > Thanks for the comment. > > > > dav1d has not merged to mainline yet. > > It uses the same idea, but all codes are hand-crafted. Did not use any > > existing patterns. > > I guess the executor will simplify the dav1d's code. > > Let us find out when it is sent to FFmpeg for review. > > > > Current ffmpeg's thread management has limitations: > > 1. Slice thread bound to frame, it can't not us by another frame even > > current frame has no job. > > 2. It is a one-shot mechanism. Can't support multi-stage decoder. So it > > can't fully use the multiple cores. > > This is why we need a new one. > > > > I don't mind a new one, I'd like for it to not be specific for VVC from the > start so it can be reused and improved. > Sure. Will move it to libavcodec. > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2023-05-21 15:16 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-05-21 13:03 [FFmpeg-devel] [PATCH 00/14] add vvc decoder c code Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 01/14] vvcdec: add thread executor Nuo Mi 2023-05-21 13:15 ` Rémi Denis-Courmont 2023-05-21 14:24 ` Nuo Mi 2023-05-22 16:29 ` Rémi Denis-Courmont 2023-05-23 6:23 ` Nuo Mi 2023-05-21 14:44 ` Nuo Mi 2023-05-21 14:11 ` Lynne 2023-05-21 15:03 ` Nuo Mi 2023-05-21 15:06 ` Lynne 2023-05-21 15:16 ` Nuo Mi [this message] 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 02/14] vvcdec: add vvc decoder stub Nuo Mi 2023-05-21 17:30 ` Michael Niedermayer 2023-05-22 1:55 ` Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 03/14] vvcdec: add sps, pps, sh parser Nuo Mi 2023-05-21 14:25 ` James Almer 2023-06-10 11:37 ` Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 04/14] vvcdec: add cabac decoder Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 05/14] vvcdec: add reference management Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 06/14] vvcdec: add motion vector decoder Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 07/14] vvcdec: add inter prediction Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 08/14] vvcdec: add inv transform 1d Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 09/14] vvcdec: add intra prediction Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 10/14] vvcdec: add LMCS, Deblocking, SAO, and ALF filters Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 11/14] vvcdec: add dsp init and inv transform Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 12/14] vvcdec: add CTU(Coding Tree Unit) parser Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 13/14] vvcdec: add CTU thread logical Nuo Mi 2023-05-21 13:03 ` [FFmpeg-devel] [PATCH 14/14] vvcdec: add full vvc decoder Nuo Mi
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAFXK13ft+1HkDX=JtUDzy1FuddRzK6E-TPjk0Q9PZQPRG-1RYg@mail.gmail.com' \ --to=nuomi2021@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git