On Sat, 2022-04-30 at 13:59 +0000, Soft Works wrote: > > -----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 > hwcontextD3D11_BIND_RENDER_TARGET > > This would need to be specified in the command line. > Everything else like in #1 > > What do you think?
There aren't extra parameters for other standalone hwcontext creation. May we take BindFlags=0 as the default setting and set texDesc.BindFlags to D3D11_BIND_RENDER_TARGET directly ? Thanks Haihao _______________________________________________ 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".