Commit Graph

46 Commits

Author SHA1 Message Date
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
Maxime Ripard 4c3ab6caba surface: Fix surfaceID type
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-20 11:07:46 +02:00
Maxime Ripard 14c9443f80 surface: Set surface status after dequeueing the buffer
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-20 11:07:08 +02:00
Maxime Ripard 287d898a22 picture: Move calls to request reinit from EndPicture to SyncSurface
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-20 11:06:06 +02:00
Maxime Ripard 22c6a01a93 picture: Move request submit from EndPicture to SyncSurface
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-20 11:03:40 +02:00
Paul Kocialkowski 923a001e50 libva: Catch up with the latest version of the media request API
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
2018-03-09 14:28:27 +01:00
Florent Revest c8e187aed5 Always clear v4l2_plane before sending them to the kernel 2016-08-29 17:44:23 +02:00
Florent Revest e263c9542c Adds a sunxi-cedrus-drv-video libVA backend
This VA backend uses v4l2's Frame API proposal to interface with the
"sunxi-cedrus" video driver on Allwinner SoC. Only a few parts of the
code are really dependent on sunxi-cedrus and this VA backend could be
reused for other v4l drivers using the Frame API.
2016-08-25 16:19:34 +02:00