0004-update-toV4L2PixelFormat.patch 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. From 62bce91263c747e42d39bcaa6a15f03458c38e70 Mon Sep 17 00:00:00 2001
  2. From: sw.multimedia <sw.multimedia@starfivetech.com>
  3. Date: Tue, 16 Nov 2021 17:23:17 +0800
  4. Subject: [PATCH] update toV4L2PixelFormat
  5. ---
  6. src/libcamera/pipeline/starfive/starfive.cpp | 18 ++++++++++++------
  7. 1 file changed, 12 insertions(+), 6 deletions(-)
  8. diff --git a/src/libcamera/pipeline/starfive/starfive.cpp b/src/libcamera/pipeline/starfive/starfive.cpp
  9. index 36ef3b7b..159ead04 100644
  10. --- a/src/libcamera/pipeline/starfive/starfive.cpp
  11. +++ b/src/libcamera/pipeline/starfive/starfive.cpp
  12. @@ -441,7 +441,8 @@ CameraConfiguration::Status StarFiveCameraConfiguration::validate()
  13. && data_->haveRaw()) {
  14. V4L2DeviceFormat format = {};
  15. format.fourcc =
  16. - data_->raw_->toV4L2PixelFormat(cfg.pixelFormat);
  17. + V4L2PixelFormat::fromPixelFormat(cfg.pixelFormat,
  18. + data_->raw_->caps().isMultiplanar());
  19. format.size = cfg.size;
  20. int ret = data_->raw_->tryFormat(&format);
  21. @@ -455,7 +456,8 @@ CameraConfiguration::Status StarFiveCameraConfiguration::validate()
  22. } else {
  23. V4L2DeviceFormat format = {};
  24. format.fourcc =
  25. - data_->video_->toV4L2PixelFormat(cfg.pixelFormat);
  26. + V4L2PixelFormat::fromPixelFormat(cfg.pixelFormat,
  27. + data_->video_->caps().isMultiplanar());
  28. format.size = cfg.size;
  29. int ret = data_->video_->tryFormat(&format);
  30. @@ -572,7 +574,8 @@ int PipelineHandlerStarFive::configure(Camera *camera, CameraConfiguration *c)
  31. if (stream == &data->rawStream_) {
  32. V4L2DeviceFormat format = {};
  33. format.fourcc =
  34. - data->raw_->toV4L2PixelFormat(cfg.pixelFormat);
  35. + V4L2PixelFormat::fromPixelFormat(cfg.pixelFormat,
  36. + data->raw_->caps().isMultiplanar());
  37. format.size = cfg.size;
  38. ret = data->raw_->setFormat(&format);
  39. @@ -581,13 +584,15 @@ int PipelineHandlerStarFive::configure(Camera *camera, CameraConfiguration *c)
  40. if (format.size != cfg.size ||
  41. format.fourcc !=
  42. - data->raw_->toV4L2PixelFormat(cfg.pixelFormat))
  43. + V4L2PixelFormat::fromPixelFormat(cfg.pixelFormat,
  44. + data->raw_->caps().isMultiplanar()))
  45. return -EINVAL;
  46. } else if (stream == &data->outStream_) {
  47. V4L2DeviceFormat format = {};
  48. format.fourcc =
  49. - data->video_->toV4L2PixelFormat(cfg.pixelFormat);
  50. + V4L2PixelFormat::fromPixelFormat(cfg.pixelFormat,
  51. + data->video_->caps().isMultiplanar());
  52. format.size = cfg.size;
  53. ret = data->video_->setFormat(&format);
  54. @@ -596,7 +601,8 @@ int PipelineHandlerStarFive::configure(Camera *camera, CameraConfiguration *c)
  55. if (format.size != cfg.size ||
  56. format.fourcc !=
  57. - data->video_->toV4L2PixelFormat(cfg.pixelFormat))
  58. + V4L2PixelFormat::fromPixelFormat(cfg.pixelFormat,
  59. + data->video_->caps().isMultiplanar()))
  60. return -EINVAL;
  61. }
  62. --
  63. 2.17.1