History log of /frameworks/base/media/java/android/media/ImageReader.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
04a935162c0af649987108058f81405930408014 02-May-2016 Eino-Ville Talvala <etalvala@google.com> ImageReader/Writer: Only register 1 buffer for native allocation

Registering with the maximum potential memory made by visible by an
ImageReader/Writer can cause the VM to try to heavily garbage-collect
the rest of the application. This can have significant impact on camera
applications, since they often have large ImageReader/Writer queues.

Bug: 28454727
Change-Id: I2ba43635f93da66655be024165a15631b3b421d3
/frameworks/base/media/java/android/media/ImageReader.java
0ab416269a866c8afa8f65d9351afa2407abee4c 26-Feb-2016 Zhijun He <zhijunhe@google.com> ImageReader/Writer: refactor and cleanup

Below changes are included:
* Defer the buffer lock to Image#getPlanes call. This will save quite a bit
CPU cycles associated with lock buffer if the application doesn't really
want to access the data.
* Refactor the code: move some common code to some utility class, and use
one unified consumer (BufferItemConsumer) in ImageReader native implementation.
The code refactoring will also make it easier to support non-opaque image
attach/detach.

Bug: 22356918
Bug: 19962027
Change-Id: I4fb865b0ea3deb6650afc64c32a5906f30e8ccbd
/frameworks/base/media/java/android/media/ImageReader.java
8e694e3b494b0fc857dcd981c57687ecea543c02 24-Feb-2016 Zhijun He <zhijunhe@google.com> ImageReader: skip callback when image reader is being closed

The application could acquire images in onImageAvailable callback when
the ImageReader is being closed. We need some protection here to avoid
application crash.

Change-Id: Ie5be8450048c0cfd78e5a7e27befe4de425d79f3
/frameworks/base/media/java/android/media/ImageReader.java
44581ff4db54bbaa30365ed210e67a0369576100 08-Dec-2015 Yin-Chia Yeh <yinchiayeh@google.com> Camera: add RAW_PRIVATE format

Also add necessary plumbing for RAW_PRIVATE to work for ImageReader.

Bug: 25596619
Change-Id: Ic90f3f44264ac46fae1fafbc27ac64b5319f0970
/frameworks/base/media/java/android/media/ImageReader.java
dc6bb24a3c2c830c909523e8d7d999fb556fb77d 04-Dec-2015 Zhijun He <zhijunhe@google.com> media: improve ImageReader/Writer native memory management

* Hook up the native allocation registration with ImageWriter, such that GC
can get some hint when clean up the large memory object.
* Close all pending images when closing ImageReader. This could avoid native
mem leaks for some bad app practice. For example, some apps may hold images
in background service when activity is paused/destroyed, which could cause
huge native memory leaks even ImageReader is closed.
* make Image close thread safe: it is possible the clients close the image
in listener thread and the client main thread.
* Some minor code refactor to reduce the code duplication.

Bug: 25088440
Change-Id: I37d22b52aeb8d2521bf9c702b0f54c05905473e0
/frameworks/base/media/java/android/media/ImageReader.java
72064af7e75f7e3b2eb2e58a3af408861eb8c4e9 11-Aug-2015 Eino-Ville Talvala <etalvala@google.com> Camera: Fix framework bugs with DEPTH-only camera devices

Mostly due to no standard stream configurations being defined,
and for the correct overrides for DEPTH_POINT_CLOUD format.

Bug: 20537722
Change-Id: I8a18f5f68697a09dcc4d7555e51728193fe7f333
/frameworks/base/media/java/android/media/ImageReader.java
11c5d0dd01cccc500796febf63aab404e8ae058b 22-May-2015 Chien-Yu Chen <cychen@google.com> ImageReader: Register estimated native allocation

Estimate the native allocation and register it so it can be
accounted for during GC.

Bug: 20299272
Change-Id: I43af3058b6fe9a41e5e7e119e390ed079402c4b8
/frameworks/base/media/java/android/media/ImageReader.java
758e6a8f70b28e1584588b06b12d227deeefba74 14-May-2015 Zhijun He <zhijunhe@google.com> Merge "ImageReader: Image getFormat should return the Image buffer format" into mnc-dev
d99dc329b9baefe3d722ccafc0c92461cfef42b1 13-May-2015 Zhijun He <zhijunhe@google.com> Image/Reader/Writer: address API review comments

