From: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH v6 3/4] all: Link to "context" from all public contexts with documentation
Date: Wed, 5 Jun 2024 13:51:57 +0100
Message-ID: <ZmBfbWS4UX1HJO1k@andrews-2024-laptop.sayers> (raw)
In-Reply-To: <171757516715.28895.16875988658038638823@lain.khirnov.net>
Note: I somehow managed to send this message directly to Anton before - sorry
Anton for the message spam, please reply to this one if you want the list to
see it!
On Wed, Jun 05, 2024 at 10:12:47AM +0200, Anton Khirnov wrote:
> Quoting Andrew Sayers (2024-06-04 16:47:23)
> > The goal of putting these links in "@see" blocks is to provide hooks
> > for future developers to add links to other useful parts of the codebase.
> > ---
> > libavcodec/avcodec.h | 3 +++
> > libavcodec/bsf.h | 3 +++
> > libavcodec/d3d11va.h | 3 +++
> > libavcodec/mediacodec.h | 2 ++
> > libavcodec/qsv.h | 3 +++
> > libavcodec/vdpau.h | 3 +++
> > libavcodec/videotoolbox.h | 3 +++
> > libavfilter/avfilter.h | 7 ++++++-
> > libavformat/avformat.h | 3 +++
> > libavformat/avio.h | 3 +++
> > libavutil/audio_fifo.h | 3 +++
> > libavutil/hwcontext.h | 6 ++++++
> > libavutil/hwcontext_cuda.h | 3 +++
> > libavutil/hwcontext_d3d11va.h | 6 ++++++
> > libavutil/hwcontext_d3d12va.h | 6 ++++++
> > libavutil/hwcontext_drm.h | 3 +++
> > libavutil/hwcontext_dxva2.h | 6 ++++++
> > libavutil/hwcontext_mediacodec.h | 3 +++
> > libavutil/hwcontext_opencl.h | 6 ++++++
> > libavutil/hwcontext_qsv.h | 6 ++++++
> > libavutil/hwcontext_vaapi.h | 6 ++++++
> > libavutil/hwcontext_vdpau.h | 3 +++
> > libavutil/hwcontext_vulkan.h | 6 ++++++
> > libavutil/lfg.h | 3 +++
> > 24 files changed, 98 insertions(+), 1 deletion(-)
>
> IMO this is pointless churn.
That's like saying caches are pointless bloat - it's not about correctness,
it's about performance. Actually, I've been talking about "performance" a lot
round here, but not really explained what I mean...
Imagine a smart young developer who learned C at university and is now dipping
their toe in the world of actual C development. They've come up with an idea
for a little app that's different enough from the examples to force themselves
not to just copy/paste example code. It's simple enough that an experienced
developer like you would only need half a day for the whole project, so they
allow themselves a weekend to get it done. "Performance" in this case means
"can they finish the project in their ~16 hour time budget?"
Assuming they're half as productive as you would be, 8 of their 16 hours go on
programming, leaving 8 hours to learn FFmpeg.
They've never written real-world C before, so they don't know what a context is.
And they only have a narrow understanding of OOP, so as soon as they see words
like "object" and "class", they assume you're referring to the precise version
of OOP their Java lecturer taught them about. So the longer they spend poking
round looking for information, the more misconceptions they're going to develop.
Even if we assume they find the context document after one hour of searching,
they fully understand the document with no reading time, and only need one
extra hour to unlearn the misconceptions they developed, that's still cost
a quarter of their remaining time budget.
To an expert, these links are unnecessary verbiage pointing to a document
that explains things that are blindingly obvious. But to a newbie, they're
an important optimisation that can make the difference between finishing
a project or having to give up on FFmpeg altogether.
_______________________________________________
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:[~2024-06-05 12:52 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-18 15:06 [FFmpeg-devel] [PATCH 1/3] doc: Explain what "context" means Andrew Sayers
2024-04-18 15:06 ` [FFmpeg-devel] [PATCH 2/3] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers
2024-04-18 15:06 ` [FFmpeg-devel] [PATCH 3/3] all: Link to "context" from all contexts with documentation Andrew Sayers
2024-04-20 7:25 ` [FFmpeg-devel] [PATCH 1/3] doc: Explain what "context" means Stefano Sabatini
2024-04-20 12:18 ` Andrew Sayers
2024-04-20 16:13 ` Stefano Sabatini
2024-04-20 12:19 ` [FFmpeg-devel] [PATCH v2 " Andrew Sayers
2024-04-20 12:19 ` [FFmpeg-devel] [PATCH v2 2/3] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers
2024-04-20 12:19 ` [FFmpeg-devel] [PATCH v2 3/3] all: Link to "context" from all contexts with documentation Andrew Sayers
2024-04-20 16:48 ` [FFmpeg-devel] [PATCH v2 1/3] doc: Explain what "context" means Stefano Sabatini
2024-04-20 22:17 ` Andrew Sayers
2024-04-22 8:02 ` Stefano Sabatini
2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 0/3] all: Link to "context" from all contexts with documentation Andrew Sayers
2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 1/3] doc: Explain what "context" means Andrew Sayers
2024-04-22 17:05 ` Stefano Sabatini
2024-04-29 9:10 ` Andrew Sayers
2024-05-02 10:03 ` Andrew Sayers
2024-05-05 7:29 ` Stefano Sabatini
2024-05-05 21:04 ` Andrew Sayers
2024-05-22 10:37 ` Stefano Sabatini
2024-05-22 12:47 ` Andrew Sayers
2024-05-25 9:00 ` Stefano Sabatini
2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 1/4] " Andrew Sayers
2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers
2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 3/4] all: Link to "context" from all contexts with documentation Andrew Sayers
2024-05-02 11:01 ` Lynne
2024-05-02 11:14 ` Andrew Sayers
2024-05-02 13:00 ` Zhao Zhili
2024-05-02 13:27 ` Andrew Sayers
2024-05-02 13:39 ` Zhao Zhili
2024-04-29 9:24 ` [FFmpeg-devel] [PATCH v4 4/4] lavf: Add documentation for private "Context" classes Andrew Sayers
2024-05-05 8:31 ` [FFmpeg-devel] [PATCH v4 1/4] doc: Explain what "context" means Andreas Rheinhardt
2024-05-05 10:34 ` Andrew Sayers
2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 2/3] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers
2024-04-22 15:56 ` [FFmpeg-devel] [PATCH v3 3/3] all: Link to "context" from all contexts with documentation Andrew Sayers
2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 0/4] Explain what "context" means Andrew Sayers
2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 1/4] doc: " Andrew Sayers
2024-05-22 9:31 ` Stefano Sabatini
2024-05-22 16:07 ` Andrew Sayers
2024-05-25 9:49 ` Stefano Sabatini
2024-05-26 12:06 ` Andrew Sayers
2024-05-28 17:24 ` Stefano Sabatini
2024-05-29 10:10 ` Andrew Sayers
2024-05-29 10:50 ` Andrew Sayers
2024-05-29 11:06 ` Paul B Mahol
2024-05-29 14:18 ` Andrew Sayers
2024-05-29 16:06 ` Stefano Sabatini
2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 0/4] " Andrew Sayers
2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 1/4] doc: " Andrew Sayers
2024-05-25 11:00 ` Stefano Sabatini
2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers
2024-05-25 9:57 ` Stefano Sabatini
2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 3/4] all: Link to "context" from all public contexts with documentation Andrew Sayers
2024-05-23 20:00 ` [FFmpeg-devel] [PATCH v5 4/4] all: Rewrite documentation for contexts Andrew Sayers
2024-05-24 1:50 ` [FFmpeg-devel] [PATCH v5 0/4] Explain what "context" means Michael Niedermayer
2024-05-24 9:43 ` Andrew Sayers
2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers
2024-05-22 10:04 ` Stefano Sabatini
2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 3/4] all: Link to "context" from all contexts with documentation Andrew Sayers
2024-05-15 16:46 ` Lynne via ffmpeg-devel
2024-05-16 11:25 ` Andrew Sayers
2024-05-15 15:54 ` [FFmpeg-devel] [PATCH v4 4/4] lavf: Add documentation for private "Context" classes Andrew Sayers
2024-05-22 10:08 ` Stefano Sabatini
2024-05-22 14:47 ` Andrew Sayers
2024-05-22 15:24 ` Andreas Rheinhardt
2024-05-22 16:54 ` Andrew Sayers
2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 0/4] doc: Explain what "context" means Andrew Sayers
2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 1/4] " Andrew Sayers
2024-06-05 8:15 ` Anton Khirnov
2024-06-12 20:52 ` Stefano Sabatini
2024-06-13 14:20 ` Andrew Sayers
2024-06-15 9:17 ` Stefano Sabatini
2024-06-16 18:02 ` [FFmpeg-devel] Development process for explaining contexts (was Re: [PATCH v6 1/4] doc: Explain what "context" means) Andrew Sayers
2024-06-16 21:20 ` Paul B Mahol
2024-07-01 22:16 ` Stefano Sabatini
2024-07-02 9:56 ` Andrew Sayers
2024-07-06 11:33 ` Stefano Sabatini
2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 2/4] lavu: Clarify relationship between AVClass, AVOption and context Andrew Sayers
2024-06-05 10:34 ` Stefano Sabatini
2024-06-05 12:46 ` Andrew Sayers
2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 3/4] all: Link to "context" from all public contexts with documentation Andrew Sayers
2024-06-05 8:12 ` Anton Khirnov
2024-06-05 12:51 ` Andrew Sayers [this message]
2024-06-04 14:47 ` [FFmpeg-devel] [PATCH v6 4/4] all: Rewrite documentation for contexts Andrew Sayers
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=ZmBfbWS4UX1HJO1k@andrews-2024-laptop.sayers \
--to=ffmpeg-devel@pileofstuff.org \
--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