#7943: Ffmpeg QSV backend uses >2x more GPU memory compared to VAAPI or MSDK
-------------------------------------+-------------------------------------
             Reporter:  eero-t       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  git-master   |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by fulinjie):

 Another input:
 FFmpeg qsv sets initial_pool_size to a larger value (64) compared to
 vaapi(29):

 
https://github.com/FFmpeg/FFmpeg/blob/feaec3bc3133ff143b8445c919f2c4c56048fdf9/fftools/ffmpeg_qsv.c#L96
 which make sure there is enough memory in the pool for allocation.

 hwframe_pool_prealloc
 
https://github.com/FFmpeg/FFmpeg/blob/feaec3bc3133ff143b8445c919f2c4c56048fdf9/libavutil/hwcontext.c#L301

 If you set the initial_pool_size to a relatively small value, for example:
 {{{
 frames_ctx->initial_pool_size = 22 + s->extra_hw_frames;
 }}}


 Similar GPU memory occupation could be obeserved:

 ffmpeg: 321 objects, 1179193344 bytes
 1.1GB

 However, a small initial_pool_size may lead to some unexpected errors
 like:

 {{{
 [hevc_qsv @ 0x55febd948300] get_buffer() failed
 Error while decoding stream #0:0: Cannot allocate memory
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7943#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to