Newsgroup: it.comp.software.divx
Titolo: Errore VirtualDub su Xvid

Ho aperto un Xvid (da me convertito [Dvd a Xvid]) e appena aperto con 
VirtualDub esso si crasha. Non capisco. Scusate l'ignoranza.
Come si risolve?
VirtualDub crash report -- build 24442 (release)
--------------------------------------
Disassembly:
02118e40: d2              db     0d2h
02118e41: 7431            jz     02118e74
02118e43: 83fa01          cmp    edx, 01h
02118e46: 742c            jz     02118e74
02118e48: 83fa02          cmp    edx, 02h
02118e4b: 7527            jnz    02118e74
02118e4d: 8b0e            mov    ecx, [esi]
02118e4f: 8bc7            mov    eax, edi
02118e51: 99              cdq
02118e52: 8b8650010000    mov    eax, [esi+150]
02118e58: 89be38010000    mov    [esi+138], edi
02118e5e: 89963c010000    mov    [esi+13c], edx
02118e64: 33d2            xor    edx, edx
02118e66: 03c1            add    eax, ecx
02118e68: 2bc7            sub    eax, edi
02118e6a: f7f1            div    eax, ecx
02118e6c: 89965c010000    mov    [esi+15c], edx
02118e72: eb62            jmp    02118ed6
02118e74: 8b4dec          mov    ecx, [ebp-14h]
02118e77: 8b9640010000    mov    edx, [esi+140]
02118e7d: 899648010000    mov    [esi+148], edx
02118e83: 8bc7            mov    eax, edi
02118e85: 89be38010000    mov    [esi+138], edi
02118e8b: 8b9e44010000    mov    ebx, [esi+144]
02118e91: 899e4c010000    mov    [esi+14c], ebx
02118e97: 03ca            add    ecx, edx
02118e99: 83d300          adc    ebx, 00h
02118e9c: 99              cdq
02118e9d: 898e40010000    mov    [esi+140], ecx
02118ea3: 8b0e            mov    ecx, [esi]
02118ea5: 899e44010000    mov    [esi+144], ebx
02118eab: 8bda            mov    ebx, edx
02118ead: 899e3c010000    mov    [esi+13c], ebx
02118eb3: 8bc1            mov    eax, ecx
02118eb5: 33d2            xor    edx, edx
02118eb7: 899e54010000    mov    [esi+154], ebx
02118ebd: 8b5d08          mov    ebx, [ebp+08h]
02118ec0: 03c7            add    eax, edi
02118ec2: 2b8650010000    sub    eax, [esi+150]
02118ec8: f7f1            div    eax, ecx      <-- FAULT
02118eca: 89be50010000    mov    [esi+150], edi
02118ed0: 899658010000    mov    [esi+158], edx
02118ed6: 6a01            push   01h
02118ed8: 53              push   ebx
02118ed9: e8f21c0000      call   0211abd0
02118ede: 83c408          add    esp, 08h
02118ee1: 57              push   edi
02118ee2: 8bc3            mov    eax, ebx
02118ee4: e82f1d0000      call   0211ac18
02118ee9: 59              pop    ecx
02118eea: 85c0            test   eax, eax
02118eec: 0f8496020000    jz     02119188
02118ef2: 8b96a8000000    mov    edx, [esi+a8]
02118ef8: 85d2            test   edx, edx
02118efa: 7452            jz     02118f4e
02118efc: 8b5608          mov    edx, [esi+08h]
02118eff: 83c203          add    edx, 03h
02118f02: 83fa0f          cmp    edx, 0fh
02118f05: 7205            jc     02118f0c
02118f07: ba0f000000      mov    edx, 0000000f
02118f0c: 83c4f8          add    esp, 0f8h
02118f0f: 8bc3            mov    eax, ebx
02118f11: e86e1c0000      call   0211ab84
02118f16: 83c408          add    esp, 08h
02118f19: 57              push   edi
02118f1a: 8bc3            mov    eax, ebx
02118f1c: e8f71c0000      call   0211ac18
02118f21: 59              pop    ecx
02118f22: 85c0            test   eax, eax
02118f24: 741d            jz     02118f43
02118f26: 8b5608          mov    edx, [esi+08h]
02118f29: 83c203          add    edx, 03h
02118f2c: 83fa0f          cmp    edx, 0fh
02118f2f: 7205            jc     02118f36
02118f31: ba0f000000      mov    edx, 0000000f
02118f36: 83c4f8          add    esp, 0f8h
02118f39: 8bc3            mov    eax, ebx
02118f3b: e8441c0000      call   0211ab84
Built on KOS-MOS on Sun May 28 15:10:00 2006 using compiler version 1200
Windows 5.1 (Windows XP build 2600) [Service Pack 2]
EAX = 00000000
EBX = 04cdf658
ECX = 00000000
EDX = 00000000
EBP = 04cdf62c
ESI = 01131f40
EDI = 00000000
ESP = 04cdf370
EIP = 02118ec8
EFLAGS = 00010246
FPUCW = ffff027f
FPUTW = ffffffff
Crash reason: Integer Divide-by-Zero
Crash context:
An integer division by zero occurred in module 'xvid'...
...while decompressing video frame 1 (VideoSource.cpp:1718)...
...while using input buffer at 01170000-0117005a (VideoSource.cpp:1717)...
...while using output buffer at 02030000-020c8003 (VideoSource.cpp:1716)...
...while running thread "Processing" (thread.cpp:150).
Pointer dumps:
EBX   04cdf658: 516033ff ffffffff 00000000 00000004 01170004 01170000 
0000005b 00000000
ESI   01131f40: 00000000 00000000 00000000 00000000 00000000 00000000 
00000000 00000000
ESP   04cdf370: 04cdf49c 00000000 00000001 04cdf40c 001410a0 c0150008 
7ffd6bf8 00252068
       04cdf390: 002520a4 04cdf650 7c925d7d 00252058 7ffd6c18 7c925db4 
