From: Lynne <dev@lynne.ee> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH 2/5] vulkan_decode: use the new AVHWFramesContext.opaque field Date: Tue, 13 Jun 2023 14:53:35 +0200 (CEST) Message-ID: <NXooOZM--B-9@lynne.ee> (raw) In-Reply-To: <168665932811.3843.12542444692785643776@lain.khirnov.net> Jun 13, 2023, 14:29 by anton@khirnov.net: > Quoting Lynne (2023-06-13 06:19:34) > >> This depends on the previous patch, and allows moving the codec >> profile to the new AVHWFramesContext.opaque field. >> >> Patch attached. >> >> >> From f992905250062711fab7522906a573ff8ab5f716 Mon Sep 17 00:00:00 2001 >> From: Lynne <dev@lynne.ee> >> Date: Tue, 13 Jun 2023 06:10:20 +0200 >> Subject: [PATCH 2/5] vulkan_decode: use the new AVHWFramesContext.opaque field >> >> --- >> libavcodec/vulkan_decode.c | 56 +++++++++++++++++++++++--------------- >> libavcodec/vulkan_decode.h | 6 ++-- >> 2 files changed, 37 insertions(+), 25 deletions(-) >> > > This will not work, because the callers are not required to call > avcodec_get_hw_frames_parameters() and can create the frames context > themselves. > Indeed they are. This commit doesn't break this. > The decoder is then not allowed to make any assumptions about the opaque > field. > Exactly. This is just for the case that the user calls avcodec_get_hw_frames_parameters. Then, we need somewhere to put the profile. The opaque field is only set, it is never read in this particular case. Since it's libavcodec creating the frames context in this case, and since the user explicitly asked for frames parameters to be set, I don't think it's a problem to set a public field, much the same way the width, height and sw_format values are set. If the user doesn't call avcodec_get_hw_frames_parameters, the rest of the code wouldn't notice. The rest of the decoder code gets the profile via the create_pnext chain (where the pointers to the profile structs must be). So users can attach their own profile, and store it wherever, including the opaque field. This commit also fixes the situation where a users calls avcodec_get_hw_frames_parameters, gets a frame parameters. destroys the decode context, and uses the same frames context which was created for another decoder. _______________________________________________ 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-06-13 12:53 UTC|newest] Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-06-13 4:18 [FFmpeg-devel] [RFC] [PATCH 1/5] hwcontext: add a " Lynne [not found] ` <NXmySQC--3-9@lynne.ee-NXmyWRF----9> 2023-06-13 4:19 ` [FFmpeg-devel] [PATCH 2/5] vulkan_decode: use the " Lynne 2023-06-13 12:28 ` Anton Khirnov 2023-06-13 12:53 ` Lynne [this message] 2023-06-18 11:10 ` Anton Khirnov 2023-06-18 12:20 ` Lynne [not found] ` <NXmyk7P--3-9@lynne.ee-NXmynAe----9> 2023-06-13 4:20 ` [FFmpeg-devel] [PATCH 3/5] hwcontext_vulkan: call ff_vk_uninit() on device uninit Lynne [not found] ` <NXmyvDO--3-9@lynne.ee-NXmyy7U----9> 2023-06-13 4:21 ` [FFmpeg-devel] [PATCH 4/5] hwcontext_vulkan: free temporary array once unneeded Lynne [not found] ` <NXmz5vr-03-9@lynne.ee-NXmz8rg----9> 2023-06-13 4:24 ` [FFmpeg-devel] [PATCH 5/5] vulkan_decode: fix small memory leak Lynne 2023-06-15 20:03 ` [FFmpeg-devel] [PATCH 4/5] hwcontext_vulkan: free temporary array once unneeded Lynne 2023-06-15 20:03 ` [FFmpeg-devel] [PATCH 3/5] hwcontext_vulkan: call ff_vk_uninit() on device uninit Lynne 2023-06-13 4:44 ` [FFmpeg-devel] [RFC] [PATCH 1/5] hwcontext: add a new AVHWFramesContext.opaque field Andreas Rheinhardt 2023-06-13 4:48 ` Lynne 2023-06-13 16:57 ` Andreas Rheinhardt 2023-06-13 17:17 ` Lynne [not found] ` <NXpkssV--3-9@lynne.ee-NXpkwTT----9> 2023-06-16 11:02 ` Lynne [not found] ` <NY2rkbx--3-9@lynne.ee-NY2rofi----9> 2023-06-18 10:58 ` Lynne
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=NXooOZM--B-9@lynne.ee \ --to=dev@lynne.ee \ --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