Merge "ImageReader: disable NV21 support" into klp-dev
This commit is contained in:
@@ -83,7 +83,8 @@ public class ImageReader implements AutoCloseable {
|
||||
* @param format
|
||||
* The format of the Image that this reader will produce. This
|
||||
* must be one of the {@link android.graphics.ImageFormat} or
|
||||
* {@link android.graphics.PixelFormat} constants.
|
||||
* {@link android.graphics.PixelFormat} constants. Note that
|
||||
* not all formats is supported, like ImageFormat.NV21.
|
||||
* @param maxImages
|
||||
* The maximum number of images the user will want to
|
||||
* access simultaneously. This should be as small as possible to limit
|
||||
@@ -116,6 +117,11 @@ public class ImageReader implements AutoCloseable {
|
||||
"Maximum outstanding image count must be at least 1");
|
||||
}
|
||||
|
||||
if (format == ImageFormat.NV21) {
|
||||
throw new IllegalArgumentException(
|
||||
"NV21 format is not supported");
|
||||
}
|
||||
|
||||
mNumPlanes = getNumPlanesFromFormat();
|
||||
|
||||
nativeInit(new WeakReference<ImageReader>(this), width, height, format, maxImages);
|
||||
|
||||
@@ -721,13 +721,18 @@ static jint ImageReader_imageSetup(JNIEnv* env, jobject thiz,
|
||||
return ACQUIRE_NO_BUFFERS;
|
||||
}
|
||||
|
||||
if (buffer->format == HAL_PIXEL_FORMAT_YCrCb_420_SP) {
|
||||
jniThrowException(env, "java/lang/UnsupportedOperationException",
|
||||
"NV21 format is not supported by ImageReader");
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Check if the left-top corner of the crop rect is origin, we currently assume this point is
|
||||
// zero, will revist this once this assumption turns out problematic.
|
||||
Point lt = buffer->crop.leftTop();
|
||||
if (lt.x != 0 || lt.y != 0) {
|
||||
ALOGE("crop left: %d, top = %d", lt.x, lt.y);
|
||||
jniThrowException(env, "java/lang/UnsupportedOperationException",
|
||||
"crop left top corner need to at origin");
|
||||
jniThrowExceptionFmt(env, "java/lang/UnsupportedOperationException",
|
||||
"crop left top corner [%d, %d] need to be at origin", lt.x, lt.y);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user