On 24-06-2025 13:26, Hendrik Leppkes wrote:
+ if (frames_ctx->sw_format == AV_PIX_FMT_NV12) { + frames_hwctx->BindFlags |= D3D11_BIND_VIDEO_ENCODER; + } The filter should be designed universally rather than expecting to be connected to something specific at its output. Whether or not the bind_encoder bind flag should be set, needs to be determined during negotiation of the output connection. The above change is in dxva2.c, when the decoder output surface is passed directly to supported encoder, it requires BIND_VIDEO_ENCODER flag to be set. This does not affect any intermediate steps. A surface with encoder bindflags set can be used as input for any supported filters as well (confirmed with the scale_d3d11 filter). This part is still not acceptable. You blindly set a flag based on what you need, if special flags on the context are needed they should be negotiated between the different components, guided by the users use-case and input, and not hardcoded based on an arbitrary condition of a pixel format. You are right, but the bind flags will have to be set before the D3D11 texture2D surfaces are allocated and I could not find a way to negotiate and set those either from the encoder or other components and even as a configurable decoder option. Do you have any suggestions? Appreciate the feedback. Thanks, Dash _______________________________________________ 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".