OSDN Git Service

android-x86/external-stagefright-plugins.git
8 years agostagefright-plugins: Fix compilation issues with Clang
Steve Kondik [Sun, 1 Nov 2015 12:04:27 +0000 (04:04 -0800)]
stagefright-plugins: Fix compilation issues with Clang

 * We still build the utils library with GCC until FFMPEG is sorted.

Change-Id: I8a5d47a53a03b8b96cb6106b9b65b4b978cbdc2a

8 years agostagefright-plugins: Use native sample format
Steve Kondik [Tue, 27 Oct 2015 23:35:52 +0000 (16:35 -0700)]
stagefright-plugins: Use native sample format

 * Audioflinger supports floating point directly now, no need to
   downsample these formats.

Change-Id: I79c40310799d4ae871bf5b518f542cd1109d1469

8 years agostagefright-plugins: Remove duplicate codec
Steve Kondik [Tue, 27 Oct 2015 23:34:53 +0000 (16:34 -0700)]
stagefright-plugins: Remove duplicate codec

Change-Id: I146db06dc882e8e29ef5b60e2cf5f7ecd4109c30

8 years agostagefright-plugins: Populate AAC profile version
Steve Kondik [Tue, 27 Oct 2015 23:34:23 +0000 (16:34 -0700)]
stagefright-plugins: Populate AAC profile version

Change-Id: I25abad8567bd751b45836fb965cfa0312463e728

8 years agostagefright-plugins: Install binaries to /vendor
Steve Kondik [Tue, 27 Oct 2015 23:33:33 +0000 (16:33 -0700)]
stagefright-plugins: Install binaries to /vendor

Change-Id: I03edc4fea900016e5af06f83511e5f827af30ba4

8 years agoRevert "stagefright-plugins: Add flag to disable inclusion"
Steve Kondik [Tue, 27 Oct 2015 23:24:22 +0000 (16:24 -0700)]
Revert "stagefright-plugins: Add flag to disable inclusion"

This reverts commit 19967536a699a97f7c4f66f9403057cd46868207.

Change-Id: I2fcfd918d234f80d0e8aec03e311aa00217291fe

8 years agostagefright-plugins: Add flag to disable inclusion
Steve Kondik [Tue, 13 Oct 2015 00:54:50 +0000 (14:54 -1000)]
stagefright-plugins: Add flag to disable inclusion

Change-Id: I9dce3f4b39835582af4b8c29ff34476501802800

8 years agostagefright-plugins: Correct mime type
Steve Kondik [Tue, 20 Oct 2015 10:32:47 +0000 (03:32 -0700)]
stagefright-plugins: Correct mime type

Change-Id: I31028abb26dadc3a04bb23071077fce1d76e77d8

8 years agoffmpeg-extractor: Fix deadlock when stopping the reader thread
Christopher R. Palmer [Mon, 31 Aug 2015 12:07:19 +0000 (08:07 -0400)]
ffmpeg-extractor: Fix deadlock when stopping the reader thread

You cannot hold the lock used by the reader thread when trying
to join to the reader thread!

For example, if we start and then stop the reader thread
before it gets a chance to execute, one thread will be in
stopReaderThread calling pthread_thread_join (and holding mLock).
Then the reader thread will execute and immediately block on
mLock (it gets the lock immediately on startup).

Instead, release the lock while we wait for the thread to exit
and then reacquire the lock.

Change-Id: I9247ae48586c18f4eb7a4f74e188b9d4f88824e2

8 years agostagefright-plugins: Restructure the code
Steve Kondik [Wed, 8 Jul 2015 07:00:09 +0000 (00:00 -0700)]
stagefright-plugins: Restructure the code

 * Add an OMXPlugin implementation which will be dynamically loaded by
   Stagefright. This plugin will return the appropriate decoder
   implementation depending on the component type.
 * Rename a few libraries for consistency.
 * Reorganize the code under a more lightweight hierarchy.
 * Move the custom OMX extensions here.
 * Break out the mapping/conversion table for reuse.
 * These changes allow us to get rid of large amounts of code from
   frameworks/av. This is part of a larger effort to move as much custom
   code as possible out of the frameworks and into subprojects.

Change-Id: I3100d83e457bf20fe25a06a808b9d65098291313

8 years agostagefright-plugins: Remove Vorbis/MP3/H263/H264/HEVC
Ethan Chen [Thu, 2 Jul 2015 22:17:33 +0000 (15:17 -0700)]
stagefright-plugins: Remove Vorbis/MP3/H263/H264/HEVC

* Google already provides software codecs for
  Vorbis/MP3/H263/H264/HEVC.
* Don't provide duplicates of Google provided software codecs.

Change-Id: I39f16d97fc808c9535e91b4c5637222ca1572eaa

