[v2,0/8] Signal metadataAvailable and Android partial result
mbox series

Message ID 20241127092632.3145984-1-chenghaoyang@chromium.org
Headers show
Series
  • Signal metadataAvailable and Android partial result
Related show

Message

Cheng-Hao Yang Nov. 27, 2024, 9:25 a.m. UTC
Hi folks,

This series of patches adds a new signal metadataAvailable in
libcamera::Camera, and supports partial result in Android adapter.

Although Android allows a partial result to contain both buffers and
metadata, we probably don't need such a feature. Splitting them into
different partial results should fit both MediaTek's and Intel's
requirements.

This patch passed gitlab pipeline:
https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276

There are still some discussion of the new signal in the previous patch,
with Jacopo. I'll update the patch when we reach agreement.

I understand that the last patch is a bit large, while I don't know how
to split that furthermore. Let me know if there are some pieces that can
be standalone patches.

BR,
Harvey


Han-Lin Chen (2):
  libcamera: Camera: Add signals for completion of metadata as a partial
    result
  android: Add JpegExifMetadata to store tags setting into Exif

Harvey Yang (7):
  android: Move StreamBuffer out of Camera3RequestDescriptor
  android: Set StreamBuffer::srcBuffer in
    CameraDevice::processCaptureRequest
  android: Migrate StreamBuffer::internalBuffer to
    Camera3RequestDescriptor
  android: Add CameraDevice::sendCaptureResult()
  android: Cleanup CAMERA3_MSG_ERROR_REQUEST
  android: Remove Camera3RequestDescriptor::streamsProcessMutex_
  android: Support partial results

 include/libcamera/camera.h                    |   1 +
 include/libcamera/internal/pipeline_handler.h |   1 +
 include/libcamera/internal/request.h          |   4 +
 include/libcamera/request.h                   |   1 +
 src/android/camera_capabilities.cpp           |  11 +-
 src/android/camera_capabilities.h             |   2 +
 src/android/camera_device.cpp                 | 926 ++++++++++++------
 src/android/camera_device.h                   |  46 +-
 src/android/camera_request.cpp                |  94 +-
 src/android/camera_request.h                  |  96 +-
 src/android/camera_stream.cpp                 |  20 +-
 src/android/camera_stream.h                   |  10 +-
 src/android/jpeg/encoder.h                    |   2 +-
 src/android/jpeg/encoder_jea.cpp              |   2 +-
 src/android/jpeg/encoder_jea.h                |   2 +-
 src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
 src/android/jpeg/encoder_libjpeg.h            |   2 +-
 src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
 src/android/jpeg/post_processor_jpeg.h        |   2 +-
 src/android/post_processor.h                  |   4 +-
 src/android/yuv/post_processor_yuv.cpp        |   2 +-
 src/android/yuv/post_processor_yuv.h          |   2 +-
 src/libcamera/camera.cpp                      |   6 +
 src/libcamera/pipeline_handler.cpp            |  41 +
 src/libcamera/request.cpp                     |  21 +
 25 files changed, 908 insertions(+), 408 deletions(-)

Comments

Jacopo Mondi Nov. 28, 2024, 9:22 a.m. UTC | #1
Hi Harevy

Please note that our CI system has detected 10 test failures on CTS
when testing this series:
https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67301704
https://yvain.ideasonboard.com/scheduler/job/84

Our baseline with CTS is 7 test failures.

We know CTS failures might be a fluke but I'm wondering if you have
run CTS on your systems and detected similar results or not.

Thanks
  j


