# HG changeset patch # User diego # Date 1254388267 0 # Node ID 118f18919f4b2b2e88e39a76ea0807ea2ddcf180 # Parent d1014913ad1bdce15945a4a09f76599152e4c6bf cosmetics: K&R coding style, prettyprinting diff -r d1014913ad1b -r 118f18919f4b sgienc.c --- a/sgienc.c Thu Oct 01 06:31:49 2009 +0000 +++ b/sgienc.c Thu Oct 01 09:11:07 2009 +0000 @@ -31,7 +31,8 @@ AVFrame picture; } SgiContext; -static av_cold int encode_init(AVCodecContext *avctx){ +static av_cold int encode_init(AVCodecContext *avctx) +{ SgiContext *s = avctx->priv_data; avcodec_get_frame_defaults(&s->picture); @@ -41,7 +42,8 @@ } static int encode_frame(AVCodecContext *avctx, unsigned char *buf, - int buf_size, void *data) { + int buf_size, void *data) +{ SgiContext *s = avctx->priv_data; AVFrame * const p = &s->picture; uint8_t *offsettab, *lengthtab, *in_buf, *encode_buf; @@ -53,24 +55,24 @@ p->pict_type = FF_I_TYPE; p->key_frame = 1; - width = avctx->width; + width = avctx->width; height = avctx->height; switch (avctx->pix_fmt) { - case PIX_FMT_GRAY8: - dimension = SGI_SINGLE_CHAN; - depth = SGI_GRAYSCALE; - break; - case PIX_FMT_RGB24: - dimension = SGI_MULTI_CHAN; - depth = SGI_RGB; - break; - case PIX_FMT_RGBA: - dimension = SGI_MULTI_CHAN; - depth = SGI_RGBA; - break; - default: - return AVERROR_INVALIDDATA; + case PIX_FMT_GRAY8: + dimension = SGI_SINGLE_CHAN; + depth = SGI_GRAYSCALE; + break; + case PIX_FMT_RGB24: + dimension = SGI_MULTI_CHAN; + depth = SGI_RGB; + break; + case PIX_FMT_RGBA: + dimension = SGI_MULTI_CHAN; + depth = SGI_RGBA; + break; + default: + return AVERROR_INVALIDDATA; } tablesize = depth * height * 4; @@ -107,51 +109,51 @@ offsettab = buf; if (avctx->coder_type != FF_CODER_TYPE_RAW) { - /* Skip RLE offset table. */ - buf += tablesize; - lengthtab = buf; - - /* Skip RLE length table. */ - buf += tablesize; - - /* Make an intermediate consecutive buffer. */ - if ((encode_buf = av_malloc(width)) == NULL) - return -1; - - for (z = 0; z < depth; z++) { - in_buf = p->data[0] + p->linesize[0] * (height - 1) + z; - - for (y = 0; y < height; y++) { - bytestream_put_be32(&offsettab, buf - orig_buf); + /* Skip RLE offset table. */ + buf += tablesize; + lengthtab = buf; - for (x = 0; x < width; x++) - encode_buf[x] = in_buf[depth * x]; - - if((length = ff_rle_encode(buf, end_buf - buf - 1, encode_buf, 1, width, 0, 0, 0x80, 0)) < 1) { - av_free(encode_buf); - return -1; - } + /* Skip RLE length table. */ + buf += tablesize; - buf += length; - bytestream_put_byte(&buf, 0); - bytestream_put_be32(&lengthtab, length + 1); - in_buf -= p->linesize[0]; - } - } + /* Make an intermediate consecutive buffer. */ + if ((encode_buf = av_malloc(width)) == NULL) + return -1; - av_free(encode_buf); - } else { for (z = 0; z < depth; z++) { in_buf = p->data[0] + p->linesize[0] * (height - 1) + z; for (y = 0; y < height; y++) { - for (x = 0; x < width * depth; x += depth) - bytestream_put_byte(&buf, in_buf[x]); + bytestream_put_be32(&offsettab, buf - orig_buf); + + for (x = 0; x < width; x++) + encode_buf[x] = in_buf[depth * x]; + if ((length = ff_rle_encode(buf, end_buf - buf - 1, encode_buf, 1, width, 0, 0, 0x80, 0)) < 1) { + av_free(encode_buf); + return -1; + } + + buf += length; + bytestream_put_byte(&buf, 0); + bytestream_put_be32(&lengthtab, length + 1); in_buf -= p->linesize[0]; } } - } + + av_free(encode_buf); + } else { + for (z = 0; z < depth; z++) { + in_buf = p->data[0] + p->linesize[0] * (height - 1) + z; + + for (y = 0; y < height; y++) { + for (x = 0; x < width * depth; x += depth) + bytestream_put_byte(&buf, in_buf[x]); + + in_buf -= p->linesize[0]; + } + } + } /* total length */ return buf - orig_buf; @@ -168,4 +170,3 @@ .pix_fmts= (const enum PixelFormat[]){PIX_FMT_RGB24, PIX_FMT_RGBA, PIX_FMT_GRAY8, PIX_FMT_NONE}, .long_name= NULL_IF_CONFIG_SMALL("SGI image"), }; -