From: James Almer <jamrial@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec/av1dec: convert to receive_frame()
Date: Sat, 20 May 2023 14:15:09 -0300
Message-ID: <927be23d-abf6-720d-2a9f-7a31ae64f6f7@gmail.com> (raw)
In-Reply-To: <AS8P250MB074478F4C85FCA7CD7D94A3B8F7D9@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>
On 5/20/2023 2:07 PM, Andreas Rheinhardt wrote:
> James Almer:
>> On 5/20/2023 1:59 PM, Andreas Rheinhardt wrote:
>>> James Almer:
>>>> On 5/20/2023 1:12 PM, Anton Khirnov wrote:
>>>>> Quoting James Almer (2023-05-20 03:50:57)
>>>>>> Signed-off-by: James Almer <jamrial@gmail.com>
>>>>>> ---
>>>>>> libavcodec/av1dec.c | 75
>>>>>> +++++++++++++++++++++++++++++++++------------
>>>>>> libavcodec/av1dec.h | 4 +++
>>>>>> 2 files changed, 60 insertions(+), 19 deletions(-)
>>>>>
>>>>> The patch makes the code longer and introduces an evil backward goto.
>>>>> So some comment on why is this an improvement would be appropriate.
>>>>
>>>> It's an improvement because it removes the auto-inserted av1_frame_split
>>>> from the process, making the decoder handle temporal units with more
>>>> than one frame in them on its own. I can add that to the commit message.
>>>>
>>>> The extra code is inevitable because it's the decoder who now needs to
>>>> fetch the packet instead of the generic code in decode.c
>>>
>>> 1. Where is the improvement in that? What is so bad about using a BSF to
>>> preprocess packets in this way?
>>
>> Much less overhead? One less instance of CBS, less function calls, less
>> packet references generated and moved around, etc.
>>
>
> This is AV1, not annex B H.2645.
I'm sorry, i don't understand what you're trying to say. The
av1_frame_split bsf will split a TU into individual frames, and uses the
CBS framework for this. It's an unnecessary overhead when the decoder
can be made to handle this on its own by making it use the proper decode
callback.
_______________________________________________
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-20 17:15 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-20 1:50 James Almer
2023-05-20 16:12 ` Anton Khirnov
2023-05-20 16:44 ` James Almer
2023-05-20 16:59 ` Andreas Rheinhardt
2023-05-20 17:01 ` James Almer
2023-05-20 17:07 ` Andreas Rheinhardt
2023-05-20 17:15 ` James Almer [this message]
2023-05-20 17:17 ` Andreas Rheinhardt
2023-05-20 17:20 ` James Almer
2023-05-20 17:23 ` Michael Niedermayer
2023-05-20 17:43 ` James Almer
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=927be23d-abf6-720d-2a9f-7a31ae64f6f7@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