8 years agostagefright-plugins: Fix adaptive buffer and crop handling
Steve Kondik [Tue, 7 Jul 2015 20:48:57 +0000 (13:48 -0700)]
stagefright-plugins: Fix adaptive buffer and crop handling

 * Call outputBufferWidth/outputBufferHeight to return the correct value
   depending if adaptive mode is enabled.
 * We don't need to destroy the decoder in onReset since we can just
   change parameters on the fly. Remove this to fix the crash.
 * Handle crop settings correctly to fix the zoom effect during
   adaptive playback.

Change-Id: Iba658226a09483e68c44875143f61acd75577078

8 years agostagefright-plugins: Add special handling of DivX files
Steve Kondik [Mon, 6 Jul 2015 17:46:40 +0000 (10:46 -0700)]
stagefright-plugins: Add special handling of DivX files

 * Stagefright can't handle these files (MPEG4 w/packed b-frames), so we need
   to return a special mimetype which avoids the Google decoders.
 * We also return the version in the metadata for compatibility with
   QC's hardware codecs.

Change-Id: Ibbc5133a0e06d83f6d0ef8f2e44d5fe53cc2d71a

8 years agostagefright-plugins: Improve seeking further
Steve Kondik [Sat, 4 Jul 2015 11:56:13 +0000 (04:56 -0700)]
stagefright-plugins: Improve seeking further

 * Use av_rescale_q and handle all timestamps in the format timebase
 * Add support for seeking to exact frame (SEEK_CLOSEST)

Change-Id: Ie2b6ac01f897eff8e1e36b1696bd53e6a828d796

8 years agostagefright-plugins: Disable lowres
Steve Kondik [Fri, 3 Jul 2015 09:13:14 +0000 (02:13 -0700)]
stagefright-plugins: Disable lowres

 * Some codecs support the lowres flag, which results in faster decoding
   while outputting at a lower resolution. This is unexpected by
   Stagefright, and causes CTS failures.
 * Performance is extremely good with these codecs now, so just disable
   it entirely.

Change-Id: Ib84ceaef8d941d8f89f0a8e38facda40451cdccb

8 years agostagefright-plugins: Update codec list with capabilities
Steve Kondik [Tue, 23 Jun 2015 19:51:11 +0000 (12:51 -0700)]
stagefright-plugins: Update codec list with capabilities

 * Needed for CTS.

Change-Id: I73a92f4a8c77c2c51990d2599f13de91a3b84daf

8 years agostagefright-plugins: Set sensible defaults for audio decoders
Steve Kondik [Tue, 23 Jun 2015 21:17:18 +0000 (14:17 -0700)]
stagefright-plugins: Set sensible defaults for audio decoders

 * Since the refactoring, we don't depend on a call into OMX to tell us
   what format to use. Set up some sensible defaults so that client-side
   OMX players such as GStreamer can use these codecs too.

Change-Id: Id20b8eade7bbbc11f98c0d83114929cbce9cc29a

8 years agoffmpeg: Remove a couple of codecs we don't need
Steve Kondik [Tue, 23 Jun 2015 19:47:53 +0000 (12:47 -0700)]
ffmpeg: Remove a couple of codecs we don't need

 * Fixes issue with GStreamer
 * Temporary fix until autoconfig is implemented.

Change-Id: I5d116c739b36b24077180b489aab67ba135370c4

8 years agostagefright-plugins: Minor fix for FFMPEG 2.7
Steve Kondik [Tue, 16 Jun 2015 19:53:44 +0000 (12:53 -0700)]
stagefright-plugins: Minor fix for FFMPEG 2.7

Change-Id: Icc806b988830ee715f3d25fef6205401cc006c8d

8 years agostagefright-plugins: Convert tabs to spaces
Steve Kondik [Thu, 18 Jun 2015 09:22:20 +0000 (02:22 -0700)]
stagefright-plugins: Convert tabs to spaces

Change-Id: I32a2bf879c556ab59994bbee9c7cdb15ed702f19

8 years agostagefright-plugins: Refactoring the extractor
Steve Kondik [Wed, 17 Jun 2015 04:04:19 +0000 (21:04 -0700)]
stagefright-plugins: Refactoring the extractor

 * Get rid of all the delays and use proper locking primitives.
 * Fix thumbnails in general, tell Android what frame to use.
 * Handle all seek modes supported by Android
 * Fix the random crashes due to race conditions
 * Set thread priority when playing audio

Change-Id: Ic6391100cd8846c3d10db96a327933d9d929f3b7

8 years agostagefright-plugins: Clean up makefiles
Steve Kondik [Wed, 17 Jun 2015 21:33:31 +0000 (14:33 -0700)]
stagefright-plugins: Clean up makefiles

Change-Id: Ie0ba15c084307bbf76a277fd72e024df36c116af

