summaryrefslogtreecommitdiffstats
path: root/libstagefrighthw
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-11-16 12:48:51 -0800
committerAndreas Huber <andih@google.com>2010-11-16 12:48:51 -0800
commit430f923ca033da50ee9cf94fbfaec53a12a55e0a (patch)
tree398ec76ba9d6e1f0f16d1b5f46afcfec5181eead /libstagefrighthw
parent1e62074d1b971112a46dd553cea3a6818d00c984 (diff)
downloaddevice_samsung_crespo-430f923ca033da50ee9cf94fbfaec53a12a55e0a.tar.gz
device_samsung_crespo-430f923ca033da50ee9cf94fbfaec53a12a55e0a.tar.bz2
device_samsung_crespo-430f923ca033da50ee9cf94fbfaec53a12a55e0a.zip
Remove legacy renderers.
Change-Id: I0f8ffbb1a341b1d9c04494c52828b777c60afc2a
Diffstat (limited to 'libstagefrighthw')
-rw-r--r--libstagefrighthw/Android.mk3
-rw-r--r--libstagefrighthw/SecHardwareRenderer.cpp228
-rw-r--r--libstagefrighthw/SecHardwareRenderer.h78
-rw-r--r--libstagefrighthw/stagefright_overlay_output.cpp51
4 files changed, 0 insertions, 360 deletions
diff --git a/libstagefrighthw/Android.mk b/libstagefrighthw/Android.mk
index 172fd9d..4567f55 100644
--- a/libstagefrighthw/Android.mk
+++ b/libstagefrighthw/Android.mk
@@ -4,8 +4,6 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
- stagefright_overlay_output.cpp \
- SecHardwareRenderer.cpp \
SEC_OMX_Plugin.cpp
LOCAL_CFLAGS += $(PV_CFLAGS_MINUS_VISIBILITY)
@@ -13,7 +11,6 @@ LOCAL_CFLAGS += $(PV_CFLAGS_MINUS_VISIBILITY)
LOCAL_C_INCLUDES:= \
$(TOP)/frameworks/base/include/media/stagefright/openmax \
$(LOCAL_PATH)/../include \
- $(LOCAL_PATH)/../liboverlay
LOCAL_SHARED_LIBRARIES := \
libbinder \
diff --git a/libstagefrighthw/SecHardwareRenderer.cpp b/libstagefrighthw/SecHardwareRenderer.cpp
deleted file mode 100644
index cb9e8e8..0000000
--- a/libstagefrighthw/SecHardwareRenderer.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define LOG_TAG "SecHardwareRenderer"
-#define LOG_NDEBUG 0
-#include <utils/Log.h>
-
-#include "SecHardwareRenderer.h"
-
-#include <media/stagefright/MediaDebug.h>
-#include <surfaceflinger/ISurface.h>
-#include <ui/Overlay.h>
-
-#include <hardware/hardware.h>
-
-#include "v4l2_utils.h"
-#include "utils/Timers.h"
-
-#define CACHEABLE_BUFFERS 0x1
-
-#define USE_ZERO_COPY
-//#define SEC_DEBUG
-
-namespace android {
-
-////////////////////////////////////////////////////////////////////////////////
-
-SecHardwareRenderer::SecHardwareRenderer(
- const sp<ISurface> &surface,
- size_t displayWidth, size_t displayHeight,
- size_t decodedWidth, size_t decodedHeight,
- OMX_COLOR_FORMATTYPE colorFormat,
- int32_t rotationDegrees,
- bool fromHardwareDecoder)
- : mISurface(surface),
- mDisplayWidth(displayWidth),
- mDisplayHeight(displayHeight),
- mDecodedWidth(decodedWidth),
- mDecodedHeight(decodedHeight),
- mColorFormat(colorFormat),
- mInitCheck(NO_INIT),
- mFrameSize(mDecodedWidth * mDecodedHeight * 2),
- mIsFirstFrame(true),
- mCustomFormat(false),
- mIndex(0) {
-
- CHECK(mISurface.get() != NULL);
- CHECK(mDecodedWidth > 0);
- CHECK(mDecodedHeight > 0);
-
- if (colorFormat != OMX_COLOR_FormatCbYCrY
- && colorFormat != OMX_COLOR_FormatYUV420Planar
- && colorFormat != OMX_COLOR_FormatYUV420SemiPlanar) {
- LOGE("Invalid colorFormat (0x%x)", colorFormat);
- return;
- }
-
- uint32_t orientation;
- switch (rotationDegrees) {
- case 0: orientation = ISurface::BufferHeap::ROT_0; break;
- case 90: orientation = ISurface::BufferHeap::ROT_90; break;
- case 180: orientation = ISurface::BufferHeap::ROT_180; break;
- case 270: orientation = ISurface::BufferHeap::ROT_270; break;
- default: orientation = ISurface::BufferHeap::ROT_0; break;
- }
-
- sp<OverlayRef> ref;
-
-#if defined (USE_ZERO_COPY)
- if (fromHardwareDecoder) {
- ref = mISurface->createOverlay(
- mDecodedWidth, mDecodedHeight,
- HAL_PIXEL_FORMAT_CUSTOM_YCbCr_420_SP, orientation);
- mCustomFormat = true;
- }
-#else
- else
- {
- ref = mISurface->createOverlay(
- mDecodedWidth, mDecodedHeight, HAL_PIXEL_FORMAT_YCbCr_420_P,
- orientation);
- }
-#endif
-
- if (ref.get() == NULL) {
- LOGE("Unable to create the overlay!");
- return;
- }
-
- mOverlay = new Overlay(ref);
- mOverlay->setParameter(CACHEABLE_BUFFERS, 0);
-
- mNumBuf = mOverlay->getBufferCount();
-
- if (mCustomFormat) {
- mFrameSize = 32;
- mMemoryHeap = new MemoryHeapBase(mNumBuf * mFrameSize);
- } else {
- for (size_t i = 0; i < (size_t)mNumBuf; ++i) {
- void *addr = mOverlay->getBufferAddress((void *)i);
- mOverlayAddresses.push(addr);
- }
- }
-
- mInitCheck = OK;
-}
-
-SecHardwareRenderer::~SecHardwareRenderer() {
-
- if(mMemoryHeap != NULL)
- mMemoryHeap.clear();
-
- if (mOverlay.get() != NULL) {
- mOverlay->destroy();
- mOverlay.clear();
- }
-}
-
-void SecHardwareRenderer::handleYUV420Planar(
- const void *data, size_t size) {
-
- int FrameSize;
- uint8_t* pPhyYAddr;
- uint8_t* pPhyCAddr;
- int AddrSize;
- size_t offset;
-
- CHECK(size >= (mDecodedWidth * mDecodedHeight * 3) / 2);
-
- offset = mIndex * mFrameSize;
- void *dst = (uint8_t *)mMemoryHeap->getBase() + offset;
-
- AddrSize = sizeof(void *);
- memcpy(&FrameSize, data, sizeof(FrameSize));
- memcpy(&pPhyYAddr, data + sizeof(FrameSize), sizeof(pPhyYAddr));
- memcpy(&pPhyCAddr, data + sizeof(FrameSize) + (AddrSize * 1), sizeof(pPhyCAddr));
-
- memcpy(dst , &pPhyYAddr, sizeof(pPhyYAddr));
- memcpy(dst + sizeof(pPhyYAddr) , &pPhyCAddr, sizeof(pPhyCAddr));
- memcpy(dst + sizeof(pPhyYAddr) + sizeof(pPhyCAddr), &mIndex, sizeof(mIndex));
-}
-
-void SecHardwareRenderer::render(
- const void *data, size_t size, void *platformPrivate) {
-
- if (mOverlay.get() == NULL) {
- return;
- }
-
- if (mCustomFormat) {
- /* zero copy solution case */
-
- overlay_buffer_t dst = (uint8_t *)mMemoryHeap->getBase() + mIndex*mFrameSize;
-
- if (mColorFormat == OMX_COLOR_FormatYUV420Planar ||
- mColorFormat == OMX_COLOR_FormatYUV420SemiPlanar) {
- handleYUV420Planar(data, size);
- }
-
- if (mOverlay->queueBuffer(dst) == ALL_BUFFERS_FLUSHED) {
- mIsFirstFrame = true;
- if (mOverlay->queueBuffer((void *)dst) != 0) {
- return;
- }
- }
-
- if (++mIndex == mNumBuf) {
- mIndex = 0;
- }
-
- overlay_buffer_t overlay_buffer;
- if (!mIsFirstFrame) {
- status_t err = mOverlay->dequeueBuffer(&overlay_buffer);
- if (err == ALL_BUFFERS_FLUSHED) {
- mIsFirstFrame = true;
- } else {
- return;
- }
- } else {
- mIsFirstFrame = false;
- }
- } else {
- /* normal frame case */
- if (mColorFormat == OMX_COLOR_FormatYUV420Planar) {
- memcpy(mOverlayAddresses[mIndex], data, size);
- }
-
- if (mOverlay->queueBuffer((void *)mIndex) == ALL_BUFFERS_FLUSHED) {
- mIsFirstFrame = true;
- if (mOverlay->queueBuffer((void *)mIndex) != 0) {
- return;
- }
- }
-
- if (++mIndex == mNumBuf) {
- mIndex = 0;
- }
-
- overlay_buffer_t overlay_buffer;
- if (!mIsFirstFrame) {
- status_t err = mOverlay->dequeueBuffer(&overlay_buffer);
-
- if (err == ALL_BUFFERS_FLUSHED) {
- mIsFirstFrame = true;
- } else {
- return;
- }
- } else {
- mIsFirstFrame = false;
- }
- }
-}
-
-} // namespace android
-
diff --git a/libstagefrighthw/SecHardwareRenderer.h b/libstagefrighthw/SecHardwareRenderer.h
deleted file mode 100644
index 3fad243..0000000
--- a/libstagefrighthw/SecHardwareRenderer.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SEC_HARDWARE_RENDERER_H_
-
-#define SEC_HARDWARE_RENDERER_H_
-
-#include <media/stagefright/VideoRenderer.h>
-#include <utils/RefBase.h>
-#include <utils/Vector.h>
-
-#include <OMX_Component.h>
-
-#include <binder/MemoryHeapBase.h>
-#include <binder/MemoryHeapPmem.h>
-
-namespace android {
-
-class ISurface;
-class Overlay;
-
-class SecHardwareRenderer : public VideoRenderer {
-public:
- SecHardwareRenderer(
- const sp<ISurface> &surface,
- size_t displayWidth, size_t displayHeight,
- size_t decodedWidth, size_t decodedHeight,
- OMX_COLOR_FORMATTYPE colorFormat,
- int32_t rotationDegrees,
- bool fromHardwareDecoder);
-
- virtual ~SecHardwareRenderer();
-
- status_t initCheck() const { return mInitCheck; }
-
- virtual void render(
- const void *data, size_t size, void *platformPrivate);
-
-
-private:
- sp<ISurface> mISurface;
- size_t mDisplayWidth, mDisplayHeight;
- size_t mDecodedWidth, mDecodedHeight;
- OMX_COLOR_FORMATTYPE mColorFormat;
- status_t mInitCheck;
- size_t mFrameSize;
- sp<Overlay> mOverlay;
- sp<MemoryHeapBase> mMemoryHeap;
- Vector<void *> mOverlayAddresses;
- bool mIsFirstFrame;
- int mNumBuf;
- size_t mIndex;
- bool mCustomFormat;
-
-
- SecHardwareRenderer(const SecHardwareRenderer &);
- SecHardwareRenderer &operator=(const SecHardwareRenderer &);
-
- void handleYUV420Planar(const void *, size_t);
-};
-
-} // namespace android
-
-#endif // SEC_HARDWARE_RENDERER_H_
-
diff --git a/libstagefrighthw/stagefright_overlay_output.cpp b/libstagefrighthw/stagefright_overlay_output.cpp
deleted file mode 100644
index fce1d7e..0000000
--- a/libstagefrighthw/stagefright_overlay_output.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "SecHardwareRenderer.h"
-
-#include <media/stagefright/HardwareAPI.h>
-
-using android::sp;
-using android::ISurface;
-using android::VideoRenderer;
-
-VideoRenderer *createRendererWithRotation(
- const sp<ISurface> &surface,
- const char *componentName,
- OMX_COLOR_FORMATTYPE colorFormat,
- size_t displayWidth, size_t displayHeight,
- size_t decodedWidth, size_t decodedHeight,
- int32_t rotationDegrees) {
- using android::SecHardwareRenderer;
-
- bool fromHardwareDecoder = !strncmp(componentName, "OMX.SEC.", 8);
-
- SecHardwareRenderer *renderer =
- new SecHardwareRenderer(
- surface, displayWidth, displayHeight,
- decodedWidth, decodedHeight,
- colorFormat,
- rotationDegrees,
- fromHardwareDecoder);
-
- if (renderer->initCheck() != android::OK) {
- delete renderer;
- renderer = NULL;
- }
-
- return renderer;
-}
-