Opened 12 months ago
Last modified 12 months ago
#10789 new enhancement
Videotoolbox decoder enhancements
Reported by: | Fabio Lagalla | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | unspecified | Keywords: | videotoolbox decoder |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Enhancement 1
Decode session is created requesting OpenGL or OpenGL|ES compatibility.
That causes internal format conversion that adds an overhead.
It would be helpful to specify a flag to conditionally request OpenGL compatibility.
Enhancement 2
The call to VTDecompressionSessionWaitForAsynchronousFrames
is likely to be redundant.
The decoder synchronizes pending work using VTDecompressionSessionWaitForAsynchronousFrames
.
That blocks until all pending frames are processed.
However, the function could not be required as the call to VTDecompressionSessionDecodeFrame
is done without kVTDecodeFrame_EnableAsynchronousDecompression
bit.
That in turn implies the decode callback is called just before the decode function returns (see https://developer.apple.com/documentation/videotoolbox/vtdecodeframeflags/kvtdecodeframe_enableasynchronousdecompression?language=objc), which is the wanted behaviour.
Replying to Fabio Lagalla:
Sounds make sense. But I need some data to make code change. What's your test case that shows real difference between enable and disable OpenGL compatibility?