7ffd6bf8 00251f18
       04cdf3b0: 00000000 04cdf424 04cdf410 04cdf3c4 001410a0 00000000 
04cdf414 7c9253f5
       04cdf3d0: 04cdf3ec 7c98c1c0 04cdf410 04cdf3f8 7c925041 04cdf420 
001400e4 00000004
EBP   04cdf628: 0000000d 04cdf6dc 020db9f5 04cdf658 01131f40 04cdf6a8 
04cdf6a4 04cdf6a0
       04cdf648: 04cdf69c 04cdf698 04cdf694 04cdf67c 516033ff ffffffff 
00000000 00000004
       04cdf668: 01170004 01170000 0000005b 00000000 516033ff 00000001 
00000000 00000000
       04cdf688: 00000010 04cdf894 00000000 04cdf70c 00000000 00000000 
00000000 020a0012
Thread call stack:
02118ec8: xvid!xvid_init [020d0000+a7f4+3e6d4]
7c925d7d: ntdll!RtlValidateUnicodeString [7c910000+15c72+10b]
7c925db4: ntdll!RtlValidateUnicodeString [7c910000+15c72+142]
7c9253f5: ntdll!RtlFindActivationContextSectionString [7c910000+15319+dc]
7c925041: ntdll!bsearch [7c910000+14ffb+46]
7c925233: ntdll!bsearch [7c910000+14ffb+238]
7c9255c9: ntdll!RtlHashUnicodeString [7c910000+15465+164]
7c925d7d: ntdll!RtlValidateUnicodeString [7c910000+15c72+10b]
7c925db4: ntdll!RtlValidateUnicodeString [7c910000+15c72+142]
7c9253f5: ntdll!RtlFindActivationContextSectionString [7c910000+15319+dc]
7c925af1: ntdll!RtlDosApplyFileIsolationRedirection_Ustr 
[7c910000+157a3+34e]
7c925b4f: ntdll!RtlDosApplyFileIsolationRedirection_Ustr 
[7c910000+157a3+3ac]
7c9253f5: ntdll!RtlFindActivationContextSectionString [7c910000+15319+dc]
7c925707: ntdll!RtlHashUnicodeString [7c910000+15465+2a2]
7c925a00: ntdll!RtlDosApplyFileIsolationRedirection_Ustr 
[7c910000+157a3+25d]
7c925a65: ntdll!RtlDosApplyFileIsolationRedirection_Ustr 
[7c910000+157a3+2c2]
020db9f5: xvid!xvid_init [020d0000+a7f4+1201]
020da03b: xvid!xvid_decore [020d0000+a000+3b]
020d5e37: xvid!00005e37
7c926924: ntdll!RtlMultiAppendUnicodeStringBuffer [7c910000+1671b+209]
020d9c08: xvid!DriverProc [020d0000+99f8+210]
7c9269a5: ntdll!RtlMultiAppendUnicodeStringBuffer [7c910000+1671b+28a]
7c9201c7: ntdll!RtlAddRefActivationContext [7c910000+100e2+e5]
7c9202d2: ntdll!RtlQueryInformationActivationContext [7c910000+101e2+f0]
7c9202ed: ntdll!RtlQueryInformationActivationContext [7c910000+101e2+10b]
7c91e3ed: ntdll!NtRequestWaitReplyPort [7c910000+e3e1+c]
7c9232f8: ntdll!CsrClientCallServer [7c910000+132a1+57]
7c81079e: kernel32!CreateRemoteThread [7c800000+10626+178]
7c91e46b: ntdll!NtResumeThread [7c910000+e45f+c]
7c8107e1: kernel32!CreateRemoteThread [7c800000+10626+1bb]
7c8107fd: kernel32!CreateRemoteThread [7c800000+10626+1d7]
7c9237ab: ntdll!RtlUnlockHeap [7c910000+1378b+20]
7c9237c7: ntdll!RtlUnlockHeap [7c910000+1378b+3c]
7c8100fd: kernel32!GlobalUnlock [7c800000+10082+7b]
7c810105: kernel32!GlobalUnlock [7c800000+10082+83]
7c810105: kernel32!GlobalUnlock [7c800000+10082+83]
7c9237ab: ntdll!RtlUnlockHeap [7c910000+1378b+20]
7c9237c7: ntdll!RtlUnlockHeap [7c910000+1378b+3c]
7c810105: kernel32!GlobalUnlock [7c800000+10082+83]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c921596: ntdll!wcsncpy [7c910000+10a8f+b07]
7c9206eb: ntdll!RtlAllocateHeap [7c910000+105d4+117]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c9206ab: ntdll!RtlAllocateHeap [7c910000+105d4+d7]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c921596: ntdll!wcsncpy [7c910000+10a8f+b07]
7c9206eb: ntdll!RtlAllocateHeap [7c910000+105d4+117]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c921596: ntdll!wcsncpy [7c910000+10a8f+b07]
7c9206eb: ntdll!RtlAllocateHeap [7c910000+105d4+117]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c920732: ntdll!RtlAllocateHeap [7c910000+105d4+15e]
7c921596: ntdll!wcsncpy [7c910000+10a8f+b07]
7c9206eb: ntdll!RtlAllocateHeap [7c910000+105d4+117]
7c9280ff: ntdll!RtlReAllocateHeap [7c910000+179fd+702]
76b04633: WINMM!mmDrvInstall [76b00000+3a52+be1]
76b04633: WINMM!mmDrvInstall [76b00000+3a52+be1]
76b04633: WINMM!mmDrvInstall [76b00000+3a52+be1]
7c921596: ntdll!wcsncpy [7c910000+10a8f+b07]
76b04633: WINMM!mmDrvInstall [76b00000+3a52+be1]
76b04633: WINMM!mmDrvInstall [76b00000+3a52+be1]
76b04633: WINMM!mmDrvInstall [76b00000+3a52+be1]
75df18a8: MSVFW32!ICSendMessage [75df0000+187d+2b]
75df4c4d: MSVFW32!ICDecompress [75df0000+4c10+3d]
0051bf82: VDVideoDecompressorVCM::DecompressFrame()
004ca9e3: VideoSourceAVI::_isKey()
004ca9e3: VideoSourceAVI::_isKey()
004cb9c6: VideoSourceAVI::streamGetFrame()
7c809bbb: kernel32!CloseHandle [7c800000+9b77+44]
72c91605: wdmaud!00001605
00477f6c: Dubber::WriteVideoFrame()
0051ce67: ceil()
0047d617: VDStreamInterleaver::PushStreams()
00477cda: Dubber::WriteVideoFrame()
00478968: Dubber::ThreadRun()
7c9206eb: ntdll!RtlAllocateHeap [7c910000+105d4+117]
7c80e07b: kernel32!DuplicateHandle [7c800000+e016+65]
004dbd96: VDThread::StaticThreadStart()
00520c5f: _threadstartex@4()
7c9206eb: ntdll!RtlAllocateHeap [7c910000+105d4+117]
7c80b50b: kernel32!GetModuleFileNameA [7c800000+b357+1b4]
7c9206eb: ntdll!RtlAllocateHeap [7c910000+105d4+117]
-- End of report

 ...while decompressing video frame 1 (VideoSource.cpp:1718)...