On Wed, Nov 27, 2024 at 09:25:50AM +0000, Harvey Yang wrote:
> Hi folks,
>
> This series of patches adds a new signal metadataAvailable in
> libcamera::Camera, and supports partial result in Android adapter.
>
> Although Android allows a partial result to contain both buffers and
> metadata, we probably don't need such a feature. Splitting them into
> different partial results should fit both MediaTek's and Intel's
> requirements.
>
> This patch passed gitlab pipeline:
> https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276
>
> There are still some discussion of the new signal in the previous patch,
> with Jacopo. I'll update the patch when we reach agreement.
>
> I understand that the last patch is a bit large, while I don't know how
> to split that furthermore. Let me know if there are some pieces that can
> be standalone patches.
>
> BR,
> Harvey
>
>
> Han-Lin Chen (2):
>   libcamera: Camera: Add signals for completion of metadata as a partial
>     result
>   android: Add JpegExifMetadata to store tags setting into Exif
>
> Harvey Yang (7):
>   android: Move StreamBuffer out of Camera3RequestDescriptor
>   android: Set StreamBuffer::srcBuffer in
>     CameraDevice::processCaptureRequest
>   android: Migrate StreamBuffer::internalBuffer to
>     Camera3RequestDescriptor
>   android: Add CameraDevice::sendCaptureResult()
>   android: Cleanup CAMERA3_MSG_ERROR_REQUEST
>   android: Remove Camera3RequestDescriptor::streamsProcessMutex_
>   android: Support partial results
>
>  include/libcamera/camera.h                    |   1 +
>  include/libcamera/internal/pipeline_handler.h |   1 +
>  include/libcamera/internal/request.h          |   4 +
>  include/libcamera/request.h                   |   1 +
>  src/android/camera_capabilities.cpp           |  11 +-
>  src/android/camera_capabilities.h             |   2 +
>  src/android/camera_device.cpp                 | 926 ++++++++++++------
>  src/android/camera_device.h                   |  46 +-
>  src/android/camera_request.cpp                |  94 +-
>  src/android/camera_request.h                  |  96 +-
>  src/android/camera_stream.cpp                 |  20 +-
>  src/android/camera_stream.h                   |  10 +-
>  src/android/jpeg/encoder.h                    |   2 +-
>  src/android/jpeg/encoder_jea.cpp              |   2 +-
>  src/android/jpeg/encoder_jea.h                |   2 +-
>  src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
>  src/android/jpeg/encoder_libjpeg.h            |   2 +-
>  src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
>  src/android/jpeg/post_processor_jpeg.h        |   2 +-
>  src/android/post_processor.h                  |   4 +-
>  src/android/yuv/post_processor_yuv.cpp        |   2 +-
>  src/android/yuv/post_processor_yuv.h          |   2 +-
>  src/libcamera/camera.cpp                      |   6 +
>  src/libcamera/pipeline_handler.cpp            |  41 +
>  src/libcamera/request.cpp                     |  21 +
>  25 files changed, 908 insertions(+), 408 deletions(-)
>
> --
> 2.47.0.338.g60cca15819-goog
>
Jacopo Mondi Nov. 28, 2024, 12:59 p.m. UTC | #2
A second run of CTS reported 7 failures
https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67365473

The three additional ones were likely flukes then.

On Thu, Nov 28, 2024 at 10:22:23AM +0100, Jacopo Mondi wrote:
> Hi Harevy
>
> Please note that our CI system has detected 10 test failures on CTS
> when testing this series:
> https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67301704
> https://yvain.ideasonboard.com/scheduler/job/84
>
> Our baseline with CTS is 7 test failures.
>
> We know CTS failures might be a fluke but I'm wondering if you have
> run CTS on your systems and detected similar results or not.
>
> Thanks
>   j
>
>
> On Wed, Nov 27, 2024 at 09:25:50AM +0000, Harvey Yang wrote:
> > Hi folks,
> >
> > This series of patches adds a new signal metadataAvailable in
> > libcamera::Camera, and supports partial result in Android adapter.
> >
> > Although Android allows a partial result to contain both buffers and
> > metadata, we probably don't need such a feature. Splitting them into
> > different partial results should fit both MediaTek's and Intel's
> > requirements.
> >
> > This patch passed gitlab pipeline:
> > https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276
> >
> > There are still some discussion of the new signal in the previous patch,
> > with Jacopo. I'll update the patch when we reach agreement.
> >
> > I understand that the last patch is a bit large, while I don't know how
> > to split that furthermore. Let me know if there are some pieces that can
> > be standalone patches.
> >
> > BR,
> > Harvey
> >
> >
> > Han-Lin Chen (2):
> >   libcamera: Camera: Add signals for completion of metadata as a partial
> >     result
> >   android: Add JpegExifMetadata to store tags setting into Exif
> >
> > Harvey Yang (7):
> >   android: Move StreamBuffer out of Camera3RequestDescriptor
> >   android: Set StreamBuffer::srcBuffer in
> >     CameraDevice::processCaptureRequest
> >   android: Migrate StreamBuffer::internalBuffer to
> >     Camera3RequestDescriptor
> >   android: Add CameraDevice::sendCaptureResult()
> >   android: Cleanup CAMERA3_MSG_ERROR_REQUEST
> >   android: Remove Camera3RequestDescriptor::streamsProcessMutex_
> >   android: Support partial results
> >
> >  include/libcamera/camera.h                    |   1 +
> >  include/libcamera/internal/pipeline_handler.h |   1 +
> >  include/libcamera/internal/request.h          |   4 +
> >  include/libcamera/request.h                   |   1 +
> >  src/android/camera_capabilities.cpp           |  11 +-
> >  src/android/camera_capabilities.h             |   2 +
> >  src/android/camera_device.cpp                 | 926 ++++++++++++------
> >  src/android/camera_device.h                   |  46 +-
> >  src/android/camera_request.cpp                |  94 +-
> >  src/android/camera_request.h                  |  96 +-
> >  src/android/camera_stream.cpp                 |  20 +-
> >  src/android/camera_stream.h                   |  10 +-
> >  src/android/jpeg/encoder.h                    |   2 +-
> >  src/android/jpeg/encoder_jea.cpp              |   2 +-
> >  src/android/jpeg/encoder_jea.h                |   2 +-
> >  src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
> >  src/android/jpeg/encoder_libjpeg.h            |   2 +-
> >  src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
> >  src/android/jpeg/post_processor_jpeg.h        |   2 +-
> >  src/android/post_processor.h                  |   4 +-
> >  src/android/yuv/post_processor_yuv.cpp        |   2 +-
> >  src/android/yuv/post_processor_yuv.h          |   2 +-
> >  src/libcamera/camera.cpp                      |   6 +
> >  src/libcamera/pipeline_handler.cpp            |  41 +
> >  src/libcamera/request.cpp                     |  21 +
> >  25 files changed, 908 insertions(+), 408 deletions(-)
> >
> > --
> > 2.47.0.338.g60cca15819-goog
> >
Cheng-Hao Yang Dec. 4, 2024, 1:56 p.m. UTC | #3
Hi Jacopo,

On Thu, Nov 28, 2024 at 9:00 PM Jacopo Mondi
<jacopo.mondi@ideasonboard.com> wrote:
>
> A second run of CTS reported 7 failures
> https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67365473
>
> The three additional ones were likely flukes then.
>
> On Thu, Nov 28, 2024 at 10:22:23AM +0100, Jacopo Mondi wrote:
> > Hi Harevy
> >
> > Please note that our CI system has detected 10 test failures on CTS
> > when testing this series:
> > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67301704
> > https://yvain.ideasonboard.com/scheduler/job/84
> >
> > Our baseline with CTS is 7 test failures.
> >
> > We know CTS failures might be a fluke but I'm wondering if you have
> > run CTS on your systems and detected similar results or not.

Yeah v2 seems to fail more CTS tests than the previous version.
In my last trial though, the tot I have on gitlab [1] passes as many
CTS tests as the origin/master does.

I'll run CTS again before the next version of series.

BR,
Harvey

[1]: https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/commit/97b8c426656755b4a6e21cc8d8397ccd92395481

