Ownership is much more clear than with the various double
raw metadata pointers.
BUG: 30140438
TEST: unit tests pass
Change-Id: Ib0de3bb4b9e6dc30594230e46f40ffaea06df51d
v4l2_metadata and metadata/metadata. The previous design did not work
as intended for testing (it incorrectly assumed that a constructor
would call an overridden method of a child class), plus this way
makes more sense.
BUG: 30140438
Change-Id: I1293535932fed6daed766682421b1215739e17dd
TEST: Unit tests pass
Breaks metadata down into distinct pieces (to be added later).
BUG: 29330282
TEST: unit tests pass
Change-Id: I7156e420e7cdb14b5c3155006ecefd8ff2a49500
Fixes file name style and include guard style, before
even more and more files get added.
BUG: 30224839
Change-Id: Ie5ebcf14672c7e9d3faae86b88d4f62b516ae00d
TEST: test program that takes a picture still works.
Also updates naming of max streams to be in line with what they
technically are, not what they usually are (i.e. a non-stalling
processed stream is usually YUV, but not necessarily).
BUG: 30140438
Change-Id: Idb78c466a41c9c0e5957200fc7c8afc0cfdb88a6
Switch to a factory model so that initialization can
fail when the gralloc module can't be found or isn't supported.
BUG: 30140438
Change-Id: I6e0a62a207797aef96c532cff7632c1a4da8818f
This reverts commit a147f83c8c58f078fad95f99a19ac4441bcb5914.
Was reverted originally due to an issue in a parent CL. Now
that has been fixed, and this CL can be reinstated.
Change-Id: Ie281b6cc80705d8843572f21edde2398c892e35b
This reverts commit a485a7e60db95039df5de82119e47878372550ac
(which reverts the original version of this CL).
Fixed build errors - put reinterpret_cast around delete [] in
V4L2Gralloc destructor, and fixed missing parens around another
reinterpret cast.
BUG: 29335262
Change-Id: Iaa5a71afef8850ba499cb1a7159a831da4f7014a
This abstraction will both clean up the code in V4L2Camera.cpp, and make it
easier to implement tests in the future (by mocking over the class).
This CL only adds the class and implementation, it does not yet replace
the logic in V4L2Camera.cpp.
Also gates building the module, to prevent checkbuilds without the
proper v4l2 kernel headers from trying to build it.
BUG: 30140438
Change-Id: I4e5feee30fdf896b1f71f0df492ca313f5581e78
This reverts commit 00debb6c12c7d7cb70307c4d48ea92a298e44852.
Shamu checkbuild fails because it doesn't have extended query control in the header.
Change-Id: I004ebb70f617cb5f440c7dc076ebbce81fec2136
* Puts in the basics for enqueuing and dequeing buffers from
V4L2.
*Also adds very basic result metadata (spoofed timestamp)
so that the image is returned cleanly.
BUG: 29335262
TEST: A sample Java program is able to take a 640x480 picture, both
JPEG and and YUV (requires ag/1217869).
Change-Id: I853dcc2b5430ea2822006269f57bdf44c1eaa11a
The helper class deals with choosing the correct locking/unlocking,
and conversion to correct yuv buffer format.
BUG: 29335262
TEST: With some follow up CLs to implement data capture, manually
tested by adjusting gralloc implementation:
* Jpeg
* YUV
* Packed planar
* Packed semiplanar
* cstep 4 semiplanar
* packed planar with extra y padding
* packed planar with extra y & c padding
* packed semiplanar with extra y & c padding
Did not test gralloc with less padding than camera, as the test
camera being used has 0 padding to begin with.
Change-Id: Icc5e9b8955cf6e983072b269fd60aefbfd79f883
This abstraction will both clean up the code in V4L2Camera.cpp, and make it
easier to implement tests in the future (by mocking over the class).
This CL only adds the class and implementation, it does not yet replace
the logic in V4L2Camera.cpp.
BUG: 30140438
Change-Id: I2ebf2e615eedaed6294ddb52d3b3c4c1bd0a0460
Set up the camera HAL according to the request streams.
Upgrades this flow from the 3.0 to 3.4 version, where
streams are not registered with buffers, and have a few
additional fields.
BUG: http://b/29921457, http://b/29221641
Change-Id: I36f67da374e6919caad6f202f31b72b0de2bb3bf
Repaces them with just doing the error check,
and a loop for available characteristic keys.
BUG: 29872714
Change-Id: Idc48c5c51ef081dc4a2d380e2d23ee17347e3115
As part of this, refactored characteristic initialization into its own
function so it can be used by both templates and static info.
BUG: 29221795
Change-Id: I88bb2e6a96256e3641c7c5d387769880b260535f
Fills in initial values for all required static info
fields for LIMITED devices. Currently fakes entries
that will eventually be queried from the device (open
bug https://b/29394024).
BUG: https://b/29214526, https://b/29221641
Change-Id: I6b4bfa172c882df22159da63378902cea7cc76fd
Since V4L2CameraHAL now populates its list of cameras,
also added a necessary piece of metadata that was
causing cameraservice to crash.
BUG: 29160300
TEST: Ran on rpi3. HAL finds dev/video* nodes. When a
sym link (/dev/video5 -> /dev/video0) was added, the HAL
correctly did not add a 3rd device.
Change-Id: I95656ac9c062b193c12712b1c73e888bf1f1a961
Decent outline of an initial HALv3. Still a lot to be filled in.
Adapted from the reference implementation in libhardware.
BUG: 29006356
TEST: Ran simple test program. Connects to the HAL and then
fails because there are no cameras (expected behavior right now).
Change-Id: I11c7e00dca1bbb6ade6b5a0f55fedac3d2d01695