mentre decomprimeva il frame 1 si e' verificato un crash dovuto a una
divisione per zero.
Forse dovresti usare versioni piu' recenti di XviD o qualsiasi altro
programma contenga quelle istruzioni.
Oppure e' sballato lo stream, ma mi pare improbabile...
Magari prova ad aprire il file col mio programma (avinaptic) chiedendo
l'analisi DRF (in questo modo vengono analizzati tutti gli headers del
bitstream), e controlla se c'e' qualcosa di strano nei dati che rileva
-- 
Home page: 
http://fsinapsi.altervista.org

 bitstream), e controlla se c'e' qualcosa di strano nei dati che rileva
Questa credo sia la parte che serve:
[ Analisi DRF ]
DRF medio: 4.274824
Deviazione standard: 2.153757
DRF max: 19
DRF<3: 28093 (19.515804 %)
DRF=3: 28330 (19.680444 %)
DRF=4: 39012 (27.101076 %)
DRF=5: 17099 (11.878430 %)
DRF=6: 11022 (7.656825 %)
DRF=7: 10001 (6.947551 %)
DRF=8: 3796 (2.637026 %)
DRF=9: 1934 (1.343522 %)
DRF>9: 4663 (3.239319 %)
I-VOPs DRF medio: 3.286842
I-VOPs Deviazione standard: 1.661008
I-VOPs DRF max: 11
P-VOPs DRF medio: 3.302605
P-VOPs Deviazione standard: 1.601452
P-VOPs DRF max: 12
B-VOPs DRF medio: 5.359277
B-VOPs Deviazione standard: 2.172021
B-VOPs DRF max: 19

 DRF max: 19
