wavcrc32: Программа для проверки CRC аудиоданных, или о том, как EAC считает CRC (обсуждение)

Страницы :   Пред.  1, 2, 3, 4, 5  След.
Ответить
 

BakLAN

Стаж: 18 лет 9 месяцев

Сообщений: 414

BakLAN · 20-Авг-07 17:02 (17 лет 8 месяцев назад, ред. 20-Апр-16 14:31)

Дай Бог! Твоими-то молитвами да и выйдет чё путнее из новых версий EAC`а...
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 20-Авг-07 22:11 (спустя 5 часов, ред. 20-Апр-16 14:31)

Ах да, может кому интересно будет почитать эту телегу
Вот она
dmvn -- Андрэ Виетхоффу, письмо 1
Greetings!
Some time ago I noticed the strange behaviour of EAC CRC calculator
that is built in "WAVE Editor" feature (Tools->Process WAV...),
depending on checkbox "No use of null samples in CRC calculations".
1. when this checkbox is unchecked, EAC uses all samples to calculate CRC
while ripping CDs and while processing WAV files in WAVE editor.
So, if we "process" ripped image in WAV editor, we'll see that CRC
in .LOG-file and "Checksum" in the UL-corner of "WAVE Editor" are the
same. No problem.
But
2. when this checkbox is checked, the values that we obtain in .LOG-file
and in "WAVE Editor" during ripped image file processing do NOT MATCH!
This result is stable, so it does not depend on what disc we're
ripping and so on. I use WAV Editor when checking CRC on non-mine
rips, so this mismatch is annoying.
In the programmer terms, let RIP_CRC(bool bUseFlag) be the macro that calculates CRC
while ripping CDs, and WAV_ED_CRC(bool bUseFlag) be the macro that
calculates CRC in WAVE Editor. The parameter bUseFlag is the "No use
of nul samples..." checkbox state.
So, in these terms, we have that
RIP_CRC(false) = WAV_ED_CRC(false)
RIP_CRC(true) != WAV_ED_CRC(true) (!!!)
I tried to discover, where is the error. And I hope I was lucky that
day. So, the solution of this inconsistency lies in the algorythm
of WAV_ED_CRC(true) that is buggy (!). And You may easily check this.
Take a stereo WAVe file, and calculate CRC using WAVE Editor. You gget
value CRC=X. Then, modify ANY nonzero sample on RIGHT channel of this file.
And then calculate it again. You get the SAME value X.
But, obviously, this cannot be true if the procedure works fine.
Saying in a wisper, I ought to hack/reverse your beautiful program!
And then I found that, indeed, the specified bug has place, in
WAV_ED_CRC(true) routine.
Here is the assembly of the WAV_ED_CRC(true) [buggy]
(the listing is from IDA Pro 5.0)

.text:0045E520 ; int __stdcall proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1(int count,int p_CRC,int pBuffer,int old_CRC)
.text:0045E520 proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1 proc near ; CODE XREF: .text:00525BAFp
.text:0045E520
.text:0045E520 count = dword ptr 8
.text:0045E520 p_CRC = dword ptr 0Ch
.text:0045E520 pBuffer = dword ptr 10h
.text:0045E520 old_CRC = dword ptr 14h
.text:0045E520
.text:0045E520 push ebp
.text:0045E521 mov ebp, esp
.text:0045E523 push ebx
.text:0045E524 push esi
.text:0045E525 push edi
.text:0045E526 push eax
.text:0045E527 push ebx
.text:0045E528 push ecx
.text:0045E529 push edx
.text:0045E52A push esi
.text:0045E52B push edi
.text:0045E52C mov esi, [ebp+old_CRC]
.text:0045E52F mov edi, [ebp+pBuffer]
.text:0045E532 mov edx, [ebp+p_CRC]
.text:0045E535 mov eax, [ebp+count]
.text:0045E538 mov ecx, [edx]
.text:0045E53A
.text:0045E53A cycle: ; CODE XREF:
proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1+5Bj
; ---------------------------------------------------------
; here we obtain
; only lower word of [edi], that is L-R-sample
; the higher word is unused
; ---------------------------------------------------------
.text:0045E53A mov bx, [edi]
.text:0045E53D cmp bx, 0
.text:0045E541 jz short end_if__1
.text:0045E543 push eax
.text:0045E544 push edx
.text:0045E545 push ecx
.text:0045E546 call proc_CRC_TwoByte_BX_ptr_ESI
.text:0045E54B pop ecx
.text:0045E54C pop edx
.text:0045E54D pop eax
.text:0045E54E mov bx, [edi]
.text:0045E551 cmp bx, 32768
.text:0045E556 jnz short end_if__0
.text:0045E558 mov bx, 8001h
.text:0045E55C
.text:0045E55C end_if__0: ; CODE XREF:
proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1+36j
.text:0045E55C cmp bx, cx
.text:0045E55F jle short end_if__1
.text:0045E561 mov cx, bx
.text:0045E564
.text:0045E564 end_if__1: ; CODE XREF:
proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1+21j
.text:0045E564 ; proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1+3Fj
.text:0045E564 ror ecx, 10h
.text:0045E567 cmp bx, cx
.text:0045E56A jge short end_if__2
.text:0045E56C mov cx, bx
.text:0045E56F
.text:0045E56F end_if__2: ; CODE XREF:
proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1+4Aj
.text:0045E56F ror ecx, 10h
; ---------------------------------------------------------
; we increment EDI by 4, so we skip right (or left?) channel
; ---------------------------------------------------------
.text:0045E572 add edi, 4
.text:0045E575 sub eax, 1
.text:0045E578 cmp eax, 0
.text:0045E57B jge short cycle
.text:0045E57D mov [edx], ecx
.text:0045E57F pop edi
.text:0045E580 pop esi
.text:0045E581 pop edx
.text:0045E582 pop ecx
.text:0045E583 pop ebx
.text:0045E584 pop eax
.text:0045E585 pop edi
.text:0045E586 pop esi
.text:0045E587 pop ebx
.text:0045E588 pop ebp
.text:0045E589 retn 10h
.text:0045E589 proc_CRC_Calc_BUF_Ignore_Word_Zeros_S1 endp
;
------------------------------------------------------------------------
And here is the assembly of the WAV_ED_CRC(false) [normal, non-buggy]

.text:0045E590 proc_CRC_Calc_BUF_NoIgnore_Word_Zeros_S2 proc near ; CODE XREF: .text:0049E4AAp
.text:0045E590
.text:0045E590 arg_0 = dword ptr 8
.text:0045E590 arg_4 = dword ptr 0Ch
.text:0045E590 arg_8 = dword ptr 10h
.text:0045E590 arg_C = dword ptr 14h
.text:0045E590
.text:0045E590 push ebp
.text:0045E591 mov ebp, esp
.text:0045E593 push ebx
.text:0045E594 push esi
.text:0045E595 push edi
.text:0045E596 push eax
.text:0045E597 push ebx
.text:0045E598 push ecx
.text:0045E599 push edx
.text:0045E59A push esi
.text:0045E59B push edi
.text:0045E59C mov esi, [ebp+arg_C]
.text:0045E59F mov edi, [ebp+arg_8]
.text:0045E5A2 mov edx, [ebp+arg_4]
.text:0045E5A5 mov eax, [ebp+arg_0]
.text:0045E5A8 mov ecx, [edx]
.text:0045E5AA
.text:0045E5AA loc_45E5AA: ; CODE XREF:
proc_CRC_Calc_BUF_NoIgnore_Word_Zeros_S2+5Ej
.text:0045E5AA push eax
.text:0045E5AB push edx
.text:0045E5AC push ecx
; -----------------------------------
; calculate left channel (lower word)
; -----------------------------------
.text:0045E5AD mov bx, [edi]
.text:0045E5B0 call proc_CRC_TwoByte_BX_ptr_ESI
; -----------------------------------
; calculate left channel (high word)
; -----------------------------------
.text:0045E5B5 mov bx, [edi+2]
.text:0045E5B9 call proc_CRC_TwoByte_BX_ptr_ESI
.text:0045E5BE pop ecx
.text:0045E5BF pop edx
.text:0045E5C0 pop eax
.text:0045E5C1 mov bx, [edi]
.text:0045E5C4 cmp bx, 8000h
.text:0045E5C9 jnz short loc_45E5CF
.text:0045E5CB mov bx, 8001h
.text:0045E5CF
.text:0045E5CF loc_45E5CF: ; CODE XREF:
proc_CRC_Calc_BUF_NoIgnore_Word_Zeros_S2+39j
.text:0045E5CF cmp bx, cx
.text:0045E5D2 jle short loc_45E5D7
.text:0045E5D4 mov cx, bx
.text:0045E5D7
.text:0045E5D7 loc_45E5D7: ; CODE XREF:
proc_CRC_Calc_BUF_NoIgnore_Word_Zeros_S2+42j
.text:0045E5D7 ror ecx, 10h
.text:0045E5DA cmp bx, cx
.text:0045E5DD jge short loc_45E5E2
.text:0045E5DF mov cx, bx
.text:0045E5E2
.text:0045E5E2 loc_45E5E2: ; CODE XREF:
proc_CRC_Calc_BUF_NoIgnore_Word_Zeros_S2+4Dj
.text:0045E5E2 ror ecx, 10h
.text:0045E5E5 add edi, 4
.text:0045E5E8 sub eax, 1
.text:0045E5EB cmp eax, 0
.text:0045E5EE jge short loc_45E5AA
.text:0045E5F0 mov [edx], ecx
.text:0045E5F2 pop edi
.text:0045E5F3 pop esi
.text:0045E5F4 pop edx
.text:0045E5F5 pop ecx
.text:0045E5F6 pop ebx
.text:0045E5F7 pop eax
.text:0045E5F8 pop edi
.text:0045E5F9 pop esi
.text:0045E5FA pop ebx
.text:0045E5FB pop ebp
.text:0045E5FC retn 10h
.text:0045E5FC proc_CRC_Calc_BUF_NoIgnore_Word_Zeros_S2 endp
So, please, fix this bug! Please correct the first routine
so that it begins to calculate correct values. You should
add right channel word calculation if it is nonzero.
Sorry for such a long letter and of course sorry for my
(ugly!) English (I'm just a student of a Department of Mathematics and
Mechanics of Moscow State University and forgot it at all )
I hope my explanations were correct and precise, but if not
(what's a pity!), I'll try to explain again.
Hope You'll be able to fix this. As far as I know, this
problem still persists in the latest prebeta EAC release,
so I'll be glad to see it fixed in the next release.
Sorry once again! Thank You for Your great program!
--
Best regards, DMVN
Если Андрэ ответит, я опубликую его ответ здесь, как-никак историческое событие
Кстати, изучение EAC-овского форума показало, что проблема CRC и этой галки волнует не только наши умы. В FR к EAC я заметил просьбу указывать в логе статус оной галки. Другое дело, что буржуи видимо не догадываются, в чём причина коварного несовпадения, о чём мы, простые советские граждане уже хорошо знаем.
[Профиль]  [ЛС] 

siro.

Стаж: 18 лет

Сообщений: 45

siro. · 20-Авг-07 22:19 (спустя 8 мин., ред. 20-Апр-16 14:31)

dmvn, а че ты написал, что ты студент? ты ж вродь как закончить уже должен...
P.s. а прогу, которая вставляет вначало тишину, когдам можно будет потрогать?
Цитата:
Другое дело, что буржуи видимо не догадываются, в чём причина коварного несовпадения, о чём мы, простые советские граждане уже хорошо знаем.
ну так ёпт, кто б сомневался Меня только удивляет, как это наши не забамбили такую прогу...(возможно при фин. поддержке "пиратов" )
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 21-Авг-07 09:21 (спустя 11 часов, ред. 20-Апр-16 14:31)

siro. писал(а):
прогу, которая вставляет вначало тишину, когдам можно будет потрогать?
ы? уже вчера можно было потрогать, читай https://rutr.life/forum/viewtopic.php?t=268548
она даже работает, зараза...
siro. писал(а):
а че ты написал, что ты студент? ты ж вродь как закончить уже должен...
ну это по идее. а реальность оказалась несколько другой. Ну да это уже оффтоп
А ещё можно устраивать конкурс "Угадайте, на каком языке написан EAC". Я когда это узнал, долго не мог понять, почему. Думаю, что подавляющее большинство ответит "ну конечно же С++" и будут неправы.
[Профиль]  [ЛС] 

Arvur

Стаж: 20 лет 4 месяца

Сообщений: 35

Arvur · 21-Авг-07 11:18 (спустя 1 час 56 мин., ред. 20-Апр-16 14:31)

dmvn писал(а):
А ещё можно устраивать конкурс "Угадайте, на каком языке написан EAC".
Только не говори, что он его на дельфаке накатал
Я правда не знаю, на чем еще можно такой корявый интерфейс сделать
[Профиль]  [ЛС] 

BakLAN

Стаж: 18 лет 9 месяцев

Сообщений: 414

BakLAN · 22-Авг-07 12:51 (спустя 1 день 1 час, ред. 20-Апр-16 14:31)

Я знаю! Это - Паскаль!
З.Ы. Или не-а! Он был написан на Python`е, но посколька он ни запускалси пад win32, нигаваря ужо пра win64, внутрь кода был интегрираван весь Wine, после чиго он благапалучна запустилси пад хвортачками... гы...
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 23-Авг-07 13:33 (спустя 1 день, ред. 20-Апр-16 14:31)

