[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