[FFmpeg-devel] [PATCH 03/10] hw_base_encode: allocate DPB image upfront

Lynne dev at lynne.ee
Wed Sep 4 21:44:36 EEST 2024


On 04/09/2024 16:36, Tong Wu wrote:
> Lynne:
>> Subject: [FFmpeg-devel] [PATCH 03/10] hw_base_encode: allocate DPB image
>> upfront
>>
>> Vulkan requires this, as it needs to initialize state upfront.
>> ---
>> libavcodec/d3d12va_encode.c | 6 ------
>> libavcodec/hw_base_encode.c | 6 ++++++
>> libavcodec/vaapi_encode.c   | 5 -----
>> 3 files changed, 6 insertions(+), 11 deletions(-)
>>
>> diff --git a/libavcodec/d3d12va_encode.c b/libavcodec/d3d12va_encode.c index
>> d437750598..68fb9927a8 100644
>> --- a/libavcodec/d3d12va_encode.c
>> +++ b/libavcodec/d3d12va_encode.c
>> @@ -264,12 +264,6 @@ static int d3d12va_encode_issue(AVCodecContext
>> *avctx,
>>
>>      av_log(avctx, AV_LOG_DEBUG, "Input surface is %p.\n", pic->input_surface-
>>> texture);
>>
>> -    err = av_hwframe_get_buffer(base_ctx->recon_frames_ref, base_pic-
>>> recon_image, 0);
>> -    if (err < 0) {
>> -        err = AVERROR(ENOMEM);
>> -        goto fail;
>> -    }
>> -
>>      pic->recon_surface = (AVD3D12VAFrame *)base_pic->recon_image->data[0];
>>      av_log(avctx, AV_LOG_DEBUG, "Recon surface is %p.\n",
>>             pic->recon_surface->texture); diff --git a/libavcodec/hw_base_encode.c
>> b/libavcodec/hw_base_encode.c index 35dac6e596..8411cc7582 100644
>> --- a/libavcodec/hw_base_encode.c
>> +++ b/libavcodec/hw_base_encode.c
>> @@ -446,6 +446,12 @@ static int
>> hw_base_encode_send_frame(AVCodecContext *avctx, FFHWBaseEncodeContex
>>              goto fail;
>>          }
>>
>> +        err = av_hwframe_get_buffer(ctx->recon_frames_ref, pic->recon_image, 0);
>> +        if (err < 0) {
>> +            err = AVERROR(ENOMEM);
>> +            goto fail;
>> +        }
>> +
>>          pic->priv = av_mallocz(ctx->op->priv_size);
>>          if (!pic->priv) {
>>              err = AVERROR(ENOMEM);
> 
> Pls rebase this patch to current master or just push the refactor patch V3.

Err, it requires the refactor patch. I posted an updated version of the 
refactor patch as part 1 of this series.
You can also just pull from my branch which contains all patches in this 
patchset.
https://github.com/cyanreg/FFmpeg/tree/vulkan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xA2FEA5F03F034464.asc
Type: application/pgp-keys
Size: 624 bytes
Desc: OpenPGP public key
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240904/97034494/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240904/97034494/attachment.sig>


More information about the ffmpeg-devel mailing list