[vlc-devel] [PATCH 0/5] Introducing dynamic pools

Steve Lhomme robux4 at ycbcr.xyz
Wed Dec 5 09:59:01 CET 2018


As discussed during the vout workshop each decoder/filter/converter will need
to have its own output pool (sharing them may be a future optimization). The
problem is that for everything to work fine, each pool would need to have a
large default amount of pictures (maybe the decoder pdb ?) or at least 2 or
3 so that the next module that uses these pictures, hold them while one is
being written to.

The static pools we have right now impose that. But we can use dynamically
growing pools. Up to 64 pictures per pool (we may limit it later).

I added some code in the picture pool to allowing growing pools and made some
example code to use it that already work without the push model.

The non direct copy decoder pool doesn't need to have a least 20 (VOUT_MAX_PICTURES)
pictures anymore. And the direct3d9 display pool could also expand and start
with a lower amount (1 might be enough).


Steve Lhomme (5):
  [RFC] picture_pool: add a way to configure pools to expand dynamically
  picture_pool: add a helper to allocate an expandable picture pool from
    video_format_t
  video_output: do not allocate VOUT_MAX_PICTURES by default
  direct3d9: move the pool picture allocation in a separate function
  direct3d9: make the display pool expandable

 include/vlc_picture_pool.h             |  48 +++++++
 modules/video_output/win32/direct3d9.c | 180 ++++++++++++++-----------
 src/misc/picture_pool.c                |  82 ++++++++---
 src/video_output/vout_wrapper.c        |  14 +-
 4 files changed, 222 insertions(+), 102 deletions(-)

-- 
2.17.1



More information about the vlc-devel mailing list