[FFmpeg-trac] #9599(undetermined:reopened): VideoToolbox VP9 hwaccel freezes ffmpeg

FFmpeg trac at avcodec.org
Mon Jul 10 06:41:38 EEST 2023


#9599: VideoToolbox VP9 hwaccel freezes ffmpeg
-------------------------------------+-------------------------------------
             Reporter:  Eric Karnes  |                    Owner:  (none)
                 Type:  defect       |                   Status:  reopened
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  git-master   |               Resolution:
             Keywords:               |               Blocked By:
  videotoolbox vp9                   |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Comment (by Eric Karnes):

 I've gone through and enabled some trace output for CoreMedia which gives
 me the following logs while reproducing this issue.


 {{{
 <<<< VT-DS >>>> vtDecompressionDuctCreate: decoder requested VideoToolbox
 handle QualityOfService
 <<<< VT-DS >>>> vtDecompressionDuctCreate: DecoderType: Hardware
 <<<< MemoryPool >>>> CMMemoryPoolCreate: pool 0x60000083a840 created
 vending allocator 0x600003328680
 <<<< PixelBufferSharing >>>>
 pixelBufferRecipient_createRecipientPixelBuffer: created pixel buffer from
 components. Saved backing 0x7fd2b180b200 (ID 548)
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< PixelBufferSharing >>>>
 pixelBufferRecipient_createRecipientPixelBuffer: created pixel buffer from
 components. Saved backing 0x7fd2e001a800 (ID 552)
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< PixelBufferSharing >>>>
 pixelBufferRecipient_createRecipientPixelBuffer: created pixel buffer from
 components. Saved backing 0x7fd2e801f400 (ID 554)
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 <<<< RemoteDecode - client >>>> RemoteVideoDecoder_DecodeFrame: 1 frames
 still pending after synchronous decode
 <<<< VT-DS >>>> vtDecompressionDuctDecodeSingleFrame: (0x600003927660)
 frame 0xb still pending after synchronous immediate DecodeFrame call
 <<<< VT-DS >>>> VTDecompressionSessionWaitForAsynchronousFrames: [session:
 0x600003927660]
 <<<< VT-DS >>>> VTDecompressionSessionFinishDelayedFrames: [session:
 0x600003927660]
 }}}

 I would assume the most important bits would be,
 {{{
 <<<< RemoteDecode - client >>>> RemoteVideoDecoder_DecodeFrame: 1 frames
 still pending after synchronous decode
 <<<< VT-DS >>>> vtDecompressionDuctDecodeSingleFrame: (0x600003927660)
 frame 0xb still pending after synchronous immediate DecodeFrame call
 }}}
 considering they show up as errors in the console.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9599#comment:15>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list