History log of /frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0c1407f79ef36422330c2003a608d37df714256b 03-May-2018 Chong Zhang <chz@google.com> Decode one row of tiles at a time for image that has tiles

Add an api to IMediaMetadataRetriever to decode image rect.
It will reuse the same full frame IMemory, and decode only
the requested rect. For now, StagefrightMetadataRetriever
will only allow decoding of rect that's a full row of tiles,
and the requested must be issued sequentially (i.e. no
arbitrary rects). When the extract side is fixed to allow
seeking by tiles, it can be extended to allow arbitrary
rects.

This allows HeifDecoderImpl (on client side) to start
processing the getScanlines in parallel with the decoding.

Test: CTS MediaMetadataRetrieverTest;
Manual testing of HEIF decoding of files with or without tiles;
Manual testing of HEIF thumbnails generation in Downloads app.

bug: 78475896
Change-Id: I820b21cdf33f80593ee6092d8e1ba68b3beb65dd
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
3f4e6ddcf05aa1a286bc3963b5a9f53bf30b4327 25-Apr-2018 Chong Zhang <chz@google.com> Remove one redundant frame copy in MetadataRetriever

When extracting bitmaps, MediaMetadataRetriever does a copy from
StagefrightMetadataRetriever's VideoFrame to IMemory. We could
just allocate IMemory directly and return that to the client.

bug: 78475896
Change-Id: Ibe07e7d2c68f031261470308476089c2fa9298ea
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
d5fa357ddff0589d8a331583a56e62712af471be 10-Apr-2018 Chong Zhang <chz@google.com> Use heif embedded thumbnail if available

Add plumbing to retieve the embedded thumbnail from
MPEG4Extractor/ItemTable.

bug: 74395267
Test: CTS MediaMetadataRetriever test; manual test of thumbnail
extraction by browsing new folders containing heif files in
Downloads app.
Change-Id: Ic49f6dfa47eddc229b9f4b0e1835d58df1dce9f8
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
d3e0d861aa68a7ef129fe228595bff734448ebc8 03-Oct-2017 Chong Zhang <chz@google.com> heif: fixes for image sequences and dual-function files

Adding support for two new sets of APIs on MediaMetadataRetriever:

- getImageAtIndex() and getPrimaryImage()
- getFrameAtIndex() and getFramesAtIndex()

Outline of changes:

- Proper indexing of all displayable still images, so that they
can be retrieved by getImageAtIndex()

- Exposing still images as "image/x.android.heic" tracks in
MediaExtractor with necessary descriptive keys (such as "grid-*")

- Support to retrieve video frames by absolute index instead
of timestamps, as image use cases mostly are interested in
getting the images and care less about timing.

- Support to retrieve video frames in batches because retrieving
one frame at a time is inefficient.

- Refactor image / frame decoding code into FrameDecoder, and split
still image decoding and video sequence decoding into to sub
classes to facilite future development.

bug: 63633199

test:
cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice

Change-Id: I2fe8519fb6907f315a8b513921fc1cc7f436e28d
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
24c15776247c46e34562100213035bb7aaffe013 27-Jul-2017 Chong Zhang <chz@google.com> stagefright: MetadataRetriever API to specify mime and color format

- Allow setDataSource() to specify mime. In case of HEIF decoding
request from skia, we don't want to sniff any other format other
than mp4.

- Allow getFrameAtTime() to specify dst color format.

bug: 64077740

Test: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg CtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice

Change-Id: I471f41c28a2252417c4b3331dcfd4bd00a24408a
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
6b0795009b8f53ab771e0074b76381977d016f4b 04-Feb-2016 Lajos Molnar <lajos@google.com> stagefright: move MetadataRetriever off of OMXCodec

Also remove some unneeded OMXCodec includes.

Bug: 17108024
Change-Id: I1e4b32d83216e9c6b1d76a18fb346dc632be4b1d
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
b2487f03f12dcafdb801fc0007c8df8412397f44 01-Sep-2015 Marco Nelissen <marcone@google.com> Extractor service

Run extractors in a separate process. Currently all data is copied through a
binder transaction, and WVMExtractor is still run in the mediaserver process.

Change-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
ee4e1b1a63758941460ae79a064249d3a5189443 17-Apr-2015 Lajos Molnar <lajos@google.com> stagefright: warnings be gone, some are now errors, use clang

Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
99f31604136d66ae10e20669fb6b5716f342bde0 20-Mar-2015 Chris Watkins <watk@google.com> Unhide the android.media.[Media]DataSource interface.

This allows apps to implement MediaDataSource, which is modeled on
stagefright's DataSource, to supply media data to the framework. This
was already implemented for MediaExtractor, but it was renamed from
DataSource.

MediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new
overload: #setDataSource(android.media.MediaDataSource)

Only NuPlayer supports this new data source.

The change introduces:
* IDataSource: The binder interface for DataSource.
* JMediaDataSource: The native counterpart to the java interface. It
implements IDataSource.
* CallbackDataSource: A stagefright DataSource that wraps an
IDataSource.

Change-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
1b86fe063badb5f28c467ade39be0f4008688947 29-Jan-2014 Andreas Huber <andih@google.com> FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code

Change-Id: I9f74a86e70422187c9cf0ca1318a29019700192d
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
af8791e112c8072452bd14ef3c43a47511d19542 21-Mar-2011 Andreas Huber <andih@google.com> Support passing headers to MediaMetadataRetriever's setDataSource API

Change-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26
related-to-bug: 3506316
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
16afe2fb439cab6125bb46a07a8078d4ce1c1ea5 03-Dec-2010 James Dong <jdong@google.com> Prepare for publishing MediaMetadataRetriever as public API

step one:
o replaced captureFrame with getFrameAtTime
o removed getMode

bug - 2433195

Change-Id: I38a8cecef29014692f0b08b8818326e3ebb40a12
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
fc9ba09e3bb368f823d473f5e2bb9aa32dba6289 12-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:55:56 2010 -0800

Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:20:45 2010 -0800

Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 8 14:26:09 2010 -0800

A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 7 15:48:44 2010 -0800

Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h
67e5a4f6f6879d512a859e5dba92e9beec7a2f91 08-Jan-2010 Andreas Huber <andih@google.com> Reorganize some of the stagefright implementation related to metadata.
/frameworks/av/media/libstagefright/include/StagefrightMetadataRetriever.h