[vlc-devel] [PATCH v3 00/12] Clean the picture allocation API

Steve Lhomme robux4 at ycbcr.xyz
Tue Aug 18 08:24:41 CEST 2020


This a few steps backs from the previous patchset, consisting of mostly 2 parts
- removing the plane setup in picture_resource_t (if it can be set on creation
  it can be set afterwards, not need to do a copy for all other cases)
- moving code around in picture.c allowing NULL params in some cases and not
  allowing in some other cases

Changes since v2:
- picture_resource_t is kept for now, but without any plane initialization
- the picture_gc_t is internal to picture for now
- the destroy callback of picture_resource_t still gets a picture_t
- the picture pool still uses the picture_priv_t (not so priv) as the destroy
  callback is incompatible with the one from picture_t. We need the opaque
  value which is different from the p_sys value that should not be touched.
- picture_NewFromResource remains with the same name

Steve Lhomme (12):
  picture: set the clone planes after the clone is created successfully
  vlc_picture: remove unused plane initialization from
    picture_resource_t
  vout: opengl: do not setup the picture planes a second time
  picture: allow NULL picture_resource_t in picture_NewFromResource
  modules: pass NULL to picture_NewFromResource instead of dummy
    structures
  picture: do not allow NULL destroy callbacks in
    picture_NewFromResource
  picture: always initialize picture_priv_t to 0
  picture: allow NULL gc callback
  picture: pass the clone destructor via a structure
  picture: move the resource init outside of picture_InitPrivate
  picture: do not use picture_NewFromResource for picture_InternalClone
  picture: use no gc for picture_NewFromFormat() with no planes

 include/vlc_picture.h                    |  11 ---
 modules/codec/vt_utils.c                 |   3 +-
 modules/hw/d3d11/d3d11_surface.c         |   3 +-
 modules/hw/d3d9/dxa9.c                   |   3 +-
 modules/video_output/fb.c                |   4 +-
 modules/video_output/kms.c               |   4 +-
 modules/video_output/opengl/interop_sw.c |   7 --
 modules/video_output/vmem.c              |   3 +-
 src/misc/picture.c                       | 100 ++++++++---------------
 src/misc/picture.h                       |  16 ++--
 src/misc/picture_pool.c                  |   4 +-
 11 files changed, 53 insertions(+), 105 deletions(-)

-- 
2.26.2



More information about the vlc-devel mailing list