From: James Almer <jamrial@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavc/bsf: add general documentation
Date: Wed, 16 Mar 2022 08:51:37 -0300
Message-ID: <d77c0b1d-8919-ca5a-9402-f92b0572aa05@gmail.com> (raw)
In-Reply-To: <164743057568.9519.10793087121957786500@lain.red.khirnov.net>
On 3/16/2022 8:36 AM, Anton Khirnov wrote:
> Quoting James Almer (2022-02-22 18:09:59)
>>
>>
>> On 2/22/2022 3:27 AM, Anton Khirnov wrote:
>>> Also, place the BSF api docs in their own doxygen group.
>>> ---
>>> libavcodec/bsf.h | 23 ++++++++++++++++++++++-
>>> 1 file changed, 22 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/libavcodec/bsf.h b/libavcodec/bsf.h
>>> index 8c5355d186..ba8b48f222 100644
>>> --- a/libavcodec/bsf.h
>>> +++ b/libavcodec/bsf.h
>>> @@ -30,7 +30,28 @@
>>> #include "packet.h"
>>>
>>> /**
>>> - * @addtogroup lavc_core
>>> + * @defgroup lavc_bsf Bitstream filters
>>> + * @ingroup libavc
>>> + *
>>> + * Bitstream filters transform encoded media data without decoding it. This
>>> + * allows e.g. manipulating various header values. Bitstream filters operate on
>>> + * @ref AVPacket "AVPackets".
>>> + *
>>> + * The bitstream filtering API is centered around two structures:
>>> + * AVBitStreamFilter and AVBSFContext. The former represents a bitstream filter
>>
>> Could use @ref here and below, too.
>
> That happens automatically when you write a struct name.
>
>>
>>> + * in abstract, the latter a specific filtering process. Obtain an
>>> + * AVBitStreamFilter using av_bsf_get_by_name() or av_bsf_iterate(), then pass
>>> + * it to av_bsf_alloc() to create an AVBSFContext. Fill in the user-settable
>>> + * AVBSFContext fields, as described in its documentation, then call
>>> + * av_bsf_init() to prepare the filter context for use.
>>> + *
>>> + * Submit packets for filtering using av_bsf_send_packet(), obtain filtered
>>> + * results with av_bsf_receive_packet(). When no more input packets will be
>>> + * sent, submit a NULL AVPacket to signal the end of the stream to the filter.
>>
>> The doxy for av_bsf_send_packet() states the packet must be "empty",
>> meaning either "NULL, or pkt->data is NULL and pkt->side_data_elems
>> zero", so probably mention the same here so it's consistent.
>
> The idea here is to provide a quick overview of the API rather than be
> exhaustive. In retrospect I regard allowing both NULL and "empty packet"
> (for some quite nontrivial definition of empty, given side-data-only
> packets) as a mistake, allowing only NULL would be cleaner and less
> confusing.
Ok, LGTM then.
_______________________________________________
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".
prev parent reply other threads:[~2022-03-16 11:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-22 6:27 Anton Khirnov
2022-02-22 6:27 ` [FFmpeg-devel] [PATCH 2/2] lavc/bsf: improve doxy Anton Khirnov
2022-02-22 17:09 ` [FFmpeg-devel] [PATCH 1/2] lavc/bsf: add general documentation James Almer
2022-03-16 11:36 ` Anton Khirnov
2022-03-16 11:51 ` James Almer [this message]
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=d77c0b1d-8919-ca5a-9402-f92b0572aa05@gmail.com \
--to=jamrial@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