On Thu, May 30, 2013 at 03:42:58PM -0400, Derek Buitenhuis wrote:
> On 2013-05-30 8:56 AM, Kostya Shishkov wrote:
> > + * Copyright (c) 2012 Konstantin Shishkov
> 
> 2013?
> 
> > +#include <zlib.h>
> 
> configure should be changed so it requires zlib, no?

True, amended locally.
 
> > +static inline void yuv2rgb(uint8_t *out, int Y, int U, int V)
> > +{
> > +    out[0] = av_clip_uint8(Y + (             91881 * V + 32768 >> 16));
> > +    out[1] = av_clip_uint8(Y + (-22554 * U - 46802 * V + 32768 >> 16));
> > +    out[2] = av_clip_uint8(Y + (116130 * U             + 32768 >> 16));
> > +}
> 
> Doesn't the MSS2 decoder already have something like this?

It has it deep in some DSP function. It's a trivial piece of code after all.
 
> > +    width = FFALIGN(width, 16);
> > +    mb_w =  width        >> 4;
> > +    mb_h = (height + 15) >> 4;
> 
> Something something Diego.

diegoed locally

> Over a cursory glance, it looks pretty good... and I even went
> specifically looking for gotchas. Though, mostly I can sum itup as
> "magic things happen", without any comments. ;)

Oh, it's rather obvious:

Both Go2Meeting variants (compression 2 in G2M2/G2M3 and compression 3 in
G2M4) divide frame into tiles and update each tile if needed. Tile can have
two layers - sharp details (coded as RGB with an optional transparency) and
smooth details (coded as baseline JPEG in form of sparse blocks).

G2M2/G2M3 features Accusoft ePIC(-derived?) coding of RGB layer (with the
augmented ELS coder and context modelling) and calculate JPEG block mask
depending on transparent pixels in RGB layer. G2M4 uses quantisation,
deflate and an explicitly coded JPEG block mask.

Compression method names are derived from that too (original Compressor24 and
SMPC were not good enough to me): JPEG blocks gave j-b in the name and for the
compression scheme 3 I tried to find a word that would sound close to
"deflate", "palette" and be in harmony with JPEG-blocks.
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to