summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add test for AMR-NB decoder"Glenn Kasten2014-09-112-0/+170
|\
| * Add test for AMR-NB decoderAshok Bhat2014-06-162-0/+170
| | | | | | | | | | | | | | | | | | | | | | The test accepts a .amr file as input and dumps output PCM in a wav file. To run the test, use following command libstagefright_amrnbdec_test <input amr> <output wav> Change-Id: I2492c2ed4e670c9fd8cb4213201ccbd0cb9bf8fe Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | Merge "Fix in SoftAVCEncoder plugin"Narayan Kamath2014-09-041-3/+4
|\ \
| * | Fix in SoftAVCEncoder pluginAshok Bhat2014-07-091-3/+4
| |/ | | | | | | | | | | | | | | | | | | size of buffer_handle_t, a pointer type, was assumed to be 4 bytes. This patch uses sizeof(buffer_handle_t) instead. In addition, replaced magic number 4 with sizeof(OMX_U32) Change-Id: Id5a7ed805a7b8e9867d8e51655cd334a66ac2c2b Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | Merge "Revert "Fix build after side-stepping global -Bsymbolic.""Dan Albert2014-08-073-25/+0
|\ \
| * | Revert "Fix build after side-stepping global -Bsymbolic."Dan Albert2014-08-083-25/+0
| | | | | | | | | | | | | | | | | | This reverts commit 3b909164de79904137bb6661514d5ca6236a49c9. Bug: 16853291
* | | Merge "Fix PIC relocations for non-Bsymbolic builds"Dan Albert2014-08-077-0/+29
|\ \ \ | |/ / |/| |
| * | 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
* | | Fix build after side-stepping global -Bsymbolic.Dan Albert2014-08-073-0/+25
|/ / | | | | | | | | | | | | | | Some of the assembly in the codecs is generating invalid relocations without -Bsymbolic. Leave it on for these projects for the time being. Bug: 16853291 Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
* | Merge "h264_enc: Use free() to release memory allocated with malloc()"Narayan Kamath2014-07-101-2/+2
|\ \
| * | h264_enc: Use free() to release memory allocated with malloc()Ashok Bhat2014-06-251-2/+2
| |/ | | | | | | | | | | | | | | | | mInputFrameData and mSliceGroup are allocated memory with malloc() but released using delete. Changed this to use free() instead. Change-Id: Iecf6684d97fabb2229d9abd94279a24faf9ac2d7 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | 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>
* 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>
* Temporary workaround for log spamGlenn Kasten2014-05-011-0/+5
| | | | | Bug: 13790505 Change-Id: Icfc403bceaefdede1af65dfd70ba3e8b26abab02
* media: 64 bit compile issuesMark Salyzyn2014-04-153-153/+27
| | | | | | | | - change internal sized types to use stdint.h - printf & scanf formats - size_t or unsigned int for iterators Change-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446
* libstagefright: fix 64-bit warningsColin Cross2014-04-142-5/+7
| | | | | | | | | | | %lld -> %" PRId64 " for int64_t %d -> %zu for size_t Also fixes some casts from void* to integer types, and some comparisons between signed and unsigned. (cherry picked from commit b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81) Change-Id: I76ba94d0b67776fd7abdc83b43d47c61d6c32f4c
* media: memset sizeof argument issuesMark Salyzyn2014-04-111-1/+1
| | | | Change-Id: I37ef154eea0f77fb7f22faf6891f3025f6ff346e
* warnings be gone.Andreas Huber2014-04-1118-19/+36
| | | | | | | | (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
* 64-bit: Correction to OMX_U32 and OMX_S32Glenn Kasten2014-04-027-16/+16
| | | | Change-Id: I9c41bb34c35595ac19a7ab8faaacde8cb4fa9a15
* Fix aac decoder flushMarco Nelissen2014-04-021-0/+6
| | | | | | b/8543366 Change-Id: I746ffed6289486b802a2292bfc492ea6c780ed0b
* Fix decoder EOS handlingMarco Nelissen2014-04-026-203/+213
| | | | | | | | | | Conceptually it should be the same whether EOS is signalled on the last buffer holding data, or an empty buffer that follows. Make it so that this actually behaves the same for mp3, AAC and Vorbis. b/8747869 Change-Id: Idece8ef45689a3ffaf70fb45d19862d7b93b2f92
* libstagefright is no longer 32 bit only.Narayan Kamath2014-03-192-3/+0
| | | | Change-Id: I88d5fcfc005a2c2acd0246cdd9c08b6c00b6c39b Signed-off-by: Glenn Kasten <gkasten@android.com>
* mediaserver and associated services are 32-bit onlyGlenn Kasten2014-03-122-0/+3
| | | | | | also 32-bit only command-line apps Change-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3
* Check for ARCH_ARM_HAVE_NEON flag only for ARM archAshok Bhat2014-03-032-4/+7
| | | | | | | | This patch prevents ARM neon code from being included for Arm64, where ARM is the 2nd architecture. Change-Id: I5a283991034f2650a0e7d4227aef967be276fc9c Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* AArch64: Correction for LP64Marcus Oakland2014-02-261-5/+5
| | | | | | | | | | | | | | | | | | In the Intra16x16PlanePrediction function, a u32 (unsigned 32-bit integer) was being used for the "i" variable, and being used with a value of 7 in the loop "for (i = 0, b = 0; i < 8; i++)" to access the "above[6-i]" location where "above" is defined as "u8 *". Because "i" was unsigned there was no sign extension on use with the __LP64__ 64-bit pointer, so rather than 0xFFFFFFFF being treated as -1, it was treated as 4,292,967,295 and that resulted in a SIGSEGV at an invalid address. By changing the type of "i" to an i32 (signed 32-bit integer) the expected sign extension occurs and the value is treated as -1. This change fixes android.media.cts.DecoderTest#testCodeBasicH264 on 64-bit platforms Change-Id: I85df58b0dc1d39f89ab421d04ab5481356520f0c Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
* Merge "avcenc: Only do startcode escaping if the next byte requires it"Lajos Molnar2014-02-111-6/+9
|\
| * avcenc: Only do startcode escaping if the next byte requires itMartin Storsjo2014-02-111-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | Section 7.4.1 in the H.264 standard says that the only valid bytes to follow a sequence that starts with 0x000003 are 0x00, 0x01, 0x02 or 0x03. This makes EncodeDecodeTest pass properly when decoding using OMX.google.h264.decoder, which is strict about the forbidden escape sequences. Change-Id: Ice113d9b934015003ea9cb10d0b21cee4d18d774
* | Make frameworks/av 64-bit compatibleKévin PETIT2014-02-116-15/+16
|/ | | | | | | | | | | | Contains the necessary changes to make frameworks/av build and work on a 64-bit machine. Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
* Merge "avcenc: Update video port parameters in the base class"Lajos Molnar2014-02-101-0/+11
|\
| * avcenc: Update video port parameters in the base classMartin Storsjo2013-11-211-0/+11
| | | | | | | | | | | | | | | | | | | | This makes sure that the right parameters are returned on both input and output ports if queried after setting. This also makes sure that the output MediaFormat from the MediaCodec class contains the right video size. Change-Id: I0667b3b4c6bb90331ad0ae7d51388e1bca3d1bbd
* | SoftVPXEncoder: Set the frame size on the output port as wellMartin Storsjo2013-11-251-0/+3
| | | | | | | | | | | | | | This makes sure the MediaCodec output MediaFormat contains the right width and height. Change-Id: Ic97af3b5850ebaf563533c3d1cae992be3e4d074
* | Merge commit 'b2059ff384eee8ffb70a7ec8fc5570405201c734' into HEADThe Android Open Source Project2013-11-2218-866/+423
|\ \ | |/ |/|
| * Change VP8 encoder bitrateJohann2013-09-272-1/+36
| | | | | | | | | | | | | | Allow the bitrate to be updated while the encoder is running. Bug: 8422347 Change-Id: I8427fe20921b00f92b8f99fe21691709fab354b0
| * Indicate sync frames returned by encoderJohann2013-09-261-0/+2
| | | | | | | | | | | | | | | | | | Set the appropriate OMX flag when the encoder generates a keyframe. This is necessary for any muxer which needs to indicate which frames are seekable. Bug: 8422347 Change-Id: I744a0b3023db24d3de2210bce82f41e50d259505
| * AAC encoder: handle missing object typesJean-Michel Trivi2013-08-291-0/+4
| | | | | | | | | | | | | | | | | | The audio object type for parametric stereo and lowdelay was not passed to the FDK AAC encoder. Bug 9428126 Change-Id: Ic32822afff8b1da6a2d80c1b65d514f24059fb29
| * Enable support for explicitly requesting an encoded keyframe from the vp8Andreas Huber2013-07-192-2/+36
| | | | | | | | | | | | encoder. Change-Id: I370d5831f7d6037faf361a92521390f19f179cbe
| * Experimental support for enabling the use of "surface input" modeAndreas Huber2013-07-173-21/+158
| | | | | | | | | | | | | | | | | | even with the software VP8 encoder. This relies heavily on the fact that the "Nexus" devices use ARGB32 as the colorspace for the data underlying a surface provided by SurfaceFlinger (mirroring). Generally there are no such guarantees. Change-Id: I1de32f591a3bb935ca76151816b3a02665bec40b
| * Adds VP9 decoding support for stagefright.hkuang2013-06-244-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * The software avc decoder would silently drop output frames if notAndreas Huber2013-06-142-36/+31
| | | | | | | | | | | | | | enough room was available in the output queue at the time they were available. No more. Change-Id: I5957290d40ba31bda7944271ec7f2aa0f1f7043c
| * stagefright: created SoftVideoDecoderOMXComponentLajos Molnar2013-06-056-794/+72
| | | | | | | | | | | | | | | | Created common base class for all software video decoders to make adding new features easier. Change-Id: Id89964e572d5cc5add02662273e6ae96c6b7eb12 Signed-off-by: Lajos Molnar <lajos@google.com>
| * Track exact timestamps in SoftMPEG4/H263 decodersLajos Molnar2013-06-052-4/+15
| | | | | | | | | | | | Change-Id: I7772e3afec020f889dea80fd6372afbc36cd68d6 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 9285553 (cherry picked from commit e113aa1f078cb3d5f8182058e144fd14ce945fca)
| * Reset PV decoder on SoftMPEG4 decoder resetLajos Molnar2013-06-051-0/+5
| | | | | | | | | | | | | | | | Otherwise, state may be undefined for subsequent frames. Change-Id: Icdc0126247e1422eba21f2008a04cf7867d93f5d Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 9284771 (cherry picked from commit 0f15875b8e80fb49a3b18d88964b063326f307b9)
| * Fix our software decoders to reset (more of) their internal stateAndreas Huber2013-06-0311-0/+30
| | | | | | | | | | | | | | properly on a transition from idle->loaded. Change-Id: I56ccfeef24c391e50e42b522194206e35c7ab700 related-to-bug: 9105408
| * stagefright: SoftVP8: Handle EOS flag on frames with content.Lajos Molnar2013-05-221-12/+16
| | | | | | | | | | | | | | | | | | SoftVP8 decoder ignored frame content if EOS flag was set on input frame. Now, decode the frame first, unless it is empty. Change-Id: Id105a9eb86103a61390af3de60cae2507028e2d1 Signed-off-by: Lajos Molnar <lajos@google.com> Bug: 9091495
| * am bfc5b96c: am 09f842b0: Merge "The software FLAC encoder now properly ↵Andreas Huber2013-05-022-2/+20
| |\ | | | | | | | | | | | | | | | | | | signals an error if client" into jb-mr2-dev * commit 'bfc5b96c326a6321f167a59de4a201e2b61f5ca4': The software FLAC encoder now properly signals an error if client
| | * am 09f842b0: Merge "The software FLAC encoder now properly signals an error ↵Andreas Huber2013-05-022-2/+20
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | if client" into jb-mr2-dev * commit '09f842b03d8f9c0ab5e4541937f8061a7d1bf53d': The software FLAC encoder now properly signals an error if client
| | | * The software FLAC encoder now properly signals an error if clientAndreas Huber2013-05-012-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | attempts to configure it with too large an input buffer size. Previously this would lead to memory corruption during encoding due to a typo. Change-Id: I229b07b7dbe87fb8424419706671b66a8d58ec6b related-to-bug: 8778893
| * | | am b0ec4e15: am 3030f344: Merge "Fixed the wrong timestamps issue about ↵Marco Nelissen2013-04-221-1/+1
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | camera recording" * commit 'b0ec4e15704b77847c1d24e611029b6311d67dfe': Fixed the wrong timestamps issue about camera recording
| | * | am 3030f344: Merge "Fixed the wrong timestamps issue about camera recording"Marco Nelissen2013-04-221-1/+1
| | |\ \ | | | |/ | | |/| | | | | | | | | * commit '3030f344e77d14cf688c34f79c83a045c888825d': Fixed the wrong timestamps issue about camera recording
| | | * Fixed the wrong timestamps issue about camera recordingJun Tian2013-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On emulator, the camera video recording crashes randomly. It's caused by wrong timestamp when encoding the video frame. The element of the vector is erased before accessing it. Therefore, when reading the timestamp from the element, the memory of the element has been changed. Change-Id: I9750417fbb9dc4697ccae1e78e286b23925d3764 Signed-off-by: Panfeng Chang <panfengx.chang@intel.com> Signed-off-by: Jun Tian <jun.j.tian@intel.com>