ГОСТ Р 53556.12-2014
window_cs
=
KBDWindow_cs;
I
errorFeedback
= 0;
for
(7=0;
i<N/
2;
i++) f
imp
=
multShiftlNTiH■window_csf(2*i+I)*SINE_DATA_SIZEJ[2*N)J,
signalfN-l-i],
SHIFT
-
SHIFT_FOR_ERROR_FEEDBACK):
signal/iJ ■=direction
*
shiftRound/NT32wiihErrorFeedback(tmp,
<&errorFeedback,
SHIFT_FOR_ERROR_FEEDBACK):
}
errorFeedback
= 0;
for(i=
0;
i<N/l; i++) {
imp
=
multShiftINT32(window/(2*i+ l)*SINE_DATA_SIZE/(2*N)j,
signal/i/,
SHIFT
-
SHIFT_FOR_ERROR_FEEDBACK):
signal/N-\-i}
-=
direction *
shiftRoundlNT32\\ithErrorFeedback(tmp,
<&errorFeedback.
SHIFT_FOR_ERROR_FEEDBACK);
I
errorFeedback
= 0;
for
0=0;
i<N/2: i++) {
£
imp
=
multShiftlNT32/-window_cs/(2*i+l)*SINE_DATA_SIZE/(2*N)J.
signal/N-l-iJ.
SHIFT - SHIFT_FOR_ERROR_FEEDBACK):
signal/iJ
-=
direction
*
shiftRoundlNTi2withErrorFeedback(unp,
<
errorFeedback,
SHIFT_FOR_ERROR_FEEDBACK):
Алгоритм для прямого соответственно инверсного
Int-DCT-
IV:
Входные значения преобразовываются в прямые соответственно инверсные значения
hit-
DCT-IV на месте.
44