summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | mediaplayer: keep more buffers with the BufferQueueLajos Molnar2014-03-111-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change OMX buffer allocation policy to allocate nBufferCountMin + what is required for the BQ. For the BQ, try to allocate 2 additional buffers than the minimum undequeued count. Also account for the fact that BQ may return one less than the actual minimum undequeued count. In most cases the resulting number of buffers ends up being the same as with the previous policy, but we keep more buffers with the BQ. Change-Id: I826db8bf7dd333b620299dba60bf1b81b228275d Bug: 12080418
* | Opus Matroska support in OpenMaxVignesh Venkatasubramanian2014-03-031-0/+10
| | | | | | | | | | | | | | | | Adding Openmax component for libopus software decoder. This can decode opus audio files embedded in matroska containers. Change-Id: I7e0691cfc6d719c4e927b9efbd05a3143be49abc Note: This CL is part of adding Opus support to Android.
* | am 728549e3: am 56477eb7: am 27ae268a: am 00cb884f: Merge "StageFright: ↵Adam Hampson2013-11-131-7/+1
|\ \ | |/ | | | | | | | | | | Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev * commit '728549e39be9b8fcc701ef0f4623bc50d8726bd7': StageFright: Removes hacks for Nvidia MPEG2 decoder
| * am 27ae268a: am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 ↵Adam Hampson2013-11-131-7/+1
| |\ | | | | | | | | | | | | | | | | | | decoder" into jb-mr2-dev * commit '27ae268af29b25d85f83aa34e92ac8b7f6c87c6f': StageFright: Removes hacks for Nvidia MPEG2 decoder
| | * StageFright: Removes hacks for Nvidia MPEG2 decoderSuresh Choudhary2013-08-091-7/+1
| | | | | | | | | | | | | | | | | | | | | Removes the NVIDIA MPEG2 decoder specific hacks in legacy code as Nvidia HW MPEG2 decoder is enabled and tested now. Change-Id: Ifc67e1119d9741551336753f85f9cfdfd3fc8600
| | * Apparently the mp3 decoder glitches if it was configured with the wrongAndreas Huber2013-04-171-0/+11
| | | | | | | | | | | | | | | | | | | | | sample rate. Make sure we tell it about the one the extractor provides. Change-Id: Ice5b9cf55485ca1a8f099a14be0202be9540e781 related-to-bug: 8621639
| | * The framework really doesn't need to know the specifics of the codecAndreas Huber2013-04-111-7/+0
| | | | | | | | | | | | | | | | | | | | | color format, so stop trying to enforce a whitelist. Change-Id: I0ceb3bdd5bcc6c1bbd56740b0cd662a2b5820dfe related-to-bug: 8596546
| | * Add GSM 6.10 decoderMarco Nelissen2012-11-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Supports Microsoft frame packing only, since that's what the sample file used. b/6620569 Change-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d
| | * Turn off executable bit on ordinary filesGlenn Kasten2012-11-021-0/+0
| | | | | | | | | | | | Change-Id: I0abea25b58fb1d03975bed9cca40f826fcd4c5e4
| | * Added some extra failure logging messagesJames Dong2012-10-171-0/+7
| | | | | | | | | | | | | | | | | | o related-to-bug: 7282066 Change-Id: I0896551a45aab61fb571fef19061397ff84321d9
| | * Make a small correction in terms of GOP structure in the recorded videoJames Dong2012-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | When we have a 30 fps frame rate, and one second key-frame or I-frame interval, we really would like to have for each second, 29 P-frames + 1 I-frame. Thus, we should calculate the number of P frames so that it is equal to frame_rate * I_frame_interval - 1 Change-Id: I5b9be6e4c101e7a6b718015aa4041496961c0f19
| | * Allow OMXCodec to specify an output color format for OMX decoder componentJames Dong2012-09-101-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | The output color format is specified via the meta argument in OMXCodec::Create() o related-to-bug: 7122195 Change-Id: Id3247686b893af25cc190685201e53ad34b0399c
* | | Support TS + AC3 for ATSC standardChangwan Ryu2013-11-061-0/+51
| | | | | | | | | | | | Change-Id: I141667f3f54b242bafdf0ab9db86852c56f49ffa
* | | Support for MPEG2 videoChangwan Ryu2013-10-311-0/+2
|/ / | | | | | | Change-Id: If1f4e20939c96c87c65c84d56e529501facb8597
* | stagefright: enable adaptive playback based on codec format keyLajos Molnar2013-10-031-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | Added support for prepareForAdaptivePlayback() call in configureCodec, if max-width and max-height keys are specified in the format. It is OK for this call to fail, if component does not implement adaptive playback. Change-Id: Ie15892bc666df103b635890a0fda799b204bb06c Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 7093648 Bug: 10192531
* | MediaCodecInfo: report supported color formats for non-native-window modeLajos Molnar2013-09-301-6/+6
| | | | | | | | | | | | | | | | | | Revert the change in behavior when checking for adaptive playback was introduced. Change-Id: I59dc2450a4299b912015f2e4c9ec018a19a20b84 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 10921537
* | Check adaptive playback support via CodecCapabilitiesLajos Molnar2013-08-131-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added flags field to CodecCapabilities, so that applications can query whether codecs support various features. For now added one video-decoder feature: kFlagSupportsAdaptivePlayback Media playback applications can query it to see if a codec supports seamless resolution changes, such as by supporting dynamic output buffers. Signed-off-by: Lajos Molnar <lajos@google.com> Change-Id: I09da46e8ab6b8645fa2749e33128e49eda2e865b Related-to-bug: 7093648
* | Adds VP9 decoding support for stagefright.hkuang2013-06-241-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Also change the VP8 encoder role name from video_encoder.vpx to video_encoder.vp8 for future VP9 encoder support. Requires the change in frameworks/native and media_codecs.xml corresponding to the device. VP9 decoding test will be added to cts repo later.
* | Apparently the mp3 decoder glitches if it was configured with the wrongAndreas Huber2013-04-171-0/+11
| | | | | | | | | | | | | | sample rate. Make sure we tell it about the one the extractor provides. Change-Id: Ice5b9cf55485ca1a8f099a14be0202be9540e781 related-to-bug: 8621639
* | The framework really doesn't need to know the specifics of the codecAndreas Huber2013-04-111-7/+0
| | | | | | | | | | | | | | color format, so stop trying to enforce a whitelist. Change-Id: I0ceb3bdd5bcc6c1bbd56740b0cd662a2b5820dfe related-to-bug: 8596546
* | Add GSM 6.10 decoderMarco Nelissen2012-11-161-0/+2
| | | | | | | | | | | | | | | | Supports Microsoft frame packing only, since that's what the sample file used. b/6620569 Change-Id: Ia89d95bcbf0f8dcbaad42148a7401728f60e079d
* | Turn off executable bit on ordinary filesGlenn Kasten2012-11-021-0/+0
| | | | | | | | Change-Id: I0abea25b58fb1d03975bed9cca40f826fcd4c5e4
* | Added some extra failure logging messagesJames Dong2012-10-171-0/+7
| | | | | | | | | | | | o related-to-bug: 7282066 Change-Id: I0896551a45aab61fb571fef19061397ff84321d9
* | Make a small correction in terms of GOP structure in the recorded videoJames Dong2012-09-141-1/+1
| | | | | | | | | | | | | | | | | | When we have a 30 fps frame rate, and one second key-frame or I-frame interval, we really would like to have for each second, 29 P-frames + 1 I-frame. Thus, we should calculate the number of P frames so that it is equal to frame_rate * I_frame_interval - 1 Change-Id: I5b9be6e4c101e7a6b718015aa4041496961c0f19
* | Allow OMXCodec to specify an output color format for OMX decoder componentJames Dong2012-09-101-6/+28
|/ | | | | | | | The output color format is specified via the meta argument in OMXCodec::Create() o related-to-bug: 7122195 Change-Id: Id3247686b893af25cc190685201e53ad34b0399c
* Fixed a native crash due to unexpected state at destroy time when encoder ↵James Dong2012-08-241-6/+14
| | | | | | | | | | | | | | component's source fails to start o Encoder component initializes to be in the state of EXECUTING before its source gets started, because we wanted to be able to configure the source to use the advertised number of input buffers. However, if the source fails to start, then the encoder ends up in the state of EXECUTING when OMXCodec object gets destroyed. As a result, the assertion on the expected state in OMXCodec's constructor fails. The fix is to stop the video encoder component right way when its source fails to start so to bring the state of the encoder component back to the expected state. o related-to-bug: 7045494 Change-Id: I6d4a221eb809d7137f53e58098a04816998f7a25
* Make sure codec names and corresponding quirks are returned together.Andreas Huber2012-08-071-23/+21
| | | | | | | | | 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
* Remove obsolete hack for TI specific codeJames Dong2012-08-061-39/+9
| | | | | | o related-to-bug: 6566886 Change-Id: I39aad214cbf7b748a95a9d22db50cd8f421931e6
* Allocate buffers before calling start on its source in OMXCodec::start() for ↵James Dong2012-08-021-5/+17
| | | | | | | | | | | | encoder case o This makes it possible to configure the source to use the same number of input buffers as requested by the video encoder, before the source starts. As a result, hardcoded number of video buffers for camera source, for instance, can be avoided. o related-to-bug: 6920805 Change-Id: I13d2c308dce34967768cd407f02988e92ef10a89
* Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-devEd Heyl2012-07-291-3/+10
|\ | | | | | | | | | | | | Conflicts: services/audioflinger/AudioFlinger.cpp Change-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b
| * Process EBD and FBD messages in ERROR stateHaynes Mathew George2012-06-281-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | - OMXCodec::on_message() function drops all OMX messages if OMXCodec is in ERROR state - This can cause EBD/FBD messages containing valid buffers to be dropped - Avoid dropping EBD/FBD messages so that buffer book-keeping is still possible Change-Id: Idc1174b3fa946b26458d49394b87fba1738b228e Signed-off-by: Iliyan Malchev <malchev@google.com>
| * 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
* | Codecs: Add MetaDataMode support to software video encoders.Eino-Ville Talvala2012-07-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This support is needed to enable efficient video recording with emulator and camera HAL 2. - Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode extension. - Allow CameraSource to handle opaque pixel formats, so that MetaDataMode can be used. - Remove hardware codec restriction for MetaDataMode Bug: 6243944 Change-Id: I970eb3d55542a413b6d75a78f76d3a8583155601
* | Update ANativeWindow client code for syncJamie Gennis2012-06-211-30/+8
|/ | | | | | | 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
* stagefright: set scaling mode for blank framesJamie Gennis2012-06-141-0/+8
| | | | | | | | This change sets the ANativeWindow scaling mode before pushing the blank frames during decoder tear down. Bug: 6603254 Change-Id: Ic64011645e2d3671b4a8d302ac7f39e6fd3affcd
* Revert "Added some informational log messages to track down ANR related issues"James Dong2012-06-111-3/+2
| | | | | | This reverts commit c558fa89016ba9583049b84dc57e66a913cabde8. related-to-bug: 6565826
* Added some informational log messages to track down ANR related issuesJames Dong2012-05-291-2/+3
| | | | | Change-Id: Ie991c86e75d58f7eb4c9f524815c4de054d5f262 related-to-bug: 6565826
* Force shutdown of the omx decoder even if it's in a wedged state...Andreas Huber2012-05-291-7/+31
| | | | | Change-Id: I5899928a3df4bcf7715769992955a0b834db1e2f related-to-bug: 6571060
* Fix a mediaserver crash caused by dereferencing a NULL pointer.James Dong2012-05-211-5/+5
| | | | | | | | | The pointer (info in method drainInputBuffer) in can be null at the point of the dereference, but it will get updated subsequently. Thus, we should move the logging after the pointer gets updated. related-to-bug: 6530159 Change-Id: Ifa5f19a694953af6942454e5c28cd3fa024f11d2
* Log which OMX component is not returning all buffers to us on executing->idle.Andreas Huber2012-05-151-6/+16
| | | | | Change-Id: I8cd102cc5b1f3c9c36e3c5832ae4bee75c471efd related-to-bug: 6498711
* OMX IL wrapper for FLAC encoderJean-Michel Trivi2012-05-091-0/+2
| | | | | | | | | | 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-7/+4
| | | | | | | | OMXCodec o related-to-bug: 6446245 Change-Id: I1fa07ad8a39337e3b19ac51c10533a2de8c11bb5
* Impl for supporting two video scaling modesJames Dong2012-05-011-15/+0
| | | | | | | | | o allows the video scaling mode to change at any time o also remove the scaling mode logic in OMXCodec.cpp o related-to-bug: 5454345 Change-Id: I6f1714eb0c2774591ce650d56c1e779b8afd085f
* Removed software video encoders that are not OMX-based.James Dong2012-04-301-6/+0
| | | | | | o related-to-bug: 5933287 Change-Id: I63635375e2bef00733b61adc3fa12c29df7e2155
* Fix mono gapless playback for decoders that output stereoMarco Nelissen2012-04-301-8/+4
| | | | | | | | | | | | | 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-4/+8
| | | | Change-Id: I6cd499d257d72f50a5b508bed97796a591a51506
* Make sure OMXCodec and ACodec both accept more than 2 channels of audioAndreas Huber2012-04-241-8/+65
| | | | | | and fill in the OMX channel mask properly. Change-Id: I915950a0b252142b9eb3277cf7c6e0d9f5875305
* Add a few more APIs to MediaCodecList.Andreas Huber2012-04-021-43/+57
| | | | Change-Id: I5ac193cd40c82bbcd87c1e55003b78102e8d4674
* Implementation of a raw audio "decoder".Andreas Huber2012-03-291-0/+10
| | | | Change-Id: Ie89f01e59dd8106883937188afbb407550f0ac92
* Add ABuffer support to SkipCutBufferMarco Nelissen2012-03-291-2/+1
| | | | | | | | Add support for ABuffer to SkipCutBuffer, and make it (re)allocate an appropriately sized buffer when needed, rather then relying on the caller to tell it ahead of time how big the buffers are going to be. Change-Id: I8b5c9ba5dd2fc13ef8870b7d4fe93a1bfdc7a626