visto che ci sono, faccio qualche commento sui dati che hai
ottenuto.
Questa codifica non e' granche': XviD in due passate, tipicamente
puo' fare di meglio; pur con lo stesso bitrate e stesso DRF medio,
dovresti ottenere deviazione e "DRF max" piu' bassi (valori
tipici sono: deviazione circa 1, DRF max circa 2-3 piu' alto
del medio, in questo caso direi 7).
Hai fatto una codifica in una sola passata?


 Hai fatto una codifica in una sola passata?
Si ho settato il codec Xvid ad una sola passata. Ho sbagliato?

 Si ho settato il codec Xvid ad una sola passata. Ho sbagliato?
se preferisci ottenere una qualita' piu' uniforme ed evitare che
alcune scene vengano deteriorate, ti conviene scegliere piu'
passate


 passate
Ho trovato una marea di guida su come settare il codec a 2 passate.
Ma ho notato che spaziano tra tantissime versioni di Xvid e impostazioni 
diverse.
Voi quale versione di codec xvid mi consigliereste installare, e 
soprattutto quale guida seguire?
Grazie Ragazzi!

 soprattutto quale guida seguire?
sulle varie versioni compilate per windows non ne so nulla (mi pare
di capire che ne vengono compilate piu' versioni e forse ognuna con
delle modifiche specifiche...). Io uso sempre il ramo di sviluppo
normale, da cui prendo periodicamente i sorgenti e li compilo. Mai
avuto problemi :-)
Tipicamente le versioni piu' recenti hanno in piu' qualche
ottimizzazione e miglioramenti. La pagina ufficiale 
http://xvid.org
rimanda alla pagina 
http://www.koepi.org/xvid.shtml
 per scaricare
la versione per windows, quindi presumo che quella vada considerata
la compilazione "ufficiale" (trattandosi di software open-source, la
release ufficiale consiste per definizione non di eseguibili
compilati ma di sorgenti multi-piattaforma, che ognuno puo'
compilare e ottimizzare per la propria macchina).
Per quanto riguarda le guide... io non ne ho mai seguita una,
l'unica cosa che consulto e' la man page di mplayer, dove sono
spiegati tutti i parametri (sezione "-xvidencopts").
Tempo fa c'era in rete una guida in italiano ai parametri di XviD
che mi sembrava abbastanza buona e precisa, autore "Andy Panix", ma
al momento non la trovo piu'...
