Ezequiel Garcia
b2944629fa
Add support for dynamic detection of supported codecs
...
H.264 and H.265 support is still not supported upstream,
so it makes sense to autodetect each codec and only
enable those that are supported.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com >
2018-10-12 16:11:06 -03:00
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
13eaae060e
Add support for H265 decoding, including predictive frames
...
Some features are missing, such as scaling lists (quantization) and
10-bit output.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-08-31 10:13:52 +02:00
Paul Kocialkowski
7d1ac10517
Add support for MPEG2 quantization matrices
...
This adds support for MPEG2 quantization matrices, which are optional
given that fallback default matrices are used (on the kernel side) when
no such matrix is provided.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-25 14:36: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
acc0cf3475
codecs: pass the context to the controls function as well
...
Some functions setting the controls will need the context in the future.
Make sure that we provide it as an argument.
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
5aa1604a6c
tree: add the driver_data parameter to the BUFFER macro as well
...
The BUFFER macro takes an implicit driver_data argument. In order to make
it obvious that we need it, let's put it as an explicit parameter.
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-07-17 09:27:57 +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
1efa9d877e
Add support for H264 decoding
...
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
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
03fd51b3b3
Reduce switch/case indentation
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-07-11 15:32:52 +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
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
a412ee8b42
picture: Always sync surface in EndPicture
...
The libVA API expects rendering to be done after calling EndPicture.
Since SyncSurface calls are generally not issued in a way compatible
with dequeuing buffers (they might be called too early or too late),
always call SyncSurface from EndPicture.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-26 10:00:09 +02:00
Paul Kocialkowski
d716c32511
picture: Remove recurrent log message
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 11:46:06 +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
97a087dc73
picture: Resolve various trivial build issues
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 09:40:36 +02:00
Paul Kocialkowski
c55a2709b0
mpeg2: Pass driver_data along to access reference surfaces
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-25 09:32:45 +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
1bf08f9656
mpeg2: Rework helper functions to a more flexible interface
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-24 16:15:00 +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
56614c25a6
picture: Harmonize coding style
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-24 14:11:08 +02:00
Paul Kocialkowski
cd31cb568c
Rename va_config to config for consistency
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 17:09:19 +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
5ab99bf9ea
picture: Rename functions arguments for more clarity
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 14:55:18 +02:00
Paul Kocialkowski
104eb22462
context: Rename target structure elements to make them explicit
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 14:55:18 +02:00
Paul Kocialkowski
8fd01b54b6
context: Rename object context structure fields for more clarity
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 11:51:28 +02:00
Paul Kocialkowski
90dbf3e6a5
Remove partial MPEG4 support, that is missing from the driver
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 11:24:49 +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
36b7bba14f
config: Use object config structure directly instead of abstract type
...
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
Paul Kocialkowski
6a06b4570b
context: Use object context structure directly instead of abstract type
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 10:04:58 +02:00
Paul Kocialkowski
5c26862913
buffer: Use object buffer structure directly instead of abstract type
...
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com >
2018-04-23 09:59:08 +02:00
Maxime Ripard
d758a0d425
Rework buffer and slice handling
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-04-20 11:23:14 +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
Maxime Ripard
115b0d39b1
picture: rework the test for the media request fd a bit
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-04-20 10:45:10 +02:00
Maxime Ripard
b5fe51b608
picture: remove an assert for a more dynamic approach
...
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com >
2018-04-20 10:44:07 +02:00