vpx_image: remove unused image formats
libvpx only emits: VPX_IMG_FMT_{I420,I422,I440,I444,I42016,I42216,I44016,I44416} and additionally supports YV12 as input. interleaved yuv, rgb and alpha formats are unused. Change-Id: Ie2ab1099e950c6e696f475d46882f5c47a174042
This commit is contained in:
parent
be5df60801
commit
c9a459216d
@ -258,9 +258,7 @@ static vpx_codec_err_t validate_img(vpx_codec_alg_priv_t *ctx,
|
||||
const vpx_image_t *img) {
|
||||
switch (img->fmt) {
|
||||
case VPX_IMG_FMT_YV12:
|
||||
case VPX_IMG_FMT_I420:
|
||||
case VPX_IMG_FMT_VPXI420:
|
||||
case VPX_IMG_FMT_VPXYV12: break;
|
||||
case VPX_IMG_FMT_I420: break;
|
||||
default:
|
||||
ERROR("Invalid image format. Only YV12 and I420 images are supported");
|
||||
}
|
||||
|
@ -38,23 +38,8 @@ static vpx_image_t *img_alloc_helper(vpx_image_t *img, vpx_img_fmt_t fmt,
|
||||
|
||||
/* Get sample size for this format */
|
||||
switch (fmt) {
|
||||
case VPX_IMG_FMT_RGB32:
|
||||
case VPX_IMG_FMT_RGB32_LE:
|
||||
case VPX_IMG_FMT_ARGB:
|
||||
case VPX_IMG_FMT_ARGB_LE: bps = 32; break;
|
||||
case VPX_IMG_FMT_RGB24:
|
||||
case VPX_IMG_FMT_BGR24: bps = 24; break;
|
||||
case VPX_IMG_FMT_RGB565:
|
||||
case VPX_IMG_FMT_RGB565_LE:
|
||||
case VPX_IMG_FMT_RGB555:
|
||||
case VPX_IMG_FMT_RGB555_LE:
|
||||
case VPX_IMG_FMT_UYVY:
|
||||
case VPX_IMG_FMT_YUY2:
|
||||
case VPX_IMG_FMT_YVYU: bps = 16; break;
|
||||
case VPX_IMG_FMT_I420:
|
||||
case VPX_IMG_FMT_YV12:
|
||||
case VPX_IMG_FMT_VPXI420:
|
||||
case VPX_IMG_FMT_VPXYV12: bps = 12; break;
|
||||
case VPX_IMG_FMT_YV12: bps = 12; break;
|
||||
case VPX_IMG_FMT_I422:
|
||||
case VPX_IMG_FMT_I440: bps = 16; break;
|
||||
case VPX_IMG_FMT_I444: bps = 24; break;
|
||||
@ -69,8 +54,6 @@ static vpx_image_t *img_alloc_helper(vpx_image_t *img, vpx_img_fmt_t fmt,
|
||||
switch (fmt) {
|
||||
case VPX_IMG_FMT_I420:
|
||||
case VPX_IMG_FMT_YV12:
|
||||
case VPX_IMG_FMT_VPXI420:
|
||||
case VPX_IMG_FMT_VPXYV12:
|
||||
case VPX_IMG_FMT_I422:
|
||||
case VPX_IMG_FMT_I42016:
|
||||
case VPX_IMG_FMT_I42216: xcs = 1; break;
|
||||
@ -81,8 +64,6 @@ static vpx_image_t *img_alloc_helper(vpx_image_t *img, vpx_img_fmt_t fmt,
|
||||
case VPX_IMG_FMT_I420:
|
||||
case VPX_IMG_FMT_I440:
|
||||
case VPX_IMG_FMT_YV12:
|
||||
case VPX_IMG_FMT_VPXI420:
|
||||
case VPX_IMG_FMT_VPXYV12:
|
||||
case VPX_IMG_FMT_I42016:
|
||||
case VPX_IMG_FMT_I44016: ycs = 1; break;
|
||||
default: ycs = 0; break;
|
||||
|
@ -27,7 +27,7 @@ extern "C" {
|
||||
* types, removing or reassigning enums, adding/removing/rearranging
|
||||
* fields to structures
|
||||
*/
|
||||
#define VPX_IMAGE_ABI_VERSION (4) /**<\hideinitializer*/
|
||||
#define VPX_IMAGE_ABI_VERSION (5) /**<\hideinitializer*/
|
||||
|
||||
#define VPX_IMG_FMT_PLANAR 0x100 /**< Image is a planar format. */
|
||||
#define VPX_IMG_FMT_UV_FLIP 0x200 /**< V plane precedes U in memory. */
|
||||
@ -37,29 +37,12 @@ extern "C" {
|
||||
/*!\brief List of supported image formats */
|
||||
typedef enum vpx_img_fmt {
|
||||
VPX_IMG_FMT_NONE,
|
||||
VPX_IMG_FMT_RGB24, /**< 24 bit per pixel packed RGB */
|
||||
VPX_IMG_FMT_RGB32, /**< 32 bit per pixel packed 0RGB */
|
||||
VPX_IMG_FMT_RGB565, /**< 16 bit per pixel, 565 */
|
||||
VPX_IMG_FMT_RGB555, /**< 16 bit per pixel, 555 */
|
||||
VPX_IMG_FMT_UYVY, /**< UYVY packed YUV */
|
||||
VPX_IMG_FMT_YUY2, /**< YUYV packed YUV */
|
||||
VPX_IMG_FMT_YVYU, /**< YVYU packed YUV */
|
||||
VPX_IMG_FMT_BGR24, /**< 24 bit per pixel packed BGR */
|
||||
VPX_IMG_FMT_RGB32_LE, /**< 32 bit packed BGR0 */
|
||||
VPX_IMG_FMT_ARGB, /**< 32 bit packed ARGB, alpha=255 */
|
||||
VPX_IMG_FMT_ARGB_LE, /**< 32 bit packed BGRA, alpha=255 */
|
||||
VPX_IMG_FMT_RGB565_LE, /**< 16 bit per pixel, gggbbbbb rrrrrggg */
|
||||
VPX_IMG_FMT_RGB555_LE, /**< 16 bit per pixel, gggbbbbb 0rrrrrgg */
|
||||
VPX_IMG_FMT_YV12 =
|
||||
VPX_IMG_FMT_PLANAR | VPX_IMG_FMT_UV_FLIP | 1, /**< planar YVU */
|
||||
VPX_IMG_FMT_I420 = VPX_IMG_FMT_PLANAR | 2,
|
||||
VPX_IMG_FMT_VPXYV12 = VPX_IMG_FMT_PLANAR | VPX_IMG_FMT_UV_FLIP |
|
||||
3, /** < planar 4:2:0 format with vpx color space */
|
||||
VPX_IMG_FMT_VPXI420 = VPX_IMG_FMT_PLANAR | 4,
|
||||
VPX_IMG_FMT_I422 = VPX_IMG_FMT_PLANAR | 5,
|
||||
VPX_IMG_FMT_I444 = VPX_IMG_FMT_PLANAR | 6,
|
||||
VPX_IMG_FMT_I440 = VPX_IMG_FMT_PLANAR | 7,
|
||||
VPX_IMG_FMT_444A = VPX_IMG_FMT_PLANAR | VPX_IMG_FMT_HAS_ALPHA | 6,
|
||||
VPX_IMG_FMT_I42016 = VPX_IMG_FMT_I420 | VPX_IMG_FMT_HIGHBITDEPTH,
|
||||
VPX_IMG_FMT_I42216 = VPX_IMG_FMT_I422 | VPX_IMG_FMT_HIGHBITDEPTH,
|
||||
VPX_IMG_FMT_I44416 = VPX_IMG_FMT_I444 | VPX_IMG_FMT_HIGHBITDEPTH,
|
||||
|
8
y4menc.c
8
y4menc.c
@ -17,11 +17,9 @@ int y4m_write_file_header(char *buf, size_t len, int width, int height,
|
||||
const char *color;
|
||||
switch (bit_depth) {
|
||||
case 8:
|
||||
color = fmt == VPX_IMG_FMT_444A
|
||||
? "C444alpha\n"
|
||||
: fmt == VPX_IMG_FMT_I444
|
||||
? "C444\n"
|
||||
: fmt == VPX_IMG_FMT_I422 ? "C422\n" : "C420jpeg\n";
|
||||
color = fmt == VPX_IMG_FMT_I444
|
||||
? "C444\n"
|
||||
: fmt == VPX_IMG_FMT_I422 ? "C422\n" : "C420jpeg\n";
|
||||
break;
|
||||
case 9:
|
||||
color = fmt == VPX_IMG_FMT_I44416
|
||||
|
24
y4minput.c
24
y4minput.c
@ -1031,30 +1031,6 @@ int y4m_input_open(y4m_input *_y4m, FILE *_fin, char *_skip, int _nskip,
|
||||
fprintf(stderr, "Unsupported conversion from 444p12 to 420jpeg\n");
|
||||
return -1;
|
||||
}
|
||||
} else if (strcmp(_y4m->chroma_type, "444alpha") == 0) {
|
||||
_y4m->src_c_dec_h = 1;
|
||||
_y4m->src_c_dec_v = 1;
|
||||
if (only_420) {
|
||||
_y4m->dst_c_dec_h = 2;
|
||||
_y4m->dst_c_dec_v = 2;
|
||||
_y4m->dst_buf_read_sz = _y4m->pic_w * _y4m->pic_h;
|
||||
/*Chroma filter required: read into the aux buf first.
|
||||
We need to make two filter passes, so we need some extra space in the
|
||||
aux buffer.
|
||||
The extra plane also gets read into the aux buf.
|
||||
It will be discarded.*/
|
||||
_y4m->aux_buf_sz = _y4m->aux_buf_read_sz = 3 * _y4m->pic_w * _y4m->pic_h;
|
||||
_y4m->convert = y4m_convert_444_420jpeg;
|
||||
} else {
|
||||
_y4m->vpx_fmt = VPX_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;
|
||||
}
|
||||
} else if (strcmp(_y4m->chroma_type, "mono") == 0) {
|
||||
_y4m->src_c_dec_h = _y4m->src_c_dec_v = 0;
|
||||
_y4m->dst_c_dec_h = _y4m->dst_c_dec_v = 2;
|
||||
|
Loading…
Reference in New Issue
Block a user