Arvur писал(а):
Только не говори, что он его на дельфаке накатал
не буду, потому что это неверно
BakLAN писал(а):
Я знаю! Это - Паскаль!
З.Ы. Или не-а! Он был написан на Python`е, но посколька он ни запускалси пад win32, нигаваря ужо пра win64, внутрь кода был интегрираван весь Wine, после чиго он благапалучна запустилси пад хвортачками... гы...
оба раза мимо Заседание продолжается
Подсказка: Lisp, Forth, Ruby, PHP, PostScript -- ответы тоже неверные.
[Профиль]  [ЛС] 

Arvur

Стаж: 20 лет 4 месяца

Сообщений: 35

Arvur · 23-Авг-07 13:40 (спустя 7 мин., ред. 20-Апр-16 14:31)

dmvn писал(а):
Заседание продолжается
Барсик?!
[Профиль]  [ЛС] 

xz_kostyan

Стаж: 18 лет 3 месяца

Сообщений: 5

xz_kostyan · 23-Авг-07 20:33 (спустя 6 часов, ред. 20-Апр-16 14:31)

dmvn, преклоняюсь, не каждому дано разрулить код асма, прога работает исправно
вот лог при рипании
Код:
Range status and errors
Selected range
   Filename D:\Documents and Settings\Media\Mis documentos\CDImage.wav
   Peak level 100.0 %
   Range quality 100.0 %
   CRC D2860912
   Copy OK
No errors occured
End of status report
а вот результат вашей программы
Код:

D:\2>wavcrc32 CDImage.wav
EAC wavcrc32 v0.21 (c) ]DichlofoS[ Systems, 2007
thanx to: BakLAN, siro and other beta-testers/contributors!
file opened ok
RIFF header checked ok
please wait while couning checksums...
processing 153122844 samples...
file closed ok
--- used in EAC:
generic: grabbing, "no use..." off [all bytes]            : 1F56D5CE.
generic: grabbing, "no use..." on [word nulsamples l/r]   : D2860912.
waveditor [word nulsamples l]                             : 08787F67.
--- no used in EAC, only for reference:
byte ignore zeros                                         : 2D79F6ED.
dword nulsamples                                          : 122E55C0.
И напоследок, может EAC написано на брейфаке?
[Профиль]  [ЛС] 

Mr. Larsen

Стаж: 18 лет 6 месяцев

Сообщений: 357

Mr. Larsen · 23-Авг-07 20:34 (спустя 29 сек., ред. 20-Апр-16 14:31)

Ой, зафлудим сейчас тут всё! Алгол, Ада, Фокал?
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 23-Авг-07 21:31 (спустя 57 мин., ред. 20-Апр-16 14:31)

xz_kostyan писал(а):
И напоследок, может EAC написано на брейфаке?
ну, всё-таки Андрэ не извращенец
Mr. Larsen писал(а):
Ой, зафлудим сейчас тут всё! Алгол, Ада, Фокал?
пофлудим, потом сотру. Эта дискуссия может вылиться в нечто, достойное самого Ядра...
Кстати уже близко )))
[Профиль]  [ЛС] 

Mr. Larsen

Стаж: 18 лет 6 месяцев

Сообщений: 357

Mr. Larsen · 24-Авг-07 12:47 (спустя 15 часов, ред. 20-Апр-16 14:31)

Assembler как вариант рассматривается?
[Профиль]  [ЛС] 

siro.

Стаж: 18 лет

Сообщений: 45

siro. · 24-Авг-07 22:08 (спустя 9 часов, ред. 20-Апр-16 14:31)

Цитата:
EAC wavcrc32 v0.21 (c) ]DichlofoS[ Systems, 2007
thanx to: BakLAN, siro and other beta-testers/contributors!
о ё-моё!!! приятно себя увидеть...спасибо dmvn, а это типа ты - ]DichlofoS[ Systems
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 24-Авг-07 23:38 (спустя 1 час 30 мин., ред. 20-Апр-16 14:31)

Mr. Larsen писал(а):
Assembler как вариант
не, холодно. было теплее
[Профиль]  [ЛС] 

DrStandBy

Lossless Group VIP

Стаж: 18 лет 6 месяцев

Сообщений: 15505

DrStandBy · 25-Авг-07 00:03 (спустя 24 мин., ред. 20-Апр-16 14:31)

dmvn
Простейший интерфейс к прожке и инсталлятор не планируешь?
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 25-Авг-07 01:32 (спустя 1 час 29 мин., ред. 20-Апр-16 14:31)

DrStandBy писал(а):
Простейший интерфейс к прожке и инсталлятор не планируешь?
насчёт интерфейса -- подумаю (хотя чесгря гуйню не люблю), а вот инсталлятор-то зачем??? чтобы утяжелить продукт весом в 10 кб на пару мегабайт? И главное -- чего там ставить-то? И куда?
[Профиль]  [ЛС] 

DrStandBy

Lossless Group VIP

Стаж: 18 лет 6 месяцев

Сообщений: 15505

DrStandBy · 25-Авг-07 08:59 (спустя 7 часов, ред. 20-Апр-16 14:31)

dmvn
Ну инсталяшка на мой взгляд в совокупности с гуйней это показатель законченности продукта и юзерфрендли автора
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 25-Авг-07 09:15 (спустя 16 мин., ред. 20-Апр-16 14:31)

DrStandBy писал(а):
это показатель законченности продукта
ну вот тут я с тобой не согласен. Если продукт НЕ ТРЕБУЕТ УСТАНОВКИ ВООБЩЕ, это как раз большой плюс, имхо, и с законченностью вообще не связано. Примеров полно (windjview, тот же флак в кошерном исполнении). А то, что, видите ли, народ привык тыцать в cool_program_setup.exe (ах да, извините, .msi), -- эта зараза от Билла Г. пошла
DrStandBy писал(а):
юзерфрендли автора
ладно, ладно, уговорил... учитывая то, что EAC в основном юзают виндузятники... Но и здесь извратюсь, пожалуй -- напишу гуйню на масле, шобы она занимала килобайт 20.
[Профиль]  [ЛС] 

Mr. Larsen

Стаж: 18 лет 6 месяцев

Сообщений: 357

Mr. Larsen · 25-Авг-07 14:36 (спустя 5 часов, ред. 20-Апр-16 14:31)

dmvn писал(а):
Mr. Larsen писал(а):
Assembler как вариант
не, холодно. было теплее
Да я пошутил, хотя я и разбираюсь в программировании как свинья в апельсинах, но в курсе, что это из разных опер.
Вот ведь загадку задал..., что-то поиск даже не помог, а языков так много...
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 29-Авг-07 21:16 (спустя 4 дня, ред. 30-Авг-07 18:23)

DrStandBy, кстати спасибо тебе за пинок... Щас вот пишу, прям ностальгия по досу пробивает... В наше время, когда EXE-файлы раздуваются до многих мегабайт, наблюдать вот такое вот
la писал(а):
-rwx------+ 1 dichlofos wheel 6656 Aug 29 22:10 wavcrc32.exe
очень приятно (жирным выделен размер EXE-модуля В БАЙТАХ).
UPD: Основной ASM-модуль уже написан, размер при этом существенно не поменялся.
[Профиль]  [ЛС] 

BakLAN

Стаж: 18 лет 9 месяцев

Сообщений: 414

BakLAN · 30-Авг-07 15:40 (спустя 18 часов, ред. 20-Апр-16 14:31)

Прикольненький ГУЙ вышел... Спасибо. А чё там Вейтхофф, ни ответа, ни привета?
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 30-Авг-07 16:19 (спустя 38 мин., ред. 20-Апр-16 14:31)

BakLAN, как и следовало ожидать, ничего. Впрочем, надо сказать что он немногословен и на форуме тоже. Например, в теме про "feature requests" он ограничивается довольно сухими комментариями, да и то по существу.
Второй вариант -- ему по каким-то странным причинам не дошло письмо. Ну это тоже бывает.
Как бы там ни было, придётся паче чаяния накатать на форуме объяву.
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 30-Авг-07 18:25 (спустя 2 часа 6 мин., ред. 20-Апр-16 14:31)

Так-с, после чтения за обедом ассемблерного кода программы нашёл несколько ляпов, поэтому выпустил обновление GUI-версии и кумулятивный апдейт всего продукта в целом. Смотреть усё в 1-м и третьем посте данного топика.
[Профиль]  [ЛС] 

BakLAN

Стаж: 18 лет 9 месяцев

Сообщений: 414

BakLAN · 30-Авг-07 19:35 (спустя 1 час 9 мин., ред. 20-Апр-16 14:31)

Что-то уже путаница с версиями получаиццо: какая всё же новее гуя 0.11 или 0.22 ?
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 30-Авг-07 20:39 (спустя 1 час 3 мин., ред. 20-Апр-16 14:31)

BakLAN, 0.11 -- новее (можно по дате файла глянуть), или вот так:
Код:

da83223522c6a6b6c9341c3fc03adbf6 *wavcrc32-gui.exe [md5sum, GUI 0.11].
Я просто сначала сдуру не поменял на 0.1, и выложил её в виде 0.22, а потом уже, когда вчитался в собственный код, заметил и эту неточность тоже. А то, что нумерация версий для GUI отдельная -- оно так и должно быть, потому что GUI-версия написана, как говорят, from scratch.
Спасибо что заметил!
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 05-Сен-07 12:23 (спустя 5 дней, ред. 20-Апр-16 14:31)

Поскольку Андрэ молчит, я покамест решил запостить про это дело на Гидрогене: Там народу много. Посмотрим, как говорится, на реакцию Дикого Запада. Если она будет положительной (в том смысле, что все на это положат), то... тогда останется только думать о том, куда катицца этот мир.
Да, кстати говоря, скоро будет небольшой фикс gui-версии, повышающий юзабилити.
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 07-Сен-07 10:16 (спустя 1 день 21 час, ред. 20-Апр-16 14:31)

Ну да, как и следовало ожидать, откликнулся один из участников форума EAC, а именно greynol. Я запостил там и ответ на вопрос, ну а дальше посмотрим, что будет.
[Профиль]  [ЛС] 

mgz

Стаж: 17 лет 9 месяцев

Сообщений: 117

mgz · 29-Сен-07 19:40 (спустя 22 дня, ред. 20-Апр-16 14:31)

dmvn
Спасибо за утилиту. Запустилась и с GUI и консольная.
Но есть один вопрос: имею файл Image.wav (не важно, что там ). Сделал проверку на CRC в Total Commandere и вашей утилите... и получил разные значения...
Код:
; Generated by WIN-SFV32 v1.0
; (Compatible: Total Commander 7.0pb2)
Image.wav D6CFAB07
Код:
EAC wavcrc32 v0.22 (c) ]DichlofoS[ Systems, 2007
thanx to: BakLAN, siro and other beta-testers/contributors!
file opened ok
RIFF header checked ok
please wait while couning checksums...
processing 200465664 samples...
file closed ok
--- used in EAC:
generic: grabbing, "no use..." off [all bytes]            : DF64CF42.
generic: grabbing, "no use..." on [word nulsamples l/r]   : 485E0276.
waveditor [word nulsamples l]                             : 88BC21A0.
--- no used in EAC, only for reference:
byte ignore zeros                                         : B7A1FD89.
dword nulsamples                                          : 28B2F86C.
---
time elapsed: 30031 ms
Хотелось бы узнать: кто врёт ?
[Профиль]  [ЛС] 

valiusz

Стаж: 20 лет 2 месяца

Сообщений: 802

valiusz · 30-Сен-07 13:06 (спустя 17 часов, ред. 20-Апр-16 14:31)

dmvn
Я думаю что ответов от Вейтхоффа придется ждать весьма долго! Это в принципе не только его одного дело, там в связке идут и другие разработчики похожих программ.
Огромные базы данных по CRC с рипнутых дисков становятся мало-пригодными и неточными, многим это будет не по нутру, не только разработчикам ЕАС, но и Звукозаписывающим Компаниям - а там волчары сидят, могут бросить большие бабки чтобы все это умерло в зародыше.
У тебя всего 2 варианта.
- Сушить сухари на зону
- ... или готовиться поработать за кордоном в какой-либо фирме за хорошую ставку.
[Профиль]  [ЛС] 

dmvn

Стаж: 18 лет 6 месяцев

Сообщений: 2893


dmvn · 04-Окт-07 09:12 (спустя 3 дня, ред. 20-Апр-16 14:31)

mgz, достаточно применить мозг, чтобы понять, что НЕ Я. Потому что Вы своим TC считаете CRC32 ФАЙЛА, а не аудиоданных в нём. Напоминаю, там есть 44-байтный заголовок, присовокупление коего к общему потоку, разумеется, влияет на контрольную сумму. Хотите проверить -- отрежьте заголовок и пересчитайте своим TC -- вот тогда совпадёт.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error