diff options
author | Kevin Bruckert <agrabren@yahoo.com> | 2012-11-20 04:48:00 -0800 |
---|---|---|
committer | Dorian Snyder <dastin1015@gmail.com> | 2013-04-28 21:31:40 -0700 |
commit | ea33819479ae5b53b80704c12a317b1555adbc97 (patch) | |
tree | 3036675bd0b17960cc84fa89c6f94b12fb138a09 /media | |
parent | e411d62373f5d13f6bebf3073efa6f94fd7ba460 (diff) | |
download | frameworks_av-ea33819479ae5b53b80704c12a317b1555adbc97.zip frameworks_av-ea33819479ae5b53b80704c12a317b1555adbc97.tar.gz frameworks_av-ea33819479ae5b53b80704c12a317b1555adbc97.tar.bz2 |
Add camera parameters for htc evo 3D. (1/2)
Use BOARD_HTC_3D_SUPPORT to enable.
Change-Id: I28fa3f1586071bcc78b8e887bbbf699d338a0ceb
Diffstat (limited to 'media')
-rwxr-xr-x | media/libstagefright/Android.mk | 4 | ||||
-rwxr-xr-x | media/libstagefright/CameraSource.cpp | 4 | ||||
-rw-r--r-- | media/libstagefright/OMXCodec.cpp | 20 |
3 files changed, 27 insertions, 1 deletions
diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk index b394d90..193291e 100755 --- a/media/libstagefright/Android.mk +++ b/media/libstagefright/Android.mk @@ -3,6 +3,10 @@ include $(CLEAR_VARS) include frameworks/av/media/libstagefright/codecs/common/Config.mk +ifeq ($(BOARD_HTC_3D_SUPPORT),true) + LOCAL_CFLAGS += -DHTC_3D_SUPPORT +endif + LOCAL_SRC_FILES:= \ ACodec.cpp \ AACExtractor.cpp \ diff --git a/media/libstagefright/CameraSource.cpp b/media/libstagefright/CameraSource.cpp index b8b9152..9f63ec0 100755 --- a/media/libstagefright/CameraSource.cpp +++ b/media/libstagefright/CameraSource.cpp @@ -347,11 +347,13 @@ status_t CameraSource::configureCamera( ALOGV("Supported frame rates: %s", supportedFrameRates); char buf[4]; snprintf(buf, 4, "%d", frameRate); +#ifndef HTC_3D_SUPPORT // HTC uses invalid frame rates intentionally on the 3D camera if (strstr(supportedFrameRates, buf) == NULL) { ALOGE("Requested frame rate (%d) is not supported: %s", frameRate, supportedFrameRates); return BAD_VALUE; } +#endif // The frame rate is supported, set the camera to the requested value. params->setPreviewFrameRate(frameRate); @@ -449,11 +451,13 @@ status_t CameraSource::checkFrameRate( // Check the actual video frame rate against the target/requested // video frame rate. +#ifndef HTC_3D_SUPPORT // HTC uses invalid frame rates intentionally on the 3D camera if (frameRate != -1 && (frameRateActual - frameRate) != 0) { ALOGE("Failed to set preview frame rate to %d fps. The actual " "frame rate is %d", frameRate, frameRateActual); return UNKNOWN_ERROR; } +#endif // Good now. mVideoFrameRate = frameRateActual; diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp index 26989c1..b8b3ec4 100644 --- a/media/libstagefright/OMXCodec.cpp +++ b/media/libstagefright/OMXCodec.cpp @@ -306,6 +306,24 @@ void OMXCodec::findMatchingCodecs( uint32_t OMXCodec::getComponentQuirks( const MediaCodecList *list, size_t index) { uint32_t quirks = 0; + + if (list->codecHasQuirk( + index, "needs-flush-before-disable")) { + quirks |= kNeedsFlushBeforeDisable; + } + if (list->codecHasQuirk( + index, "requires-flush-complete-emulation")) { + quirks |= kRequiresFlushCompleteEmulation; + } + if (list->codecHasQuirk( + index, "supports-multiple-frames-per-input-buffer")) { + quirks |= kSupportsMultipleFramesPerInputBuffer; + } + if (list->codecHasQuirk( + index, "requires-larger-encoder-output-buffer")) { + quirks |= kRequiresLargerEncoderOutputBuffer; + } + if (list->codecHasQuirk( index, "requires-allocate-on-input-ports")) { quirks |= kRequiresAllocateBufferOnInputPorts; @@ -325,7 +343,7 @@ uint32_t OMXCodec::getComponentQuirks( #ifdef QCOM_HARDWARE if (list->codecHasQuirk( index, "requires-loaded-to-idle-after-allocation")) { - quirks |= kRequiresLoadedToIdleAfterAllocation; + quirks |= kRequiresLoadedToIdleAfterAllocation; } if (list->codecHasQuirk( index, "requires-global-flush")) { |