> >
> > Thanks
> >   j
> >
> >
> > On Wed, Nov 27, 2024 at 09:25:50AM +0000, Harvey Yang wrote:
> > > Hi folks,
> > >
> > > This series of patches adds a new signal metadataAvailable in
> > > libcamera::Camera, and supports partial result in Android adapter.
> > >
> > > Although Android allows a partial result to contain both buffers and
> > > metadata, we probably don't need such a feature. Splitting them into
> > > different partial results should fit both MediaTek's and Intel's
> > > requirements.
> > >
> > > This patch passed gitlab pipeline:
> > > https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276
> > >
> > > There are still some discussion of the new signal in the previous patch,
> > > with Jacopo. I'll update the patch when we reach agreement.
> > >
> > > I understand that the last patch is a bit large, while I don't know how
> > > to split that furthermore. Let me know if there are some pieces that can
> > > be standalone patches.
> > >
> > > BR,
> > > Harvey
> > >
> > >
> > > Han-Lin Chen (2):
> > >   libcamera: Camera: Add signals for completion of metadata as a partial
> > >     result
> > >   android: Add JpegExifMetadata to store tags setting into Exif
> > >
> > > Harvey Yang (7):
> > >   android: Move StreamBuffer out of Camera3RequestDescriptor
> > >   android: Set StreamBuffer::srcBuffer in
> > >     CameraDevice::processCaptureRequest
> > >   android: Migrate StreamBuffer::internalBuffer to
> > >     Camera3RequestDescriptor
> > >   android: Add CameraDevice::sendCaptureResult()
> > >   android: Cleanup CAMERA3_MSG_ERROR_REQUEST
> > >   android: Remove Camera3RequestDescriptor::streamsProcessMutex_
> > >   android: Support partial results
> > >
> > >  include/libcamera/camera.h                    |   1 +
> > >  include/libcamera/internal/pipeline_handler.h |   1 +
> > >  include/libcamera/internal/request.h          |   4 +
> > >  include/libcamera/request.h                   |   1 +
> > >  src/android/camera_capabilities.cpp           |  11 +-
> > >  src/android/camera_capabilities.h             |   2 +
> > >  src/android/camera_device.cpp                 | 926 ++++++++++++------
> > >  src/android/camera_device.h                   |  46 +-
> > >  src/android/camera_request.cpp                |  94 +-
> > >  src/android/camera_request.h                  |  96 +-
> > >  src/android/camera_stream.cpp                 |  20 +-
> > >  src/android/camera_stream.h                   |  10 +-
> > >  src/android/jpeg/encoder.h                    |   2 +-
> > >  src/android/jpeg/encoder_jea.cpp              |   2 +-
> > >  src/android/jpeg/encoder_jea.h                |   2 +-
> > >  src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
> > >  src/android/jpeg/encoder_libjpeg.h            |   2 +-
> > >  src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
> > >  src/android/jpeg/post_processor_jpeg.h        |   2 +-
> > >  src/android/post_processor.h                  |   4 +-
> > >  src/android/yuv/post_processor_yuv.cpp        |   2 +-
> > >  src/android/yuv/post_processor_yuv.h          |   2 +-
> > >  src/libcamera/camera.cpp                      |   6 +
> > >  src/libcamera/pipeline_handler.cpp            |  41 +
> > >  src/libcamera/request.cpp                     |  21 +
> > >  25 files changed, 908 insertions(+), 408 deletions(-)
> > >
> > > --
> > > 2.47.0.338.g60cca15819-goog
> > >
Jacopo Mondi Dec. 4, 2024, 2:03 p.m. UTC | #4
Hi Harvey

On Wed, Dec 04, 2024 at 09:56:31PM +0800, Cheng-Hao Yang wrote:
> Hi Jacopo,
>
> On Thu, Nov 28, 2024 at 9:00 PM Jacopo Mondi
> <jacopo.mondi@ideasonboard.com> wrote:
> >
> > A second run of CTS reported 7 failures
> > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67365473
> >
> > The three additional ones were likely flukes then.
> >
> > On Thu, Nov 28, 2024 at 10:22:23AM +0100, Jacopo Mondi wrote:
> > > Hi Harevy
> > >
> > > Please note that our CI system has detected 10 test failures on CTS
> > > when testing this series:
> > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67301704
> > > https://yvain.ideasonboard.com/scheduler/job/84
> > >
> > > Our baseline with CTS is 7 test failures.
> > >
> > > We know CTS failures might be a fluke but I'm wondering if you have
> > > run CTS on your systems and detected similar results or not.
>
> Yeah v2 seems to fail more CTS tests than the previous version.
> In my last trial though, the tot I have on gitlab [1] passes as many
> CTS tests as the origin/master does.

I see the test not being run at all
https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/jobs/67693898

I think this is intended as I don't think we allow forked repositories
to run CTS on our test infrastructure (I guess??) ?

What CTS run are you referring to ?

