mbox series

[00/16] media: vimc: Add support for multiplanar formats

Message ID 20190315164359.626-1-andrealmeid@collabora.com (mailing list archive)
Headers show
Series media: vimc: Add support for multiplanar formats | expand

Message

André Almeida March 15, 2019, 4:43 p.m. UTC
Hello,

This series implements support for multiplane pixel formats at vimc.
A lot of changes were required since vimc support for singleplane
was "hardcoded". The code has been adapted in order to support both
formats. When was possible, the functions were written generically,
avoiding functions for just one type of pixel format (single/multi)
and favoring code reuse.

The debayer subdevice is the only one that currently doesn't supports
multiplanar formats. Documentation to each device will be made in a
future patch.

Thanks,
	André

André Almeida (16):
  media: Move sp2mp functions to v4l2-common
  media: vimc: Remove unnecessary stream check
  media: vimc: Check if the stream is on using ved.stream
  media: vimc: cap: Change vimc_cap_device.format type
  media: vimc: Create multiplanar parameter
  media: vimc: cap: Dynamically define stream pixelformat
  media: vimc: cap: Add handler for singleplanar fmt ioctls
  media: vimc: cap: Add handler for multiplanar fmt ioctls
  media: vimc: cap: Add multiplanar formats
  media: vimc: cap: Add multiplanar default format
  media: vimc: cap: Allocate and verify mplanar buffers
  media: vimc: Add and use new struct vimc_frame
  media: vimc: sen: Add support for multiplanar formats
  media: vimc: sca: Add support for multiplanar formats
  media: vimc: cap: Add support for multiplanar formats
  media: vimc: cap: Dynamically define device caps

 drivers/media/platform/vimc/vimc-capture.c    | 310 +++++++++++++++---
 drivers/media/platform/vimc/vimc-common.c     |  37 +++
 drivers/media/platform/vimc/vimc-common.h     |  50 ++-
 drivers/media/platform/vimc/vimc-core.c       |   8 +
 drivers/media/platform/vimc/vimc-debayer.c    |  38 +--
 drivers/media/platform/vimc/vimc-scaler.c     | 125 ++++---
 drivers/media/platform/vimc/vimc-sensor.c     |  62 ++--
 drivers/media/platform/vimc/vimc-streamer.c   |   2 +-
 drivers/media/platform/vivid/vivid-vid-cap.c  |   6 +-
 .../media/platform/vivid/vivid-vid-common.c   |  59 ----
 .../media/platform/vivid/vivid-vid-common.h   |   9 -
 drivers/media/platform/vivid/vivid-vid-out.c  |   6 +-
 drivers/media/v4l2-core/v4l2-common.c         |  62 ++++
 include/media/v4l2-common.h                   |  31 ++
 14 files changed, 580 insertions(+), 225 deletions(-)

Comments

André Almeida March 15, 2019, 5:29 p.m. UTC | #1
On 3/15/19 1:43 PM, André Almeida wrote:
> Hello,
> 
> This series implements support for multiplane pixel formats at vimc.
> A lot of changes were required since vimc support for singleplane
> was "hardcoded". The code has been adapted in order to support both
> formats. When was possible, the functions were written generically,
> avoiding functions for just one type of pixel format (single/multi)
> and favoring code reuse.
> 
> The debayer subdevice is the only one that currently doesn't supports
> multiplanar formats. Documentation to each device will be made in a
> future patch.
> 

Forgot to mention that this patch series depends on this one:

"[PATCH] media: vimc: propagate pixel format in the stream"

