> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of
> Hendrik Leppkes
> Sent: Saturday, April 30, 2022 12:02 AM
> To: FFmpeg development discussions and patches <ffmpeg-
> de...@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH v2 1/5] avutil/hwcontext_d3d11va:
> fix the uninitialized texture bindflag
>
> On Fri, Apr 29, 2022 at 12:45 PM Tong Wu
> <tong1.wu-at-intel....@ffmpeg.org> wrote:
> >
> > When uploading rawvideos using d3d11va hardware framecontext, the
> bindflag
> > is not initialized and will cause creating texture failure. Now fix
> it,
> > assign it the value of D3D11_BIND_RENDER_TARGET.
> >
>
> As with similar fixes of this nature, this implicit behavior to fix
> one particular bug does not seem fitting inside the hwcontext itself.
> There can be a large list of usages of the hwcontext that all require
> different BindFlags, but we can only define one default - why this one
> specifically?
I agree that this change is not ideal. On one side, it is "safe" in a way
that a texture is practically unusable for video processing without having
at least one of the flags (decoder, encoder or render_target),
so this wouldn't "hurt" anybody.
> So rather:
>
> Where is the context created?
Looking at the command line in the commit message, this is about
standalone D3D11 context creation.
> Why is a required flag not set there? That would be better, because
> that knows what flags it needs.
There doesn't really exist an appropriate "there". I see two options
1. Add a generic internal device creation parameter to the dictionary
in ffmpeg_hw.c like "standalone=1"
(for all devices created via init_hw_device)
Some time ago, I had another case where I thought this could be useful.
Then, this could be used in d3d11va_device_create() to set an internal
field 'default_bindflags' which would be used as condition in
d3d11va_frames_init. The situation would remain similar though, as that
when the device is used by a decoder (which sets the decoder flag)
this needs to override the default.
2. Use a device parameter specific to the D3D11 hwcontext
This would need to be specified in the command line.
Everything else like in #1
What do you think?
Best regards,
softworkz
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".