46 Commits

Author SHA1 Message Date
Zhijun He
ce9d6f9c75 ImageReader/Writer: implement opaque format operations
Implement attach/detach for image reader and writer.

Bug: 19872821
Change-Id: Ib45a054c6be0b56b370fa8d709b47b0298ba5ea7
2015-04-08 10:39:29 -07:00
Yin-Chia Yeh
37ec99b19c Merge "Add RAW12 image format" 2015-03-31 18:27:23 +00:00
Zhijun He
f6a09e5106 ImageReader/Writer: Add ImageWriter and Opaque ImageReader
ImageWriter/Reader API change, including below changes
* Interface for Opaque ImageReader
* ImageWriter Interface and implementation
* Image class minor update to support ImageWriter opaque ImageReader

detach/attach interface are defined but yet to be implemented.

Change-Id: Ic7c0d2df73c80b1a81a7316d8c4556bf7703c309
2015-03-20 18:19:58 -07:00
Yin-Chia Yeh
11d444f0b7 Add RAW12 image format
Change-Id: I1c528ecf62746aa96d6e132eaa874015d9d7c446
2015-03-20 17:40:01 -07:00
Eino-Ville Talvala
805f3c9428 Add DEPTH image formats, support in ImageReader
- Add an explicit mapping between public ImageFormat/
  PixelFormat enums and internal HAL format/dataspace.
- Add DEPTH16 and DEPTH_POINT_CLOUD formats
- Wire up mapping layer to ImageReader to support depth
  formats

Change-Id: I8197eccef900cc91baddcfcb934ccd4d8c972eff
2015-03-09 16:42:25 -07:00
Eino-Ville Talvala
64cc1d0359 ImageReader: Switch to RAW16 from RAW_SENSOR
Change-Id: I6362a997b0895686f988896de0463d834354f238
2015-02-19 17:02:48 -08:00
Lajos Molnar
df876a110c Merge "ImageReader: add support for compatible flexYUV buffers" into lmp-mr1-dev automerge: 8514766
automerge: 2a8dc00

* commit '2a8dc00eedeb2b8a9fa3560d8afa4cfd7c17d395':
  ImageReader: add support for compatible flexYUV buffers
2015-01-29 08:02:53 +00:00
Lajos Molnar
4fb442617c ImageReader: add support for compatible flexYUV buffers
Bug: 17906609
Change-Id: Ia21aff632b9a92f4e391b3917a7774af46fd81a0
2015-01-28 17:34:23 -08:00
Ruben Brunk
28089cc39b Merge "Camera2: Allow rendering to arbitrary surface sizes in LEGACY mode." into lmp-mr1-dev automerge: 3ef5033
automerge: 6d98265

* commit '6d9826546d89e03cea170ebb5b3f292d5f4a027b':
  Camera2: Allow rendering to arbitrary surface sizes in LEGACY mode.
2014-12-09 23:20:39 +00:00
Ruben Brunk
f4a637d0be Camera2: Allow rendering to arbitrary surface sizes in LEGACY mode.
Bug: 16030677
Change-Id: Ida04e04f41983b9126609522dd12064a7bf9645f
2014-12-09 11:56:22 -08:00
Andreas Gampe
cba06c2272 resolved conflicts for merge of 6957369d to lmp-mr1-dev-plus-aosp
Change-Id: Ie3bd0e24c69c0c7ae500b8eb4a1198650e993a19
2014-11-10 19:41:52 -08:00
Andreas Gampe
5a15d0d31b Frameworks/base: Wall Werror in media/jni
Turn on -Wall -Werror in media/jni. Fix warnings.

Change-Id: I9da54ad379d8172ee535b52ee2b0637a2533f4e3
2014-11-10 18:19:40 -08:00
Dan Stoza
2c34b5e813 Add a BufferItem parameter to onFrameAvailable
Passes the BufferItem for the queued buffer to the onFrameAvailable
callback so the consumer can track the BufferQueue's contents.

Bug: 18111837
Change-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0
2014-11-04 11:36:33 -08:00
Ruben Brunk
0c79884076 camera2: Use valid dimensions for RGBA8888 gralloc buffers.
Bug: 17675571

- All of the mistakes were made.  Unmake them.

Change-Id: I23ff7a553347d4d9588c728219f4bf0604ba2e38
2014-09-30 13:54:20 -07:00
Ruben Brunk
31798f3318 camera2: Fix native ImageReader test segfaults.
Bug: 17675571

- Check for JPEG footer in correct location from ImageReader
  when using the RGBA override.
- Add additional error checks in produceFrame method.
- Avoid allocating extra space for jpeg buffers due to
  incorrect width calculations.