8 years agostagefright-plugins: Move and update codec XML
Steve Kondik [Wed, 17 Jun 2015 03:39:02 +0000 (20:39 -0700)]
stagefright-plugins: Move and update codec XML

Change-Id: I58dead1b53c6454dd5bb409e276e31d71a790506

8 years agostagefright-plugins: Refactor the decoders
Steve Kondik [Fri, 12 Jun 2015 04:15:27 +0000 (21:15 -0700)]
stagefright-plugins: Refactor the decoders

 * Switch us over to using SoftVideoDecoderOMXComponent
 * Get rid of a truckload of conditionals
 * Handle thumbnail generation correctly
 * Fix bitwidth in trial decoders
 * Handle VC1 properly
 * Update copyright headers
 * Fix race condition on decoder shutdown and seek
 * Clean up all the dead code

Change-Id: I0595a35c15c644d2992e2336a914601173c466c5

8 years agoFFmpegExtractor: mark HEVC as supported
Ethan Chen [Fri, 29 May 2015 23:11:44 +0000 (16:11 -0700)]
FFmpegExtractor: mark HEVC as supported

* Software codec for HEVC is provided by Google

Change-Id: Ie997f9f8ffe73e01b5cf34092140b08e0507fee2

8 years agostagefright-plugins: Add -Wno-psabi for ARM64 builds as well
Ethan Chen [Thu, 14 May 2015 01:59:51 +0000 (18:59 -0700)]
stagefright-plugins: Add -Wno-psabi for ARM64 builds as well

* Strange things happen to buffers otherwise.

Change-Id: Id5347a0d0a0853df80e72ebeb8c0fbdd7cf2a2ad

9 years agostagefright-plugins: Re-add workarounds for certain audio formats
Steve Kondik [Wed, 11 Mar 2015 01:31:26 +0000 (01:31 +0000)]
stagefright-plugins: Re-add workarounds for certain audio formats

 * Readd workarounds for huge buffers coming from APE and DTS

Change-Id: If42969810b5d43c9441df6b0cdf92b68d8cf9d3f

9 years agostagefright-plugins: Set default target sample format from codec
Steve Kondik [Mon, 19 Jan 2015 23:10:03 +0000 (15:10 -0800)]
stagefright-plugins: Set default target sample format from codec

 * Use the codec's default when queried by Stagefright. This allows
   us to avoid a multi-stage recheck if the extractor doesn't report
   the real bitwidth yet.

Change-Id: I19b79dd1b044b5f7aac4f90b681af42111b8db74

9 years agostagefright-plugins: Enable multithreaded decoding
Steve Kondik [Tue, 16 Dec 2014 09:40:42 +0000 (01:40 -0800)]
stagefright-plugins: Enable multithreaded decoding

 * Set thread_count to zero in order for FFMPEG to choose an appropriate
   number of threads based on available CPUs.

Change-Id: Ifa74195cc07c64f535fad132b5b56db3f611d461

9 years agostagefright-plugins: Updates for FFMPEG 2.5
Steve Kondik [Sat, 13 Dec 2014 06:24:13 +0000 (22:24 -0800)]
stagefright-plugins: Updates for FFMPEG 2.5

 * Update for API changes in FFMPEG 2.5
 * Clean up all the warnings
 * Remove homegrown timestamp handling, it's no longer needed
 * FFMPEG software video decoders perform quite well-
   We now have a formidable media stack that can play nearly
   anything!

Change-Id: I910e24a60f29968894b62d13b16c6b5c9b3b42a6

9 years agostagefright-plugins: Enable 24-bit output
Steve Kondik [Sun, 30 Nov 2014 03:33:21 +0000 (19:33 -0800)]
stagefright-plugins: Enable 24-bit output

 * Always enable it. Audioflinger has conversions for when the hardware
   can't support it.
 * Also fix a bunch of state management issues

Change-Id: I2106b34251bd0c9db0655dd97d3e92c7b635a982

9 years agostagefright-plugins: Use the max aggregated buffer size
Steve Kondik [Tue, 2 Dec 2014 09:53:57 +0000 (01:53 -0800)]
stagefright-plugins: Use the max aggregated buffer size

 * NuPlayer has a new feature which aggregates small buffers before
   delivering them to the codec. We need to match this size in all
   cases or we will have a bad time.

Change-Id: I353cedbe6f864e89214f185bbffa7314d7caf77c

9 years agostagefright-plugins: Fix warning
Steve Kondik [Fri, 28 Nov 2014 23:51:26 +0000 (15:51 -0800)]
stagefright-plugins: Fix warning

Change-Id: Iadf3666a3899f6f1071ba9042642dfd29cc3e2ee

