Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if BIT_DEPTH == 12
- static inline void idct4SparseColPut(pixel *dest, ptrdiff_t line_size, const int16_t *col)
- {
- float C1 = 0.6532814824;
- float C2 = 0.2705980501;
- float C3 = 0.5;
- int c0, c1, c2, c3, a0, a1, a2, a3;
- a0 = col[8*0];
- a1 = col[8*1];
- a2 = col[8*2];
- a3 = col[8*3];
- c0 = (a0 + a2)*C3;
- c2 = (a0 - a2)*C3;
- c1 = a1 * C1 + a3 * C2;
- c3 = a1 * C2 - a3 * C1;
- dest[0] = av_clip_pixel(c0 + c1);
- dest += line_size;
- dest[0] = av_clip_pixel(c2 + c3);
- dest += line_size;
- dest[0] = av_clip_pixel(c2 - c3);
- dest += line_size;
- dest[0] = av_clip_pixel(c0 - c1);
- }
- void FUNC6(ff_simple_idct84_put)(uint8_t *dest_, ptrdiff_t line_size, int16_t *block_)
- {
- idctin *block = (idctin *)block_;
- pixel *dest = (pixel *)dest_;
- int i;
- line_size /= sizeof(pixel);
- for (i = 0; i < 4; i++) {
- FUNC6(idctRowCondDC)(block + i*8, 0);
- }
- for (i = 0; i < 8; i++)
- idct4SparseColPut(dest + i, line_size, block + i);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement