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