diff options
author | Paul B Mahol <onemda@gmail.com> | 2012-03-25 23:33:50 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-03-26 04:58:44 +0200 |
commit | 06b0c6a6559e8f179faaba9641bcb2d68edc7160 (patch) | |
tree | 0490a8f73cc0b7c0dc88d644cde047f19348a3a8 /libavcodec | |
parent | 140c54ea0b1a6b4eb2d8515624a616565763e26a (diff) | |
download | ffmpeg-06b0c6a6559e8f179faaba9641bcb2d68edc7160.tar.gz |
libopenjpegenc: use pix_fmt descriptor to get numcomps
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/libopenjpegenc.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c index 2a60e79855..40b89db633 100644 --- a/libavcodec/libopenjpegenc.c +++ b/libavcodec/libopenjpegenc.c @@ -57,7 +57,7 @@ static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p int bpp = 8; int sub_dx[4]; int sub_dy[4]; - int numcomps = 0; + int numcomps; OPJ_COLOR_SPACE color_space = CLRSPC_UNKNOWN; sub_dx[0] = sub_dx[3] = 1; @@ -65,77 +65,64 @@ static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *p sub_dx[1] = sub_dx[2] = 1<<av_pix_fmt_descriptors[avctx->pix_fmt].log2_chroma_w; sub_dy[1] = sub_dy[2] = 1<<av_pix_fmt_descriptors[avctx->pix_fmt].log2_chroma_h; + numcomps = av_pix_fmt_descriptors[avctx->pix_fmt].nb_components; + switch (avctx->pix_fmt) { case PIX_FMT_GRAY8: color_space = CLRSPC_GRAY; - numcomps = 1; break; case PIX_FMT_GRAY8A: color_space = CLRSPC_GRAY; - numcomps = 2; break; case PIX_FMT_GRAY16: color_space = CLRSPC_GRAY; - numcomps = 1; bpp = 16; break; case PIX_FMT_RGB24: color_space = CLRSPC_SRGB; - numcomps = 3; break; case PIX_FMT_RGBA: color_space = CLRSPC_SRGB; - numcomps = 4; break; case PIX_FMT_RGB48: color_space = CLRSPC_SRGB; - numcomps = 3; bpp = 16; break; case PIX_FMT_RGBA64: color_space = CLRSPC_SRGB; - numcomps = 4; bpp = 16; break; case PIX_FMT_YUV420P: color_space = CLRSPC_SYCC; - numcomps = 3; break; case PIX_FMT_YUV422P: color_space = CLRSPC_SYCC; - numcomps = 3; break; case PIX_FMT_YUV440P: color_space = CLRSPC_SYCC; - numcomps = 3; break; case PIX_FMT_YUV444P: color_space = CLRSPC_SYCC; - numcomps = 3; break; case PIX_FMT_YUVA420P: color_space = CLRSPC_SYCC; - numcomps = 4; break; case PIX_FMT_YUV420P9: case PIX_FMT_YUV422P9: case PIX_FMT_YUV444P9: color_space = CLRSPC_SYCC; - numcomps = 3; bpp = 9; break; case PIX_FMT_YUV420P10: case PIX_FMT_YUV422P10: case PIX_FMT_YUV444P10: color_space = CLRSPC_SYCC; - numcomps = 3; bpp = 10; break; case PIX_FMT_YUV420P16: case PIX_FMT_YUV422P16: case PIX_FMT_YUV444P16: color_space = CLRSPC_SYCC; - numcomps = 3; bpp = 16; break; default: |