From f5ab57c2d5e02af7483c94eddb177e4f5c9e9892 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Mon, 22 Nov 2010 13:06:35 -0800 Subject: Squashed commit of the following: commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7 Author: Andreas Huber Date: Mon Nov 22 12:57:04 2010 -0800 set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer. Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42 commit 4767b52bee3a54ae117a8708d6832276a44e6a6a Author: Andreas Huber Date: Mon Nov 22 11:14:57 2010 -0800 info->mMediaBuffer may still be NULL at this point... Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92 Author: Andreas Huber Date: Mon Nov 22 10:55:12 2010 -0800 QCOM's YVU420 color format conversion has now been tested. Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67 commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7 Author: Andreas Huber Date: Mon Nov 22 09:59:50 2010 -0800 Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle. Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7 Author: Andreas Huber Date: Fri Nov 19 16:11:06 2010 -0800 Revamped Software Renderer respects the crop rectangle. Removed obsolete ADRENO support code. Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535 commit 8abbc6a5608bff650f968540f24a2eab75f254ed Author: Andreas Huber Date: Fri Nov 19 16:10:41 2010 -0800 The metadata retriever now respects the crop rectangle while capturing a video frame. Change-Id: Id3377176060086d16717f62c77ce26fabe899050 commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21 Author: Andreas Huber Date: Fri Nov 19 16:09:50 2010 -0800 Changed ColorConverter APIs to be more general. Clients can now refer to crop rectangles in both source and destination. Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04 commit 273184303d54a54febd3e9c3dd4df30507ea78b5 Author: Andreas Huber Date: Fri Nov 19 15:04:06 2010 -0800 The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4 commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690 Author: Andreas Huber Date: Fri Nov 19 14:36:55 2010 -0800 The AVC software decoder now properly advertises the cropping rectangle. Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6 Author: Andreas Huber Date: Fri Nov 19 13:40:39 2010 -0800 OMXCodec now signals a format change if the cropping rectangle changes. ...and puts the cropping info into its output format. Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2 commit efe0323947029df1c502599ccc288c8d676dfd31 Author: Andreas Huber Date: Fri Nov 19 11:29:39 2010 -0800 Stagefright's MetaData object now supports rectangle items. Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504 Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70 --- media/libstagefright/include/AwesomePlayer.h | 33 ------------------------- media/libstagefright/include/SoftwareRenderer.h | 13 +++------- 2 files changed, 4 insertions(+), 42 deletions(-) (limited to 'media/libstagefright/include') diff --git a/media/libstagefright/include/AwesomePlayer.h b/media/libstagefright/include/AwesomePlayer.h index 4e63b7a..e33f467 100644 --- a/media/libstagefright/include/AwesomePlayer.h +++ b/media/libstagefright/include/AwesomePlayer.h @@ -88,11 +88,6 @@ struct AwesomePlayer { status_t seekTo(int64_t timeUs); - status_t getVideoDimensions(int32_t *width, int32_t *height) const; - - status_t suspend(); - status_t resume(); - // This is a mask of MediaExtractor::Flags. uint32_t flags() const; @@ -153,7 +148,6 @@ private: uint32_t mFlags; uint32_t mExtractorFlags; - int32_t mVideoWidth, mVideoHeight; int64_t mTimeSourceDeltaUs; int64_t mVideoTimeUs; @@ -187,7 +181,6 @@ private: void postCheckAudioStatusEvent_l(); status_t play_l(); - MediaBuffer *mLastVideoBuffer; MediaBuffer *mVideoBuffer; sp mConnectingDataSource; @@ -198,32 +191,6 @@ private: sp mRTPSession; sp mRTPPusher, mRTCPPusher; - struct SuspensionState { - String8 mUri; - KeyedVector mUriHeaders; - sp mFileSource; - - uint32_t mFlags; - int64_t mPositionUs; - - void *mLastVideoFrame; - size_t mLastVideoFrameSize; - int32_t mColorFormat; - int32_t mVideoWidth, mVideoHeight; - int32_t mDecodedWidth, mDecodedHeight; - - SuspensionState() - : mLastVideoFrame(NULL) { - } - - ~SuspensionState() { - if (mLastVideoFrame) { - free(mLastVideoFrame); - mLastVideoFrame = NULL; - } - } - } *mSuspensionState; - DrmManagerClient *mDrmManagerClient; DecryptHandle *mDecryptHandle; diff --git a/media/libstagefright/include/SoftwareRenderer.h b/media/libstagefright/include/SoftwareRenderer.h index 9cafc68..90d3fe1 100644 --- a/media/libstagefright/include/SoftwareRenderer.h +++ b/media/libstagefright/include/SoftwareRenderer.h @@ -23,16 +23,13 @@ namespace android { +struct MetaData; class Surface; class SoftwareRenderer { public: SoftwareRenderer( - OMX_COLOR_FORMATTYPE colorFormat, - const sp &surface, - size_t displayWidth, size_t displayHeight, - size_t decodedWidth, size_t decodedHeight, - int32_t rotationDegrees); + const sp &surface, const sp &meta); ~SoftwareRenderer(); @@ -42,16 +39,14 @@ public: private: enum YUVMode { None, - YUV420ToYUV420sp, - YUV420spToYUV420sp, }; OMX_COLOR_FORMATTYPE mColorFormat; ColorConverter *mConverter; YUVMode mYUVMode; sp mSurface; - size_t mDisplayWidth, mDisplayHeight; - size_t mDecodedWidth, mDecodedHeight; + int32_t mWidth, mHeight; + int32_t mCropLeft, mCropTop, mCropRight, mCropBottom; SoftwareRenderer(const SoftwareRenderer &); SoftwareRenderer &operator=(const SoftwareRenderer &); -- cgit v1.1