|
|
|
@ -69,24 +69,24 @@ SECTION .text |
|
|
|
|
|
|
|
|
|
%macro idct_fn 0 |
|
|
|
|
cglobal simple_idct10, 1, 1, 16, block |
|
|
|
|
IDCT_FN "", 12, "", 19 |
|
|
|
|
IDCT_FN "", 12, "", 19, "store" |
|
|
|
|
RET |
|
|
|
|
|
|
|
|
|
cglobal simple_idct10_put, 3, 3, 16, pixels, lsize, block |
|
|
|
|
IDCT_FN "", 12, "", 19, 0, pw_1023 |
|
|
|
|
IDCT_FN "", 12, "", 19, "put", 0, pw_1023 |
|
|
|
|
RET |
|
|
|
|
|
|
|
|
|
cglobal simple_idct12, 1, 1, 16, block |
|
|
|
|
; coeffs are already 15bits, adding the offset would cause |
|
|
|
|
; overflow in the input |
|
|
|
|
IDCT_FN "", 15, pw_2, 16 |
|
|
|
|
IDCT_FN "", 15, pw_2, 16, "store" |
|
|
|
|
RET |
|
|
|
|
|
|
|
|
|
cglobal simple_idct12_put, 3, 3, 16, pixels, lsize, block |
|
|
|
|
; range isn't known, so the C simple_idct range is used |
|
|
|
|
; Also, using a bias on input overflows, so use the bias |
|
|
|
|
; on output of the first butterfly instead |
|
|
|
|
IDCT_FN "", 15, pw_2, 16, 0, pw_4095 |
|
|
|
|
IDCT_FN "", 15, pw_2, 16, "put", 0, pw_4095 |
|
|
|
|
RET |
|
|
|
|
%endmacro |
|
|
|
|
|
|
|
|
|