Commit 552cf712 authored by Bobby Bingham's avatar Bobby Bingham Committed by Diego Biurrun

Add 15 bit support, patch by Bobby Bingham, uhmmmm gmail com.

Originally committed as revision 8429 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent a7f7965a
......@@ -46,13 +46,18 @@ static int targa_encode_frame(AVCodecContext *avctx,
AV_WL16(outbuf+14, avctx->height);
outbuf[17] = 0x20; /* origin is top-left. no alpha */
/* TODO: support alpha channel and other bit-depths. and RLE? */
/* TODO: support alpha channel and RLE */
switch(avctx->pix_fmt) {
case PIX_FMT_GRAY8:
outbuf[2] = 3; /* uncompressed grayscale image */
outbuf[16] = 8; /* bpp */
n = avctx->width;
break;
case PIX_FMT_RGB555:
outbuf[2] = 2; /* uncompresses true-color image */
outbuf[16] = 16; /* bpp */
n = 2 * avctx->width;
break;
case PIX_FMT_BGR24:
outbuf[2] = 2; /* uncompressed true-color image */
outbuf[16] = 24; /* bpp */
......@@ -92,5 +97,5 @@ AVCodec targa_encoder = {
.priv_data_size = 0,
.init = targa_encode_init,
.encode = targa_encode_frame,
.pix_fmts= (enum PixelFormat[]){PIX_FMT_BGR24, PIX_FMT_GRAY8, -1},
.pix_fmts= (enum PixelFormat[]){PIX_FMT_BGR24, PIX_FMT_RGB555, PIX_FMT_GRAY8, -1},
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment