summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OMXCodec.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-6.0.1_r66' into HEADJessica Wagantall2016-09-071-1/+3
|\ | | | | | | | | | | Android 6.0.1 release 66 Change-Id: I1d3eb6b66b7482149fe93647c278065fa46dc518
| * OMXCodec: check IMemory::pointer() before using allocationRobert Shih2016-07-211-1/+3
| | | | | | | | | | Bug: 29421811 Change-Id: I0a73ba12bae4122f1d89fc92e5ea4f6a96cd1ed1
* | OMXCodec: Remove kClientNeedsFrameBuffer for S3DChristopher N. Hesse2016-06-091-3/+0
| | | | | | | | | | | | | | | | Upstream commit 0bb5ced removed support for this flag. Reference: https://github.com/CyanogenMod/android_frameworks_av/commit/0bb5ced60304da7f61478ffd359e7ba65d72f181 Change-Id: I56c8c0957b556f70b1a52cd6dd8a2bdd8f958381
* | Merge tag 'android-6.0.1_r46' into HEADJessica Wagantall2016-06-071-44/+0
|\ \ | |/ | | | | | | | | Android 6.0.1 release 46 Change-Id: I4fcabf5775aebd2cb8dc0e352d1b1460d3214573
| * Fix size check for OMX_IndexParamConsumerUsageBitsMarco Nelissen2016-04-211-44/+0
| | | | | | | | | | | | | | | | since it doesn't follow the OMX convention. And remove support for the kClientNeedsFrameBuffer flag. Bug: 27207275 Change-Id: Ia2c119e2456ebf9e2f4e1de5104ef9032a212255
* | OMXCodec: fix potential OOB read in parseHEVCCodecSpecificDataRobert Shih2016-03-221-1/+4
| | | | | | | | | | Bug: 23279597 Change-Id: Ibaa3d52e586e65230ec6df3680d9456ce873390c
* | Move overflow checks into SkipCutBufferMarco Nelissen2015-12-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Previously SkipCutBuffer would check its input parameters to ensure they were sane, however since bogus values might be the result of overflows, and overflow protection was recently turned on for libstagefright, the compiler's overflow checks were performed before SkipCutBuffer's, resulting in abort rather than just ignoring the bogus values. Moving the multiplication by framesize into SkipCutBuffer fixes this. Change-Id: I1ad6744bb045a5212701bbf6ee44eecb5f318210
* | stagefright: Add OMX.ffmpeg. checkingKeith Mok2015-12-071-1/+2
| | | | | | | | | | | | | | Port from L, add "OMX.ffmpeg." checking in additional to "OMX.google." for software codec Change-Id: I3ef70a965573d7c2818236a70d4f99b6b7873468
* | stagefright: Clear mNoMoreOutputData flag during seekingJia Meng2015-12-071-0/+1
| | | | | | | | | | | | | | | | | | For some 3rd party players, stop won't be called when playing to the end. If seeking happens after that, we need to clear this flag to make it be ready for subsequence data flow. Change-Id: I9b2d18d03225420a45821ba7536cdc91d52b1312 CRs-Fixed: 755988
* | libstagefright: Handle MPEG4 DP playbackLeena Winterrowd2015-11-301-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the HW decoder doesn't support MPEG4 DP clips, detect DP format clips in the parser and report a new MIME: video/mpeg4-esdp. This MIME is only registered to the SW decoder which supports DP clips. Merges the following change from kitkat: libstagefright: Fix DP Parsing issue with mpeg4 SP,ASP (Change-Id: I69c719011e1a0d2a0b0ae5a9b504b7cce443866b) CRs-Fixed: 722066 Change-Id: I7bc3a7a9f4a6d37e046ed9c8008cb27fb3bc665d
* | stagefright: Squashed commit of pause/resume featuresSteve Kondik2015-11-071-6/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 2 APIs (suspend/resume) in MediaPlayer - API:suspend() will just pause the player and release all the decoders to replace release() which will release the whole player - API:resume() will just init the decoders again, then start() will be called to restart streaming playback - Add a check in AwesomePlayer::onVideoEvent() to make sure the first seek operation will always seek to the next i-frame Change-Id: Ie4c82906a2a056378119921a656128ebdc1007c4 audio: Add pause support for hardware omx component - ADSP doesn't enter sleep state after wma playback is paused and power suspended. - No support for NT session pause in case of hardware component. NT session need to be paused to put ADSP into power collapse. - Add support of pause in stagefright to ensure device enters suspend mode. Also add intermediate states to avoid concurrency issues between read and pause. Change-Id: I41b946b8c8805e6ee303646b63513b5b16514ef6 libstagefright: Drain input buffer on resume - Buffers returned from codec in paused state are not drained. When codec is resumed these buffers are not drained until the next flush, and may cause timed out issue. - Added change to drain input buffers for sw decoders when resuming. Change-Id: Ida2ab1d5dc3a1910accdd6fb89548262a912d8e7 CRs-Fixed: 569585, 574967 libstagefright: camcorder pause-resume implementation - Add pause resume feature in camcorder app. So that user can pause recording and resume later which results in a single recorded clip. Change-Id: Id19c45ae5bb85265aa4d5304b160ebf119d9575a libstagefright: support pause/resume for timelapse recording Modify the timestamp calculation mechanism in CameraSourceTimeLapse in order to support pause/resume. Change-Id: Icb02ea798b0b807ffb7ada2d1ef5b2414b74edfb
* | libstagefright: Make it possible to skip OMX buffer reallocationMichael Gernoth2015-11-071-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Some devices don't like the call to setParameter() at this point, so skip this call if enough buffers are already allocated. This check was present in KitKat but got removed when code to allocate extra- buffers was introduced. This is activated only for omap4 for now. Squashed 2nd commit: which does same for OMXCodec.cpp Change-Id: I9c1267c2a2a755bc16448a6049cb2e4aff0b65bb
* | Fix benign unsigned integer overflowChad Brubaker2015-11-051-1/+2
| | | | | | | | | | | | Bug:23110888 Change-Id: Ibd6f1c7a9204cf584536c1ee63f6a8e5c6e4aa59 (cherry picked from commit 69c1e038717d3462ea5991425ba009f0aed148d2)
* | stagefright: add Samsung S3D supportChristopher N. Hesse2015-11-041-0/+43
|/ | | | | | | | | | Taken from insignal: http://git.insignal.co.kr/insignal/arndale_octa-jb_mr1.1/android/platform/frameworks/av/commit/?h=arndale_octa-jb_mr1.1&id=f3667253827f206e455b54df47234a2d4db05826 Requires a device specific gralloc header with the following define: GRALLOC_USAGE_PRIVATE_NONSECURE. Change-Id: Ie1bb31b8b6fa38cfc263e2b327eb914e476c912c
* libstagefright: check overflow before memory allocation in OMXCodec.cppWei Jia2015-08-211-0/+3
| | | | | Bug: 23416608 Change-Id: I4dacd38ed42db8f4887c3ee386dc909451f4346f
* stagefright: add support for batching OMX eventsLajos Molnar2015-06-051-2/+5
| | | | | Bug: 20503131 Change-Id: I762c419ed1245f8b83fb1f6bf61e5557213ca07b
* stagefright: allow to overallocate OMX codec buffersLajos Molnar2015-06-011-3/+3
| | | | | | | | | Specify allottedSize for useBuffer and allocateBufferWithBackup, where OMX will see only the allottedSize, even though framework may allocate and use a bigger buffer. Bug: 13222807 Change-Id: Ibfa93f6c7b7c8ca0853ef17d4a0758e496eaf921
* stagefright: move native window helpers into SurfaceUtilsLajos Molnar2015-05-071-226/+14
| | | | | Bug: 20885565 Change-Id: I2ed14be8a7cb08b1ed4ea65cb9286dc1384fe64a
* stagefright: warnings be gone, some are now errors, use clangLajos Molnar2015-04-171-34/+47
| | | | Change-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c
* ulaw and alaw aren't limited to 8kHzMarco Nelissen2015-03-201-3/+7
| | | | | Bug: https://code.google.com/p/android/issues/detail?id=158490 Change-Id: Ib30e156c99a997db861bb85e17244a5effdd55cf
* am 7b66f713: am 57f75272: Merge "stagefright: add support for native ↵Lajos Molnar2015-02-041-1/+2
|\ | | | | | | | | | | | | flex-YUV formats" into lmp-mr1-dev * commit '7b66f713fc53ee81453763788c02f3c741d19520': stagefright: add support for native flex-YUV formats
| * stagefright: add support for native flex-YUV formatsLajos Molnar2015-02-041-1/+2
| | | | | | | | | | Bug: 17906609 Change-Id: I14116796eaa94aa8ae62dcc29f67cb7d2c060d34
* | resolved conflicts for merge of e5ba80c5 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-271-3/+1
|\ \ | | | | | | | | | Change-Id: Iea12c8a6cabf84584e4a89ad80e298c1f4ea3dd7
| * | Stagefright: Fix unused variables, functions, valuesAndreas Gampe2014-11-251-3/+1
| | | | | | | | | | | | | | | | | | | | | For build-system CFLAGS clean-up, remove unused functions and variables. Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
* | | am 902dc42d: am 07715ac3: Merge "C++11 compatibility."Dan Albert2014-11-201-4/+4
|\ \ \ | |/ / | | / | |/ |/| * commit '902dc42d79b075395d484ce1c71f215b199aaa2a': C++11 compatibility.
| * C++11 compatibility.Dan Albert2014-11-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix string literal concatenation to not be interpreted as UD literals. * Add constexpr compatibility for non-integral static members. * Use __typeof__ instead of typeof (should become decltype once this actually becomes C++11). * Add an appropriate cast for atomic_uintptr_t, since moving to C++11 means moving from <stdatomic.h> to <atomic>, which has better typechecking (hooray for not macros!). Bug: 18466763 Change-Id: I9561dcb2526578687819ff85421ba80d8e1a9694
* | stagefright: add runtime debug supportLajos Molnar2014-11-121-270/+55
| | | | | | | | | | Bug: 18285408 Change-Id: I56346f4652b2c5f7ef5fa3003fd8676051339384
* | libstagefright: compile errorsMark Salyzyn2014-10-081-0/+1
|/ | | | Change-Id: I752d7d73f9c4939160a1ccaefc44ce1f8ffd9982
* stagefright: allow P-frames spacing of 0 and 1Lajos Molnar2014-09-041-1/+0
| | | | | Bug: 17387418 Change-Id: Ib966496b4ca220d96fb3741c29002c13cd2db848
* stagefright: Fix thumbnail generation for some clips.Ronghua Wu2014-08-191-7/+1
| | | | | | | | | | Fix thumbnail generation for clips that include an immediate resolution change: * Enable dynamic resolution change, when port settings may change while we have filled buffers. * Handle the case when port settings change happens right after stop is called. Bug: 16210021 Change-Id: I8b2c48365d74ce7551f000a1f4b0711647a9796f
* stagefright: support flexible YUV formatLajos Molnar2014-08-071-1/+19
| | | | | | | | - Report flexible format for standard OMX formats that are flexible. - Accept flexible format when specifying video port formats. Bug: 10706245 Change-Id: I9e82bc895bb0d5d606eb05fdf83bec766eaa2046
* stagefright: rework media codec list and infosLajos Molnar2014-08-071-13/+13
| | | | | | | | This is in preparation of serving the codec list and codec infos from the mediaserver Bug: 11990470 Change-Id: Ib8e2708679c9ce461a4ba179974a740cdcdf2731
* stagefright: added support, and SoftOMX decoder, for HEVCHarish Mahendrakar2014-06-061-1/+73
| | | | | | | | also fixed QuerySupportedProfileLevels in SoftVideoDecoderOMXComponent.cpp Bug: 14571712 Change-Id: Ifa3793f7c1b18ac5e8c0a096848c998cabd9e777
* 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)