summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/ACodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use gettid directly.Elliott Hughes2014-08-181-1/+1
| | | | | Bug: 17048545 Change-Id: I5ae40c2de1afc2a59f0b28e81c25f0c404368408
* Update OMX messages for 64 bitAndy Hung2014-06-121-29/+28
| | | | | | | | | 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>
* am 0c388650: Merge "ACodec: add frame render/drop systrace"Lajos Molnar2014-05-011-0/+7
|\ | | | | | | | | * commit '0c388650722ac53571be21ee04ce342c1c9510c2': ACodec: add frame render/drop systrace
| * ACodec: add frame render/drop systraceLajos Molnar2014-04-301-0/+7
| | | | | | | | Change-Id: I7a33d4a937d039fd454b889ddb12b7ca1c0ff3c2
* | Merge commit '91820d46b5f3065c2fded3cdf65d305715b33bb1' into HEADBill Yi2014-04-291-26/+85
|\ \ | |/ |/|
| * am 1faa4170: stagefright: allow for minUndequeuedBufs to be one lessLajos Molnar2014-03-191-3/+4
| |\ | | | | | | | | | | | | * commit '1faa41704e0b976e546321effcb09a85767d51ba': stagefright: allow for minUndequeuedBufs to be one less
| | * stagefright: allow for minUndequeuedBufs to be one lessLajos Molnar2014-03-191-3/+4
| | | | | | | | | | | | | | | Bug: 13533477 Change-Id: I909324e3e24f65d8051e0d5474267620efcfc729
| * | am b635b0e6: mediaplayer: keep more buffers with the BufferQueueLajos Molnar2014-03-191-21/+26
| |\ \ | | |/ | | | | | | | | | * commit 'b635b0e66b257ab442e230bca96afd5105cf6829': mediaplayer: keep more buffers with the BufferQueue
| | * mediaplayer: keep more buffers with the BufferQueueLajos Molnar2014-03-191-21/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | am c69bc40a: Merge "Cap pts gap between adjacent frames to specified value" ↵Chong Zhang2014-03-131-1/+21
| |\ \ | | |/ | | | | | | | | | | | | | | | into klp-dev * commit 'c69bc40a347c411751cb082b3eb4a82d976a68ec': Cap pts gap between adjacent frames to specified value
| | * Cap pts gap between adjacent frames to specified valueChong Zhang2014-03-111-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - In the scenario of cast mirroring, encoding could be suspended for prolonged periods. Limiting the pts gap to workaround the problem where encoder's rate control logic produces huge frames after a long period of suspension. - Repeat last frame a couple more times to get better quality on static scenes. - Fix the timestamp on repeat frames (it was not set) Bug: 11971963 Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7 (cherry picked from commit 94ee4b708acfa941581160b267afb79192b1d816)
| * | am 2613347d: Merge "Added support to query ACodec whether adaptive playback ↵Lajos Molnar2014-03-071-0/+5
| |\ \ | | |/ | | | | | | | | | | | | | | | is enabled." into klp-dev * commit '2613347d74c3f35bc6fda5df1c29c1119c22d432': Added support to query ACodec whether adaptive playback is enabled.
| | * Added support to query ACodec whether adaptive playback is enabled.Robert Shih2014-03-061-0/+5
| | | | | | | | | | | | | | | Bug: 11854054 Change-Id: I6b0308aa8550c643706959277e46dad586c37297
| * | am 2338782d: Merge "Fixed misplaced bracket for switch-case block." into klp-devLajos Molnar2014-03-071-4/+4
| |\ \ | | |/ | | | | | | | | | * commit '2338782d18d9bcc8197c63dbf205332a2a737440': Fixed misplaced bracket for switch-case block.
| | * Fixed misplaced bracket for switch-case block.Robert Shih2014-03-061-4/+4
| | | | | | | | | | | | | | | Bug: 11854054 Change-Id: I66b410e1e19601ad65d8357bda4c0c58e2dc15dc
| * | am 5db1e3a6: Merge "correct one logic error in decide whether should render ↵Lajos Molnar2014-03-071-1/+1
| |\ \ | | |/ | |/| | | | | | | | | | | | | or not" * commit '5db1e3a6f30c252ed61461dd8c58786e905e5f5a': correct one logic error in decide whether should render or not
| * | WA: Queue extra buffers on output port during reconfig if input EOS-edLajos Molnar2013-11-141-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some codecs may return input buffers before having them processed. This causes a halt if we already signaled an EOS on the input port. For now keep submitting output meta buffers one at a time if the input EOS-ed, but the output not yet. Normally, we submit an output buffer for each input buffer that is with the component (waiting to be processed). Change-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11433909
* | | warnings be gone.Andreas Huber2014-04-111-1/+1
| |/ |/| | | | | | | | | | | | | (cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36) Modified by Mark Salyzyn <salyzyn@google.com> to keep merge conflicts or errors downstream to a minimum. Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
* | correct one logic error in decide whether should render or notJianzheng Zhou2014-02-031-1/+1
|/ | | | | Change-Id: Ie41663f6fd5a7d983279f14a2228cb57231771bf Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
* Merge "configure bitrate and bitrate mode at encoder initialization for ↵Andreas Huber2013-11-121-0/+16
|\ | | | | | | VP8/9" into klp-dev
| * configure bitrate and bitrate mode at encoder initialization for VP8/9Andreas Huber2013-11-051-0/+16
| | | | | | | | | | Change-Id: I0389264db4102cabb0c6fcb4ca223d85cc9e86fb related-to-bug: 11536167
* | Restore NuPlayer error and EOS handlingLajos Molnar2013-10-301-3/+8
|/ | | | | | | | This was erroneously removed by commit a73c954 Change-Id: I4742339139e770f0181c99d427875897fd60b68e Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11413439
* Merge "MediaCodec: avoid codec EOS if flushing during port reconfiguration" ↵Lajos Molnar2013-10-041-4/+3
|\ | | | | | | into klp-dev
| * MediaCodec: avoid codec EOS if flushing during port reconfigurationLajos Molnar2013-10-021-4/+3
| | | | | | | | | | | | Change-Id: Ic2e93f38feeb2e906f8d6b400ed6df2b7580ca87 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 11045434
* | stagefright: enable adaptive playback based on codec format keyLajos Molnar2013-10-031-1/+41
|/ | | | | | | | | | | | 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
* Use changed MediaCodec.PARAMETER_KEY_VIDEO_BITRATE valueLajos Molnar2013-09-171-1/+1
| | | | | | Change-Id: I157bcafbf705865e66c81517b1eab10c3daa039e Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 10461617
* ACodec: fix flush/resume for decoder-output-meta-data modeLajos Molnar2013-09-121-2/+5
| | | | | | | | | | | | | | When in decoder-output-meta-data mode, ACodec does not hold onto buffers, but they are either with the native window, or with the component/client. However, for flushing we did not release the discarded buffers back to native window (this makes sense because they will be resubmitted shortly.) This logic can be handled by the normal resubmission. Change-Id: Ic472b386422251515ef12f426e187f208f14decc Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 10621959 Bug: 10192533
* You can now opt-in to having the video decoder push blank buffers to theAndreas Huber2013-08-141-1/+9
| | | | | | | surface on the transition from executing->idle by specifying the key "push-blank-buffers-on-shutdown" with a value of 1 in the call to configure. Change-Id: I1155fccf89f18e717728c985e590651597595515
* Merge "Optionally repeat the previously submitted frame to the encoder" into ↵Andreas Huber2013-08-131-1/+26
|\ | | | | | | klp-dev
| * Optionally repeat the previously submitted frame to the encoderAndreas Huber2013-08-131-1/+26
| | | | | | | | | | | | | | if no new frame has been delivered by surface flinger within the timeout interval. Change-Id: I282f1b726dfe5646b178d7858d6f5d4f5a264fde
* | Support for "request-sync" parameter in ACodecAndreas Huber2013-08-121-3/+18
|/ | | | | | Also returns errors to caller instead of asserting... Change-Id: Id3018655a2b3da4289167fba16af907350a511ae
* IOMX: add updateGraphicBufferInMeta method for metadata modeLajos Molnar2013-08-061-6/+11
| | | | | | | | | This is used to set the handle in the metadata buffer that is valid in the mediaserver process, as well as to keep a reference for the graphic buffers in BufferMeta. Change-Id: I46bb68d8bed894f357eeeb25368360d11b276634 Signed-off-by: Lajos Molnar <lajos@google.com>
* Merge "stagefright: set scaling mode for blank frames in ACodec"Dima Zavin2013-07-181-0/+8
|\
| * stagefright: set scaling mode for blank frames in ACodecDima Zavin2013-07-181-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Analogous to 1d5ac80d0c6d3deabcc9e9b4abc9e3ef536aeb27 (by jgennis), this sets the scaling mode for the ANativeWindow to SCALE_TO_WINDOW prior to pushing the blank frames during decoder tear down. Without this, the window defaults to FREEZE and SF ignores the new frames. Bug: 9516405 Change-Id: I39ef30922d733034bf01100d7ff24ac9c0c33b7d Signed-off-by: Dima Zavin <dima@android.com>
* | Support "suspension" of a video encoder in "surface-input" mode.Andreas Huber2013-07-171-0/+13
|/ | | | | | i.e. feed no more input frames to the encoder while suspended. Change-Id: I51391e18c1517548e869f8ddece19f4af37e78f9
* Merge "Adds VP9 decoding support for stagefright."Lajos Molnar2013-06-251-3/+6
|\
| * Adds VP9 decoding support for stagefright.hkuang2013-06-241-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | stagefright: support for video decoder metadata modeLajos Molnar2013-06-211-15/+186
|/ | | | | | Change-Id: Id360f29236798163f9f3a82135f601083a8a5058 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 7093648
* am f8af99b7: am 0662f7b6: Merge "stagefright: synchronously change ↵Lajos Molnar2013-06-121-13/+18
|\ | | | | | | | | | | | | nativewindow crop" into jb-mr2-dev * commit 'f8af99b7c10f1441d9a52676724b168f20752270': stagefright: synchronously change nativewindow crop
| * stagefright: synchronously change nativewindow cropLajos Molnar2013-06-111-13/+18
| | | | | | | | | | | | | | | | | | Only change the nativewindow crop before queuing frames with the new crop. Change-Id: Icd8a84c82e66a8be3d6bc1675c777b1de8dc39b9 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 9395753
| * stagefright: Fix port-reconfiguration & output-buffer-filled race conditionLajos Molnar2013-05-311-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | Remove the invalid assumption that when a port-reconfiguration event is received, buffers cannot be downstream (waiting to be rendered). Luckily, these buffers are properly handled (freed) after they are sent to be rendered. Change-Id: I1df39c1ffc2bfb96f8b7b4ee5be07cae654f956f Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 8736466
| * Don't render buffers that have size 0Marco Nelissen2013-05-101-1/+2
| | | | | | | | | | | | b/8857451 Change-Id: I12a31a2f85af76602db9e6f0ec80632954b3f7ed
| * Support MediaCodec::getOutputFormat for encodersAndreas Huber2013-04-301-83/+185
| | | | | | | | | | | | | | codec specific data is provided as part of the MediaFormat if available. Change-Id: I5a79c936e2411fe66ebc694791071faefc33941e related-to-bug: 8616651
| * A flush of a video decoder connected to a native window must reclaimAndreas Huber2013-04-191-0/+40
| | | | | | | | | | | | | | | | | | | | output buffers already queued for rendering before considering a flush completed. Otherwise the decoder may not have enough output buffers to continue decoding after the discontinuity and we'll never dequeue more from the native window. Change-Id: I42e275dc336568e180081c6d7c0dc05fc9637c79 related-to-bug: 8578467
| * Apparently the mp3 decoder glitches if it was configured with the wrongAndreas Huber2013-04-171-0/+13
| | | | | | | | | | | | | | sample rate. Make sure we tell it about the one the extractor provides. Change-Id: Ice5b9cf55485ca1a8f099a14be0202be9540e781 related-to-bug: 8621639
| * Merge "Fix MediaCodec.flush()" into jb-mr2-devMarco Nelissen2013-04-121-1/+4
| |\
| | * Fix MediaCodec.flush()Marco Nelissen2013-04-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two problems here. One was that the skip/cut buffer wasn't cleared when it should be, and the second was that we were always sending the first buffer of encoded data to the AAC decoder twice. b/8543366 Change-Id: Ic040edabf16cccd1f6ef8c9e5c9cfbacbdd8a089
| * | Merge "ACodec now signals an error if the mediaserver died while it is in" ↵Andreas Huber2013-04-121-8/+49
| |\ \ | | | | | | | | | | | | into jb-mr2-dev
| | * | ACodec now signals an error if the mediaserver died while it is inAndreas Huber2013-04-111-8/+49
| | |/ | | | | | | | | | | | | | | | | | | anything other than "uninitialized" state. Change-Id: Id133d897ac65b455b34e5de17ff9c39b47285630 related-to-bug: 8397711
| * | The framework really doesn't need to know the specifics of the codecAndreas Huber2013-04-111-8/+0
| |/ | | | | | | | | | | | | color format, so stop trying to enforce a whitelist. Change-Id: I0ceb3bdd5bcc6c1bbd56740b0cd662a2b5820dfe related-to-bug: 8596546