9 years agostagefright-plugins: Use new OMX type for AC3
Steve Kondik [Fri, 28 Nov 2014 23:25:40 +0000 (15:25 -0800)]
stagefright-plugins: Use new OMX type for AC3

 * This is new in Lollipop. Google didn't implement a decoder though,
   so we can handle it.

Change-Id: I755e7f02de38053770bb53acae2a9a41549dfbad

9 years agostagefright-plugins: Return target format in PCM params query
Steve Kondik [Fri, 28 Nov 2014 19:36:39 +0000 (11:36 -0800)]
stagefright-plugins: Return target format in PCM params query

 * If the framework told us to do something else, we should do it.

Change-Id: Ie7777346012a96392a3baa9cca38c3ac31288b5d

9 years agostagefright-plugins: Implement frame dropping and AV sync
Steve Kondik [Thu, 27 Nov 2014 11:12:07 +0000 (03:12 -0800)]
stagefright-plugins: Implement frame dropping and AV sync

 * Keep the video from lagging behind the audio by dropping
   frames when we're too far behind.
 * Set options to improve video playback performance
 * It's still a quite terrible experience without hardware decoding,
   but prior to this patch it was possible that the first slow
   frame would be droped by Stagefright and the lag would just grow,
   resulting in a black screen.

Change-Id: Ib10933d385d593d8e887bca033f22b68a812bc7c

9 years agostagefright-plugins: Rename mpeg2v to mpeg2
Steve Kondik [Thu, 27 Nov 2014 10:18:04 +0000 (02:18 -0800)]
stagefright-plugins: Rename mpeg2v to mpeg2

Change-Id: Ia9fdd6c733bc138f52b843593a140c66f803f045

9 years agoadec: Fix various issues on Stagefright 5.0
Steve Kondik [Tue, 25 Nov 2014 02:34:26 +0000 (18:34 -0800)]
adec: Fix various issues on Stagefright 5.0

 * Return proper values in getParameter calls
 * Send valid timestamp at EOS

Change-Id: Ia78fa4029870ae32d30678316d8f7000db2b75c8

9 years agostagefright-plugins: Allow multiple getParameter invocations
Steve Kondik [Sun, 23 Nov 2014 15:52:03 +0000 (07:52 -0800)]
stagefright-plugins: Allow multiple getParameter invocations

 * Previously we asserted that the component was not yet configured
   during getParameter, but SF in Lollipop may need to query the
   component multiple times.  Add support for this.

Change-Id: I5e1de8a57605e682a543614414d4e1efac43d03f

9 years agoDisable 24-bit until framework is updated
Steve Kondik [Sat, 22 Nov 2014 06:10:39 +0000 (22:10 -0800)]
Disable 24-bit until framework is updated

Change-Id: If3f347ae0371aad3cb31364f67475d992a1889d1

9 years agoDisable 24-bit until framework is updated
Steve Kondik [Sat, 22 Nov 2014 06:10:39 +0000 (22:10 -0800)]
Disable 24-bit until framework is updated

9 years agostagefright-plugins: Add a couple of sample format exceptions
Steve Kondik [Tue, 4 Nov 2014 22:53:30 +0000 (14:53 -0800)]
stagefright-plugins: Add a couple of sample format exceptions

 * DTS and AC3 need to output 24-bit samples if supported.

Change-Id: I84174994d568645e7c7c593901fff30b998bf92a

9 years agostagefright-plugins: Return real bitwidth in getParameter call
Steve Kondik [Sun, 12 Oct 2014 03:32:31 +0000 (20:32 -0700)]
stagefright-plugins: Return real bitwidth in getParameter call

 * ..and store the real parameters during setParameter.

Change-Id: I170b283da649303e6c016458a3bfebd3431b5c42

9 years agoffmpeg_source: add url check to android_open
James Sullins [Wed, 15 Oct 2014 19:33:10 +0000 (14:33 -0500)]
ffmpeg_source: add url check to android_open

This check confirms that if a URL is attached to the
android-source in the url string passed to android_open,
that it match the actual URL pointed to by that datasource.

It has been observed that some hls,applehttp sources contain
playlists within the playlist. In these cases, the additional
playlists may be opened by rewriting the original URL. However,
since the "android-source:<%p>" prefix is unmodified, it "opens"
the original URL again. This continues until memory is depleted.

Change-Id: Ieb504393aaa204a641035c982fe4a123a3e61a98

9 years agoffmpeg_source: do not adjust offset on read error/eof
James Sullins [Wed, 15 Oct 2014 18:58:48 +0000 (13:58 -0500)]
ffmpeg_source: do not adjust offset on read error/eof

It has been observed that NuCachedSource2 can return a negative
value on attempts to read at EOS (end of stream). Also, the
url_feof from FFMPEG attempts an additional fill_buffer after
a eof_reached condition has been set. If the offset is adjusted
backwards at EOS, then url_feof will never detect the EOS and
will have an infinite stream of data. This is particularly bad
when memory is allocated on each line of data read (eg. when
an hls,applehttp media type is parsed via hls_read_header).