>
> I'll run CTS again before the next version of series.
>
> BR,
> Harvey
>
> [1]: https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/commit/97b8c426656755b4a6e21cc8d8397ccd92395481
>
> > >
> > > Thanks
> > >   j
> > >
> > >
> > > On Wed, Nov 27, 2024 at 09:25:50AM +0000, Harvey Yang wrote:
> > > > Hi folks,
> > > >
> > > > This series of patches adds a new signal metadataAvailable in
> > > > libcamera::Camera, and supports partial result in Android adapter.
> > > >
> > > > Although Android allows a partial result to contain both buffers and
> > > > metadata, we probably don't need such a feature. Splitting them into
> > > > different partial results should fit both MediaTek's and Intel's
> > > > requirements.
> > > >
> > > > This patch passed gitlab pipeline:
> > > > https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276
> > > >
> > > > There are still some discussion of the new signal in the previous patch,
> > > > with Jacopo. I'll update the patch when we reach agreement.
> > > >
> > > > I understand that the last patch is a bit large, while I don't know how
> > > > to split that furthermore. Let me know if there are some pieces that can
> > > > be standalone patches.
> > > >
> > > > BR,
> > > > Harvey
> > > >
> > > >
> > > > Han-Lin Chen (2):
> > > >   libcamera: Camera: Add signals for completion of metadata as a partial
> > > >     result
> > > >   android: Add JpegExifMetadata to store tags setting into Exif
> > > >
> > > > Harvey Yang (7):
> > > >   android: Move StreamBuffer out of Camera3RequestDescriptor
> > > >   android: Set StreamBuffer::srcBuffer in
> > > >     CameraDevice::processCaptureRequest
> > > >   android: Migrate StreamBuffer::internalBuffer to
> > > >     Camera3RequestDescriptor
> > > >   android: Add CameraDevice::sendCaptureResult()
> > > >   android: Cleanup CAMERA3_MSG_ERROR_REQUEST
> > > >   android: Remove Camera3RequestDescriptor::streamsProcessMutex_
> > > >   android: Support partial results
> > > >
> > > >  include/libcamera/camera.h                    |   1 +
> > > >  include/libcamera/internal/pipeline_handler.h |   1 +
> > > >  include/libcamera/internal/request.h          |   4 +
> > > >  include/libcamera/request.h                   |   1 +
> > > >  src/android/camera_capabilities.cpp           |  11 +-
> > > >  src/android/camera_capabilities.h             |   2 +
> > > >  src/android/camera_device.cpp                 | 926 ++++++++++++------
> > > >  src/android/camera_device.h                   |  46 +-
> > > >  src/android/camera_request.cpp                |  94 +-
> > > >  src/android/camera_request.h                  |  96 +-
> > > >  src/android/camera_stream.cpp                 |  20 +-
> > > >  src/android/camera_stream.h                   |  10 +-
> > > >  src/android/jpeg/encoder.h                    |   2 +-
> > > >  src/android/jpeg/encoder_jea.cpp              |   2 +-
> > > >  src/android/jpeg/encoder_jea.h                |   2 +-
> > > >  src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
> > > >  src/android/jpeg/encoder_libjpeg.h            |   2 +-
> > > >  src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
> > > >  src/android/jpeg/post_processor_jpeg.h        |   2 +-
> > > >  src/android/post_processor.h                  |   4 +-
> > > >  src/android/yuv/post_processor_yuv.cpp        |   2 +-
> > > >  src/android/yuv/post_processor_yuv.h          |   2 +-
> > > >  src/libcamera/camera.cpp                      |   6 +
> > > >  src/libcamera/pipeline_handler.cpp            |  41 +
> > > >  src/libcamera/request.cpp                     |  21 +
> > > >  25 files changed, 908 insertions(+), 408 deletions(-)
> > > >
> > > > --
> > > > 2.47.0.338.g60cca15819-goog
> > > >
Cheng-Hao Yang Dec. 4, 2024, 2:10 p.m. UTC | #5
Hi Jacopo,

