Bug 1262335 - Part 2. Remove Android GB/HC defines from OMX. r?snorp draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Wed, 06 Apr 2016 17:30:17 +0900
changeset 347984 2cc767bcb135e675f842272c8a7a97f0e326c6b6
parent 347983 b9b7f3cd37ee9fbe0fcc7dcbaddf19ef56c3e2fc
child 347985 c6e382ddc9323ab9b1048fae45b7eb977a120c2d
push id14719
push userm_kato@ga2.so-net.ne.jp
push dateWed, 06 Apr 2016 08:32:20 +0000
reviewerssnorp
bugs1262335
milestone48.0a1
Bug 1262335 - Part 2. Remove Android GB/HC defines from OMX. r?snorp MozReview-Commit-ID: HKbYZXftKBc
media/omx-plugin/OmxPlugin.cpp
toolkit/toolkit.mozbuild
--- a/media/omx-plugin/OmxPlugin.cpp
+++ b/media/omx-plugin/OmxPlugin.cpp
@@ -26,23 +26,17 @@
 #define MAX_DECODER_NAME_LEN 256
 #define AVC_MIME_TYPE "video/avc"
 
 #define DEFAULT_STAGEFRIGHT_FLAGS OMXCodec::kClientNeedsFramebuffer
 
 #undef LOG
 #define LOG(args...)  __android_log_print(ANDROID_LOG_INFO, "OmxPlugin" , ## args)
 
-#if !defined(MOZ_ANDROID_GB) && !defined(MOZ_ANDROID_HC)
-#define MOZ_ANDROID_V4_OR_ABOVE
-#endif
-
-#if defined(MOZ_ANDROID_V4_OR_ABOVE)
 #include <I420ColorConverter.h>
-#endif
 
 using namespace MPAPI;
 
 #if !defined(MOZ_STAGEFRIGHT_OFF_T)
 #define MOZ_STAGEFRIGHT_OFF_T off64_t
 #endif
 
 using namespace android;
@@ -195,21 +189,19 @@ OmxDecoder::~OmxDecoder()
   if (mVideoSource.get()) {
     mVideoSource->stop();
   }
 
   if (mAudioSource.get()) {
     mAudioSource->stop();
   }
 
-#ifndef MOZ_ANDROID_HC
   if (mColorConverter) {
     delete mColorConverter;
   }
-#endif
 }
 
 class AutoStopMediaSource {
   sp<MediaSource> mMediaSource;
 public:
   AutoStopMediaSource(sp<MediaSource> aMediaSource) : mMediaSource(aMediaSource) {
   }
 
@@ -263,24 +255,22 @@ static uint32_t GetVideoCreationFlags(Pl
   // CreationFlags flags. This is useful for A/B testing hardware and software
   // decoders for performance and bugs. The interesting flag values are:
   //  0 = Let Stagefright choose hardware or software decoding (default)
   //  8 = Force software decoding
   // 16 = Force hardware decoding
   int32_t flags = 0;
   aPluginHost->GetIntPref("media.stagefright.omxcodec.flags", &flags);
   if (flags != 0) {
-#if !defined(MOZ_ANDROID_GB)
     LOG("media.stagefright.omxcodec.flags=%d", flags);
     if ((flags & OMXCodec::kHardwareCodecsOnly) != 0) {
       LOG("FORCE HARDWARE DECODING");
     } else if ((flags & OMXCodec::kSoftwareCodecsOnly) != 0) {
       LOG("FORCE SOFTWARE DECODING");
     }
-#endif
   }
 
   flags |= GetDefaultStagefrightFlags(aPluginHost);
 
   return static_cast<uint32_t>(flags);
 #endif
 }
 
@@ -305,32 +295,28 @@ IsColorFormatSupported(OMX_COLOR_FORMATT
       // slow software conversion.
       return ColorFormatSupportPreferred;
     default:
       break;
   }
 
   // These formats are okay if we can't find a better one; Android provides a
   // software conversion to a sane colour format.
-#if !defined(MOZ_ANDROID_HC)
   if (ColorConverter(aColorFormat, OMX_COLOR_Format16bitRGB565).isValid()) {
     LOG("Colour format %#x supported by Android ColorConverter.", aColorFormat);
     return ColorFormatSupportOK;
   }
-#endif
 
-#if defined(MOZ_ANDROID_V4_OR_ABOVE)
   I420ColorConverter yuvConverter;
 
   if (yuvConverter.isLoaded() &&
       yuvConverter.getDecoderOutputFormat() == aColorFormat) {
     LOG("Colour format %#x supported by Android I420ColorConverter.", aColorFormat);
     return ColorFormatSupportOK;
   }
-#endif
 
   return ColorFormatNotSupported;
 }
 
 #if defined(MOZ_ANDROID_KK)
 /**
  * Look for a decoder that supports a colour format that we support.
  */
@@ -428,21 +414,17 @@ static sp<MediaSource> CreateVideoSource
       LOG("Unknown video color format: %#x", videoColorFormat);
     } else {
       LOG("Video color format not found");
     }
 
     // Throw away the videoSource and try again with new flags.
     LOG("Falling back to software decoder");
     videoSource.clear();
-#if defined(MOZ_ANDROID_GB)
-    flags = DEFAULT_STAGEFRIGHT_FLAGS | OMXCodec::kPreferSoftwareCodecs;
-#else
     flags = DEFAULT_STAGEFRIGHT_FLAGS | OMXCodec::kSoftwareCodecsOnly;
-#endif
   }
 
   MOZ_ASSERT(flags != DEFAULT_STAGEFRIGHT_FLAGS);
   return OMXCodec::Create(aOmx, aVideoTrack->getFormat(), false, aVideoTrack,
                           nullptr, flags);
 }
 
 bool OmxDecoder::Init()
@@ -628,28 +610,24 @@ bool OmxDecoder::SetVideoFormat() {
   }
 
   if (mVideoSliceHeight <= 0) {
     LOG("slice height %d must be positive", mVideoSliceHeight);
     return false;
   }
 
   // Gingerbread does not support the kKeyCropRect key
-#if !defined(MOZ_ANDROID_GB)
   if (!format->findRect(kKeyCropRect, &mVideoCropLeft, &mVideoCropTop,
                                       &mVideoCropRight, &mVideoCropBottom)) {
-#endif
     mVideoCropLeft = 0;
     mVideoCropTop = 0;
     mVideoCropRight = mVideoStride - 1;
     mVideoCropBottom = mVideoSliceHeight - 1;
     LOG("crop rect not available, assuming no cropping");
-#if !defined(MOZ_ANDROID_GB)
   }
-#endif
 
   if (mVideoCropLeft < 0 || mVideoCropLeft >= mVideoCropRight || mVideoCropRight >= mVideoStride ||
       mVideoCropTop < 0 || mVideoCropTop >= mVideoCropBottom || mVideoCropBottom >= mVideoSliceHeight) {
     LOG("invalid crop rect %d,%d-%d,%d", mVideoCropLeft, mVideoCropTop, mVideoCropRight, mVideoCropBottom);
     return false;
   }
 
   mVideoWidth = mVideoCropRight - mVideoCropLeft + 1;
@@ -793,19 +771,16 @@ bool OmxDecoder::ToVideoFrame_RGB565(Vid
   memcpy(buffer, aData, mVideoWidth * mVideoHeight * 2);
 
   aFrame->mSize = mVideoWidth * mVideoHeight * 2;
 
   return true;
 }
 
 bool OmxDecoder::ToVideoFrame_ColorConverter(VideoFrame *aFrame, int64_t aTimeUs, void *aData, size_t aSize, bool aKeyFrame, BufferCallback *aBufferCallback) {
-#ifdef MOZ_ANDROID_HC
-  return false;
-#else
   if (!mColorConverter) {
     mColorConverter = new ColorConverter((OMX_COLOR_FORMATTYPE)mVideoColorFormat,
                                          OMX_COLOR_Format16bitRGB565);
   }
 
   if (!mColorConverter->isValid()) {
     return false;
   }
@@ -815,36 +790,28 @@ bool OmxDecoder::ToVideoFrame_ColorConve
   void *buffer = (*aBufferCallback)(mVideoWidth, mVideoHeight, MPAPI::RGB565);
 
   if (!buffer) {
     return false;
   }
 
   aFrame->mSize = mVideoWidth * mVideoHeight * 2;
 
-#if defined(MOZ_ANDROID_GB)
-  mColorConverter->convert(mVideoWidth, mVideoHeight,
-                           aData, 0 /* srcSkip */,
-                           buffer, mVideoWidth * 2);
-#else
   mColorConverter->convert(aData, mVideoStride, mVideoSliceHeight,
                            mVideoCropLeft, mVideoCropTop,
                            mVideoCropLeft + mVideoWidth - 1,
                            mVideoCropTop + mVideoHeight - 1,
                            buffer, mVideoWidth, mVideoHeight,
                            0, 0, mVideoWidth - 1, mVideoHeight - 1);
-#endif
 
   return true;
-#endif
 }
 
 bool OmxDecoder::ToVideoFrame_I420ColorConverter(VideoFrame *aFrame, int64_t aTimeUs, void *aData, size_t aSize, bool aKeyFrame, BufferCallback *aBufferCallback)
 {
-#if defined(MOZ_ANDROID_V4_OR_ABOVE)
   I420ColorConverter yuvConverter;
 
   if (!yuvConverter.isLoaded()) {
     return false;
   }
 
   if (yuvConverter.getDecoderOutputFormat() != mVideoColorFormat) {
     return false;
@@ -861,19 +828,16 @@ bool OmxDecoder::ToVideoFrame_I420ColorC
 
   // result is 0 on success, -1 otherwise.
   if (result == OK) {
     aFrame->mTimeUs = aTimeUs;
     aFrame->mSize = mVideoWidth * mVideoHeight * 3 / 2;
   }
 
   return result == OK;
-#else
-  return false;
-#endif
 }
 
 bool OmxDecoder::ToVideoFrame(VideoFrame *aFrame, int64_t aTimeUs, void *aData, size_t aSize, bool aKeyFrame, BufferCallback *aBufferCallback) {
   switch (mVideoColorFormat) {
   case OMX_COLOR_FormatYUV420Planar: // e.g. Asus Transformer, Stagefright's software decoder
     ToVideoFrame_YUV420Planar(aFrame, aTimeUs, aData, aSize, aKeyFrame);
     break;
   case OMX_COLOR_FormatCbYCrY: // e.g. Droid 1
--- a/toolkit/toolkit.mozbuild
+++ b/toolkit/toolkit.mozbuild
@@ -61,25 +61,17 @@ if CONFIG['MOZ_WEBRTC']:
         '/media/mtransport',
     ]
 
 if CONFIG['MOZ_OMX_PLUGIN']:
     DIRS += [
         '/media/omx-plugin/lib/ics/libutils',
         '/media/omx-plugin/lib/ics/libstagefright',
         '/media/omx-plugin/lib/ics/libvideoeditorplayer',
-        '/media/omx-plugin/lib/gb/libutils',
-        '/media/omx-plugin/lib/gb/libstagefright',
-        '/media/omx-plugin/lib/gb/libstagefright_color_conversion',
-        '/media/omx-plugin/lib/gb235/libstagefright',
         '/media/omx-plugin',
-        '/media/omx-plugin/gb',
-        '/media/omx-plugin/gb235',
-        '/media/omx-plugin/lib/hc/libstagefright',
-        '/media/omx-plugin/hc',
         '/media/omx-plugin/kk',
     ]
 
 if CONFIG['ENABLE_TESTS']:
     DIRS += ['/testing/specialpowers']
 
 DIRS += [
     '/testing/gtest',