On Tue, Mar 24, 2015 at 04:07:01PM +0530, greeshma wrote: > The patch is made and FATE tests are done.It accepted, will submit with the > copyrights and signature.The code is written based on openEXR algorithm of > B44 lossy compression and modified according to the FFmpeg code. > > > From 9670e283f38b71c06457c976f3f2040c8d38bbd9 Mon Sep 17 00:00:00 2001 > From: greeshmab <greeshmabalaba...@gmail.com> > Date: Tue, 24 Mar 2015 12:36:21 +0530 > Subject: [PATCH] A new exr lossy compression technique B44 is added > > --- > libavcodec/exr.c | 121 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 121 insertions(+) > > diff --git a/libavcodec/exr.c b/libavcodec/exr.c > index 6251fb7..b7114be 100644 > --- a/libavcodec/exr.c > +++ b/libavcodec/exr.c > @@ -770,6 +770,124 @@ static int piz_uncompress(EXRContext *s, const > uint8_t *src, int ssize, > return 0; > } > > + > +static void B44_unpack14 ( GetByteContext *gb, uint16_t out[16]){ > + uint16_t shift; > + const uint8_t *r = gb->buffer; > + av_assert0(r[2] != 0xfc); > + out[0] = (r[0] << 8) | r[1]; > + shift = (r[2] >> 2); > + out[ 1] = out[ 0] + ((r[ 5] >> 2) << shift); > + out[ 2] = out[ 1] + ((r[ 8] >> 2) << shift); > + out[ 3] = out[ 2] + ((r[11] >> 2) << shift); > + out[ 4] = out[ 0] + (((r[ 2] << 4) | (r[ 3] >> 4)) << shift); > + out[ 5] = out[ 4] + (((r[ 5] << 4) | (r[ 6] >> 4)) << shift); > + out[ 6] = out[ 5] + (((r[ 8] << 4) | (r[ 9] >> 4)) << shift); > + out[ 7] = out[ 6] + (((r[11] << 4) | (r[12] >> 4)) << shift); > + out[ 8] = out[ 4] + (((r[ 3] << 2) | (r[ 4] >> 6)) << shift); > + out[ 9] = out[ 8] + (((r[ 6] << 2) | (r[ 7] >> 6)) << shift); > + out[10] = out[ 9] + (((r[ 9] << 2) | (r[10] >> 6)) << shift); > + out[11] = out[10] + (((r[12] << 2) | (r[13] >> 6)) << shift); > + out[12] = out[ 8] + (r[ 4] << shift); > + out[13] = out[12] + (r[ 7] << shift); > + out[14] = out[13] + (r[10] << shift); > + out[15] = out[14] + (r[13] << shift); > + for (int i = 0; i < 16; ++i) { //if any out value exceeds > 16bits > + if (out[i] & 0x8000)
the patch is corrupted by linebreaks, please make sure you attach the patch if you do not use "git send-email -1" also, if the code is based on some other implementtaton this should be mentioned in the commit message, you can edit the last commit message with git commit --amend also it may be needed to add a copyright statement if code has been used from elsewhere Thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB You can kill me, but you cannot change the truth.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel