diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2012-01-14 00:58:40 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2012-01-14 00:58:40 +0100 |
commit | 7c10d3ca2e44b81f31f6ac91bcddf7c6dda3169e (patch) | |
tree | 9acda1810e2fb735781fb8165b21ae2ef6fbd96e /libavcodec/pamenc.c | |
parent | 4cef928ef71339840222b75b04fca11676b13fe5 (diff) | |
download | ffmpeg-7c10d3ca2e44b81f31f6ac91bcddf7c6dda3169e.tar.gz |
Simplify 32bit RGB pam encoding.
Reviewed-by: Paul B Mahol
Diffstat (limited to 'libavcodec/pamenc.c')
-rw-r--r-- | libavcodec/pamenc.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/libavcodec/pamenc.c b/libavcodec/pamenc.c index 44db009c26..20516c57ed 100644 --- a/libavcodec/pamenc.c +++ b/libavcodec/pamenc.c @@ -80,7 +80,7 @@ static int pam_encode_frame(AVCodecContext *avctx, unsigned char *outbuf, maxval = 255; tuple_type = "RGB"; break; - case PIX_FMT_RGB32: + case PIX_FMT_RGBA: n = w * 4; depth = 4; maxval = 255; @@ -103,19 +103,7 @@ static int pam_encode_frame(AVCodecContext *avctx, unsigned char *outbuf, ptr = p->data[0]; linesize = p->linesize[0]; - if (avctx->pix_fmt == PIX_FMT_RGB32) { - int j; - unsigned int v; - - for (i = 0; i < h; i++) { - for (j = 0; j < w; j++) { - v = ((uint32_t *)ptr)[j]; - bytestream_put_be24(&s->bytestream, v); - *s->bytestream++ = v >> 24; - } - ptr += linesize; - } - } else if (avctx->pix_fmt == PIX_FMT_MONOBLACK){ + if (avctx->pix_fmt == PIX_FMT_MONOBLACK){ int j; for (i = 0; i < h; i++) { for (j = 0; j < w; j++) @@ -140,6 +128,6 @@ AVCodec ff_pam_encoder = { .priv_data_size = sizeof(PNMContext), .init = ff_pnm_init, .encode = pam_encode_frame, - .pix_fmts = (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGB32, PIX_FMT_RGB48BE, PIX_FMT_GRAY8, PIX_FMT_GRAY8A, PIX_FMT_GRAY16BE, PIX_FMT_MONOBLACK, PIX_FMT_NONE}, + .pix_fmts = (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGBA, PIX_FMT_RGB48BE, PIX_FMT_GRAY8, PIX_FMT_GRAY8A, PIX_FMT_GRAY16BE, PIX_FMT_MONOBLACK, PIX_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("PAM (Portable AnyMap) image"), }; |