Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
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".

  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