[vlc-devel] [PATCH 00/42] VDPAU pass-through

Rémi Denis-Courmont remi at remlab.net
Fri Jun 28 20:29:21 CEST 2013


	Hello,

This is a functional but as yet unfinished series to fully support VDPAU
hardware acceleration. So far, it adds hardware support for scaling, colour
space conversion, subpicture blending, basic deinterlacing and
sharpening/blurring.

Missing items include:
- temporal and spatial deinterlacing,
- inverse telecine,
- colour adjustment,
- colour space selection,
- scaling quality selection,
- noise reduction, and
- device preemption handling.

The following changes since commit 64daf779c79556e2efddebf2da04073043621477:                                                                                                                                                                                                   

  yadif: fix build with -O0 (2013-06-27 15:42:58 +0200)

are available in the git repository at:

  http://git.remlab.net/git/vlc.git vdpau

for you to fetch changes up to 074a6c83f82dcae72ab5ff62aed6c5813c9f7e14:

  vdpau: check for sharpening/blurring support (2013-06-28 21:11:35 +0300)

----------------------------------------------------------------
Rémi Denis-Courmont (42):
      modules: MODULE_NAME is only used for static modules
      modules: move Modules.am stuff to genmf
      configure: look for libvdpau regardless of libavcodec
      vdpau: helper library for VDPAU and VDPAU-X11 function calls
      vdpau: library mechanism to share VDPAU instance
      vdpau: libavcodec hardware decoder using new helper library
      avcodec: remove old VDPAU hardware decoder
      vdpau: dynamic allocation for (hardware decoding) video surfaces
      fourcc: VDPAU surface types
      vdpau: add function to convert VLC format to VDPAU type/format pair
      vdpau: picture_sys_t definition for output surfaces
      vdpau: video conversion filter to VDPAU output surface format
      vdpau: presentation queue video output display plugin
      vdpau: RGBA subpicture blending for video output display
      picture: handle allocation of pictures with 0 bytes-per-pixel
      picture: pointer for decoder-specified hardware context
      libvlccore: bump plugin interface version
      vdpau: context structure for video surfaces
      vdpau: chroma conversion from video surface to regular YUV
      vdpau: video surface to output surface "chroma" conversion
      vout: remove tautology
      vout: avoid picture copy when decoder and output format do not match
      vout: remove the dummy display pool
      vout: robustify "early" SPU blending
      picture_BlendSubpicture: return the number of blent regions
      vout: keep the original picture if "early" SPU blending fails
      vdpau: output video surfaces from decoder (pass-through)
      vdpau: chroma filter cleanup
      vdpau: deal with separate VDPAU instances for decoding and rendering
      cropadd: reject 0 bpp formats
      invert: reject 0 bpp formats
      motionblur: reject 0 bpp formats
      puzzle: reject 0 bpp formats
      ripple: reject 0 bpp formats
      scene: reject 0 bpp formats
      wave: reject 0 bpp formats
      wall: reject 0 bpp formats
      vdpau: provide field history to the video mixer
      vdpau: video surface picture copy
      vdpau: basic deinterlacing filter
      vdpau: sharpen/blur filter
      vdpau: check for sharpening/blurring support

 configure.ac                      |  14 ++---
 include/vlc_fourcc.h              |   7 +++
 include/vlc_picture.h             |   4 +-
 include/vlc_plugin.h              |   4 +-
 modules/Makefile.am               |   4 ++
 modules/codec/Modules.am          |  10 ----
 modules/codec/avcodec/vdpau.c     | 492 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 modules/common.am                 |  10 +---
 modules/genmf                     |   6 +++
 modules/hw/.gitignore             |   1 +
 modules/hw/vdpau/Makefile.am      |  53 +++++++++++++++++++
 modules/hw/vdpau/avcodec.c        | 349 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/chroma.c         | 526 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/deinterlace.c    | 121 +++++++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/display.c        | 645 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/instance.c       | 235 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/picture.c        | 110 +++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/sharpen.c        | 142 
+++++++++++++++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/vlc_vdpau.c      | 604 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 modules/hw/vdpau/vlc_vdpau.h      | 276 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 modules/video_filter/croppadd.c   |   5 ++
 modules/video_filter/invert.c     |   2 +-
 modules/video_filter/motionblur.c |   5 ++
 modules/video_filter/puzzle.c     |   5 ++
 modules/video_filter/ripple.c     |   5 ++
 modules/video_filter/scene.c      |   5 ++
 modules/video_filter/wall.c       |   5 ++
 modules/video_filter/wave.c       |   5 ++
 src/misc/fourcc.c                 |  11 ++++
 src/misc/picture.c                |  43 +++++++++++-----
 src/video_output/video_output.c   |  63 ++++++++++++-----------
 src/video_output/vout_wrapper.c   |  15 +-----
 32 files changed, 3205 insertions(+), 577 deletions(-)
 delete mode 100644 modules/codec/avcodec/vdpau.c
 create mode 100644 modules/hw/.gitignore
 create mode 100644 modules/hw/vdpau/Makefile.am
 create mode 100644 modules/hw/vdpau/avcodec.c
 create mode 100644 modules/hw/vdpau/chroma.c
 create mode 100644 modules/hw/vdpau/deinterlace.c
 create mode 100644 modules/hw/vdpau/display.c
 create mode 100644 modules/hw/vdpau/instance.c
 create mode 100644 modules/hw/vdpau/picture.c
 create mode 100644 modules/hw/vdpau/sharpen.c
 create mode 100644 modules/hw/vdpau/vlc_vdpau.c
 create mode 100644 modules/hw/vdpau/vlc_vdpau.h

-- 
Rémi Denis-Courmont
http://www.remlab.net/



More information about the vlc-devel mailing list