OSDN Git Service
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
Michael Chen [Wed, 13 Nov 2013 11:45:53 +0000 (19:45 +0800)]
cleanup
Michael Chen [Mon, 11 Nov 2013 16:30:36 +0000 (00:30 +0800)]
cleanup FFmpegExtractor::stream_component_open
Michael Chen [Sun, 10 Nov 2013 12:54:38 +0000 (20:54 +0800)]
fix rv20
Michael Chen [Sun, 10 Nov 2013 08:45:03 +0000 (16:45 +0800)]
move some codec utils to codec_utils.cpp
Michael Chen [Sun, 10 Nov 2013 07:55:24 +0000 (15:55 +0800)]
remove packet_queue_XXX funcs to ffmpeg_utils.cpp
Michael Chen [Wed, 6 Nov 2013 16:27:32 +0000 (00:27 +0800)]
fix set kKeyMIMEType
Michael Chen [Wed, 6 Nov 2013 16:26:47 +0000 (00:26 +0800)]
fix OMX_AUDIO_CodingMP2
Michael Chen [Mon, 4 Nov 2013 16:15:16 +0000 (00:15 +0800)]
add adjust confidence funcs
Michael Chen [Mon, 4 Nov 2013 14:43:27 +0000 (22:43 +0800)]
cleanup vorbis decoder
Michael Chen [Sun, 3 Nov 2013 17:25:55 +0000 (01:25 +0800)]
add support for virbis decoder
Michael Chen [Sun, 3 Nov 2013 16:13:54 +0000 (00:13 +0800)]
add support for vorbis parser in FFmpegExtractor
Michael Chen [Sun, 3 Nov 2013 12:41:53 +0000 (20:41 +0800)]
fix the rtvc1.vc1 file can't be played somtimes
Michael Chen [Sat, 2 Nov 2013 12:56:05 +0000 (20:56 +0800)]
add isPortSettingChanged func to check setting changed
Michael Chen [Fri, 1 Nov 2013 17:43:21 +0000 (01:43 +0800)]
Merge branch 'master' of https://github.com/omxcodec/stagefright-plugins
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)
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)
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"
Michael Chen [Thu, 31 Oct 2013 16:06:20 +0000 (00:06 +0800)]
fix getCodecId error
Michael Chen [Wed, 30 Oct 2013 12:11:47 +0000 (20:11 +0800)]
fix VC1 CompressionFormat error
Michael Chen [Tue, 29 Oct 2013 13:54:09 +0000 (21:54 +0800)]
update README
Michael Chen [Sun, 27 Oct 2013 03:27:00 +0000 (11:27 +0800)]
disable no audio frames debug info
Michael Chen [Sun, 27 Oct 2013 03:11:24 +0000 (11:11 +0800)]
fix select extractor, file: InstructionalQuicktimeMedRes.mov
Michael Chen [Sat, 26 Oct 2013 16:36:20 +0000 (00:36 +0800)]
fix diatonis_phtos1_1920x1080_51_audio_2011-12.wmv crash
Michael Chen [Sat, 26 Oct 2013 15:10:53 +0000 (23:10 +0800)]
fix extractor select when source has hevc codec
Michael Chen [Sat, 26 Oct 2013 15:02:02 +0000 (23:02 +0800)]
remove repo/local_manifest.xml
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
Michael Chen [Sat, 26 Oct 2013 14:30:20 +0000 (22:30 +0800)]
update README
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/*
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/*
Michael Chen [Wed, 23 Oct 2013 15:58:49 +0000 (23:58 +0800)]
fix compile warning
Michael Chen [Wed, 23 Oct 2013 12:06:21 +0000 (20:06 +0800)]
fix ogg mime
Michael Chen [Wed, 23 Oct 2013 11:30:45 +0000 (19:30 +0800)]
fix compile warning -- -fpermissive
Michael Chen [Tue, 22 Oct 2013 17:21:25 +0000 (01:21 +0800)]
ffmpeg vorbis decoder can not work now, disable it
Michael Chen [Tue, 22 Oct 2013 16:12:16 +0000 (00:12 +0800)]
cleanup SoftFFmpegAudio and SoftFFmpegVideo decoders
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
Michael Chen [Tue, 22 Oct 2013 14:43:47 +0000 (22:43 +0800)]
add support for vorbis codec
Michael Chen [Tue, 22 Oct 2013 14:42:33 +0000 (22:42 +0800)]
change from OMX.ffmpeg.vheuristic.decoder to OMX.ffmpeg.vtrial.decoder and
change from OMX.ffmpeg.aheuristic.decoder to OMX.ffmpeg.atrial.decoder
Michael Chen [Fri, 11 Oct 2013 12:46:13 +0000 (20:46 +0800)]
cleanup media_codecs.xml
Michael Chen [Sun, 29 Sep 2013 16:57:43 +0000 (00:57 +0800)]
purge deprecated code
Michael Chen [Sun, 29 Sep 2013 16:26:48 +0000 (00:26 +0800)]
remove USE_PRE_AUDIO_BUF
Michael Chen [Sun, 29 Sep 2013 16:21:54 +0000 (00:21 +0800)]
fix audio track plays fast
Michael Chen [Sat, 28 Sep 2013 15:27:05 +0000 (23:27 +0800)]
use av_err2str uitils to printf err
Michael Chen [Fri, 27 Sep 2013 23:51:54 +0000 (07:51 +0800)]
cleanup
Michael Chen [Sun, 22 Sep 2013 17:05:05 +0000 (01:05 +0800)]
cleanup
Michael Chen [Sun, 22 Sep 2013 16:40:55 +0000 (00:40 +0800)]
fix InstructionalQuicktimeMedRes.mov
Michael Chen [Sun, 22 Sep 2013 16:22:54 +0000 (00:22 +0800)]
if no audio pts, then compute it(fix zeldaADPCM5bit.swf and test.swf)
Michael Chen [Sat, 21 Sep 2013 13:51:05 +0000 (21:51 +0800)]
add setMode func
Michael Chen [Sat, 21 Sep 2013 13:38:29 +0000 (21:38 +0800)]
add isRoleSupported func
Michael Chen [Tue, 17 Sep 2013 16:16:30 +0000 (00:16 +0800)]
add ffmpeg heuristic decoder.
you need to sync git "https://github.com/omxcodec/android_frameworks_native" and
"https://github.com/omxcodec/android_frameworks_av" branch:cm_maguro-10.1
Michael Chen [Fri, 13 Sep 2013 17:14:04 +0000 (01:14 +0800)]
add support for flv
please sync frameworks_av.git
Michael Chen [Fri, 13 Sep 2013 16:40:44 +0000 (00:40 +0800)]
fix BatmanBegins_1.divx
Michael Chen [Fri, 13 Sep 2013 14:36:42 +0000 (22:36 +0800)]
return matching MetaData,merge from android-x86
Michael Chen [Wed, 11 Sep 2013 15:54:29 +0000 (23:54 +0800)]
add support for rv20, rv30(fix yanzi.rm)
Michael Chen [Sat, 7 Sep 2013 16:05:39 +0000 (00:05 +0800)]
add support for mpeg1video. (fix fall.mpg)
ffmpeg mpeg2video decoder can process "CODEC_ID_MPEG2VIDEO" and "CODEC_ID_MPEG1VIDEO" codec
Michael Chen [Sat, 7 Sep 2013 15:48:04 +0000 (23:48 +0800)]
rename from "xxxParams" to "profile"
Michael Chen [Sat, 7 Sep 2013 14:16:28 +0000 (22:16 +0800)]
cleanup
Michael Chen [Fri, 6 Sep 2013 17:47:30 +0000 (01:47 +0800)]
ffmpegextrator can demux mp1 and mp2 only
(fix Ai_Si_Ji_Mo_mpeg2.mpg)
Michael Chen [Fri, 6 Sep 2013 17:23:16 +0000 (01:23 +0800)]
we should reconfig audio context when ready to open codec
fix(2YearBirthday.asf)
Michael Chen [Fri, 6 Sep 2013 13:38:02 +0000 (21:38 +0800)]
add install script
Michael Chen [Fri, 6 Sep 2013 13:36:44 +0000 (21:36 +0800)]
cleanup
Michael Chen [Fri, 6 Sep 2013 13:36:01 +0000 (21:36 +0800)]
move media_codecs.xml to config
Michael Chen [Fri, 6 Sep 2013 13:02:46 +0000 (21:02 +0800)]
add media_codecs.xml(Galaxy Nexus JB)
Michael Chen [Thu, 5 Sep 2013 17:13:06 +0000 (01:13 +0800)]
add support for ac3 (fix 4_currents.ac3)
Michael Chen [Thu, 5 Sep 2013 17:03:57 +0000 (01:03 +0800)]
Merge branch 'jb-x86-tw' into jb-x86
Michael Chen [Thu, 5 Sep 2013 16:52:41 +0000 (00:52 +0800)]
fix the destructor("FFmpegExtractor::~FFmpegExtractor") do not be called
Michael Chen [Wed, 4 Sep 2013 15:59:32 +0000 (23:59 +0800)]
fix init and deinit ffmpeg
Michael Chen [Wed, 4 Sep 2013 15:50:10 +0000 (23:50 +0800)]
fix wrong cleanup when fail
Michael Chen [Wed, 4 Sep 2013 15:22:08 +0000 (23:22 +0800)]
cleanup
Michael Chen [Wed, 4 Sep 2013 14:03:36 +0000 (22:03 +0800)]
fix audio decoder "Timed out waiting for output buffers"
Chih-Wei Huang [Wed, 4 Sep 2013 05:00:19 +0000 (13:00 +0800)]
SoftFFmpegAudio: set block_align for wmadec
Now wmadec requires block_align to be set.
Michael Chen [Tue, 3 Sep 2013 17:06:41 +0000 (01:06 +0800)]
fix audio decoder can not exit(audio file: sh3.ape )
Michael Chen [Sun, 1 Sep 2013 16:19:39 +0000 (00:19 +0800)]
1. adjust the dts and ape audio codec of input buffer size
2. adjust code style
Michael Chen [Sun, 1 Sep 2013 14:32:11 +0000 (22:32 +0800)]
check whether DataSource is CachingDataSource, if yes, do not use ffmpeg extractor
Michael Chen [Sun, 1 Sep 2013 11:31:27 +0000 (19:31 +0800)]
adjust code style
Michael Chen [Sun, 1 Sep 2013 11:21:58 +0000 (19:21 +0800)]
cleanup README
Michael Chen [Sun, 1 Sep 2013 11:17:11 +0000 (19:17 +0800)]
remove common_utils
Michael Chen [Sun, 1 Sep 2013 11:13:23 +0000 (19:13 +0800)]
add scripts for debug
Michael Chen [Sun, 1 Sep 2013 11:13:02 +0000 (19:13 +0800)]
cleanup
Michael Chen [Sun, 1 Sep 2013 03:32:37 +0000 (11:32 +0800)]
cleanup
Michael Chen [Sat, 31 Aug 2013 18:53:04 +0000 (02:53 +0800)]
disable wav, it can not work now
Michael Chen [Sat, 31 Aug 2013 18:49:07 +0000 (02:49 +0800)]
support for wav
Michael Chen [Sat, 31 Aug 2013 18:35:04 +0000 (02:35 +0800)]
use ffmpeg extractor for these special or codec
Michael Chen [Sat, 31 Aug 2013 18:04:04 +0000 (02:04 +0800)]
add adjustCodecConfidence