* Remove isOpaque methods
* Removew ImageReader#newOpaqueInstance
* Rename Writer listener and callback
* Clarify the timestamp spec
* Fix a bug in ImageUtils

Bug: 21044520
Change-Id: Ifb85ef25e4d152c2a445b3369c1e16dc1bc5220c
/frameworks/base/media/java/android/media/ImageReader.java
7c3997d96a2571295a97457264832d54b05ee966 06-May-2015 Zhijun He <zhijunhe@google.com> ImageReader: Image getFormat should return the Image buffer format

Also return buffer size correctly.

Bug: 19527410
Change-Id: I9a912afc61d577571c1b2a7f6df21da40838e925
/frameworks/base/media/java/android/media/ImageReader.java
18191b4a52086168385f3d05877d5545b9e6ab59 24-Apr-2015 Zhijun He <zhijunhe@google.com> Merge "ImageWriter: fix and cleanup the closed Image Handling"
a58271419ee5b4d8d2a6e25c602a0c40719f33e0 22-Apr-2015 Zhijun He <zhijunhe@google.com> ImageWriter: fix and cleanup the closed Image Handling

Attempting to access an Image after it is closed will result in an ISE.

Also fixed some minor doc issues.

Bug: 19872785
Change-Id: I91f037b2b2f243fcbd905d5a646b505bc9c10638
/frameworks/base/media/java/android/media/ImageReader.java
d1d27c1543a2de464938c068115f2f8dfa5b790a 24-Apr-2015 Lajos Molnar <lajos@google.com> media: add flexible YUV422, 444, and RGB/RGBA formats

These are used by Media.Image on getOutputImage.

Change-Id: I171c5b90423800eeab4e36625dcf727a2a2affcd
/frameworks/base/media/java/android/media/ImageReader.java
ce9d6f9c75e2254f3704996e232e57e0c8f686d8 30-Mar-2015 Zhijun He <zhijunhe@google.com> ImageReader/Writer: implement opaque format operations

Implement attach/detach for image reader and writer.

Bug: 19872821
Change-Id: Ib45a054c6be0b56b370fa8d709b47b0298ba5ea7
/frameworks/base/media/java/android/media/ImageReader.java
f6a09e510649ae4701bb5ad4c40d102d59a5608c 25-Feb-2015 Zhijun He <zhijunhe@google.com> 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
/frameworks/base/media/java/android/media/ImageReader.java
db2b5f447254e1f2248024879648e36211cb4e33 17-Mar-2015 Ruben Brunk <rubenbrunk@google.com> Merge "camera2: Release surface in ImageReader#close and fix legacy cleanup"
443ab2c7dbe2a3a482892f3171882572f10eab9a 13-Mar-2015 Ruben Brunk <rubenbrunk@google.com> camera2: Release surface in ImageReader#close and fix legacy cleanup

Bug: 19694090
Change-Id: I344ad707dbd414db023e4770769b5237bd3bbb4e
/frameworks/base/media/java/android/media/ImageReader.java
805f3c9428f9ebd5080aec48d3d9d77dbf4b41a9 26-Feb-2015 Eino-Ville Talvala <etalvala@google.com> 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
/frameworks/base/media/java/android/media/ImageReader.java
3ef5033cdacbc44702d0b6ba687e81383348e2fd 10-Dec-2014 Ruben Brunk <rubenbrunk@google.com> Merge "Camera2: Allow rendering to arbitrary surface sizes in LEGACY mode." into lmp-mr1-dev
f4a637d0be2e028d1e78c8bf90ad17ec3f84b5f3 21-Nov-2014 Ruben Brunk <rubenbrunk@google.com> Camera2: Allow rendering to arbitrary surface sizes in LEGACY mode.

Bug: 16030677
Change-Id: Ida04e04f41983b9126609522dd12064a7bf9645f
/frameworks/base/media/java/android/media/ImageReader.java
e09dcdba7161170a6b052dffe2a5608d1f07548b 26-Nov-2014 Zhijun He <zhijunhe@google.com> ImageReader: free direct byte buffers once Image is returned

This can prevent apps from accessing an image byte buffer when it is closed.

Bug: 12528089
Change-Id: I04dccf1832204be2ae3aeb3bbe04f616886447e6
/frameworks/base/media/java/android/media/ImageReader.java
0fd198ad89ec9c600bb1761b10d938146c28bb98 24-Sep-2014 Ruben Brunk <rubenbrunk@google.com> 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
/frameworks/base/media/java/android/media/ImageReader.java
8d563a20776b476df77f2a4f3de1feebcf7c255f 11-Jul-2014 Lajos Molnar <lajos@google.com> ImageReader: fix documentation, relax some guarantees

