Skip to content

Conversation

@zzoon
Copy link
Contributor

@zzoon zzoon commented Dec 18, 2025

When using linear output mode (ENABLE_LINEAR_OUTPUT), the decoder needs to
copy decoded frames from optimal to linear images using a transfer operation.
The original implementation assumed the transfer queue and video decode queue
were in the same queue family, recording the copy operation directly in the
decode command buffer.

On some devices (e.g., Intel ANV), the video decode queue and transfer queue
are in different queue families. This requires proper queue family ownership
transfer using release/acquire barriers and semaphore synchronization between
the queues.

When using linear output mode (ENABLE_LINEAR_OUTPUT), the decoder needs to
copy decoded frames from optimal to linear images using a transfer operation.
The original implementation assumed the transfer queue and video decode queue
were in the same queue family, recording the copy operation directly in the
decode command buffer.

On some devices (e.g., Intel ANV), the video decode queue and transfer queue
are in different queue families. This requires proper queue family ownership
transfer using release/acquire barriers and semaphore synchronization between
the queues.
…support

Even if without noPresent, if the option -o is provided, we need to try
to create a transfer queue when video decode queue lacks transfer support.
@dabrain34
Copy link
Contributor

There was already an attempt pending to fix this issue in #34 but the conclusion is that we should implement a transfer filter, see comment #34 (comment)

Or use --enablePostProcessFilter 0 as an option to support ANV and RADV

@zzoon
Copy link
Contributor Author

zzoon commented Dec 18, 2025

There was already an attempt pending to fix this issue in #34 but the conclusion is that we should implement a transfer filter, see comment #34 (comment)

Urg.. Didn't notice that. I'll look into the transfer filter to do this.

Or use --enablePostProcessFilter 0 as an option to support ANV and RADV

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants