summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* am 23d64420: Merge "Stagefright: idle OMX after ANW errors" into ics-mr0Dave Burke2011-10-191-1/+20
|\ | | | | | | | | * commit '23d644202a44383bf008ff86f6faa3ea7e447290': Stagefright: idle OMX after ANW errors
| * Merge "Stagefright: idle OMX after ANW errors" into ics-mr0Dave Burke2011-10-191-1/+20
| |\
| | * Stagefright: idle OMX after ANW errorsJamie Gennis2011-10-191-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes an issue in Stagefright where the state of an OMXCodec object can get out of sync with the state of the OMX component. In particular, if one of the ANativeWindow functions failed and put the OMXCodec into the ERROR state, this would cause Stagefright to skip doing the Executing -> Idle transition. Without this transition the freeBuffersOnPort call would never be made, and the MediaBuffers would end up being leaked (which would also leak the Gralloc buffers they reference). Bug: 5333695 Change-Id: I85ea0cf92d18e7ef6d35c7d1e2a7b4e2c9745d34
* | | am 5264f600: Merge "Bail out after kMaxColorFormatSupported calls to ↵James Dong2011-10-181-7/+16
|\ \ \ | |/ / | | | | | | | | | | | | | | | OMX_GetParameter(). Avoid infinite loop in querying omx component about the supported color format." into ics-mr0 * commit '5264f6003bbcb8ca70df034379154914260cc322': Bail out after kMaxColorFormatSupported calls to OMX_GetParameter(). Avoid infinite loop in querying omx component about the supported color format.
| * | Bail out after kMaxColorFormatSupported calls to OMX_GetParameter().James Dong2011-10-181-7/+16
| |/ | | | | | | | | | | | | Avoid infinite loop in querying omx component about the supported color format. Change-Id: I4997efd36462c792a6d8b5e04c79a80966a559fe related-to-bug: 5466057
* | Merge "Support for an MPEG2 Program Stream extractor."Andreas Huber2011-10-131-1/+10
|\ \ | |/ |/|
| * Support for an MPEG2 Program Stream extractor.Andreas Huber2011-09-301-1/+10
| | | | | | | | Change-Id: I606d87c278f72b22a5b6d7ee57bce6b02e280d41
* | Set crop params to ANative Window during Initialization.Lakshman Gowda2011-10-051-16/+22
|/ | | | | | | | | | | | The native_window_set_crop() is called when port reconfig event callback comes from decoder's and crop parameters are changed from default getconfig() OMX_IndexConfigCommonOutputCrop values. Since the default crop params are same as port reconfig crop params, the native_window_set_crop() is not called, hence resulting in displaying the whole frame(paddedWidth x paddedHeight). By calling native_window_set_crop() during initilaization of output port of decoder ensures in setting up ANative window to crop region. Change-Id: I68926464a1f5c7e6053804615c8b9bd32ea85688 Signed-off-by: Lakshman Gowda <lakshman79@ti.com>
* Gracefuly return on detecting wrong AAC format from corrupted filesGilles-Arnaud Bleu-Laine2011-09-301-6/+22
| | | | | | | | | | | Return BAD_VALUE error upon detection of wrongly formatted files. The client should abort the initialization upon error detection. The current CHECK() interrupts the configurecodec() preventing a graceful exit. Change-Id: Ic79313fa76a63284897df5d91635de87d06f3100 Signed-off-by: Gilles-Arnaud Bleu-Laine <gilles@ti.com>
* Support AMR, G.711 and vorbis audio in ACodec and friends.Andreas Huber2011-09-281-0/+2
| | | | Change-Id: I08c03219bf2d60fc5c6e89957bd4b4c615570983
* Cut down on AwesomePlayer and OMXCodec's verbosity.Andreas Huber2011-09-271-5/+5
| | | | | Change-Id: Ifd95717e8ea0fb0327099b16d72a6ed58c7c9924 related-to-bug: 5382014
* Change an assert failure due to unsupported level by HW AVC decoder and ↵James Dong2011-09-131-9/+10
| | | | | | | report the error to applications Change-Id: I522a994981d86329ccc86c3b536b561dc6e40eeb related-to-bug: 5300618
* Don't check mFilledBuffers whether it is empty or not when the port ↵James Dong2011-09-091-3/+8
| | | | | | | reconfiguration is not meant for buffer reallocation Change-Id: Iee9b18449bce9d7565ab5cc7f9e999484051196c related-to-bug: 5233843
* Don't overwrite pending port setting change if there are more than one port ↵James Dong2011-09-011-2/+4
| | | | | | | setting change event. Change-Id: I3413f5235b191031252aa3785f5aaef00caef1ce related-to-bug: 5122512
* Fix a crash where the EOS was signalled but some output buffer were still ↵James Dong2011-08-301-1/+1
| | | | | | | pending. Change-Id: Ide111264501441b51bb10629ae2021accf9e1fb5 related-to-bug: 5234126
* Merge "Port setting change should happen before receiving any filled frame."Chih-Chung Chang2011-08-241-0/+1
|\
| * Port setting change should happen before receiving any filled frame.Chih-Chung Chang2011-08-231-0/+1
| | | | | | | | Change-Id: I12a54b80e7ef958b6d451b7add110d38f05ec439
* | Testing the GL/ CPU encoding w/ Gralloc buffersPannag Sanketi2011-08-241-2/+13
|/ | | | | | | | | | | | | | | This is the test for Gralloc buffers based encoding. contains a combination of two main changes: 1. GL based encoding tests added to SurfaceMediaSource_test 2. SurfaceMediaSource ::read() colorformat The SurfaceMediaSource::getformat() sets it to OMX_COLOR_FormatAndroidOpaque. The omx encoder needs to interpret that colorformat and reads the format from the Gralloc buffers directly Change-Id: Iee2fe8901384109a4952e1d6c528c59eb01eb5b1
* Don't time out prematurely for video encoding waiting for output buffersJames Dong2011-08-161-1/+8
| | | | | | | | o For timelapse video encoding, the timelapse between two neighoring input frames could be very long Change-Id: I2b6f9c392f2237deae71c894efc7fc3692431796 related-to-bug: 5160548
* When using "secure input buffer mode" we instantiate a different OMX componentAndreas Huber2011-08-101-3/+11
| | | | | | We form the new component name by appending the suffix ".secure". Change-Id: I509848b50ae92edb179a941493ca611f923213ec
* Revert "Notify the OMX component that it's going to be used in "secure" mode."Andreas Huber2011-08-101-23/+0
| | | | This reverts commit 7616178271e95f009452a21ea45e7225997dc27a.
* Notify the OMX component that it's going to be used in "secure" mode.Andreas Huber2011-08-081-0/+23
| | | | | Change-Id: Id87c4b295eb38f7d24045918e73df298d7b842f9 related-to-bug: 5137212
* Removing hack for framerate setting in Stagefright for encoders.Sarthak Aggarwal2011-08-021-5/+0
| | | | | | | | | | Ducati binary starting to support frame-rate on i/p port rather than o/p port, stagefright can start giving frame-rate frame rate on i/p port and 0 on o/p port. Change-Id: I70830747e43e6bfcac73f0fb01de0ab0235a7b28 Signed-Off-By: Sarthak Aggarwal<sarthak@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* Merge "Do not wait forever for output buffers in OMXCodec.cpp and error out ↵James Dong2011-07-241-10/+23
|\ | | | | | | in case time out happens"
| * Do not wait forever for output buffers in OMXCodec.cpp and error out in case ↵James Dong2011-07-151-10/+23
| | | | | | | | | | | | | | | | time out happens o Deal with vendor codec hang bug Change-Id: Ic8449afd43045f09a9e0bd3d1be9a320e59ccabe
* | QueryCodecs() signature changeJean-Michel Trivi2011-07-221-0/+7
| | | | | | | | | | | | | | Restore QueryCodecs() signature exactly as used by third-party libs. Add an alternative function to select HW only codecs. Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
* | 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
* | Merge "Add option to query hardware decoders only"Jean-Michel Trivi2011-07-181-16/+11
|\ \ | |/ |/|
| * Add option to query hardware decoders onlyJean-Michel Trivi2011-07-181-16/+11
| | | | | | | | | | | | | | | | | | Add an option to OMXCodec::QueryCodecs() to filter out software codecs. Update stagefright command line tool to list the roles of codecs. Change-Id: Icddb79118c30fe13cc3aea20f340174cc082c4e0
* | Merge "Revert "Add some logging to track down where ANR happens during ↵James Dong2011-07-141-2/+1
|\ \ | | | | | | | | | MediaPlayer._release().""
| * | Revert "Add some logging to track down where ANR happens during ↵James Dong2011-07-141-2/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | MediaPlayer._release()." This reverts commit a5293d1ca4459293f4993ea39c09ea703a022844. Conflicts: media/libstagefright/AwesomePlayer.cpp Change-Id: I2a5960208a6780b9a44ab5cce0ffc0e2fb28f426
* | Remove old-style software decoders.Andreas Huber2011-07-131-85/+7
|/ | | | Change-Id: Ie0729d6a65470ffdc38229791f25a75a22c724d8
* Add support for TI H264 encoderDandawate Saket2011-07-121-1/+27
| | | | | | | | | | Add support for TI H264 encoder and quirks for buffer allocation. Temporary switching to baseline profile till ctts patch is defaulted as per profile detection. Change-Id: I1d56184b9c5d5f00d6c63aef7e058f3d56b84cef Signed-off-by: Dandawate Saket <dsaket@ti.com> Signed-off-by: Iliyan Malchev <malchev@google.com>
* Use advertised h264 encoding parameters by default if the profile is not ↵James Dong2011-07-081-7/+6
| | | | | | | | baseline o Force to use AVC baseline profile for camcorder low quality videos Change-Id: I3424c57dd0c55fc4991f5767b57695c8f3420ecb
* Support a "secure input buffer" mode for use by Widevine DRM in OMXCodec.Andreas Huber2011-07-011-42/+146
| | | | Change-Id: Ie03b285265099dbac9b12f3f41d9ad758d0b50ad
* Fix a format string that triggered a compile-time warning in OMXCodec.cppAndreas Huber2011-06-291-1/+1
| | | | Change-Id: Ib4b6cce1b4102034605da8edfb0dd8bc9a578168
* Log video dimensions and crop rectangle.Andreas Huber2011-06-271-1/+8
| | | | Change-Id: Ia56b09df4f6e9a14c4dcc499a6637fc39f8e3bb5
* Integrating TI OMAP4 Video DecoderAnu Sundararajan2011-06-231-2/+11
| | | | | | | | | | | | Added the video decoder component name to kDecoderInfo. Set the quirks for the video decoder. Add a new color format to OMX_IVCommon.h to denote TI OMAP4 NV12 color format. Added a color conversion routine [ from NV12 to RGB ] for thumbnail generation. Change-Id: I6b23c36441645ef65ec7406ba262d19f89cf64fd Signed-off-by: Devaraj Rangasamy <dev@ti.com> Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com> Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
* When a recording session is stopped, no outstanding input video frames exist ↵James Dong2011-06-201-6/+13
| | | | | | | | | | | for the output buffers returned from OMX component to SF. When this happens, default value of 0 will be used for the "decoding" time for these output buffers. These buffers do not contain valid media data anyway. related-to-bug: 4725803 Change-Id: I0eaf248bb2ac022ff072eaffd0ed3f21171f824e
* Add B frame support for MPEG4WriterJames Dong2011-06-131-0/+24
| | | | | | o requires the support of negative ctts duration values (ctts version 1) Change-Id: Ib14130c9359c3bff3c76f20a7380d468a065dcaf
* Call storeMetaDataInVideoBuffers() before get/setParameters() on index ↵James Dong2011-06-081-9/+10
| | | | | | | | | OMX_IndexParamPortDefinition This can potentially save lot of memory for video recording use case since the video encoder can advertise a much smaller size of the input buffers which are allocated by SF by default. Change-Id: I582a356cd02c7852e13f2713d90ad5f1eb43177d
* Merge "Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.h"James Dong2011-06-031-4/+0
|\
| * Move OMX_QCOM_COLOR_FormatYVU420SemiPlanar definition to OMX_IVCommon.hJames Dong2011-06-031-4/+0
| | | | | | | | Change-Id: I5cbc7246a63301fa7ff735fa3d6512e940608d2b
* | Merge "Initial-checkin for ON2 Software AVC/H264 decoder"James Dong2011-06-031-0/+1
|\ \
| * | Initial-checkin for ON2 Software AVC/H264 decoderJames Dong2011-06-021-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | o when neon is present, the performance gain of On2 AVC software decoder over PV software decoder is more than 30%. o In addition, it fixes some known PV software decoder issues like missing output frames o allow both pv and on2 software avc to be available for easy comparision o change output frames from 8 to 16 Change-Id: I567ad1842025ead7092f0c47e3513d6d9ca232dd
* | Don't advertise the (old-style) software decoders unless they're actually ↵Andreas Huber2011-06-021-0/+2
|/ | | | | | present. Change-Id: I3753a21e1a7de86432c9c087be9d52028e3a1e1b
* Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.Andreas Huber2011-05-251-1/+7
| | | | Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
* resolved conflicts for merge of d5762583 to masterJames Dong2011-05-241-1/+2
|\ | | | | | | Change-Id: Icba2bcdbc9f967288a65c930b198405fd8566abd
| * Add some logging to track down where ANR happens during MediaPlayer._release().James Dong2011-05-231-1/+2
| | | | | | | | | | | | | | o add a log message in AwesomePlayer::reset before acquiring the lock Change-Id: I9f228f615f99c03c394e9d0dd78c855c0b9fcfbb related-to-bug: 4409547
* | Properly forward rotation information from input format to output format.Andreas Huber2011-05-181-2/+10
| | | | | | | | | | | | | | The software renderer would otherwise never rotate videos as it only has access to the decoder's output format. Change-Id: If893c0c23d0e85a3d9d4eb94390a114af5514b1c