[vlc-devel] [PATCH 00/23] DXVA cleaning v2

Steve Lhomme robux4 at videolabs.io
Wed Jun 21 14:14:45 CEST 2017

Some more cleaning and rebasing.

In the previous set va_surface.h still had references to D3D stuff. Now it's
all gone.

We also rely more on the input video_format_t to initalize the surfaces.

The surface count is now unsigned.

Steve Lhomme (23):
  dxva: fix compilation warning
  d3d11va: fix wrong array initialization
  direct3d11: remove dead code
  directx_va: make surface_count unsigned
  directx_va: pass the surface count to pf_create_decoder_surfaces
  directx_va: release the d3ddev in pf_destroy_device()
  directx_va: do the d3ddec release in pf_destroy_video_service()
  dxva: split the directx related parts from the pool/va parts
  dxva2: move the device check in dxva since it's the only one that
    supports it
  directx_va: remove unused parameter
  dxva: create the context copy when calling va_pool_Get()
  va_surface: remove the unused decoderSurface
  dxva: use the surface width/height from input format in
  directx_va: don't pass the AVCodecContext and es_format_t to
  d3d11va: it's safe to load/unload d3d11.dll even in direct rendering
  directx_va: make va_pic_context public via va_surface.h
  directx_va: the context copy is responsible for the va_surface
    refcount increment
  directx_va: move the pre-allocated hw_surface in directx_va
  dxva: we don't need a special release or Extract callback
  va: remove vlc_va_Release() and vlc_va_Extract()
  va_surface: release the surfaces held locally in DestroyVideoDecoder()
  d3d11_fmt: don't nullify after a release
  va: remove the deprecated setup() callback

 modules/codec/Makefile.am                   |   2 +
 modules/codec/avcodec/d3d11va.c             | 227 +++++++++++-----------------
 modules/codec/avcodec/directx_va.c          | 182 +++-------------------
 modules/codec/avcodec/directx_va.h          |  56 +------
 modules/codec/avcodec/dxva2.c               | 176 +++++++++------------
 modules/codec/avcodec/va.c                  |  13 --
 modules/codec/avcodec/va.h                  |  40 +----
 modules/codec/avcodec/va_surface.c          | 202 +++++++++++++++++++++++++
 modules/codec/avcodec/va_surface.h          |  39 +++++
 modules/codec/avcodec/va_surface_internal.h |  90 +++++++++++
 modules/codec/avcodec/vaapi.c               |  10 --
 modules/codec/avcodec/video.c               |  10 +-
 modules/hw/vdpau/avcodec.c                  |   8 -
 modules/video_chroma/d3d11_fmt.h            |  30 +---
 modules/video_chroma/d3d9_fmt.h             |  10 +-
 modules/video_output/win32/direct3d11.c     |  17 ---
 16 files changed, 528 insertions(+), 584 deletions(-)
 create mode 100644 modules/codec/avcodec/va_surface.c
 create mode 100644 modules/codec/avcodec/va_surface.h
 create mode 100644 modules/codec/avcodec/va_surface_internal.h


More information about the vlc-devel mailing list