Paul Kocialkowski
7ff2543e64
Add support for the single-planar V4L2 API
...
Signed-off-by: Paul Kocialkowski <contact@paulk.fr >
2018-09-07 16:43:13 +02:00
Paul Kocialkowski
25a8ac4d7e
Register video format directly instead of tiled indicator
...
Signed-off-by: Paul Kocialkowski <contact@paulk.fr >
2018-09-07 12:58:44 +02:00
Paul Kocialkowski
c9327dd55a
Grab the base index when allocating buffers and mapping them
...
Because there might be more than a single call to CreateSurfaces,
we cannot assume that the index relative to the number of surfaces
requested in a single call matches the v4l2 index.
Grab the base index (as returned by the kernel) when allocating
buffers and use it for memory mapping and addressing them in v4l2.
This avoids memory-mapping the first (index 0) buffer multiple times
in that scenario instead of the n-th allocated buffer (in the n-th
call in the sequence).
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-20 13:48:51 +02:00
Paul Kocialkowski
3b0e7dbf12
surface: Avoid unitialized variable compiler warning
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-20 13:47:48 +02:00
Paul Kocialkowski
d2357862f8
Rename request_buffer helper to query_buffer
...
Since the V4L2 ioctl is called QUERYBUF, it makes more sense to
call the associated function with the same name.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-20 13:47:48 +02:00
Paul Kocialkowski
c2fb5683cf
surface: Remove duplicate request fd close
...
This removes a duplicate conditional close of the request fd.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-20 13:47:48 +02:00
Paul Kocialkowski
c764527c17
Add support for QuerySurfaceAttributes
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-18 15:07:42 +02:00
Paul Kocialkowski
7587ef6901
surface: Add ExportSurfaceHandle support for dma-buf export
...
This is the latest version of dma-buf export, that does support
specifying DRM modifiers.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-18 15:02:37 +02:00
Paul Kocialkowski
829abae895
surface: Add basic support for CreateSurfaces2
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-18 14:40:36 +02:00
Maxime Ripard
92f6546596
tree: Remove void * casts
...
void * can be assigned from and stored to any pointer type without any
warning. Remove the explicit casts.
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 17:02:23 +02:00
Maxime Ripard
111f5b209a
tree: Rename cedrus_data to request_data
...
The cedrus_data structure carries the old name. In order to migrate to the
new name, let's rename it to request_data.
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 17:02:23 +02:00
Maxime Ripard
4ad990e087
tree: Rename the header and defines
...
The sunxi_cedrus.h header contains a bunch of defines prefixed with
SUNXI_CEDRUS.
As part as the ongoing migration to a more generic name, change that prefix
for V4L2_REQUEST, and the header file to request.h
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 17:02:23 +02:00
Maxime Ripard
913e1e642c
tree: Rename the libva hooks
...
As part of our renaming effort, Rename the libva hooks names to mention
request instead of SunxiCedrus
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 17:02:23 +02:00
Maxime Ripard
2d1bce38c2
h264: Don't set num_slices anymore
...
The num_slices parameter was improperly set to the number of reference
frames, which is incorrect.
Add a counter for the number of slices per surface, and set num_slices to
that value.
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 15:28:55 +02:00
Maxime Ripard
5aeb07f8bf
tree: Run clang-format to conform to the kernel coding style
...
The coding style has been a bit erratic. Enforce the linux kernel coding
style by reusing their .clang-format file, running clang-format on the
source, and ignoring the few shortcomings that clang-format has at the
moment (especially on aligning the define values).
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 10:12:15 +02:00
Maxime Ripard
b938824c48
tree: Shorten struct sunxi_cedrus_driver_data name
...
This long structure name makes it quite difficult to fit within the 80
characters limit. Shorten it.
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 09:34:15 +02:00
Maxime Ripard
fd263773cc
tree: Change the macros to take the actual arguments they are using
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-13 16:00:08 +02:00
Maxime Ripard
d7d8fc744b
Abstract away MPEG2 support
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-11 17:07:15 +02:00
Paul Kocialkowski
9f2c069f76
Rework buffer management to be more generic and support untiled format
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-11 15:16:52 +02:00
Paul Kocialkowski
2ca67372f8
Set surface destination index at context time for consistency
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-10 10:45:35 +02:00
Paul Kocialkowski
e23807f928
Add dummy vaPutSurface implementation
...
As it turns out vaPutSurface is one of the required core functions.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-06-21 09:55:44 +02:00
Paul Kocialkowski
bb73d363a3
Sync with latest definitions from the Cedrus driver and requests API
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-06-21 09:30:06 +02:00
Paul Kocialkowski
c0a3cd8fcd
Remove X11 support with vaPutSurface
...
Using VAAPI as a video output (through vaPutSurface) is deprecated and
definitely not recommended for any use case. Since we're starting to
support non-X11 pipelines, remove X11 support altogether.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-06-21 09:30:06 +02:00
Paul Kocialkowski
d59da24fd9
Separate Rendering and Dsiplaying surface status
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-26 09:51:30 +02:00
Paul Kocialkowski
27b72100b9
surface: Shortcut when the surface is already ready
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 15:33:22 +02:00
Paul Kocialkowski
0db4f300a4
surface: Close request fd on error
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 14:07:53 +02:00
Paul Kocialkowski
3049a90d7e
surface: Close request fd when destroying
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 11:59:34 +02:00
Paul Kocialkowski
1477ba3861
surface: Reinit media request on completion failure
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 11:56:38 +02:00
Paul Kocialkowski
b470953795
surface: Avoid memset that overrides metadata
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 11:34:38 +02:00
Paul Kocialkowski
294a6c958a
Use all-caps macros instead of object_heap_lookup (for now)
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 11:03:58 +02:00
Paul Kocialkowski
f872e345d0
Centralize buffer-related ressources in surface object and avoid dynamic indexes
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 10:48:17 +02:00
Paul Kocialkowski
676b77ed0b
surface: Use the MB32-tiled NV12 V4L2 pixel format definition
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 09:16:14 +02:00
Paul Kocialkowski
f70d3fd4d2
surface: Resolve various trivial build issues
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 09:12:47 +02:00
Paul Kocialkowski
6cd00b758c
Move log function to a dedicated file and rename it along the way
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-24 17:12:29 +02:00
Paul Kocialkowski
9de2ba88b5
Introduce and use media helpers, updated to the latest media request API
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-24 17:00:50 +02:00
Paul Kocialkowski
a8c191b544
Rename mem2mem_fd to video_fd to prepare for media introduction
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-24 16:40:42 +02:00
Paul Kocialkowski
c7f0d7684a
Introduce and use dedicated v4l2 helpers to replace inline ioctls
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-24 15:39:31 +02:00
Paul Kocialkowski
9716acc322
surface: Harmonize coding style
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-24 14:44:57 +02:00
Paul Kocialkowski
6be573d090
Sanitize unimplemented functions
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 17:08:05 +02:00
Paul Kocialkowski
4b7e71668e
Reorder functions, with a straightforward logic
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 16:51:15 +02:00
Paul Kocialkowski
a5354efe43
Rework comments by splitting them into README and removing redundant ones
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 16:40:00 +02:00
Paul Kocialkowski
621b26b781
surface: Rename functions arguments for more clarity
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 14:54:40 +02:00
Paul Kocialkowski
d8a51f0cd4
Use libVA naming style for public API functions
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 11:23:10 +02:00
Paul Kocialkowski
b0a8023644
Remove INIT_DRIVER_DATA and replace it with explicit definition
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 11:22:49 +02:00
Paul Kocialkowski
4354922570
Drop the _drv_video suffix from sunxi_cedrus files for conciseness
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 10:56:11 +02:00
Paul Kocialkowski
97950176ad
surface: Use object surface structure directly instead of abstract type
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 10:56:00 +02:00
Maxime Ripard
70bbd56770
surface: Amend timeout
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-04-20 11:14:51 +02:00
Maxime Ripard
f42ead5a00
surface: select cannot return 0 if there's no timeout
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-04-20 11:14:15 +02:00
Maxime Ripard
37b083ebcd
surface: Don't timeout on select anymore
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-04-20 11:09:30 +02:00
Maxime Ripard
62c48837c0
surface: Add weird comment
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-04-20 11:08:09 +02:00