Commits on Source (21)
-
743929f4
-
86e2881d
-
724a978b
-
cd341e3c
-
Surfaces logically reference their device (i.e. the video context). So long as they are stored in the video context, a cycle of cross-references leads to an enormous memory leak.
04a580f1 -
81c602df
-
Video surfaces in the VA pool do not really need to reference the video context of their own as they cannot outlive the VA, which already references the video context. But referencing the context anyway is cleaner and allows for further simplifications.
4fa9fbc3 -
7c27f01b
-
29f94a71
-
Frames (video surfaces) are always held by one of more fields. Fields already hold the video context, which holds the decoder device, which holds the instance. So frames can rely on any one of their referencing fields to hold the video context.
7c097bec -
7ba2e950
-
739d7a46
-
4b464e8d
-
5c8b1436
-
Originally, both the decoder and the video output would instantiate VDPAU devices on their own. The process-global list was necessary to force paired decoder and output to use the same VDPAU instance: they were matched by server name and screen number. Now that all components in a given pipeline obtain the VDPAU instance from a shared decoder device, this trick is no longer necessary. Incidentally, VDPAU instances would also harmlessly but nevertheless unnecessarily be shared between independent pipelines within the same process using the same X11 screen. We can ignore this.
98632a96 -
This was necessary for sharing and for vlc_hold_x11(), but they were both removed. Note that the list is still used to match a display to an instance, so it cannot be removed quite yet.
aebb6314 -
This associates the correct X11 screen and does not depend on GL for no particular reasons.
fae5234d -
0a82e325
-
46130b4f
-
By the time we got to this piece of code, this had already been taken care of by the decoder device.
4913808e -
647bafc3
Showing
- modules/hw/vdpau/Makefile.am 10 additions, 5 deletionsmodules/hw/vdpau/Makefile.am
- modules/hw/vdpau/avcodec.c 18 additions, 41 deletionsmodules/hw/vdpau/avcodec.c
- modules/hw/vdpau/chroma.c 53 additions, 52 deletionsmodules/hw/vdpau/chroma.c
- modules/hw/vdpau/device.c 125 additions, 0 deletionsmodules/hw/vdpau/device.c
- modules/hw/vdpau/display.c 0 additions, 4 deletionsmodules/hw/vdpau/display.c
- modules/hw/vdpau/instance.c 0 additions, 218 deletionsmodules/hw/vdpau/instance.c
- modules/hw/vdpau/picture.c 23 additions, 33 deletionsmodules/hw/vdpau/picture.c
- modules/hw/vdpau/vlc_vdpau.h 15 additions, 50 deletionsmodules/hw/vdpau/vlc_vdpau.h
- modules/video_output/opengl/interop_vdpau.c 0 additions, 49 deletionsmodules/video_output/opengl/interop_vdpau.c
modules/hw/vdpau/device.c
0 → 100644
modules/hw/vdpau/instance.c
deleted
100644 → 0