summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs
Commit message (Collapse)AuthorAgeFilesLines
* libstagefright: set actual stride info for SW encoder input portLajos Molnar2014-10-253-0/+12
| | | | | | | | | This fixes encoding flexible YUV content using SW encoders. Also skip setting input color format if it is flexible YUV, as it has already been translated to a color format supported by the codec. Bug: 18124320 Change-Id: I423782936986f4d6cf65ea9ef89ae77a92e30140
* Don't signal an error at the end of a short fileMarco Nelissen2014-10-161-21/+10
| | | | | | | Just signaling EOS is sufficient Bug: 17933838 Change-Id: I04a1af57378115731febe7cacb35af5e55d5db83
* am 48be19a4: am 2edda09a: stagefright: fix surface input handling of ↵Lajos Molnar2014-10-147-349/+72
|\ | | | | | | | | | | | | software encoders * commit '48be19a4a17cfc1e0627039bf740fffd2fcbd9f8': stagefright: fix surface input handling of software encoders
| * stagefright: fix surface input handling of software encodersLajos Molnar2014-10-137-349/+72
| | | | | | | | | | | | | | | | | | - added SoftVideoEncoder for common color conversion and extension handling logic - fix YUV420 SemiPlanar handling that should be NV12 not NV21 Bug: 17935149 Change-Id: I9b8d05678b1862dd37bf349ea83d67bdf1bb5560
* | am 1195142c: am 801a3ff8: Merge "handle case OMX_AUDIO_CodingG711 in ↵Chong Zhang2014-10-131-1/+8
|\ \ | |/ | | | | | | | | | | ACodec::getPortFormat" into lmp-dev * commit '1195142cec56fdfd509294da724ce3e13c628be5': handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormat
| * handle case OMX_AUDIO_CodingG711 in ACodec::getPortFormatChong Zhang2014-10-131-1/+8
| | | | | | | | | | Bug: 17935293 Change-Id: Id09190ae813aa9e00a3c1ef6fb8a1bd3021deb6e
* | libstagefright: compile errorsMark Salyzyn2014-10-082-0/+2
|/ | | | Change-Id: I752d7d73f9c4939160a1ccaefc44ce1f8ffd9982
* Recover from errorsMarco Nelissen2014-10-061-5/+14
| | | | | | | | | When the AAC decoder encounters an error, the lists of submitted and consumed sizes need to be resynchronized, to prevent timestamp drift. Bug: 17638652 Change-Id: Ia6d5f48dc36be355803589e4a5796b01559942b8
* Merge "stagefright: fix fake-stride handling for H263 SW decoder" into lmp-devRonghua Wu2014-10-031-2/+3
|\
| * stagefright: fix fake-stride handling for H263 SW decoderRonghua Wu2014-10-021-2/+3
| | | | | | | | | | | | | | | | | | - Use outputBufferWidth/Height to init H263 decoder. - Handle stride change when using fake stride. Bug: 17773094 Bug: 17326758 Change-Id: I66ce7b9c650383456923d75417c590e3a8a814e7
* | Merge "add AAC audio decoder params for PCM limiter enable" into lmp-devChong Zhang2014-10-011-0/+4
|\ \ | |/ |/|
| * add AAC audio decoder params for PCM limiter enableChong Zhang2014-10-011-0/+4
| | | | | | | | | | Bug: 17470065 Change-Id: Ib67aa1c50e3b6c24c4b12b0f31a996cc6874abd1
* | Fix SoftAAC2 flushMarco Nelissen2014-09-251-4/+8
| | | | | | | | | | | | | | | | | | If there were less than a full frame worth of samples in the ring buffer, then flush would loop forever trying to empty the ring buffer. Bug: 17646525 Change-Id: I68ec87352a91ce3a96d05e9b3f60a6e7975f9156
* | stagefright: fix cropping handling for SoftAVC and SoftMEPEG4.Ronghua Wu2014-09-243-15/+21
|/ | | | | Bug: 17326758 Change-Id: I9b0c281d92cf1803e275b1768e9edab9404ea577
* Merge "stagefright: add adaptive playback support to SoftHEVC decoder." into ↵Ronghua Wu2014-09-242-80/+125
|\ | | | | | | lmp-dev
| * stagefright: add adaptive playback support to SoftHEVC decoder.Ronghua Wu2014-09-232-80/+125
| | | | | | | | | | Bug: 17326758 Change-Id: I245e2bd1490e810094ca550fdddfa87075bc2056
* | Fix ringbuffer handlingMarco Nelissen2014-09-192-24/+19
| | | | | | | | | | | | | | | | | | | | | | Explicitly keep track of the number of samples in the ring buffer, rather than inferring it from the difference between the read and write pointer, since the latter cannot distinguish between a completely full and a completely empty buffer. Bug: 17582331 Change-Id: I24d16ce96710209b7457ffad7c4c60201451980f
* | Always consider first buffer to be configMarco Nelissen2014-09-181-0/+8
|/ | | | | | | | for backwards compatibility. Also fix a problem where writing 0 bytes to an empty ringbuffer would treat it as overflowed. Bug: 17567501 Change-Id: I8019da76466576e1b2984e9eccf09bdec593038a
* Fix null pointer dereferenceMarco Nelissen2014-09-171-2/+4
| | | | | Bug: 17544813 Change-Id: I6c94cd3056a99bb42fc71ee583938a2e3806fdc7
* Merge "Fix AAC timestamps for multiple aac frames per input buffer" into lmp-devMarco Nelissen2014-09-132-128/+200
|\
| * Fix AAC timestamps for multiple aac frames per input bufferMarco Nelissen2014-09-102-128/+200
| | | | | | | | | | | | | | Support multiple aac frames per input buffer also for non-ADTS streams, now also works with 5.1 audio. Bug: 16715379
| * Revert "Fix AAC timestamps for multiple aac frames per input buffer"Marco Nelissen2014-09-102-194/+128
| | | | | | | | | | | | | | | | This reverts commit e086387c805311ac87904c3c4d6d4eb08d4b4ee2. (broke multichannel movie playback) Bug: 17454025 Change-Id: I95b82359f87f8beca66f35c34b7e125850a44747
| * Fix AAC timestamps for multiple aac frames per input bufferMarco Nelissen2014-09-072-128/+194
| | | | | | | | | | | | | | Support multiple aac frames per input buffer also for non-ADTS streams. Bug: 16715379 Change-Id: I84f33d9bb65b6821b2a697f6750356cea98777c4
* | stagefright: add adaptive playback support to SoftMPEG decoder.Ronghua Wu2014-09-113-25/+29
| | | | | | | | | | | | | | This covers both MPEG4 and H263 adaptive playback. Bug: 17326758 Change-Id: I80a67b7f3ceab05e792f0a459439a8274bd78e20
* | stagefright: add adaptive playback support to SoftAVC decoder.Ronghua Wu2014-09-103-101/+48
|/ | | | | | | | Also change SoftVPX decoder to use common handlePortSettingsChanged and copyYV12FrameToOutputBuffer method. Bug: 17326758 Change-Id: I6fb2ee8fb9291f69c70493b8558af341adc1f4b2
* Fix the bug that same video frame has been decoded twice during port reconfig.hkuang2014-09-032-32/+38
| | | | | | | | | This does not hurt normal video playback. But in adaptive playback, this will lead to a little bit delay for some clips. Bug: 17202935 Change-Id: I5af0a5911e28a1597c74d79960fac25faf72c9d2
* Add adaptive playback support to VPX decoder.Ronghua Wu2014-08-284-32/+39
| | | | | Bug: 13842676 Change-Id: I9c054ea489fd3a71b3b2394f15a85b84d42edb5a
* stagefright: process CSD regardless of what port was last queuedLajos Molnar2014-08-231-3/+2
| | | | | | | | CSD is always on the input port, so it does not matter which port a buffer was last queued to. Bug: 17216852 Change-Id: I6d00eb4bf3c2e9b9cc3c9918229de958bc465693
* stagefright: allow to resubmit CSDs for SoftAAC2Lajos Molnar2014-08-221-208/+201
| | | | | Bug: 17118001 Change-Id: I45469b9aa6146edf3265b0f05f5ce3592b5daca6
* SoftAAC2: allow reconfiguring output after multiple output buffersRobert Shih2014-08-221-10/+1
| | | | | Bug: 17134697 Change-Id: Iaa8bdccbf1a8ccd3f898e48cfd22a0a443710fdd
* Merge changes Idc9808f7,If7bc8e5b into lmp-devDan Albert2014-08-098-0/+33
|\ | | | | | | | | | | * changes: Fix the build after -Bsymbolic fix. Fix PIC relocations for non-Bsymbolic builds
| * Fix the build after -Bsymbolic fix.Dan Albert2014-08-081-0/+4
| | | | | | | | | | | | Bug: 16853291 Change-Id: Idc9808f76e8be7afb70513c4036b57c91690728e (cherry picked from commit 8173554d5b5e25215e9c591a0dbb92b8c0ff082e)
| * Fix PIC relocations for non-Bsymbolic buildsArd Biesheuvel2014-08-087-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | The ARM assembly contains a couple of hand-coded PC relative references to data defined in other object files. Make sure the externs are tagged as hidden so the linker knows that it can resolve the reference locally at build time. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com> Bug: 16853291 Change-Id: If7bc8e5bb6a2c63b9df33666d56e6c42f398fd47 (cherry picked from commit 97e3e847179c17eb9059fb322413b6facd3e5a03)
* | AAC decoder: add support for controlling presentation parametersJean-Michel Trivi2014-08-081-1/+65
|/ | | | | | | | | Control the dowmixing of the AAC decoder Control the DRC processing of the AAC decoder Bug 16740915 Change-Id: I9b06ea8785f56213ea120ed85eeb360c88223297
* AAC encoder: add support for SBR mode selectionJean-Michel Trivi2014-08-052-3/+78
| | | | Change-Id: Ibc07bff7710398929c135f38324dd29857fa0ea6
* Resolution reinitialization changesNaveen Kumar Ponnusamy2014-07-122-107/+125
| | | | | | | | Decoder initialized to 320x240. When higher resolution comes, the decoder reinitialized to the resolution. Bug: 14571712 Change-Id: I6b6ad17dd87f0112ce7ccf4f6c17bb4c65b5d8af
* am 782be1ec: am 1c1b5e51: am c37eaa32: Merge "m4v_h263_enc: Use uint32_t for ↵Narayan Kamath2014-07-094-7/+7
|\ | | | | | | | | | | | | ULong" * commit '782be1ecf1022d4e2da714b5aebe51ab616e9975': m4v_h263_enc: Use uint32_t for ULong
| * m4v_h263_enc: Use uint32_t for ULongAshok Bhat2014-07-024-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | ULong is used in the encoder code as 32-bit unsigned integer type. But it has been defined as an unsigned long, which will be 64-bit on 64-bit platforms. This causes many problems including output mismatch between 32-bit and 64-bit code and crash in certain cases. This patch defines ULong as uint32_t. In addition, it uses uintptr_t at places where an address is cast to an integer to check for alignment. Change-Id: I2b0086824a5985b9fc4628ce6fbe81db156e37d2 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | Fix AAC timestampsMarco Nelissen2014-06-262-13/+29
| | | | | | | | | | | | | | | | | | | | | | When playing an mpeg-2 transport stream with AAC audio, there will be more than one packet per input buffer, resulting in multiple output buffers for each input buffers. Additional timestamps needs to be generated in that case. b/15755476 Change-Id: I2df50b0cb3690eb36d56871daa1263de0028db06
* | libstagefright: 64-bit compile warningsMark Salyzyn2014-06-261-1/+1
| | | | | | | | Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
* | Merge "Remove unneeded code"Marco Nelissen2014-06-101-6/+0
|\ \
| * | Remove unneeded codeMarco Nelissen2014-06-101-6/+0
| | | | | | | | | | | | Change-Id: I33c7424f1858e9f3f7f7ab5fb46db09c2714e02e
* | | add back HEVC SoftOMX decoderLajos Molnar2014-06-063-0/+853
| | | | | | | | | | | | | | | Bug: 14571712 Change-Id: Iea399e0cfec1f78584c74089f01821d8552ced40
* | | Remove SoftOMX HEVC decoderLajos Molnar2014-06-063-849/+0
| | | | | | | | | | | | | | | Bug: 14571712 Change-Id: Ie3fb3743ec27a0cfdea612052ba15a06f2c891db
* | | am 8a454611: Merge "stagefright: added support, and SoftOMX decoder, for ↵Lajos Molnar2014-06-063-0/+849
|\ \ \ | |/ / |/| | | | | | | | | | | | | | HEVC" into lmp-preview-dev * commit '8a45461198c69e9e15f133c2e11ded47fc4c708b': stagefright: added support, and SoftOMX decoder, for HEVC
| * | stagefright: added support, and SoftOMX decoder, for HEVCHarish Mahendrakar2014-06-063-0/+849
| | | | | | | | | | | | | | | | | | | | | | | | also fixed QuerySupportedProfileLevels in SoftVideoDecoderOMXComponent.cpp Bug: 14571712 Change-Id: Ifa3793f7c1b18ac5e8c0a096848c998cabd9e777
* | | Make AAC decoder behavior after flush consistent with non-flushMarco Nelissen2014-06-051-0/+1
| | | | | | | | | | | | | | | | | | Timestamps don't start at zero, but at least they're consistent. Change-Id: I2ce9cd60655a4ece787802902b679fda01cb6182
* | | am b6af7c63: am 05eaf105: Merge "Mp3decoder: Remove unused arm assembly files"Narayan Kamath2014-06-035-1413/+0
|\ \ \ | | |/ | |/| | | | | | | * commit 'b6af7c635113d288d16a4f549679beffd86822d8': Mp3decoder: Remove unused arm assembly files
| * | Mp3decoder: Remove unused arm assembly filesAshok Bhat2014-05-275-1413/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The unused ARM assembly files were written for legacy proprietary ARM compilers. They are not needed when gcc or clang compiler is used. Change-Id: I8dfe9ad458efbb34922094e943ad334cc34f59a3 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | | AAC decoder: compensate limiter delayJean-Michel Trivi2014-05-295-218/+973
| |/ |/| | | | | | | | | | | | | | | | | | | Add decoder limiter delay compensation to decoder wrapper Includes a wrapper function for SoftAAC2.cpp which selects DRC-related decoder parameters according to information in the bitstream and desired DRC characteristics for different playback modes. Bug 9428126 Change-Id: I5041b68760e95cf54073c3addf2b6026b9cfe8c5