Change-Id: I926f37e8b3e5c4bad24c16dcee48d52adb1706dd
2014-09-26 18:00:21 -07:00
Ruben Brunk
0fd198ad89 camera2: Hide JPEGs in RGBA gralloc buffers.
Bug: 17379185

- WAR for SW Write usage flags being unavailable on
  certain devices for JPEG (blob) format buffers.

Change-Id: Ic7299785b743f35dd47264b9d1cea01a88b71d91
2014-09-24 10:43:12 -07:00
Zhijun He
4c4064fa66 ImageFormat: update raw10 spec to allow row padding
Change-Id: Id191b92037487f16538d111fc6171d3be9a02acf
2014-07-28 18:42:10 +00:00
Zhijun He
d1988a98ed Add RAW10 image format
- Add RAW10 format in ImageFormat
- Add ImageReader support for this format

Bug: 15989722
Change-Id: Ic38ae596d5a472e990389d1fa221a82bea97b715
2014-07-07 08:01:06 -07:00
Igor Murashkin
5096defdaa camera2: (legacy) Write the JPEG size as part of the blob transport
This fixes StillCaptureTest#testStillPreviewCombination

Change-Id: Ifbaae7828b2efcc1a768c77ce50718abd7f691d0
2014-06-24 18:29:18 +00:00
Ruben Brunk
91b9aabc9f camera2: Switch to using YV12 for ImageReader.
Bug: 15116722

- Also fixes incorrect frame number for single captures.

Change-Id: I8552124d18ad176e6724f089a1e3a3f49a5eeec4
2014-06-20 15:59:00 -07:00
Ruben Brunk
feb50af361 camera2: Add HAL1 compatibility shim skeleton.
This adds basic support for running the Camera2 API on a device running
a camera HAL version lower than CAMERA_MODULE_API_VERSION_2_0.

This CL includes support for:
- N-way preview output streams
- N-way jpeg output streams
- CameraDevice emulation at the binder interface
- Basic camera metadata querying in the CameraManager

Bug: 15117269
Bug: 15116722

Change-Id: I8322955034c91f34bb348d4b28c2b774dbef38f6
2014-05-21 16:37:59 -07:00
Zhijun He
a5e1528f80 ImageReader: remove RAW_SENSOR format translation
Really not needed to have this, as both native and managed values are matched.

Change-Id: I175cbafbf88a80781a478c7aa87471fb977625b6
2014-04-24 14:08:51 -07:00
Zhijun He
977ad8d26e ImageReader: Fix raw buffer size calculation issue
Stride should be used to calculate the size rather than width.

Change-Id: I01051fdf4dd2978d56b9998d8bcd542c50458f56
2014-04-08 16:59:29 -07:00
Dan Stoza
5b3c7c1e57 Remove deprecated BufferQueue constructor
Bug: 13415624
Change-Id: Ic661d515a94fd5fad39f2d07f0cdf25337fae67c
2014-03-12 16:44:45 -07:00
lina.x.pi
334778981d Release locked buffer when it fails to acquire graphics buffer
The JNI buffer in ImageReader_imageSetup is not released when
it fails to acquire graphics buffer. After all JNI buffers are
exhausted, ACQUIRE_MAX_IMAGES will be returned and leads to
error. The JNI buffer should be released when it fails to acquire
graphics buffer.

Change-Id: I3319a58ac44e36c8593b404672a685c4b589a735
2014-01-28 06:08:52 +00:00
Zhijun He
4eda9f5359 ImageReader: disable NV21 support
Bug: 10787131
Change-Id: I5ff0a67144b5ec49eabde6129423a41c9597c2b8
2013-09-18 10:30:50 -07:00
Zhijun He
9e6d073a99 ImageReader: fix the 0 crop rect size issue
Rect isValid actually include the zero size case, which we don't want to include
in our case. This causes camera ImageReader test case fails at buffer size
sanity check.

Bug: 9802344
Change-Id: I561f5a049c6117c613df1e1b2789c43af9a19628
2013-09-16 16:03:36 -07:00
Igor Murashkin
5cf86aa756 Merge "media: Update ImageReader to remove MaxImagesAcquiredException" into klp-dev 2013-09-16 21:02:32 +00:00
Igor Murashkin
26cb5fd5ff Merge "media: Update ImageReader APIs" into klp-dev 2013-09-16 20:19:15 +00:00
Zhijun He
cfa553369f ImageReader: get correct crop size
Bug: 10752797
Change-Id: I2e56d69cde7f5ca669a366646b876861b277a239
2013-09-16 09:49:28 -07:00
Igor Murashkin
e3351f1942 media: Update ImageReader to remove MaxImagesAcquiredException
* acquiring images now throws IllegalStateException instead of
    MaxImagesAcquiredException