Change-Id: Ieb992e2e9e2a55adaabc28fb407f519e56b10011

9 years agostagefright-plugins: Allow use of HW codecs for Windows Media
Steve Kondik [Wed, 8 Oct 2014 14:33:29 +0000 (07:33 -0700)]
stagefright-plugins: Allow use of HW codecs for Windows Media

 * We will still fall back to FFMPEG if these fail.

Change-Id: I74287268f6782e69e0bee624368a85837d2c7969

9 years agostagefright-plugins: Audio output port reconfiguration support
Steve Kondik [Wed, 8 Oct 2014 06:20:07 +0000 (23:20 -0700)]
stagefright-plugins: Audio output port reconfiguration support

 * Add support for reconfiguring the audio output port (PCM) on the
   fly. This enables us to easily control both high resolution
   output as well as downsampling.

Change-Id: Ic5ea3efc966b0da2d62041fa0de2e422c1f9f7fc

9 years agostagefright-plugins: Handle 32-bit floating point sample formats
Steve Kondik [Wed, 1 Oct 2014 02:00:11 +0000 (19:00 -0700)]
stagefright-plugins: Handle 32-bit floating point sample formats

 * Convert these to 24-bit PCM if the system is capable of it.
 * This also fixes that pesky ADSP crash.

Change-Id: Ia464d62f2b6f17986428f3e45ed61784d4c9006f

9 years agoffmpeg: Add support for high resolution audio
Steve Kondik [Thu, 7 Aug 2014 23:47:44 +0000 (16:47 -0700)]
ffmpeg: Add support for high resolution audio

 * Output interleaved 24-bit (32-bit packed) PCM at up to 192KHz for
   use with PCM offload. Falls back to resampling if disabled.

Change-Id: Ie1bd3066c0459fb99a9d4ff9e28d6a65e234408a

9 years agoFix crash when playing ALAC
Steve Kondik [Tue, 22 Jul 2014 04:34:34 +0000 (21:34 -0700)]
Fix crash when playing ALAC

 * Don't crash when seeing a weird EOS packet.

Change-Id: I29e979ab94daccb9e81264e09f258c10d96373f5

9 years agoadd support for unknown formats.
Michael Chen [Tue, 8 Jul 2014 15:30:40 +0000 (23:30 +0800)]
add support for unknown formats.

The FFmpegExtractor support all ffmpeg formats!!!
Unknown format is defined as MEDIA_MIMETYPE_CONTAINER_FFMPEG

Change-Id: I1645591a1c53f5f2d961a0212e351533630b9999

9 years agofix release FFmpegExtractor
Michael Chen [Mon, 7 Jul 2014 16:50:46 +0000 (00:50 +0800)]
fix release FFmpegExtractor

old: release FFmpegExtractor -> release AV Tracks
now: release AV Tracks -> release FFmpegExtractor

Change-Id: I1fb60a78deb1c2a1cc4f23dff1786337ea24c684

9 years agodisable verbose log kitkat-x86 lollipop-x86 marshmallow-x86 android-x86-4.4-r1 android-x86-4.4-r2 android-x86-4.4-r3 android-x86-6.0-r1 android-x86-6.0-r2 android-x86-6.0-r3
Chih-Wei Huang [Thu, 5 Jun 2014 02:47:52 +0000 (10:47 +0800)]
disable verbose log

9 years agoDon't use ffdshow to downmix the audio stream
Lucian Cristian [Fri, 23 May 2014 22:42:05 +0000 (01:42 +0300)]
Don't use ffdshow to downmix the audio stream

send multichannel PCM over supported sound output (HDMI)
if no multichannel output is found the android mixer will downmix

Change-Id: Icea5a89e7669f90a0d7266eeec9eddb20723f6ca

9 years agoextractor: Underp mpeg4 fastpath
Ricardo Cerqueira [Thu, 22 May 2014 15:54:02 +0000 (16:54 +0100)]
extractor: Underp mpeg4 fastpath

Only run this _after_ validating the result of avformat_open_input()

Change-Id: Ib7969a7f723ba58219476ceb541e8dd24c7c922b

9 years agoextractor: More NULL checks...
Ricardo Cerqueira [Tue, 20 May 2014 15:43:28 +0000 (16:43 +0100)]
extractor: More NULL checks...

This is blowing up if media unrecognized by ffmpeg goes through

Change-Id: Idfb2dcf581e3195f05772d375d315a6aedeab993

9 years agoFix resource leak in cached mpeg4 fast exit
Ricardo Cerqueira [Sat, 17 May 2014 21:45:39 +0000 (22:45 +0100)]
Fix resource leak in cached mpeg4 fast exit