On Wed, Dec 4, 2024 at 10:03 PM Jacopo Mondi
<jacopo.mondi@ideasonboard.com> wrote:
>
> Hi Harvey
>
> On Wed, Dec 04, 2024 at 09:56:31PM +0800, Cheng-Hao Yang wrote:
> > Hi Jacopo,
> >
> > On Thu, Nov 28, 2024 at 9:00 PM Jacopo Mondi
> > <jacopo.mondi@ideasonboard.com> wrote:
> > >
> > > A second run of CTS reported 7 failures
> > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67365473
> > >
> > > The three additional ones were likely flukes then.
> > >
> > > On Thu, Nov 28, 2024 at 10:22:23AM +0100, Jacopo Mondi wrote:
> > > > Hi Harevy
> > > >
> > > > Please note that our CI system has detected 10 test failures on CTS
> > > > when testing this series:
> > > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67301704
> > > > https://yvain.ideasonboard.com/scheduler/job/84
> > > >
> > > > Our baseline with CTS is 7 test failures.
> > > >
> > > > We know CTS failures might be a fluke but I'm wondering if you have
> > > > run CTS on your systems and detected similar results or not.
> >
> > Yeah v2 seems to fail more CTS tests than the previous version.
> > In my last trial though, the tot I have on gitlab [1] passes as many
> > CTS tests as the origin/master does.
>
> I see the test not being run at all
> https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/jobs/67693898
>
> I think this is intended as I don't think we allow forked repositories
> to run CTS on our test infrastructure (I guess??) ?
>
> What CTS run are you referring to ?

I ran CTS (android-cts-13_r7) manually with my own soraka DUT.
We can also use the result on gitlab instead. Do I need to ask for
your help to run it everytime?

BR,
Harvey

>
> >
> > I'll run CTS again before the next version of series.
> >
> > BR,
> > Harvey
> >
> > [1]: https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/commit/97b8c426656755b4a6e21cc8d8397ccd92395481
> >
> > > >
> > > > Thanks
> > > >   j
> > > >
> > > >
> > > > On Wed, Nov 27, 2024 at 09:25:50AM +0000, Harvey Yang wrote:
> > > > > Hi folks,
> > > > >
> > > > > This series of patches adds a new signal metadataAvailable in
> > > > > libcamera::Camera, and supports partial result in Android adapter.
> > > > >
> > > > > Although Android allows a partial result to contain both buffers and
> > > > > metadata, we probably don't need such a feature. Splitting them into
> > > > > different partial results should fit both MediaTek's and Intel's
> > > > > requirements.
> > > > >
> > > > > This patch passed gitlab pipeline:
> > > > > https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276
> > > > >
> > > > > There are still some discussion of the new signal in the previous patch,
> > > > > with Jacopo. I'll update the patch when we reach agreement.
> > > > >
> > > > > I understand that the last patch is a bit large, while I don't know how
> > > > > to split that furthermore. Let me know if there are some pieces that can
> > > > > be standalone patches.
> > > > >
> > > > > BR,
> > > > > Harvey
> > > > >
> > > > >
> > > > > Han-Lin Chen (2):
> > > > >   libcamera: Camera: Add signals for completion of metadata as a partial
> > > > >     result
> > > > >   android: Add JpegExifMetadata to store tags setting into Exif
> > > > >
> > > > > Harvey Yang (7):
> > > > >   android: Move StreamBuffer out of Camera3RequestDescriptor
> > > > >   android: Set StreamBuffer::srcBuffer in
> > > > >     CameraDevice::processCaptureRequest
> > > > >   android: Migrate StreamBuffer::internalBuffer to
> > > > >     Camera3RequestDescriptor
> > > > >   android: Add CameraDevice::sendCaptureResult()
> > > > >   android: Cleanup CAMERA3_MSG_ERROR_REQUEST
> > > > >   android: Remove Camera3RequestDescriptor::streamsProcessMutex_
> > > > >   android: Support partial results
> > > > >
> > > > >  include/libcamera/camera.h                    |   1 +
> > > > >  include/libcamera/internal/pipeline_handler.h |   1 +
> > > > >  include/libcamera/internal/request.h          |   4 +
> > > > >  include/libcamera/request.h                   |   1 +
> > > > >  src/android/camera_capabilities.cpp           |  11 +-
> > > > >  src/android/camera_capabilities.h             |   2 +
> > > > >  src/android/camera_device.cpp                 | 926 ++++++++++++------
> > > > >  src/android/camera_device.h                   |  46 +-
> > > > >  src/android/camera_request.cpp                |  94 +-
> > > > >  src/android/camera_request.h                  |  96 +-
> > > > >  src/android/camera_stream.cpp                 |  20 +-
> > > > >  src/android/camera_stream.h                   |  10 +-
> > > > >  src/android/jpeg/encoder.h                    |   2 +-
> > > > >  src/android/jpeg/encoder_jea.cpp              |   2 +-
> > > > >  src/android/jpeg/encoder_jea.h                |   2 +-
> > > > >  src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
> > > > >  src/android/jpeg/encoder_libjpeg.h            |   2 +-
> > > > >  src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
> > > > >  src/android/jpeg/post_processor_jpeg.h        |   2 +-
> > > > >  src/android/post_processor.h                  |   4 +-
> > > > >  src/android/yuv/post_processor_yuv.cpp        |   2 +-
> > > > >  src/android/yuv/post_processor_yuv.h          |   2 +-
> > > > >  src/libcamera/camera.cpp                      |   6 +
> > > > >  src/libcamera/pipeline_handler.cpp            |  41 +
> > > > >  src/libcamera/request.cpp                     |  21 +
> > > > >  25 files changed, 908 insertions(+), 408 deletions(-)
> > > > >
> > > > > --
> > > > > 2.47.0.338.g60cca15819-goog
> > > > >
Jacopo Mondi Dec. 4, 2024, 2:37 p.m. UTC | #6
Hi Harvey