Bug: 10691447
Change-Id: I7ce68f990fb96703705b9181012a28633fea0b7a
2013-09-13 23:27:44 -07:00
Igor Murashkin
5e712064df media: Update ImageReader APIs
Bug: 10461757
Change-Id: Ic04e4c41965e3d417b29004f3f08e0cd56b8f4cb
2013-09-12 16:57:57 -07:00
Zhijun He
37682135da ImageReader: Skip size check for BLOB format
HAL_PIXEL_FORMAT_BLOB is for JPEG capture, the buffer width/height by definition
shouldn't be the same as the image width/height.

Bug: 10360518
Change-Id: I32146a0e8e15439bb8fe199403db4ff37d1ab1af
2013-09-11 13:18:00 -07:00
Igor Murashkin
d901c03375 media: ImageReader throws OutOfResourcesException when out of buffers
Bug: 10507939
Change-Id: I34c66485695ad6141388be85903cbecb9ebaa5ab
2013-08-27 16:42:24 -07:00
Zhijun He
af753a2dfc ImageReader: Fix API doc table misalignment issue
Also cleanup unused macro in ImageReader.

Bug: 10360518
Change-Id: I2332703c92df771a6339ff92069e92d50a6c5cd5
2013-08-23 09:25:27 -07:00
Igor Murashkin
dd0643202d media: Fix ImageReader only using maxImages=1 no matter what
- No longer return null when some bad error happens
- Throws OutOfResourcesException when images need to be closed
- Throws IllegalStateException when an unknown internal error happens

Bug: 10333400
Change-Id: Ia53a5dd33f9ce53abd036e080e6fcc4ded9b251d
2013-08-16 12:20:09 -07:00
Jeff Brown
f724c277d3 Add more virtual display tests.
We can't test everything in CTS because some features require
system permissions.  So this is another copy of the CTS test
with more stuff that we can build with the system cert.

Change-Id: Ied5a456a0810d38d307b6dfbad0f770cb480b4ee
2013-08-07 17:58:47 -07:00
Mathias Agopian
52a9a10b6b Clearly separate consumer and producer interfaces
Bug: 9265647
Change-Id: Ic68e91788d0a05251e1d2fb9f9d4de403c7099bf
2013-08-06 13:07:42 -07:00
Jeff Brown
445b5f460f Merge "Minor style cleanups." 2013-08-06 19:31:23 +00:00
Zhijun He
708e359503 ImageReader: Add RGB format support.
Bug: 10155122
Change-Id: Id53d6ec815488e73bde6ca62b42c92d16bc813c9
2013-08-06 09:44:29 -07:00
Jeff Brown
ef96121559 Minor style cleanups.
A few changes to demonstrate a slightly cleaner way to write
JNI code in the framework especially when multiple types are
involved.  We use this pattern in many other places outside
of the media stack.

Added more detail to the UnsupportedOperationException that
occurs when buffer formats don't match.

Change-Id: Ic894dc1bd71b387f1be6ea1798fa59e533e9574f
2013-08-05 20:39:29 -07:00
Zhijun He
7f4d3147d1 camera2: Implement CameraDevice#waitUntilIdle
Also cleanup some logging/comments.

Change-Id: Id1a4dd853519802a2b74b8d2172095ba388329e6
2013-07-23 13:46:37 -07:00
Mathias Agopian
e32632682c update to new Consumer APIs
Change-Id: I8649f3add40e0aeeeb0396b98e2cb93312e8e990
2013-07-16 23:14:24 -07:00
Mathias Agopian
b550929b7a always pass the BufferQueue explicitely to consumers
Change-Id: I32e380979a3f4c6b1dfb440cc5b5c3d30d7607db
2013-07-12 22:06:31 -07:00
Zhijun He
534046d2b1 ImageReader: get correct jpeg size.
the jpeg size was set to the buffer width, which is the max jpeg buffer size.
the right size can be obtained by parsing the camera3_jpeg_blob data sent by
hal.

Also correct the buffer size check when crop is not set.

Bug: 9254294
Change-Id: Ic73de47ef97efa4eb356a399c1576715e2eacbfd
2013-07-01 11:03:41 -07:00
Zhijun He
212e78df9e ImageReader: Implementation of ImageReader and Image APIs
Used for direct image data access from producer like camera or video decoder.

Bug: 9254294
Change-Id: I1853af03f4487ac3585d86202f6140854471fa89
2013-06-26 15:56:27 -07:00