Remove alpha channel references (unsupported)
BUG=aomedia:2199
Change-Id: Ie4ec204a4c6cd97786fd9301d0d395f117090111
diff --git a/aom/aom_image.h b/aom/aom_image.h
index 65162f0..245ef2c 100644
--- a/aom/aom_image.h
+++ b/aom/aom_image.h
@@ -30,11 +30,11 @@
* types, removing or reassigning enums, adding/removing/rearranging
* fields to structures
*/
-#define AOM_IMAGE_ABI_VERSION (4) /**<\hideinitializer*/
+#define AOM_IMAGE_ABI_VERSION (5) /**<\hideinitializer*/
-#define AOM_IMG_FMT_PLANAR 0x100 /**< Image is a planar format. */
-#define AOM_IMG_FMT_UV_FLIP 0x200 /**< V plane precedes U in memory. */
-#define AOM_IMG_FMT_HAS_ALPHA 0x400 /**< Image has an alpha channel. */
+#define AOM_IMG_FMT_PLANAR 0x100 /**< Image is a planar format. */
+#define AOM_IMG_FMT_UV_FLIP 0x200 /**< V plane precedes U in memory. */
+/** 0x400 used to signal alpha channel, skipping for backwards compatibility. */
#define AOM_IMG_FMT_HIGHBITDEPTH 0x800 /**< Image uses 16bit framebuffer. */
/*!\brief List of supported image formats */
@@ -48,7 +48,6 @@
AOM_IMG_FMT_AOMI420 = AOM_IMG_FMT_PLANAR | 4,
AOM_IMG_FMT_I422 = AOM_IMG_FMT_PLANAR | 5,
AOM_IMG_FMT_I444 = AOM_IMG_FMT_PLANAR | 6,
- AOM_IMG_FMT_444A = AOM_IMG_FMT_PLANAR | AOM_IMG_FMT_HAS_ALPHA | 6,
AOM_IMG_FMT_I42016 = AOM_IMG_FMT_I420 | AOM_IMG_FMT_HIGHBITDEPTH,
AOM_IMG_FMT_YV1216 = AOM_IMG_FMT_YV12 | AOM_IMG_FMT_HIGHBITDEPTH,
AOM_IMG_FMT_I42216 = AOM_IMG_FMT_I422 | AOM_IMG_FMT_HIGHBITDEPTH,
@@ -170,9 +169,8 @@
#define AOM_PLANE_Y 0 /**< Y (Luminance) plane */
#define AOM_PLANE_U 1 /**< U (Chroma) plane */
#define AOM_PLANE_V 2 /**< V (Chroma) plane */
-#define AOM_PLANE_ALPHA 3 /**< A (Transparency) plane */
- unsigned char *planes[4]; /**< pointer to the top left pixel for each plane */
- int stride[4]; /**< stride between rows for each plane */
+ unsigned char *planes[3]; /**< pointer to the top left pixel for each plane */
+ int stride[3]; /**< stride between rows for each plane */
size_t sz; /**< data size */
int bps; /**< bits per sample (for packed formats) */
diff --git a/aom/src/aom_image.c b/aom/src/aom_image.c
index 82a267c..521eade 100644
--- a/aom/src/aom_image.c
+++ b/aom/src/aom_image.c
@@ -134,7 +134,7 @@
img->bps = bps;
/* Calculate strides */
- img->stride[AOM_PLANE_Y] = img->stride[AOM_PLANE_ALPHA] = stride_in_bytes;
+ img->stride[AOM_PLANE_Y] = stride_in_bytes;
img->stride[AOM_PLANE_U] = img->stride[AOM_PLANE_V] = stride_in_bytes >> xcs;
/* Default viewport to entire image */
@@ -188,12 +188,6 @@
(img->fmt & AOM_IMG_FMT_HIGHBITDEPTH) ? 2 : 1;
data = img->img_data;
- if (img->fmt & AOM_IMG_FMT_HAS_ALPHA) {
- img->planes[AOM_PLANE_ALPHA] =
- data + x * bytes_per_sample + y * img->stride[AOM_PLANE_ALPHA];
- data += (img->h + 2 * border) * img->stride[AOM_PLANE_ALPHA];
- }
-
img->planes[AOM_PLANE_Y] =
data + x * bytes_per_sample + y * img->stride[AOM_PLANE_Y];
data += (img->h + 2 * border) * img->stride[AOM_PLANE_Y];
@@ -239,10 +233,6 @@
img->planes[AOM_PLANE_V] += (signed)((img->d_h >> img->y_chroma_shift) - 1) *
img->stride[AOM_PLANE_V];
img->stride[AOM_PLANE_V] = -img->stride[AOM_PLANE_V];
-
- img->planes[AOM_PLANE_ALPHA] +=
- (signed)(img->d_h - 1) * img->stride[AOM_PLANE_ALPHA];
- img->stride[AOM_PLANE_ALPHA] = -img->stride[AOM_PLANE_ALPHA];
}
void aom_img_free(aom_image_t *img) {
diff --git a/aom_scale/yv12config.h b/aom_scale/yv12config.h
index 2fb81ac..10c6ad5 100644
--- a/aom_scale/yv12config.h
+++ b/aom_scale/yv12config.h
@@ -39,17 +39,15 @@
struct {
int y_width;
int uv_width;
- int alpha_width;
};
- int widths[3];
+ int widths[2];
};
union {
struct {
int y_height;
int uv_height;
- int alpha_height;
};
- int heights[3];
+ int heights[2];
};
union {
struct {
@@ -69,18 +67,16 @@
struct {
int y_stride;
int uv_stride;
- int alpha_stride;
};
- int strides[3];
+ int strides[2];
};
union {
struct {
uint8_t *y_buffer;
uint8_t *u_buffer;
uint8_t *v_buffer;
- uint8_t *alpha_buffer;
};
- uint8_t *buffers[4];
+ uint8_t *buffers[3];
};
// Indicate whether y_buffer, u_buffer, and v_buffer points to the internally
diff --git a/av1/av1_iface_common.h b/av1/av1_iface_common.h
index 4a7af58..32a207d 100644
--- a/av1/av1_iface_common.h
+++ b/av1/av1_iface_common.h
@@ -52,11 +52,9 @@
img->planes[AOM_PLANE_Y] = yv12->y_buffer;
img->planes[AOM_PLANE_U] = yv12->u_buffer;
img->planes[AOM_PLANE_V] = yv12->v_buffer;
- img->planes[AOM_PLANE_ALPHA] = NULL;
img->stride[AOM_PLANE_Y] = yv12->y_stride;
img->stride[AOM_PLANE_U] = yv12->uv_stride;
img->stride[AOM_PLANE_V] = yv12->uv_stride;
- img->stride[AOM_PLANE_ALPHA] = yv12->y_stride;
if (yv12->flags & YV12_FLAG_HIGHBITDEPTH) {
// aom_image_t uses byte strides and a pointer to the first byte
// of the image.
@@ -65,11 +63,9 @@
img->planes[AOM_PLANE_Y] = (uint8_t *)CONVERT_TO_SHORTPTR(yv12->y_buffer);
img->planes[AOM_PLANE_U] = (uint8_t *)CONVERT_TO_SHORTPTR(yv12->u_buffer);
img->planes[AOM_PLANE_V] = (uint8_t *)CONVERT_TO_SHORTPTR(yv12->v_buffer);
- img->planes[AOM_PLANE_ALPHA] = NULL;
img->stride[AOM_PLANE_Y] = 2 * yv12->y_stride;
img->stride[AOM_PLANE_U] = 2 * yv12->uv_stride;
img->stride[AOM_PLANE_V] = 2 * yv12->uv_stride;
- img->stride[AOM_PLANE_ALPHA] = 2 * yv12->y_stride;
}
img->bps = bps;
img->user_priv = user_priv;
diff --git a/common/y4menc.c b/common/y4menc.c
index de8eca2..c539b5b 100644
--- a/common/y4menc.c
+++ b/common/y4menc.c
@@ -30,7 +30,6 @@
// image format.
const char *colorspace8(aom_chroma_sample_position_t csp, aom_img_fmt_t fmt) {
switch (fmt) {
- case AOM_IMG_FMT_444A: return "C444alpha";
case AOM_IMG_FMT_I444: return "C444";
case AOM_IMG_FMT_I422: return "C422";
default:
diff --git a/common/y4minput.c b/common/y4minput.c
index 4e1581c..5338370 100644
--- a/common/y4minput.c
+++ b/common/y4minput.c
@@ -1047,14 +1047,8 @@
_y4m->aux_buf_sz = _y4m->aux_buf_read_sz = 3 * _y4m->pic_w * _y4m->pic_h;
_y4m->convert = y4m_convert_444_420jpeg;
} else {
- _y4m->aom_fmt = AOM_IMG_FMT_444A;
- _y4m->bps = 32;
- _y4m->dst_c_dec_h = _y4m->src_c_dec_h;
- _y4m->dst_c_dec_v = _y4m->src_c_dec_v;
- _y4m->dst_buf_read_sz = 4 * _y4m->pic_w * _y4m->pic_h;
- /*Natively supported: no conversion required.*/
- _y4m->aux_buf_sz = _y4m->aux_buf_read_sz = 0;
- _y4m->convert = y4m_convert_null;
+ fprintf(stderr, "Unsupported format: 444A\n");
+ return -1;
}
} else if (strcmp(_y4m->chroma_type, "mono") == 0) {
_y4m->src_c_dec_h = _y4m->src_c_dec_v = 0;
@@ -1141,12 +1135,10 @@
c_w *= bytes_per_sample;
c_h = (_y4m->pic_h + _y4m->dst_c_dec_v - 1) / _y4m->dst_c_dec_v;
c_sz = c_w * c_h;
- _img->stride[AOM_PLANE_Y] = _img->stride[AOM_PLANE_ALPHA] =
- _y4m->pic_w * bytes_per_sample;
+ _img->stride[AOM_PLANE_Y] = _y4m->pic_w * bytes_per_sample;
_img->stride[AOM_PLANE_U] = _img->stride[AOM_PLANE_V] = c_w;
_img->planes[AOM_PLANE_Y] = _y4m->dst_buf;
_img->planes[AOM_PLANE_U] = _y4m->dst_buf + pic_sz;
_img->planes[AOM_PLANE_V] = _y4m->dst_buf + pic_sz + c_sz;
- _img->planes[AOM_PLANE_ALPHA] = _y4m->dst_buf + pic_sz + 2 * c_sz;
return 1;
}