And clean up formatting to match the rest of the file

Change-Id: I334640e3ceefbf2b0ff3d91f7493b02dc0c3359b

9 years agoextractor: Fast-track the stream analysis if we already have a skip condition
Ricardo Cerqueira [Fri, 16 May 2014 18:12:09 +0000 (19:12 +0100)]
extractor: Fast-track the stream analysis if we already have a skip condition

The sniffer already has an abort clause if the container is identified
as MPEG4 and the media source is caching (HTTP, typically). If we figure
this out early, there's no need to drill down into the individual streams,
and we can skip the deeper stream analysis, saving somewhere between 5 and
15 seconds in the identification process.

Change-Id: I64d33dc22262dd389e48b5f07047a8a1908f4ff3

9 years agoFFmpegExtractor: don't print list of supported formats
Pawit Pornkitprasan [Thu, 15 May 2014 03:32:56 +0000 (10:32 +0700)]
FFmpegExtractor: don't print list of supported formats

It's just log-spam and doesn't aid debugging in any way
(the value is always constant)

Change-Id: I06bd88675c8cd306523227cde8f2744077f3783d

9 years agoFFmpegExtractor: set proper mimetype for VP8/9
Pawit Pornkitprasan [Wed, 14 May 2014 12:38:00 +0000 (19:38 +0700)]
FFmpegExtractor: set proper mimetype for VP8/9

This allows other stagefright codecs to be used even when the extended
extractor is used. (Right now, if the the extended extractor is forced
to be used with VP8/9, then 'vtrial' mimetype will be used.)

Change-Id: I7af0bf609d07871b8956d7799cc036c0b8d18d37

9 years agoFFmpegExtractor: mark VP9 as supported
Pawit Pornkitprasan [Wed, 14 May 2014 12:36:48 +0000 (19:36 +0700)]
FFmpegExtractor: mark VP9 as supported

Software codec for VP9 is provided by Google

Change-Id: I9383924ba3f0efe823a757e560db0105925f7ca6

9 years agoFFmpegExtractor: add mp3 to supported list
Pawit Pornkitprasan [Wed, 14 May 2014 12:06:06 +0000 (19:06 +0700)]
FFmpegExtractor: add mp3 to supported list

This prevents mp3 files from being sniffed twice everytime.

(BetterSniffFFMPEG -> fail -> LegacySniffFFMPEG -> fail again)

Change-Id: I606cc430089d36f8cd4627d689e095087605373b

9 years agoAdd additional WAV types to Stagefright supported list
Ethan Chen [Tue, 13 May 2014 06:39:40 +0000 (23:39 -0700)]
Add additional WAV types to Stagefright supported list

* Stagefright WAVExtractor supports U8, S16, S24 WAV encoding.
* Stagefright WAVExtractor also supports MS GSM.

Change-Id: Ic1595d3ac179e715821903b25bf1e814a4e5b31e

9 years agoFFmpegExtractor: ignore fake album art MJPEG streams
Pawit Pornkitprasan [Tue, 13 May 2014 03:13:16 +0000 (10:13 +0700)]
FFmpegExtractor: ignore fake album art MJPEG streams

Allows flac/m4a to be correctly parsed by Android

Change-Id: I6738afa1bf84cd930bda3b179f324c73379cfaea

10 years agochange OMX.ffmpeg.vpx.decoder to OMX.ffmpeg.vp8.decoder for kitkat
Chih-Wei Huang [Thu, 23 Jan 2014 07:25:00 +0000 (15:25 +0800)]
change OMX.ffmpeg.vpx.decoder to OMX.ffmpeg.vp8.decoder for kitkat

Add OMX.ffmpeg.vp9.decoder as well.

10 years agocleanup jb-x86
Michael Chen [Wed, 13 Nov 2013 11:45:53 +0000 (19:45 +0800)]
cleanup

10 years agocleanup FFmpegExtractor::stream_component_open
Michael Chen [Mon, 11 Nov 2013 16:30:36 +0000 (00:30 +0800)]
cleanup FFmpegExtractor::stream_component_open

10 years agofix rv20
Michael Chen [Sun, 10 Nov 2013 12:54:38 +0000 (20:54 +0800)]
fix rv20

10 years agomove some codec utils to codec_utils.cpp
Michael Chen [Sun, 10 Nov 2013 08:45:03 +0000 (16:45 +0800)]
move some codec utils to codec_utils.cpp

10 years agoremove packet_queue_XXX funcs to ffmpeg_utils.cpp
Michael Chen [Sun, 10 Nov 2013 07:55:24 +0000 (15:55 +0800)]
remove packet_queue_XXX funcs to ffmpeg_utils.cpp