MediaCodec does not guarantee any of this.

Change-Id: Id73c917baad9ca72de87b98c16374505c8028e86
/frameworks/base/media/java/android/media/ImageReader.java
d1988a98ed69db8c33b77b5c085ab91d22ef3bbc 01-Jul-2014 Zhijun He <zhijunhe@google.com> Add RAW10 image format

- Add RAW10 format in ImageFormat
- Add ImageReader support for this format

Bug: 15989722
Change-Id: Ic38ae596d5a472e990389d1fa221a82bea97b715
/frameworks/base/media/java/android/media/ImageReader.java
4eda9f5359347c11914e47f477535c9533674d32 18-Sep-2013 Zhijun He <zhijunhe@google.com> ImageReader: disable NV21 support

Bug: 10787131
Change-Id: I5ff0a67144b5ec49eabde6129423a41c9597c2b8
/frameworks/base/media/java/android/media/ImageReader.java
c395fffd901f5670bc2cb41a91af7ad87c39790e 17-Sep-2013 Jesse Hall <jessehall@google.com> Fix ImageReader onImageAvailable synchronization

This avoids a race where close() can return while there are still
onImageAvailable callbacks pending.

Bug: 10666923
Change-Id: Ic519b68f3132ceb7f95a9a42ebd1032c1638fbf5
/frameworks/base/media/java/android/media/ImageReader.java
e3351f1942bfe86682389b278e7ff128a72ea671 13-Sep-2013 Igor Murashkin <iam@google.com> media: Update ImageReader to remove MaxImagesAcquiredException

* acquiring images now throws IllegalStateException instead of
MaxImagesAcquiredException

Bug: 10691447
Change-Id: I7ce68f990fb96703705b9181012a28633fea0b7a
/frameworks/base/media/java/android/media/ImageReader.java
5e712064dfe48992f8f732208fa4fc13f3455b30 30-Aug-2013 Igor Murashkin <iam@google.com> media: Update ImageReader APIs

Bug: 10461757
Change-Id: Ic04e4c41965e3d417b29004f3f08e0cd56b8f4cb
/frameworks/base/media/java/android/media/ImageReader.java
e2a11bb74df06bb48a0d71b8cf78cc469b53931b 28-Aug-2013 Zhijun He <zhijunhe@google.com> ImageReader: Fix null listener case

Only do the handler check when listener is not null.

Bug: 10360518
Change-Id: I9940942ae95a492c92e028e5f862beea16e1da80
/frameworks/base/media/java/android/media/ImageReader.java
dd0643202de80cc4ced37d1844e722c8a5e89154 15-Aug-2013 Igor Murashkin <iam@google.com> 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
/frameworks/base/media/java/android/media/ImageReader.java
708e3595031fa15f4ac26c5675a53c1ed495b895 05-Aug-2013 Zhijun He <zhijunhe@google.com> ImageReader: Add RGB format support.

Bug: 10155122
Change-Id: Id53d6ec815488e73bde6ca62b42c92d16bc813c9
/frameworks/base/media/java/android/media/ImageReader.java
2f1a2e423e0fbb64467d6fcfa4e82c6384f31210 26-Jul-2013 Eino-Ville Talvala <etalvala@google.com> Camera2 API: Rename package to android.hardware.camera2

Change-Id: I77b7939e199f9fe8e12a59393c24cff08097448c
/frameworks/base/media/java/android/media/ImageReader.java
212e78df9eb3bfff069de01aa7820cf4201c5f82 07-Jun-2013 Zhijun He <zhijunhe@google.com> 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
/frameworks/base/media/java/android/media/ImageReader.java
b2675542c2f414154125b534767ae0903fba581e 12-Dec-2012 Eino-Ville Talvala <etalvala@google.com> Initial commit of new camera API, mostly just the interface.

- New core API classes in android.hardware.photography
- android.media.Image and android.media.ImageReader classes for
application access to direct hardware image buffers.
- Additions to android.graphics.ImageFormat to describe new image
types needed by new camera API.
- Some documentation included; very little implementation.

Bug: 9111736
Change-Id: I0680f35944d1cb8845b7dc0c67edc8c0f0864573
/frameworks/base/media/java/android/media/ImageReader.java