{"id":831,"url":"https://patchwork.libcamera.org/api/covers/831/?format=json","web_url":"https://patchwork.libcamera.org/cover/831/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20190402005332.25018-1-niklas.soderlund@ragnatech.se>","date":"2019-04-02T00:53:27","name":"[libcamera-devel,RFC,0/5] libcamera: camera: Add support for stream usage hint","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"mbox":"https://patchwork.libcamera.org/cover/831/mbox/","series":[{"id":227,"url":"https://patchwork.libcamera.org/api/series/227/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=227","date":"2019-04-02T00:53:27","name":"libcamera: camera: Add support for stream usage hint","version":1,"mbox":"https://patchwork.libcamera.org/series/227/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/831/comments/","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from bin-mail-out-06.binero.net (bin-mail-out-06.binero.net\n\t[195.74.38.229])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6090E60DB2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  2 Apr 2019 02:53:59 +0200 (CEST)","from bismarck.berto.se (unknown [89.233.230.99])\n\tby bin-vsp-out-01.atm.binero.net (Halon) with ESMTPA\n\tid c5f61900-54e1-11e9-846a-005056917a89;\n\tTue, 02 Apr 2019 02:53:58 +0200 (CEST)"],"X-Halon-ID":"c5f61900-54e1-11e9-846a-005056917a89","Authorized-sender":"niklas@soderlund.pp.se","From":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Date":"Tue,  2 Apr 2019 02:53:27 +0200","Message-Id":"<20190402005332.25018-1-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.21.0","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [RFC 0/5] libcamera: camera: Add support for\n\tstream usage hint","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Tue, 02 Apr 2019 00:53:59 -0000"},"content":"Hi,\n\nThis RFC changes how the default configuration is retrieved from a \ncamera. It replaces the current method where applications have to \nenumerate a cameras streams and pick a set of them to ask for a default \nconfiguration and then try to tune them to its use-case.\n\nInstead the application asks libcamera for a set of streams to fit its \nuse-case and receives in returns a set of streams with a default \nconfiguration (which it then can try and fine tune).\n\nThe goal of this series is to define the API towards the application and \nnot to implement smart choices in the pipeline handlers to actually \nselect streams. The main reason for this limitation in scope are that \nall upstream pipeline handlers only support one stream so the new API is \nnot really useful for pipeline handlers yet.\n\nThe code is however tested with a modified cam tool for which patches \nwill be posted momentarily together with out of tree IPU3 patches to \nextend it to expose more then one stream per camera. So the API is \nproven to work with multiple streams and can support capturing multiple \nstreams in the same request.\n\nNiklas Söderlund (5):\n  cam: Rework how streams configuration is prepared\n  test: camera: Remove streams argument from configurationValid()\n  test: camera: Remove test for bad Stream IDs\n  libcamera: stream: Add basic stream usage hints definitions\n  libcamera: camera: Add support for stream usage hints\n\n include/libcamera/camera.h               |  3 +-\n include/libcamera/stream.h               | 39 +++++++++++\n src/cam/main.cpp                         | 35 +++++-----\n src/libcamera/camera.cpp                 | 30 +++------\n src/libcamera/include/pipeline_handler.h |  2 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp     |  4 +-\n src/libcamera/pipeline/uvcvideo.cpp      |  6 +-\n src/libcamera/pipeline/vimc.cpp          |  6 +-\n src/libcamera/pipeline_handler.cpp       |  4 +-\n src/libcamera/stream.cpp                 | 84 ++++++++++++++++++++++++\n src/qcam/main_window.cpp                 |  5 +-\n test/camera/camera_test.cpp              | 26 +++-----\n test/camera/camera_test.h                |  3 +-\n test/camera/capture.cpp                  |  7 +-\n test/camera/configuration_default.cpp    | 32 ++-------\n test/camera/configuration_set.cpp        |  5 +-\n test/camera/statemachine.cpp             |  4 +-\n 17 files changed, 188 insertions(+), 107 deletions(-)"}