On Wed, Dec 04, 2024 at 10:10:28PM +0800, Cheng-Hao Yang wrote:
> Hi Jacopo,
>
> On Wed, Dec 4, 2024 at 10:03 PM Jacopo Mondi
> <jacopo.mondi@ideasonboard.com> wrote:
> >
> > Hi Harvey
> >
> > On Wed, Dec 04, 2024 at 09:56:31PM +0800, Cheng-Hao Yang wrote:
> > > Hi Jacopo,
> > >
> > > On Thu, Nov 28, 2024 at 9:00 PM Jacopo Mondi
> > > <jacopo.mondi@ideasonboard.com> wrote:
> > > >
> > > > A second run of CTS reported 7 failures
> > > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67365473
> > > >
> > > > The three additional ones were likely flukes then.
> > > >
> > > > On Thu, Nov 28, 2024 at 10:22:23AM +0100, Jacopo Mondi wrote:
> > > > > Hi Harevy
> > > > >
> > > > > Please note that our CI system has detected 10 test failures on CTS
> > > > > when testing this series:
> > > > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/67301704
> > > > > https://yvain.ideasonboard.com/scheduler/job/84
> > > > >
> > > > > Our baseline with CTS is 7 test failures.
> > > > >
> > > > > We know CTS failures might be a fluke but I'm wondering if you have
> > > > > run CTS on your systems and detected similar results or not.
> > >
> > > Yeah v2 seems to fail more CTS tests than the previous version.
> > > In my last trial though, the tot I have on gitlab [1] passes as many
> > > CTS tests as the origin/master does.
> >
> > I see the test not being run at all
> > https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/jobs/67693898
> >
> > I think this is intended as I don't think we allow forked repositories
> > to run CTS on our test infrastructure (I guess??) ?
> >
> > What CTS run are you referring to ?
>
> I ran CTS (android-cts-13_r7) manually with my own soraka DUT.

Ah sorry, I didn't get it

> We can also use the result on gitlab instead. Do I need to ask for
> your help to run it everytime?
>

I don't think we can (and should) allow forks of camera/libcamera to
run tests on our physical infrastructure, only series collected from
patchwork that touch src/android are run on our LAVA lab.

I'll ask if it is possible or desirable to make singular execptions.


