v4l: ti-vpe: Add support for scaling and color conversion
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest8 patches 4 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | v4l: ti-vpe: create a scaler block librarydrivers/ drivers/ drivers/ +2 more | +288 | 0 replies | |
| 2/8 | v4l: ti-vpe: support loading of scaler coefficientsdrivers/ drivers/ drivers/ | +1471 | 0 replies | |
| 3/8 | v4l: ti-vpe: make vpe driver load scaler coefficientsdrivers/ | +46 | 0 replies | |
| 4/8 | v4l: ti-vpe: enable basic scaler supportdrivers/ drivers/ drivers/ | +149 | 0 replies | |
| 5/8 | v4l: ti-vpe: create a color space converter block librarydrivers/ drivers/ drivers/ +2 more | +155 | 0 replies | |
| 6/8 | v4l: ti-vpe: Add helper to perform color conversiondrivers/ drivers/ | +123 | 0 replies | |
| 7/8 | v4l: ti-vpe: enable CSC support for VPEdrivers/ | +72 | 0 replies | |
| 8/8 | v4l: ti-vpe: Add a type specifier to describe vpdma data format typedrivers/ drivers/ | +41 | 0 replies |
Reviews trailers per patch
None of the 8 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Hans Verkuil |
|---|---|
| Series | A-b |
| 1/8 | |
| 2/8 | |
| 3/8 | |
| 4/8 | |
| 5/8 | |
| 6/8 | |
| 7/8 | |
| 8/8 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/8] v4l: ti-vpe: Add support for scaling and color conversion
The VPE and VIP IPs in DRA7x contain common scaler and color conversion hardware blocks. We create libraries for these components such that the vpe driver and the vip driver(in future) can use these library funcs to configure the blocks.
There are some points for which I would like comments:
- For VPE, setting the format and colorspace for the source and destination queues is enough to determine how these blocks need to be configured and whether they need to be bypassed or not. So it didn't make sense to represent them as media controller entities. For VIP(driver not upstream yet), it's possible that there are multiple data paths which may or may not include these blocks. However, the current use cases don't require such flexibility. There may be a need to re-consider a media controller like setup once we work on the VIP driver. Is it a good idea in terms of user-space compatibilty if we use media controller framework in the future.
- These blocks will also require some custom control commands later on. For example, we may want to tell the scaler later on to perform bi-linear scaling, or perform peaking at a particular frequency.
- The current series keeps the default scaler coefficients in a header file. These coefficients add a lot of lines of code in the kernel. Does it make more sense for the user application to pass the co-efficients to the kernel using an ioctl? Is there any driver which currenlty does this?
The series is based on the branch:
git://linuxtv.org/media_tree.git master
Archit Taneja (8):
v4l: ti-vpe: create a scaler block library
v4l: ti-vpe: support loading of scaler coefficients
v4l: ti-vpe: make vpe driver load scaler coefficients
v4l: ti-vpe: enable basic scaler support
v4l: ti-vpe: create a color space converter block library
v4l: ti-vpe: Add helper to perform color conversion
v4l: ti-vpe: enable CSC support for VPE
v4l: ti-vpe: Add a type specifier to describe vpdma data format type
drivers/media/platform/ti-vpe/Makefile | 2 +- drivers/media/platform/ti-vpe/csc.c | 196 +++++ drivers/media/platform/ti-vpe/csc.h | 68 ++ drivers/media/platform/ti-vpe/sc.c | 311 +++++++ drivers/media/platform/ti-vpe/sc.h | 208 +++++ drivers/media/platform/ti-vpe/sc_coeff.h | 1342 ++++++++++++++++++++++++++++++ drivers/media/platform/ti-vpe/vpdma.c | 36 +- drivers/media/platform/ti-vpe/vpdma.h | 7 + drivers/media/platform/ti-vpe/vpe.c | 251 ++++-- drivers/media/platform/ti-vpe/vpe_regs.h | 187 ----- 10 files changed, 2335 insertions(+), 273 deletions(-) create mode 100644 drivers/media/platform/ti-vpe/csc.c create mode 100644 drivers/media/platform/ti-vpe/csc.h create mode 100644 drivers/media/platform/ti-vpe/sc.c create mode 100644 drivers/media/platform/ti-vpe/sc.h create mode 100644 drivers/media/platform/ti-vpe/sc_coeff.h
Signature · 1 line
1.8.3.2