summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Send 64 bit OMX codec handling to 32 bit MediaServerAndy Hung2014-05-141-0/+6
| | | | | | | | | This is a temporary fix for 64 bit OMX handling until 64 bit codecs are more robust. Bug: 13938273 Change-Id: Ifc79e360f9606f6c909b859d322b7dd5d416b26b Signed-off-by: Andy Hung <hunga@google.com>
* Update OMX messages for 64 bitAndy Hung2014-05-141-22/+22
| | | | | | | | | Change node_id and buffer_id to uint32_t. Ensure IOMX messages are fixed size. Remove 64 bit compile warnings in associated files. Change-Id: Icdbef00aca575e5dc502ebb52e3ce7d0d7883203 Signed-off-by: Andy Hung <hunga@google.com>
* Remove legacy omx_message variablesAndy Hung2014-05-061-29/+9
| | | | | | | | | | Remove platform_private and data_ptr from omx_message. These were used for legacy deferred buffer creation. See OMXCodec quirks: kDefersOutputBufferAllocation and kRequiresAllocateBufferOnOutputPorts. Change-Id: I94da56bc64f3b46ee1276e93d67b36c1662e2eaf Signed-off-by: Andy Hung <hunga@google.com>
* am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70dMark Salyzyn2014-04-151-13/+15
|\ | | | | | | | | | | * commit 'e80631aa1992ca50af679cd6a018c0ffda7f9b17': media: use size_t for integer iterator to Vector::size() media: 64 bit compile issues
| * am 839d11d1: Merge changes I0a744dc7,Id993a70dMark Salyzyn2014-04-151-13/+15
| |\ | | | | | | | | | | | | | | | * commit '839d11d1f7be9dff2f06c7d30a9eb39cb6782078': media: use size_t for integer iterator to Vector::size() media: 64 bit compile issues
| | * media: 64 bit compile issuesMark Salyzyn2014-04-151-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | - change internal sized types to use stdint.h - printf & scanf formats - size_t or unsigned int for iterators Change-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446
| * | am f780d28d: Merge "DO NOT MERGE: Revert "mediaplayer: keep more buffers ↵Lajos Molnar2014-03-281-29/+9
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | with the BufferQueue"" into klp-dev * commit 'f780d28de2e3cf7f6b26b9626321dba75719736e': DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"
| | * | DO NOT MERGE: Revert "mediaplayer: keep more buffers with the BufferQueue"Lajos Molnar2014-03-271-29/+9
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b635b0e66b257ab442e230bca96afd5105cf6829. Bug: 13655631
| * | | am 3d4e4fcb: Merge "DO NOT MERGE: Revert "stagefright: allow for ↵Lajos Molnar2014-03-281-6/+4
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | minUndequeuedBufs to be one less"" into klp-dev * commit '3d4e4fcbcfc5c16dd794591727f5c713831ab6dc': DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"
| | * | DO NOT MERGE: Revert "stagefright: allow for minUndequeuedBufs to be one less"Lajos Molnar2014-03-271-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit a0470879e25394cb85437366fa53ce8055cd556f. Bug: 13655631
* | | | am bd1f8f0a: am fb28c384: am 1faa4170: stagefright: allow for ↵Lajos Molnar2014-03-191-4/+6
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | minUndequeuedBufs to be one less * commit 'bd1f8f0a5cc55761edfbd2a472e229dd4b0d2cdf': stagefright: allow for minUndequeuedBufs to be one less
| * | | am 1faa4170: stagefright: allow for minUndequeuedBufs to be one lessLajos Molnar2014-03-191-4/+6
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '1faa41704e0b976e546321effcb09a85767d51ba': stagefright: allow for minUndequeuedBufs to be one less
| | * | stagefright: allow for minUndequeuedBufs to be one lessLajos Molnar2014-03-191-4/+6
| | | | | | | | | | | | | | | | | | | | Bug: 13533477 Change-Id: I909324e3e24f65d8051e0d5474267620efcfc729
| * | | am b635b0e6: mediaplayer: keep more buffers with the BufferQueueLajos Molnar2014-03-191-9/+29
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit 'b635b0e66b257ab442e230bca96afd5105cf6829': mediaplayer: keep more buffers with the BufferQueue
| | * | mediaplayer: keep more buffers with the BufferQueueLajos Molnar2014-03-191-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: 13170236
| * | [DO NOT MERGE] Support TS + AC3 for ATSC standardChangwan Ryu2014-02-031-0/+51
| | | | | | | | | | | | Change-Id: I141667f3f54b242bafdf0ab9db86852c56f49ffa
| * | Support for MPEG2 videoChangwan Ryu2014-01-211-0/+2
| |/ | | | | | | Change-Id: If1f4e20939c96c87c65c84d56e529501facb8597 (cherry picked from commit 774eb18c40c3a7da0bc1636a9779f02315ddbad8)
* | 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