[FFmpeg-soc] [PATCH] jpeg2k : support higher sample precision

Jai Menon jmenon86 at gmail.com
Wed Jun 24 19:59:19 CEST 2009


On Wed, Jun 24, 2009 at 3:58 PM, Michael Niedermayer<michaelni at 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 at 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


More information about the FFmpeg-soc mailing list