summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/ACodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Initial checkin of support for acting as a wifi display sourceAndreas Huber2012-08-291-5/+62
| | | | Change-Id: I08f17efa0c7d007e17408feb7d4fbef0a19f531a
* Make sure codec names and corresponding quirks are returned together.Andreas Huber2012-08-071-10/+10
| | | | | | | | | Previously they were returned in separate vectors and only one of them was sorted if software codecs were preferred, leaving the quirks no longer matching the codec name at the same index. Change-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604 related-to-bug: 6737884
* Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-devEd Heyl2012-07-291-1/+2
|\ | | | | | | | | | | | | Conflicts: services/audioflinger/AudioFlinger.cpp Change-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b
| * Add vendor specific output color formatHaynes Mathew George2012-06-211-1/+2
| | | | | | | | | | | | | | - Add Qualcomm specific color format support to OMXCodec and ACodec - This is the default color format supported on QCom chipsets Change-Id: Id947b158c3b403c2d347f708bc1e780b4d65e220
* | Update ANativeWindow client code for syncJamie Gennis2012-06-211-19/+9
|/ | | | | | | This change updates all the uses of ANativeWindow to use the new ANW functions that accept and return Sync HAL fence file descriptors. Change-Id: Id7db42d8d6380f8b440d88476ce9211c6225fb16
* Unwedge ACodec if allocating output buffers fails while reconfiguring.Andreas Huber2012-05-291-5/+8
| | | | | Change-Id: I871cf639167c01860e65c0408d3ce935f8f8f1ea related-to-bug: 6571060
* Tell surface flinger that we want to protect output buffers from beingAndreas Huber2012-05-221-0/+174
| | | | | | | | sent to HDMI (without HDCP) and push a few black frames on IDLE->LOADED similar to OMXCodec's behaviour. Change-Id: Iea6055a115151ca881220a70a31af6ade2c58cb3 related-to-bug: 6537187
* If we encounter an error during buffer allocation change state backAndreas Huber2012-05-211-0/+2
| | | | | | | | to LOADED instead of remaining in the transitional state LOADED->IDLE that won't properly handle flush or shutdown requests. Change-Id: Ica1bf22eb884b220f18ed2a4f7a9c56eec228796 related-to-bug: 6516512
* Explicitly set the video scaling mode to "stretch".Andreas Huber2012-05-151-0/+4
| | | | | Change-Id: I23b8848cfef51bc8ea72deb22783e21d093dbd98 related-to-bug: 6498150
* ACodec mustn't override the video scaling mod.Andreas Huber2012-05-141-7/+0
| | | | | Change-Id: Id9b569446d73dcfe44ab4a3488812203758c9c42 related-to-bug: 6490687
* Increase AAC software decoder's buffer count. Refactor how clientsAndreas Huber2012-05-111-4/+29
| | | | | | | of ACodec get notified about codec buffers and buffer ids. Change-Id: I962f873262dae7aa7b43f5f68a6d60268282f91e related-to-bug: 6478823
* OMX IL wrapper for FLAC encoderJean-Michel Trivi2012-05-091-1/+54
| | | | | | | | | | Add wrapper around libFLAC for FLAC encoding in OpenMAX IL. Declare FLAC encoder in OMX component roles. Bug 5525503 Change-Id: I19bbce41c216870669d09365693f4ea89f8bc0f7
* Get rid of vendor specific video encoder component names from ACodec and ↵James Dong2012-05-071-5/+3
| | | | | | | | OMXCodec o related-to-bug: 6446245 Change-Id: I1fa07ad8a39337e3b19ac51c10533a2de8c11bb5
* Respect channel mask in ACodec and NuPlayer.Andreas Huber2012-05-031-1/+17
| | | | | | | Refactor conversion from MetaData into AMessage while we're at it. Change-Id: I5479129836ea4316e8de28cf1b472bf19e3ac4ab related-to-bug: 6439076
* Fix mono gapless playback for decoders that output stereoMarco Nelissen2012-04-301-0/+21
| | | | | | | | | | | | | The old AAC decoder always outputs stereo, even for mono source material, so we need to use the number of channels of the output when calculating the number of bytes to skip, not the number of channels in the source. This makes OMXCodec skip the right amount of data, and prevents NuPlayer from writing half a frame and then asserting when the AudioSink doesn't accept it. Also move use of the SkipCutBuffer from NuPlayer to ACodec, so that it also works when using the new Java APIs, and make SkipCutBuffer derive from RefBase. b/774846 Change-Id: I34df9fea3e6730617eae559afaa556f4085ef0a0
* Add Fraunhofer AAC encoder with AAC-ELD support.Dave Burke2012-04-251-5/+8
| | | | Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
* Make sure OMXCodec and ACodec both accept more than 2 channels of audioAndreas Huber2012-04-241-7/+2
| | | | | | and fill in the OMX channel mask properly. Change-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305
* Implementation of a raw audio "decoder".Andreas Huber2012-03-291-0/+11
| | | | Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
* Provisional support for secure decryption of media streams.Andreas Huber2012-03-261-11/+42
| | | | Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
* ACodec is a little more aggressive in its error checking now.Andreas Huber2012-03-161-4/+7
| | | | | | Update components to do the right thing. Change-Id: Ibfbad3f53effc16368cca4a0e978d01d54d08a1d
* Instead of hardcoding OMX component names in our code, supportAndreas Huber2012-03-011-11/+20
| | | | | | a config file instead. Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
* Separate the notion of "stop" from that of "release", i.e.Andreas Huber2012-02-281-50/+144
| | | | | | | | | stop - means transition back to LOADED state and keeping the component instance allocated. release - means we get rid of the component completely. Change-Id: I40ad01ce70821faaad43f57999249904f9144924
* fix libgui header locationMathias Agopian2012-02-271-3/+0
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* Add new APIs AMessage::(set|find)Buffer to make it safer to passAndreas Huber2012-02-221-8/+6
| | | | | | ABuffer objects through messages. Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
* Implementation of a java media codec interface and associated tools.Andreas Huber2012-02-221-140/+980
| | | | Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-12/+12
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-061-3/+3
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Fix the broken buildJames Dong2011-11-291-3/+3
| | | | Change-Id: Ib508514891474d24f14ac69d721b0c9c700a0c3f
* am 52607c53: am d12dc284: Merge "If an error occurs that prevents us from ↵Andreas Huber2011-11-291-0/+32
|\ | | | | | | | | | | | | reallocating buffers during a format change" into ics-mr1 * commit '52607c5364446df6ac5b2f55cb50e146e6023a4f': If an error occurs that prevents us from reallocating buffers during a format change
| * If an error occurs that prevents us from reallocating buffers during a ↵Andreas Huber2011-11-281-0/+32
| | | | | | | | | | | | | | | | | | | | format change we need to transition to executing state anyway to be able to properly flush/shutdown in the future. Change-Id: Ie48bc09ea31942009ae3a5a45aabc9ffad9fb91f related-to-bug: 5655016
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-32/+32
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* Support for an MPEG2 Program Stream extractor.Andreas Huber2011-09-301-0/+4
| | | | Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
* Support AMR, G.711 and vorbis audio in ACodec and friends.Andreas Huber2011-09-281-3/+93
| | | | Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
* Propagate error signalled by the source all the way to the output EOS ↵Andreas Huber2011-09-261-3/+19
| | | | | | | notification. Change-Id: I30e959a6d669f09745c59fbdebee08f869511cf7 related-to-bug: 5372901
* Various improvements to nuplayer playbackAndreas Huber2011-09-161-5/+14
| | | | | | | | | | | | | | | | | | | | - Drastically cut down the number of times we supply the AudioSink with data by estimating the time until the sink would run out of data and then scheduling a refill in advance of that. - Use a dedicated looper for video decoders since they are currently taking too long to return from OMX_FillThisBuffer (bug 5325201) - Revise thread priorities for the OMX dispatcher and software codecs, instead of running them at ANDROID_PRIORITY_AUDIO, they now only run at ANDROID_PRIORITY_FOREGROUND - Since threads created by pthread_create inherit all of the parent threads attributes including thread priority, briefly reset thread priority to ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then restore it. Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
* Turn an another assertion into a runtime error in ACodec's implementationAndreas Huber2011-09-121-22/+18
| | | | | Change-Id: I6779b29f200b90d088273ab3204724ef3d8d59bd related-to-bug: 5284760
* Signal errors to the client instead of asserting in ACodec.Andreas Huber2011-08-261-3/+23
| | | | | | Also make sure NuPlayer can properly shutdown in certain edge cases. Change-Id: Iceb16d600d87ba66c802e60e95bf62f66487a453
* Error handling in ACodec and Nuplayer.Andreas Huber2011-08-161-46/+28
| | | | | | | Codec errors (and codec not found errors) now trigger a controlled shutdown of playback and signal errors to the MediaPlayer client. Change-Id: I2ee23ff2a1422d05a1a21e50ecb87d7c7ab958cc
* use SurfaceTexture new scaling mode in SFMathias Agopian2011-07-191-0/+7
| | | | | | | SF now obeys SurfaceTexture's scaling mode instead of inferring it from the buffer's size Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
* Ignore all flush-complete notifications with port == OMX_ALLAndreas Huber2011-07-011-0/+12
| | | | | | | | | Use of this notification is not consistent across implementations. We'll drop this notification and rely on flush-complete notifications on the individual port indices instead. Change-Id: I76c0dfdcfc92a7c9acf57abf3027d2638d77efca
* Some (most) OMX decoders do not send a OMX_CmdComplete/Flush OMX_ALL ↵Andreas Huber2011-06-301-0/+5
| | | | | | notification Change-Id: I1bdcc7be5f12dab301891a5f9ee5cc981e09ba82
* Multiple changes to ACodec/codec tools:Andreas Huber2011-06-281-22/+41
| | | | | | | | | | | | | | Make sure sf2 does not coalesce input buffers, generalize ACodec's codec instantiation based on OMXCodec's list of eligible component names. Some changes/additions to the "sf2" commandline tool Make surface options consistent with stagefright tool, i.e. use '-S' instead of '-s' New option '-R' renders surface-allocated buffers. Also fixes a longstanding bug introduced when generalizing from surfaces to native windows that never used surface-allocated buffers in sf2 even when the option was specified. Change-Id: I59fd533f0f6ef0337ebe2806ddc81a46878eb3ae
* Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.hJames Dong2011-06-031-2/+0
| | | | Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
* Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.Andreas Huber2011-05-251-1/+8
| | | | Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
* Squashed commit of the following:Andreas Huber2011-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit c80992e419ed567abef451042f09c4958534b90d Author: Andreas Huber <andih@google.com> Date: Wed May 11 14:00:07 2011 -0700 Support for the mp3 audio decoder as a software OMX component. Change-Id: I66e10c4d0be4c3aecdef1c21b15a2c7359ceb807 commit a358d0e1bf2a88897887445f42ccdda0f5f2f528 Author: Andreas Huber <andih@google.com> Date: Wed May 11 13:11:23 2011 -0700 Support for G.711 alaw and mulaw decoders as software OMX components Change-Id: Ia5c76c02cb83a9f94ce39a27b2251e5880218f03 commit 79088b9c9a5c8b8c97ea66cb4f90a2b0f0d34553 Author: Andreas Huber <andih@google.com> Date: Thu May 5 15:43:32 2011 -0700 Instead of using an RGB surface and conversion yuv420->rgb565 convert from OMX_COLOR_FormatYUV420Planar to HAL_PIXEL_FORMAT_YV12 instead. Change-Id: I8c4fc3c54c963f0d4ba6377f3c4ab4e0013152e5 related-to-bug: 4394005 commit 69469d3bd84425777b11b9fc938c5e0c61af26a7 Author: Andreas Huber <andih@google.com> Date: Tue May 10 15:46:42 2011 -0700 voip mustn't link against libstagefright.so Change-Id: I4d0ba9a8b9dc9380b792a1bd04bcda231964862c commit 2a9a9eeeeeb36ae3a9e680469c3016d509ff08c3 Author: Andreas Huber <andih@google.com> Date: Tue May 10 14:37:10 2011 -0700 Remove most non-OMX software decoders by default Change-Id: Ic56514bc1b56b8fa952e8c4a164ea7379ecb69d0 commit a4de62c37b335c318217765403a9fb282b20a216 Author: Andreas Huber <andih@google.com> Date: Mon May 9 16:50:02 2011 -0700 Conditionally build the old-style software decoders. Change-Id: I5de609e1d76c92d26d6eb81d1551462258f3f15f commit 5d8b039f9449dc3dad1e77c42c80cc0b54b0c846 Author: Andreas Huber <andih@google.com> Date: Mon May 9 16:13:12 2011 -0700 Support for MPEG4 and H.263 video decoders as soft OMX components. Change-Id: I5e3a4835afab89f98e3aa128d013628f5830eafe commit b25a1bfbeb0ff6e62e1cc694ce2599c91489c7d0 Author: Andreas Huber <andih@google.com> Date: Mon May 9 11:49:10 2011 -0700 Boost Soft OMX thread priority, fix timestamp handling in vorbis Soft OMX decoder. Change-Id: I68d26d4999f06fcc451d69e5303663fab0cba9e8 commit c0574362f8dc3319ce84d981097867062a698527 Author: Andreas Huber <andih@google.com> Date: Mon May 9 11:28:53 2011 -0700 Support for the AMR decoders (NB and WB) as Soft OMX components. Change-Id: Ia565f59833fb52653e23f26536e7e41fc329a754 commit 3e5575a8f0e27a490cb7bde77bd9456087837f08 Author: Andreas Huber <andih@google.com> Date: Wed May 4 13:41:25 2011 -0700 Signal an error if the aac decoder failed to initialize from codec specific data. Change-Id: I01da7831bdf722edd7d6dc5974486daa2cf2b209 related-to-bug: 4272179 commit f94aeaa9886e772ff4823e671ed237096649f4af Author: Andreas Huber <andih@google.com> Date: Tue May 3 13:07:38 2011 -0700 Software OMX nodes don't (yet?) support native_window mode. Change-Id: I7d9ca9164ef4abf66b573ca21dba12d672f8b12d commit eefdfabac8dc659e00daa56da69aea705c49cb67 Author: Andreas Huber <andih@google.com> Date: Tue May 3 12:57:16 2011 -0700 Fixing the OMX tests to refer to appropriate files from test content. Change-Id: I5b61c3498749bfb876abbd3946a5132356e3f6ff commit f31b7326aef14b6a1b7946520a9688f092e844d5 Author: Andreas Huber <andih@google.com> Date: Tue May 3 11:08:38 2011 -0700 Soft OMX components are now dynamiclly loaded/unloaded, not directly linked against. Change-Id: I1e2ecfbfab67a8869886f738eaf0c7b3c948b6d9 commit b7f0343879e4df06f0a1c9bfece24df557954e2f Author: Andreas Huber <andih@google.com> Date: Mon May 2 15:58:36 2011 -0700 Support for the AVC software decoder as an OMX component. Change-Id: I13c12df435ba4afbd968a9fc659f66b91c818bc2 commit 5bb9e616d6c8e1b13d531fe996b9a9affdfb2977 Author: Andreas Huber <andih@google.com> Date: Fri Apr 29 12:05:37 2011 -0700 Fix Vorbis OMX decoder's component role. Change-Id: I5e871e5e11b3f951c93590210e63fd7987c467b5 commit 089c91f2333062e196c7afd5fb0ca914878aa474 Author: Andreas Huber <andih@google.com> Date: Fri Apr 29 12:05:18 2011 -0700 Support vorbis_decoder OMX testing. Change-Id: I1985be178a12ae3f8768bc72067d9236238be170 commit 56e241fa36fc37219bc536b823bdc2ab82dc1fad Author: Andreas Huber <andih@google.com> Date: Fri Apr 29 12:01:46 2011 -0700 SoftVorbis OMX component now respects the number of valid frames per page. Change-Id: I82a117a064d9b083fc58a54ad900a987a763ef03 commit fcd618ec520c376fdb78f4cbb44b8d9f5d213e2b Author: Andreas Huber <andih@google.com> Date: Fri Apr 29 10:59:38 2011 -0700 Support for the vorbis audio decoder as a soft OMX component. Change-Id: Iaeb057e58ca306d3dce205c0445b74d5aefef492 commit d1fcc3203fc8003ad79c6e96b3a1fc4261743f16 Author: Andreas Huber <andih@google.com> Date: Fri Apr 29 10:07:50 2011 -0700 VPX decoder now properly resizes buffers after a port settings change. Change-Id: I110749a31b6cba087891d8e5dfe420830bdbf831 commit 35c7168243cb69849d88911144a2c7fdfed5c54e Author: Andreas Huber <andih@google.com> Date: Thu Apr 28 13:23:34 2011 -0700 Support for the VPX video decoder as a Software OMX component. Change-Id: Ic345add2d6d768d4af631160153f2e9b97fcea71 commit 923b2534b4211fc5405377b5190bfa6f2dd27f32 Author: Andreas Huber <andih@google.com> Date: Thu Apr 28 11:34:40 2011 -0700 Table-based registration of soft omx components. Change-Id: I7f45f0fa5b3a7950776e69c66349731f7674e937 commit 04a88f3edb2266a463da9c4481b80178be460902 Author: Andreas Huber <andih@google.com> Date: Thu Apr 28 11:22:31 2011 -0700 Apparently OMX_GetParameter is valid in any state other than OMX_StateInvalid OMX_SetParameter is still constrained to OMX_StateLoaded or a disabled port. Change-Id: I1032d7cf4011982d306aa369d4158a82830d26fb commit 9d70ca68445e7c40f5c9b2d12466e468f514de88 Author: Andreas Huber <andih@google.com> Date: Wed Apr 27 15:03:18 2011 -0700 Use the new soft OMX aac decoder for HTTP live playback. Change-Id: Ifbcfb732a9edb855cb46b49f6d0ac942170ee28f commit 213fe4a10ea93cce08e8622dc3908053f29878a1 Author: Andreas Huber <andih@google.com> Date: Tue Apr 12 16:39:45 2011 -0700 Foundation for supporting software decoders as OMX components Change-Id: I7fdab256563b35d1d090617abaea9a26b198d816 Change-Id: I83e9236beed4af985d10333c203f065df9e09a42
* frameworks/base: android_native_buffer_t -> ANativeWindowBufferIliyan Malchev2011-05-031-2/+2
| | | | | Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Surfaceflinger expects rectangles to be specified right/bottom edge exclusive.Andreas Huber2011-03-291-2/+2
| | | | | Change-Id: Ib493572c614dbb74fa23b13c3e43899e3b31cf0e related-to-bug: 4147205
* Fix missing AOSP copyright headers for a bunch of media framework filesJames Dong2011-03-171-0/+16
| | | | | | bug - 4119349 Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
* Merge "Stagefright: Use the ANW min undequeued bufs query."Jamie Gennis2011-03-021-15/+28
|\
| * Stagefright: Use the ANW min undequeued bufs query.Jamie Gennis2011-02-281-16/+28
| | | | | | | | | | | | | | | | This change modifies Stagefright's ANativeWindow initialization to use the new MIN_UNDEQUEUED_BUFFERS query on the ANativeWindow. Change-Id: I62565945e90ac40de326de77adcfa5577ed89975 Related-Bug: 3356050