ГОСТ Р 56047—2014
if(numchref == 1) {
if (fseek(fpref. (HANN/2)‘bitsampleref/8. SEEK_CUR) == -1)
fatalerrferr. %s". strerror(errno));
if (fseek(fptest. (HANN/2)’bitsampletest,’8. SEEK.CUR) == -1)
fatalerrC’err. %s". strerror(errno));
#ifdef DATABOU ND_BE
#undef DATABOUND_ONE
{
inti = 0. flag = 0. f1,f2;
long dalaref. datalest. br1, br2;
dataref = ftel(fpref);
datatest = ftell(fptest);
w№le(1){
br
1
= ftell(fpref):
br2 = ftell(fptest);
M = GetMonoFrame{fpref. (signed int ’ >ch1ref.
bitsampleref/8. HANN):
f2 = GetMonoFrame(fptest. (signed int ‘)ch1fest,
bitsampletest/8. HANN);
if(f1 && f2) {
totalframes++:
if(boundary(ch1ref. chltest. NULL. NULL. HANN) && Iflag) {
boundbe.begin = tolalframes;
flag = 1;
}
}
else {
fseek(fptest. brl. SEEK_SET);
fseek(fpref. Ьг2. SEEK_SET);
break;
}
)
fseek(fplest. 4HANN/2)*bitsampletest/8. SEEK_CUR);
fseek(fpref. -(HANN/2)*bitsamplerefc8. SEEK_CUR);
\vhile(i<totalffames) {
GetMonoFrame(fpref, (signed int *)ch1ref. bitsampleref/8. HANN);
GetMonoFrame(fptest. (signed int *)ch1test. bitsampletest/8. HANN);
fseek(fptest. -2’(HANN/2rbitsampletest/8. SEEK_CUR);
fseek(fpref. -2*(HANN/2)’bitsampleref/8. SEEK_CUR);
i++;
if(boundary(ch1ref. chltest. NULL. NULL. HANN)) {
boundbe.end = totalframes-i;
break;
>
)
fseek(fptest. datatest. SEEK_SET);
fseek(fpref. dataref. SEEK_SET);
)
#endif
while (GetMonoFrame(fpref. (signed int *)ch1ref.
bitsampleref/8. HANN)
&& GetMonoFrame(fptest. (signed int *)ch1test.
bitsampletest/8, HANN)) {
count++;
#ifdef DATABOUND_BE
if(count >= boundbe.begin && count <= boundbe.end)
boundflag = 1;
55