> Thanks,
> 	André
> 
> André Almeida (16):
>    media: Move sp2mp functions to v4l2-common
>    media: vimc: Remove unnecessary stream check
>    media: vimc: Check if the stream is on using ved.stream
>    media: vimc: cap: Change vimc_cap_device.format type
>    media: vimc: Create multiplanar parameter
>    media: vimc: cap: Dynamically define stream pixelformat
>    media: vimc: cap: Add handler for singleplanar fmt ioctls
>    media: vimc: cap: Add handler for multiplanar fmt ioctls
>    media: vimc: cap: Add multiplanar formats
>    media: vimc: cap: Add multiplanar default format
>    media: vimc: cap: Allocate and verify mplanar buffers
>    media: vimc: Add and use new struct vimc_frame
>    media: vimc: sen: Add support for multiplanar formats
>    media: vimc: sca: Add support for multiplanar formats
>    media: vimc: cap: Add support for multiplanar formats
>    media: vimc: cap: Dynamically define device caps
> 
>   drivers/media/platform/vimc/vimc-capture.c    | 310 +++++++++++++++---
>   drivers/media/platform/vimc/vimc-common.c     |  37 +++
>   drivers/media/platform/vimc/vimc-common.h     |  50 ++-
>   drivers/media/platform/vimc/vimc-core.c       |   8 +
>   drivers/media/platform/vimc/vimc-debayer.c    |  38 +--
>   drivers/media/platform/vimc/vimc-scaler.c     | 125 ++++---
>   drivers/media/platform/vimc/vimc-sensor.c     |  62 ++--
>   drivers/media/platform/vimc/vimc-streamer.c   |   2 +-
>   drivers/media/platform/vivid/vivid-vid-cap.c  |   6 +-
>   .../media/platform/vivid/vivid-vid-common.c   |  59 ----
>   .../media/platform/vivid/vivid-vid-common.h   |   9 -
>   drivers/media/platform/vivid/vivid-vid-out.c  |   6 +-
>   drivers/media/v4l2-core/v4l2-common.c         |  62 ++++
>   include/media/v4l2-common.h                   |  31 ++
>   14 files changed, 580 insertions(+), 225 deletions(-)
>
Helen Mae Koike Fornazier March 15, 2019, 7:32 p.m. UTC | #2
Hi Andre,

Thanks for you patch. I didn't do a full review, but I did some minor
comments, please check.

Thanks
Helen

On 3/15/19 2:29 PM, André Almeida wrote:
> 
> 
> On 3/15/19 1:43 PM, André Almeida wrote:
>> Hello,
>>
>> This series implements support for multiplane pixel formats at vimc.
>> A lot of changes were required since vimc support for singleplane
>> was "hardcoded". The code has been adapted in order to support both
>> formats. When was possible, the functions were written generically,
>> avoiding functions for just one type of pixel format (single/multi)
>> and favoring code reuse.
>>
>> The debayer subdevice is the only one that currently doesn't supports
>> multiplanar formats. Documentation to each device will be made in a
>> future patch.
>>
> 
> Forgot to mention that this patch series depends on this one:
> 
> "[PATCH] media: vimc: propagate pixel format in the stream"
> 
>> Thanks,
>>     André
>>
>> André Almeida (16):
>>    media: Move sp2mp functions to v4l2-common
>>    media: vimc: Remove unnecessary stream check
>>    media: vimc: Check if the stream is on using ved.stream
>>    media: vimc: cap: Change vimc_cap_device.format type
>>    media: vimc: Create multiplanar parameter
>>    media: vimc: cap: Dynamically define stream pixelformat
>>    media: vimc: cap: Add handler for singleplanar fmt ioctls
>>    media: vimc: cap: Add handler for multiplanar fmt ioctls
>>    media: vimc: cap: Add multiplanar formats
>>    media: vimc: cap: Add multiplanar default format
>>    media: vimc: cap: Allocate and verify mplanar buffers
>>    media: vimc: Add and use new struct vimc_frame
>>    media: vimc: sen: Add support for multiplanar formats
>>    media: vimc: sca: Add support for multiplanar formats
>>    media: vimc: cap: Add support for multiplanar formats
>>    media: vimc: cap: Dynamically define device caps
>>
>>   drivers/media/platform/vimc/vimc-capture.c    | 310 +++++++++++++++---
>>   drivers/media/platform/vimc/vimc-common.c     |  37 +++
>>   drivers/media/platform/vimc/vimc-common.h     |  50 ++-
>>   drivers/media/platform/vimc/vimc-core.c       |   8 +
>>   drivers/media/platform/vimc/vimc-debayer.c    |  38 +--
>>   drivers/media/platform/vimc/vimc-scaler.c     | 125 ++++---
>>   drivers/media/platform/vimc/vimc-sensor.c     |  62 ++--
>>   drivers/media/platform/vimc/vimc-streamer.c   |   2 +-
>>   drivers/media/platform/vivid/vivid-vid-cap.c  |   6 +-
>>   .../media/platform/vivid/vivid-vid-common.c   |  59 ----
>>   .../media/platform/vivid/vivid-vid-common.h   |   9 -
>>   drivers/media/platform/vivid/vivid-vid-out.c  |   6 +-
>>   drivers/media/v4l2-core/v4l2-common.c         |  62 ++++
>>   include/media/v4l2-common.h                   |  31 ++
>>   14 files changed, 580 insertions(+), 225 deletions(-)
>>