On Tue, Mar 24, 2015 at 8:08 PM, James Almer <[email protected]> wrote:
> On 22/03/15 12:49 PM, Vittorio Giovara wrote:
>> +// AAN IDCT
>
> If this isn't already in the tree somewhere and it's generic enough that it 
> can be reused,
> then it should be shared like faanidct and added to idctdsp.

it's not, I'll add a comment about it

> And if it's HQ/HQA specific, it still could be split into a new hqdsp context 
> for potential
> optimizations.

sure why not

>> +
>> +#define FIX_1_082 17734
>> +#define FIX_1_847 30274
>> +#define FIX_1_414 23170
>> +#define FIX_2_613 21407 // divided by two to fit the range
>> +
>> +#define IDCTMUL(a, b) ((a) * (b) >> 16)
>> +static void hq_idct_put(uint8_t *dst, int stride, int16_t *block)
>> +{
>> +    int i, j;
>> +
>> +    for (i = 0; i < 8; i++)
>> +        idct_row(block + i * 8);
>> +    for (i = 0; i < 8; i++)
>> +        idct_col(block + i);
>> +
>> +    // or use IDCTDSPContext.put_pixels_clamped()
>
> Bench and see if it's worth using? There's an optimized version for most 
> platforms after
> all.

I am afraid this case is overkill, it's optimizing 10% of the function
while leaving 90% behind.
I'd rather have a whole function optimization in the separate dsp as
you suggested above.

Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to