10 years agofix set kKeyMIMEType
Michael Chen [Wed, 6 Nov 2013 16:27:32 +0000 (00:27 +0800)]
fix set kKeyMIMEType

10 years agofix OMX_AUDIO_CodingMP2
Michael Chen [Wed, 6 Nov 2013 16:26:47 +0000 (00:26 +0800)]
fix OMX_AUDIO_CodingMP2

10 years agoadd adjust confidence funcs
Michael Chen [Mon, 4 Nov 2013 16:15:16 +0000 (00:15 +0800)]
add adjust confidence funcs

10 years agocleanup vorbis decoder
Michael Chen [Mon, 4 Nov 2013 14:43:27 +0000 (22:43 +0800)]
cleanup vorbis decoder

10 years agoadd support for virbis decoder
Michael Chen [Sun, 3 Nov 2013 17:25:55 +0000 (01:25 +0800)]
add support for virbis decoder

10 years agoadd support for vorbis parser in FFmpegExtractor
Michael Chen [Sun, 3 Nov 2013 16:13:54 +0000 (00:13 +0800)]
add support for vorbis parser in FFmpegExtractor

10 years agofix the rtvc1.vc1 file can't be played somtimes
Michael Chen [Sun, 3 Nov 2013 12:41:53 +0000 (20:41 +0800)]
fix the rtvc1.vc1 file can't be played somtimes

10 years agoadd isPortSettingChanged func to check setting changed
Michael Chen [Sat, 2 Nov 2013 12:56:05 +0000 (20:56 +0800)]
add isPortSettingChanged func to check setting changed

10 years agoMerge branch 'master' of https://github.com/omxcodec/stagefright-plugins
Michael Chen [Fri, 1 Nov 2013 17:43:21 +0000 (01:43 +0800)]
Merge branch 'master' of https://github.com/omxcodec/stagefright-plugins

10 years agofix crash when ffmpeg video port notify setting change event.
Michael Chen [Fri, 1 Nov 2013 11:51:11 +0000 (19:51 +0800)]
fix crash when ffmpeg video port notify setting change event.
We don't notify event until "outQueue.size() == kNumOutputBuffers"

test sample- http://samples.mplayerhq.hu/V-codecs/WVC1/rtvc1.vc1

crash log:
I/SoftFFmpegVideo( 4196): ffmpeg video port setting change event(352x144)->(352x288).
F/OMXCodec( 4196): frameworks/av/media/libstagefright/OMXCodec.cpp:3285 CHECK(info->mStatus == OWNED_BY_US || info->mStatus == OWNED_BY_NATIVE_WINDOW) failed.
F/libc    ( 4196): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 4241 (OMXCallbackDisp)

10 years agofix crash when ffmpeg video port notify setting change event.
Michael Chen [Fri, 1 Nov 2013 11:51:11 +0000 (19:51 +0800)]
fix crash when ffmpeg video port notify setting change event.
We don't notify event until "outQueue.size() == kNumOutputBuffers"

crash log:
I/SoftFFmpegVideo( 4196): ffmpeg video port setting change event(352x144)->(352x288).
F/OMXCodec( 4196): frameworks/av/media/libstagefright/OMXCodec.cpp:3285 CHECK(info->mStatus == OWNED_BY_US || info->mStatus == OWNED_BY_NATIVE_WINDOW) failed.
F/libc    ( 4196): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 4241 (OMXCallbackDisp)

10 years agoadd support for raw vc1 bitstreams
Michael Chen [Fri, 1 Nov 2013 11:41:02 +0000 (19:41 +0800)]
add support for raw vc1 bitstreams
sample- http://samples.mplayerhq.hu/V-codecs/WVC1/rtvc1.vc1

To play the file in stagefright we had to use "vc1" as file extension, otherwise
stagefright does nothing. I use LegacySniffFFMPEG func to handle it. the url will be
"android-source:0x416b91a0|file:/storage/emulated/legacy/Movies/x86/rtvc1.vc1"

10 years agofix getCodecId error
Michael Chen [Thu, 31 Oct 2013 16:06:20 +0000 (00:06 +0800)]
fix getCodecId error

10 years agofix VC1 CompressionFormat error
Michael Chen [Wed, 30 Oct 2013 12:11:47 +0000 (20:11 +0800)]
fix VC1 CompressionFormat error

10 years agoupdate README
Michael Chen [Tue, 29 Oct 2013 13:54:09 +0000 (21:54 +0800)]
update README

10 years agodisable no audio frames debug info
Michael Chen [Sun, 27 Oct 2013 03:27:00 +0000 (11:27 +0800)]
disable no audio frames debug info

10 years agofix select extractor, file: InstructionalQuicktimeMedRes.mov
Michael Chen [Sun, 27 Oct 2013 03:11:24 +0000 (11:11 +0800)]
fix select extractor, file: InstructionalQuicktimeMedRes.mov

10 years agofix diatonis_phtos1_1920x1080_51_audio_2011-12.wmv crash
Michael Chen [Sat, 26 Oct 2013 16:36:20 +0000 (00:36 +0800)]
fix diatonis_phtos1_1920x1080_51_audio_2011-12.wmv crash

10 years agofix extractor select when source has hevc codec
Michael Chen [Sat, 26 Oct 2013 15:10:53 +0000 (23:10 +0800)]
fix extractor select when source has hevc codec

10 years agoremove repo/local_manifest.xml
Michael Chen [Sat, 26 Oct 2013 15:02:02 +0000 (23:02 +0800)]
remove repo/local_manifest.xml

10 years agoMerge branch 'jb-x86' of https://github.com/omxcodec/stagefright-plugins into jb-x86
Michael Chen [Sat, 26 Oct 2013 14:38:18 +0000 (22:38 +0800)]
Merge branch 'jb-x86' of https://github.com/omxcodec/stagefright-plugins into jb-x86

Conflicts:
libstagefright/FFmpegExtractor/FFmpegExtractor.cpp

10 years agoupdate README
Michael Chen [Sat, 26 Oct 2013 14:30:20 +0000 (22:30 +0800)]
update README

10 years agoadd HEVC(H.265) decoder. plz sync:
Michael Chen [Sat, 26 Oct 2013 11:08:26 +0000 (19:08 +0800)]
add HEVC(H.265) decoder. plz sync:
1. git@github.com:omxcodec/android_external_ffmpeg (branch:cm_maguro-10.1)
2. https://github.com/omxcodec/android_frameworks_native.git (branch:cm_maguro-10.1)
3. https://github.com/omxcodec/android_frameworks_av.git (branch:cm_maguro-10.1)

How to test hevc decoder:
1. get test media files
wget http://ftp.kw.bbc.co.uk/hevc/hm-10.0-anchors/bitstreams/i_main/BQMall_832x480_60_qp22.bin and push it to /sdcard/Movies/hevc/
2. set prop because hevc decoder is very show
adb shell setprop sys.media.vdec.drop 0
3. play raw hevc file
adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/hevc/BQMall_832x480_60_qp22.bin -t video/*

10 years agoadd HEVC(H.265) decoder. plz sync:
Michael Chen [Sat, 26 Oct 2013 11:08:26 +0000 (19:08 +0800)]
add HEVC(H.265) decoder. plz sync:
1. https://github.com/omxcodec/android_frameworks_native.git (branch:cm_maguro-10.1)
2. https://github.com/omxcodec/android_frameworks_av.git (branch:cm_maguro-10.1)

How to test hevc decoder:
1. get test media files
wget http://ftp.kw.bbc.co.uk/hevc/hm-10.0-anchors/bitstreams/i_main/BQMall_832x480_60_qp22.bin and push it to /sdcard/Movies/hevc/
2. set prop because hevc decoder is very show
adb shell setprop sys.media.vdec.drop 0
3. play raw hevc file
adb shell am start -a android.intent.action.VIEW -d file:///mnt/sdcard/Movies/hevc/BQMall_832x480_60_qp22.bin -t video/*

10 years agofix compile warning
Michael Chen [Wed, 23 Oct 2013 15:58:49 +0000 (23:58 +0800)]
fix compile warning

10 years agofix ogg mime
Michael Chen [Wed, 23 Oct 2013 12:06:21 +0000 (20:06 +0800)]
fix ogg mime

10 years agofix compile warning -- -fpermissive
Michael Chen [Wed, 23 Oct 2013 11:30:45 +0000 (19:30 +0800)]
fix compile warning -- -fpermissive

10 years agoffmpeg vorbis decoder can not work now, disable it
Michael Chen [Tue, 22 Oct 2013 17:21:25 +0000 (01:21 +0800)]
ffmpeg vorbis decoder can not work now, disable it

10 years agocleanup SoftFFmpegAudio and SoftFFmpegVideo decoders
Michael Chen [Tue, 22 Oct 2013 16:12:16 +0000 (00:12 +0800)]
cleanup SoftFFmpegAudio and SoftFFmpegVideo decoders

10 years agofix vorbis seek error
Michael Chen [Tue, 22 Oct 2013 15:49:05 +0000 (23:49 +0800)]
fix vorbis seek error
vorbis test files:
http://www.vorbis.com/music/
http://www.vorbis.com/music/Epoq-Lepidoptera.ogg
http://www.vorbis.com/music/Hydrate-Kenny_Beltrey.ogg
http://www.vorbis.com/music/Lumme-Badloop.ogg
http://www.vorbis.com/music/Mists_of_Time-4T.ogg
http://www.vorbis.com/music/The_Abyss-4T.ogg