> BR,
> Harvey
>
> >
> > >
> > > I'll run CTS again before the next version of series.
> > >
> > > BR,
> > > Harvey
> > >
> > > [1]: https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/commit/97b8c426656755b4a6e21cc8d8397ccd92395481
> > >
> > > > >
> > > > > Thanks
> > > > >   j
> > > > >
> > > > >
> > > > > On Wed, Nov 27, 2024 at 09:25:50AM +0000, Harvey Yang wrote:
> > > > > > Hi folks,
> > > > > >
> > > > > > This series of patches adds a new signal metadataAvailable in
> > > > > > libcamera::Camera, and supports partial result in Android adapter.
> > > > > >
> > > > > > Although Android allows a partial result to contain both buffers and
> > > > > > metadata, we probably don't need such a feature. Splitting them into
> > > > > > different partial results should fit both MediaTek's and Intel's
> > > > > > requirements.
> > > > > >
> > > > > > This patch passed gitlab pipeline:
> > > > > > https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276
> > > > > >
> > > > > > There are still some discussion of the new signal in the previous patch,
> > > > > > with Jacopo. I'll update the patch when we reach agreement.
> > > > > >
> > > > > > I understand that the last patch is a bit large, while I don't know how
> > > > > > to split that furthermore. Let me know if there are some pieces that can
> > > > > > be standalone patches.
> > > > > >
> > > > > > BR,
> > > > > > Harvey
> > > > > >
> > > > > >
> > > > > > Han-Lin Chen (2):
> > > > > >   libcamera: Camera: Add signals for completion of metadata as a partial
> > > > > >     result
> > > > > >   android: Add JpegExifMetadata to store tags setting into Exif
> > > > > >
> > > > > > Harvey Yang (7):
> > > > > >   android: Move StreamBuffer out of Camera3RequestDescriptor
> > > > > >   android: Set StreamBuffer::srcBuffer in
> > > > > >     CameraDevice::processCaptureRequest
> > > > > >   android: Migrate StreamBuffer::internalBuffer to
> > > > > >     Camera3RequestDescriptor
> > > > > >   android: Add CameraDevice::sendCaptureResult()
> > > > > >   android: Cleanup CAMERA3_MSG_ERROR_REQUEST
> > > > > >   android: Remove Camera3RequestDescriptor::streamsProcessMutex_
> > > > > >   android: Support partial results
> > > > > >
> > > > > >  include/libcamera/camera.h                    |   1 +
> > > > > >  include/libcamera/internal/pipeline_handler.h |   1 +
> > > > > >  include/libcamera/internal/request.h          |   4 +
> > > > > >  include/libcamera/request.h                   |   1 +
> > > > > >  src/android/camera_capabilities.cpp           |  11 +-
> > > > > >  src/android/camera_capabilities.h             |   2 +
> > > > > >  src/android/camera_device.cpp                 | 926 ++++++++++++------
> > > > > >  src/android/camera_device.h                   |  46 +-
> > > > > >  src/android/camera_request.cpp                |  94 +-
> > > > > >  src/android/camera_request.h                  |  96 +-
> > > > > >  src/android/camera_stream.cpp                 |  20 +-
> > > > > >  src/android/camera_stream.h                   |  10 +-
> > > > > >  src/android/jpeg/encoder.h                    |   2 +-
> > > > > >  src/android/jpeg/encoder_jea.cpp              |   2 +-
> > > > > >  src/android/jpeg/encoder_jea.h                |   2 +-
> > > > > >  src/android/jpeg/encoder_libjpeg.cpp          |   2 +-
> > > > > >  src/android/jpeg/encoder_libjpeg.h            |   2 +-
> > > > > >  src/android/jpeg/post_processor_jpeg.cpp      |  16 +-
> > > > > >  src/android/jpeg/post_processor_jpeg.h        |   2 +-
> > > > > >  src/android/post_processor.h                  |   4 +-
> > > > > >  src/android/yuv/post_processor_yuv.cpp        |   2 +-
> > > > > >  src/android/yuv/post_processor_yuv.h          |   2 +-
> > > > > >  src/libcamera/camera.cpp                      |   6 +
> > > > > >  src/libcamera/pipeline_handler.cpp            |  41 +
> > > > > >  src/libcamera/request.cpp                     |  21 +
> > > > > >  25 files changed, 908 insertions(+), 408 deletions(-)
> > > > > >
> > > > > > --
> > > > > > 2.47.0.338.g60cca15819-goog
> > > > > >