On Wed, Jun 24, 2009 at 3:58 PM, Michael Niedermayer<michaelni@gmx.at> wrote:
On Wed, Jun 24, 2009 at 01:42:08PM +0000, Jai Menon wrote:
On Wed, Jun 24, 2009 at 1:27 PM, Michael Niedermayer<michaelni@gmx.at> wrote:
On Sun, Jun 21, 2009 at 04:35:20PM +0000, Jai Menon wrote: [...] [...]
@@ -806,6 +815,26 @@
line += s->picture.linesize[0]; } + } else { + for (; y < tile->comp[0].coord[1][1] - s->image_offset_y; y++) { + uint16_t *dst; + x = tile->comp[0].coord[0][0] - s->image_offset_x; + dst = line + x * s->ncomponents * 2; + for (; x < tile->comp[0].coord[0][1] - s->image_offset_x; x++) { + for (compno = 0; compno < s->ncomponents; compno++) {
+ *src[compno] = av_rescale(*src[compno], (1 << 16) - 1, + (1 << s->cbps[compno]) - 1);
av_rescale is too slow
So just (*src[compno]/((1 << s->cbps[compno]) - 1)) * ((1 << 16) - 1) ?
* is slow / s slower
"src" << C it should be
<possibly dumb question ahead> I understand that * and / are slower but how can I achieve the same effect with a single <<? -- Regards, Jai