| Index: media/base/android/java/src/org/chromium/media/VideoCapture.java
|
| diff --git a/media/base/android/java/src/org/chromium/media/VideoCapture.java b/media/base/android/java/src/org/chromium/media/VideoCapture.java
|
| index df9eb4dcffb61a8ea9a8bd8ea8d0e16d92d775a1..27b55320673240708720b2504018b9cfeb154d21 100644
|
| --- a/media/base/android/java/src/org/chromium/media/VideoCapture.java
|
| +++ b/media/base/android/java/src/org/chromium/media/VideoCapture.java
|
| @@ -51,7 +51,6 @@ public class VideoCapture implements PreviewCallback, OnFrameAvailableListener {
|
| return ImageFormat.NV21;
|
| }
|
| }
|
| -
|
| return ImageFormat.YV12;
|
| }
|
| }
|
| @@ -238,6 +237,27 @@ public class VideoCapture implements PreviewCallback, OnFrameAvailableListener {
|
| }
|
|
|
| @CalledByNative
|
| + public int getColorspace() {
|
| + switch (mImageFormat){
|
| + case ImageFormat.YV12:
|
| + return AndroidImageFormatList.ANDROID_IMAGEFORMAT_YV12;
|
| + case ImageFormat.NV21:
|
| + return AndroidImageFormatList.ANDROID_IMAGEFORMAT_NV21;
|
| + case ImageFormat.YUY2:
|
| + return AndroidImageFormatList.ANDROID_IMAGEFORMAT_YUY2;
|
| + case ImageFormat.NV16:
|
| + return AndroidImageFormatList.ANDROID_IMAGEFORMAT_NV16;
|
| + case ImageFormat.JPEG:
|
| + return AndroidImageFormatList.ANDROID_IMAGEFORMAT_JPEG;
|
| + case ImageFormat.RGB_565:
|
| + return AndroidImageFormatList.ANDROID_IMAGEFORMAT_RGB_565;
|
| + case ImageFormat.UNKNOWN:
|
| + default:
|
| + return AndroidImageFormatList.ANDROID_IMAGEFORMAT_UNKNOWN;
|
| + }
|
| + }
|
| +
|
| + @CalledByNative
|
| public int startCapture() {
|
| if (mCamera == null) {
|
| Log.e(TAG, "startCapture: camera is null");
|
| @@ -325,9 +345,6 @@ public class VideoCapture implements PreviewCallback, OnFrameAvailableListener {
|
| } else {
|
| rotation = (mCameraOrientation - rotation + 360) % 360;
|
| }
|
| - if (mImageFormat == ImageFormat.NV21) {
|
| - convertNV21ToYV12(data);
|
| - }
|
| nativeOnFrameAvailable(mNativeVideoCaptureDeviceAndroid,
|
| data, mExpectedFrameSize,
|
| rotation, flipVertical, flipHorizontal);
|
| @@ -417,19 +434,5 @@ public class VideoCapture implements PreviewCallback, OnFrameAvailableListener {
|
|
|
| private void calculateImageFormat(int width, int height) {
|
| mImageFormat = DeviceImageFormatHack.getImageFormat();
|
| - if (mImageFormat == ImageFormat.NV21) {
|
| - mColorPlane = new byte[width * height / 4];
|
| - }
|
| - }
|
| -
|
| - private void convertNV21ToYV12(byte[] data) {
|
| - final int ySize = mCurrentCapability.mWidth * mCurrentCapability.mHeight;
|
| - final int uvSize = ySize / 4;
|
| - for (int i = 0; i < uvSize; i++) {
|
| - final int index = ySize + i * 2;
|
| - data[ySize + i] = data[index];
|
| - mColorPlane[i] = data[index + 1];
|
| - }
|
| - System.arraycopy(mColorPlane, 0, data, ySize + uvSize, uvSize);
|
| }
|
| }
|
|
|