summaryrefslogtreecommitdiffstats
path: root/media/libstagefright
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-6.0.1_r17' into HEADJessica Wagantall2016-03-071-1/+9
|\ | | | | | | | | Android 6.0.1 release 17 Ticket: CYNGNOS-1854
| * Fix out-of-bounds writeMarco Nelissen2016-01-221-1/+9
| | | | | | | | | | Bug: 26365349 Change-Id: Ia363d9f8c231cf255dea852e0bbf5ca466c7990b
* | stagefright: Don't crash on invalid / null AVCC atoms in MKVSteve Kondik2016-03-012-11/+14
| | | | | | | | | | | | | | | | * Seen in the wild. If a file contains an invalid track, skip it. * Also correct AVCC atom size check in Matroska extractor. REF: CYNGNOS-2168 Change-Id: I589aadbd689c9a00e1dca613e61fcec5b06ed69a
* | Merge tag 'android-6.0.1_r13' into HEADJessica Wagantall2016-02-012-0/+18
|\ \ | |/ | | | | | | | | | | Android 6.0.1 release 13 Ticket: CYNGNOS-1522 Change-Id: Ie9d7be6df3e63138bafb892a3181446e3c7d844e
| * libstagefright: check requested memory size before allocation for ↵Wei Jia2015-12-102-0/+18
| | | | | | | | | | | | | | | | SoftMPEG4Encoder and SoftVPXEncoder. Bug: 25812794 Change-Id: I96dc74734380d462583f6efa33d09946f9532809 (cherry picked from commit 87f8cbb223ee516803dbb99699320c2484cbf3ba)
* | Revert "Stagefright: Allow setting high-framerates in CameraSource"Keith Mok2016-01-221-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b5ccf81c19a7e9ce9b330abe734f1bae76d50796. That patch breaks "High Speed 60 FPS" and it fails in CameraSource::checkFrameRate which it compares the preview frame rate: Failed to set preview frame rate to 30 fps. The actual frame rate is 60. SAMBAR-1261 Change-Id: I6adf1432bf901e8ba37b1b86621e117e77cbf853
* | av: "ACodec: update native window crop rectangle" depends on QCOMChristopher R. Palmer2016-01-201-0/+2
| | | | | | | | Change-Id: If0cc81468ab7ee8fa0ec374a9f23e4004e7cb212
* | ACodec: update native window crop rectangleSanthosh Behara2016-01-181-1/+19
| | | | | | | | | | | | | | In setupNativeWindowSizeFormatAndUsage, set the crop rectangle with the output port's crop value. Change-Id: I415be069d02d88dcd6b7c2460dda6df191ee7434
* | StagefrightMetadataRetriever: correct the status flagKim Zhang2016-01-181-0/+3
| | | | | | | | | | | | | | | | | | | | In case of EOS or ERROR from source, correct the status flag and clear the input index to continue to wait for output buffer from decoder. This is to fix thumbnail generation failure for some clips with one frame. CRs-Fixed: 951250 Change-Id: If9889dbcc32bf49368add408a317da026879fec8
* | libstagefright:Fix random memcmp crash while accessing output format.Vasantha Balla2016-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Random memcmp crash happens while checking for image-data in output format of audio buffer.Audio output format gets updated with pcm-format flag after codec formatchange in ExtendedNuUtils. Simultaneous memory check happens for image-data in FBD of MediaCodec. So crash happens. Avoid checking for image-data and crop information for audio buffers. Change-Id: I85ffcb149dc67a0f1bdb26116245627b1843d932
* | libstagefright: Support YVU420SemiPlanar camera formatEthan Chen2016-01-111-0/+4
| | | | | | | | Change-Id: I631ba6267b3769d9da498329a39ac89c609be6d8
* | Use standard arm assembly syntax.Chih-Hung Hsieh2016-01-0823-26/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The output from gcc before and after this change, and from llvm are identical, except the ADRL to ADR change. In this case, old "ADRL r8, Table" is translated into add r8, pc, #1184 ; 0x4a0 nop ; (mov r0, r0) and new "ADR r8, Table; NOP" is translated into equivalent: add r8, pc, #1184 ; 0x4a0 nop {0} BUG: 21169627 Change-Id: I64130e99f6506494b9c4a6e0f1f850491d481242
* | Fix overflow in amrwbencMarco Nelissen2016-01-081-0/+3
| | | | | | | | | | | | This got dropped in a previous merge. Change-Id: Ic5ec1f6662944deee32e740697fc55774c894033
* | codecs: update for check ifeq ($(TARGET_ARCH),arm)Yongqin Liu2016-01-086-113/+69
| | | | | | | | | | | | | | | | | | | | This condition check will only pass when compile for 32bit platform. It will not pass when generate the 32bit binary or libarary for 64bit platform. update it with variants like LOCAL_SRC_FILES_arm to make it used by 32bit binary or library on 64biy platform as well Change-Id: Ia887610a97c68fa58925d2d86c5eb29cb397d6ef Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
* | Use unified syntax to compile with both llvm and gas.Chih-Hung Hsieh2016-01-0833-188/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove useless stab debug info directives .func and .endfunc, which are not recognized by clang/llvm integrated assembler. * Replace require8 with REQUIRE8, preserve8 with PRESERVE8. * Replace LDRNESB with LDRSBNE, LDREQSB with LDRSBEQ, etc. * Replace VST1 {*.U8} with VST1.8 ..., VLD1 {*.U8} with VLD1.8, and VMOV with VMOV.I8. * New assembler output code is identical or equivalent to old gas output. For example, the 3 references of LDR r7, =0x80808080 in omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_Average_4x_Align_unsafe_s.S produced 3 instances of .word 0x80808080 by llvm integrated assembler but only one by gas. Change-Id: Ifdcd5bee915a7534198d7f219bceab72045f6a22
* | Disable integer sanitization for amrwbencMarco Nelissen2016-01-082-1/+4
| | | | | | | | | | | | | | Integer sanitization causes too many false positives, and so far all have been benign or intentional. Change-Id: I3c40e478e3da31023a635f4ef212873c1fb644f3
* | Fix more potential (benign) AMRWB overflowsMarco Nelissen2016-01-082-2/+4
| | | | | | | | | | Bug: 25843966 Change-Id: I18003aa20be1ff0a93473ecd8b4995861bed8c89
* | Fix more amrwbenc overflowsMarco Nelissen2016-01-084-20/+21
| | | | | | | | | | Bug: 25843966 Change-Id: I16aa3eb0fc4c8d507b92d3a84139cfef6302c96c
* | Tabs -> spacesMarco Nelissen2016-01-0861-8177/+8177
| | | | | | | | Change-Id: I706d7ef81a138739996e0fbb2759348c7a4be8a6
* | ACodec: Fix error handling in OutputPortSettingsChangedStateShivaprasad Hongal2016-01-081-10/+27
| | | | | | | | | | | | | | | | | | | | Freeing the input buffers & node in ACodec::OutputPortSettingsChangedState on error, can cause NuPlayerDecoder to deference freed buffers. Instead of freeing the node internally on error in OutputPortSettingsChangedState, notify error to NuPlayer, and add kWhatShutDown handling to initiate Idle state transition. Change-Id: I7778d759c564fad27d266ac63d293bf0c30c029b
* | stagefright: Forward-port HFR and HSR supportSteve Kondik2016-01-052-4/+16
| | | | | | | | | | | | * CAF commit bd42a7ac3a60c0d8a079b4567484c9b006bac8ad upstream Change-Id: I457ccab603647f3139ea2199a544f64ac3d1a214
* | stagefright: Those who cannot remember history are doomed to repeat itSteve Kondik2015-12-282-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * A new sniffer might want to defer it's work based on the knowledge already gained by those who have already sniffed. * This is the case for our FFMPEG sniffer, which is pretty awesome in that it is able to fill in all the gaps and detect almost anything, however the cost is additional latency during scanning and startup. * As we cycle thru each sniffer, feed the current score to the next. It is up to the extractor to use this knowledge wisely. * Additionally, print some metrics on how long the sniff took. Change-Id: I5dc8de11ed4939a01eabb0cae0b4e1e71d991eea
* | nuplayer: Pass along the sniffed metadata from GenericSourceSteve Kondik2015-12-281-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * When the extended sniffer detects a file type that only it can handle, it will set a flag in the metadata. In some cases, an extractor exists in Android already for the filetype however it may be known to fail or we may want different behavior. * This flag is checked in MediaExtractor, but GenericSource does a little dance in order to stack DataSources for DRM and was throwing out this metadata (it's not really used by AOSP), so the desired behavior was not seen for some cases. * Add a new optional argument when creating the MediaExtractor to pass in the metadata from the original sniff so that the extended extractor is used where necessary for streaming formats. * This fixes FLAC offload with Tidal. Change-Id: I7d6b875346ce63b60cd3c37572b779665bfe217c
* | stagefright: Remove special handling of FFMPEG extractorSteve Kondik2015-12-282-50/+5
| | | | | | | | | | | | | | * Extractor now checks if Stagefright already reported a high confidence level. Treat it as a first class citizen. Change-Id: Id41af84a0f9f9c51df4602f283776b5d19bf666b
* | stagefright: Add more hardware codec support for our extractorSteve Kondik2015-12-282-50/+95
| | | | | | | | | | | | | | * Additional cases for timestamp reordering (smooth out AVI playback) * Enable hardware thumbnailer Change-Id: If828181850a5627dc1f91b118974905d22ab24e9
* | stagefright: Remove special case for FLAC offloadSteve Kondik2015-12-263-15/+0
| | | | | | | | | | | | * FFMPEG will now handle this automatically. Remove the workaround. Change-Id: I7007af16ce1fe43358b9c1e3b3b469b717df0100
* | stagefright: Copy the thumbnail timeSteve Kondik2015-12-261-0/+1
| | | | | | | | | | | | | | * In case we do a conversion, we need this to seek the extractor to the right position for extracting a thumbnail. Change-Id: I003a599c15890aeeb6d2494b219f170ba5b278d8
* | Validation of Number of Channels on WAV files.Niel Alejandro Paz2015-12-261-7/+7
| | | | | | | | | | | | | | | | | | | | | | Corrects the validation of the number of channels that was causing a floating point exception when this number is zero. It also corrects the range of admitted channels on WAV files. Change-Id: I21f005d1f30c1fd93206c6bce0d3be4b8307059c Signed-off-by: Niel Alejandro Paz <niel.paz.hernandez@intel.com> Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com> Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
* | Fix overflows in amrwbencMarco Nelissen2015-12-264-3/+34
| | | | | | | | | | | | | | | | | | | | | | Revert 3cdaed88daeeebfe05e7913837f41c2d92f411cc and 883ff4f4c41ae9bf84d1912ab054fe38f7505dd0, and fix the overflows that should have been clamped instead of allowed to overflow. Bug: 25843966 Bug: 23752600 Change-Id: I9af1726d058eb8eeaa80fa8df74fe0a3759486c1
* | stagefright: Fix audio profile retrievedKeith Mok2015-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The aac audio profile retrieved from the AACExtractor is ranged from 0-3. However the corresponding OMX header definition is from 1-4: typedef enum OMX_AUDIO_AACPROFILETYPE{ ... OMX_AUDIO_AACObjectMain = 1, OMX_AUDIO_AACObjectLC, OMX_AUDIO_AACObjectSSR, OMX_AUDIO_AACObjectLTP, ... Change-Id: I1c8932abe19bff918acd5e4d8c2e39eaaac4f6c3
* | stagefright: Deal with output format of other AAC decodersSteve Kondik2015-12-211-4/+7
| | | | | | | | | | | | | | * Pass the bits-per-sample value when setting up the raw PCM output in case FFMPEG is decoding as it will produce floats. Change-Id: If5a8cc43a1c41e522324e77871823c9084f92169
* | stagefright: Fix AAC profile selectionSteve Kondik2015-12-202-28/+23
| | | | | | | | | | | | | | | | * Be consistent about AAC profile selection in both Stagefright an our custom plugin. * Also fix duplication in the override code. Change-Id: I9d2724ea8861bc9d7db6a100a2f633f81d243c6c
* | frameworks/av: fix channelmask and source format for pcm filesAmit Shekhar2015-12-191-1/+1
| | | | | | | | | | | | | | | | | | -Update channel mask from channel count if parser reports channel mask to be 0 -Update source format for each buffer by extending call to setPcmFormat when aggregation is not done Change-Id: I1f4ce07e3e784d85e63be03a69ac1395bfa913e2 CRs-Fixed: 948222
* | Move overflow checks into SkipCutBufferMarco Nelissen2015-12-183-15/+32
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix potential double close in IMediaMetadataRetriever::setDataSourceTaiju Tsuiki2015-12-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | IMediaMetadataRetriever::setDataSource(fd, offset, length) takes the ownership of |fd| on the direct invocation, and doesn't take the ownership on invocation from Binder. This is inconsintent to other similar methods like IMediaPlayer::setDataSource, and causes potential double close of |fd|. This CL changes the caller and implementations to leave the ownership to make them consistent. Also, fixes a double close in IMediaPlayerService::setDataSource in an error case. Change-Id: Id551a1e725c4392b0fe6b7293871212eb101c0a5
* | stagefright: Fix some aac file cannot be played backKeith Mok2015-12-172-4/+5
| | | | | | | | | | | | | | | | | | The AACExtractor does not pass the aacprofile via kKeyAACAOT and google aac decoder does not support LTP profile. Solve by setting the kKeyAACAOT profile and use ffmpeg when it is aac LTP profile. Change-Id: I79762bd23e3bcc34f2ea56e35686162f1630c06b
* | stagefright: Update makefile for Exynos variants.Ethan Chen2015-12-151-8/+9
| | | | | | | | Change-Id: I1f6a2797156eba00e8f4cc1a5728b8e274ce965f
* | stagefright: Additional fixes for extended offload supportSteve Kondik2015-12-144-1/+9
| | | | | | | | | | | | | | | | | | | | | | * Fix compilation with debug enabled * Allow FLAC offload to be enabled independent of QCOM_HARDWARE, tested with the Nexus 5X and is working! * Disable the FLACExtractor if offload is enabled since it can only output decoded PCM. This will force FFMPEG to be used, which does everything we need for FLAC offload Change-Id: I7d71c153a6a6ea7df8e32bc73f5cbe9f51cdcf64
* | stagefright: Finish "Port AOSP fixes"Steve Kondik2015-12-131-1/+1
| | | | | | | | | | | | * Fill in stubs for CAF commit bd019775a921ae9165e924e4d37bc838a7ef5781 Change-Id: Ia97d965d121aa3c3c2fc0ab8b164244416852ca5
* | stagefright: Finish support for HEVC muxingSteve Kondik2015-12-131-1/+1
| | | | | | | | | | | | * Forward-port CAF L-MR1 code to fill in stubs. Change-Id: I6c07e803ad4fe3ef5286f61667b5ca11380db984
* | stagefright: Add support for FLAC offloadingSteve Kondik2015-12-132-2/+21
| | | | | | | | | | | | | | * New Qualcomm DSPs support FLAC decoding, but the offload code is stubbed out in M. Unstub it from what used to be open source. Change-Id: I03c129c42ebc6909a3392e42a7f96791c8fabd28
* | stagefright: Fix a few format strings on 64-bitSteve Kondik2015-12-131-1/+2
| | | | | | | | Change-Id: I25708df616fe53d709b80c65ddecbdddef303124
* | StagefrightRecorder: Add support for WAVE recordingMichael Bestas2015-12-122-0/+324
| | | | | | | | | | | | * Forward port the cm-12.1 code Change-Id: I77373a236108507b8fa76cc8d3016de36aade301
* | stagefright: Fix videot thumbnail retrival for wmvKeith Mok2015-12-092-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We override some h/w decoders in video configure since we know some h/w decoder does not support certain types of video. e.g. WMV7/8. But we did not do that when application retrieving video frame for thumbnail causing video frame retrieved is corrupted. Fix it by calling FFMPEGSoftCodec::overrideComponentName when we retrieve a single video frame for thumbnail purpose. Change-Id: I334698c331dfd3d49bb5d8b8e9c1fe381b304179
* | stagefright: Override to use ffmpeg for decoding wmv1Keith Mok2015-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | Qcom hardware vc1 decoder cannot decode wmv1 (version7) correctly. Currently it only skip wmv2 (version8) and force to use ffmpeg sw decoder. Change to use default decoder only if wmv version is equals to 9 (vc1) Change-Id: Iadb0ecca252ee8a1dfb635ee44d1a88daa9c7a54
* | libstagefright: Fix for testExceptionManikanta Kanamarlapudi2015-12-091-9/+13
| | | | | | | | | | | | | | | | Handled decoder configure call for encoder component and vice-versa in fallback logic CRs-Fixed: 891538 Change-Id: Ibb0d2da829a0e0f907ad8265836bac0466de1b4d
* | stagefright: Add OMX.ffmpeg. checkingKeith Mok2015-12-073-2/+4
| | | | | | | | | | | | | | Port from L, add "OMX.ffmpeg." checking in additional to "OMX.google." for software codec Change-Id: I3ef70a965573d7c2818236a70d4f99b6b7873468
* | Merge tag 'android-6.0.1_r3' of ↵Steve Kondik2015-12-076-251/+158
|\ \ | |/ | | | | | | | | | | | | https://android.googlesource.com/platform/frameworks/av into cm-13.0 Android 6.0.1 release 3 Change-Id: I2f2a1fe1b58c828e8341556996211562d6e195ab
| * ALooper::awaitResponse gets reply and returns immediately if the looper is ↵Ronghua Wu2015-11-021-16/+4
| | | | | | | | | | | | | | stopped. Bug: 25088488 Change-Id: Id33d5d75f1173db52d00f4ff71d4c2c4f27f72f5
| * Merge "Allow ALooper::awaitResponse to return immediately if the looper is ↵Ronghua Wu2015-10-222-3/+30
| |\ | | | | | | | | | stopped." into mnc-dr-dev