![]() |
|
|||||||
| Exact Audio Copy - English Offizielles Support Forum - Englisch |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Andre: About sync error detection.
Andre, could you please answer these 2 questions...
1: When using secure mode with a drive with non-accurate stream, then EAC uses sector synchronization to detect if it is reading at the right place, and if the synchronization blocks of two reads dosen't match with each other, then a sync error has been found. My question is then : When using secure mode with an accurate stream drive, then EAC dosen't perform sector synchronization because the drive can read at the exact same place every time(when no sync error's occure), but how can EAC then know when a sync error has occured ?(when not using sector synchronization) Does the firmware report to EAC when the drive looses sync ? 2: When using the EAC offset correction test with a reference cd, and detecting for overreading capabilities, does EAC just check if it's possible to overread at all, or checks it to see if the drive is able to overread it's entire offset correction value ? And when using the EAC offset correction test with a cd that is not a reference cd, then EAC reports that the cd is unknown so no offset correction is found, but it still shows if the drive can overead, but is there only checked if the drive can overread at all, or is it a special amount of samples that's checked for ?(since the offset correction value is unknown since no reference cd is used for the test) I don't use offset correction myself, but i want to know this, because when someone asks how they can determine if their drive can overread when they dont have any reference cd's, then i wan't to know if i can say that the EAC test is valid also with unknown cd's(for the overreading part only). Thank's in advance. -Martin. |
|
|
|
| Sponsored Links | |
|
|
#2 |
|
E.A.C. Coder
![]() Senior Member (Board-Inventar)
Join Date: Sep 2000
Posts: 2.523
Abgegebene Danke: 0
Erhielt 14 Danke für 6 Beiträge
|
1) In all modes EAC performs synchronization, only the block sizes are different.
2) Either a drive can overread or not. How much depends on the disc inserted... cu, Andre |
|
|
|
|
|
#3 | ||
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Quote:
EAC reads 27 sectors per read, then could you please tell me : 1: When 'Accurate Stream' is enabled, how many of the 27 sectors are used as synchronization blocks ? 2: When 'Accurate Stream' is disabled, how many of the 27 sectors are used as synchronization blocks ? 3: Could you please tell me if this is correct, and if it is wrong, then please explain the correct procedure that EAC use to determine sync error's(not read error's) : EAC reads 27 sectors twice and compares them, and if the synchronization blocks of the two reads dosen't match with each other, then a sync error has occured, and then EAC re-reads the 27 sectors 16 times and if the synchronization blocks still dosen't match with each other in at least 8 reads(or 9 ? - can't remember) out of the 16 reads, then 16 re-reads are performed again, and when the 16 re-reads has been performed at maximum 5 times, and all the times there where under 8 of the 16 re-reads that had matching synchronization blocks, then a sync error is reported. Quote:
5: And also, when using EAC's offset correction test to see if a drive can overread or not, is the overreading part of the test 100% trustworthy always, or can it fail at times, and when doing the test without a reference cd(just any original cd), is the overreading part of the test just as reliable as if it was done with a reference cd?. Sorry for the many questions, but i'm very interested in how EAC works, and i would really appreciate it if you would clarify a bit... Thank's in advance. -Martin. |
||
|
|
|
|
|
#4 |
|
E.A.C. Coder
![]() Senior Member (Board-Inventar)
Join Date: Sep 2000
Posts: 2.523
Abgegebene Danke: 0
Erhielt 14 Danke für 6 Beiträge
|
1) 2 blocks of 2MB
2) 2 blocks of 27 blocks (=63kB) 3) No, two blocks are read overlap (last read - this read), they need to match. e.g. 0-26 and 25-51 (blocks 25 and 26 are read overlapped) Error detection will check both complete reads for identical results. So you get either a "Sync Error" or a "Read Error"... 4) Yes, as long the sector to be read is not in the "real" lead-out ("How much depends on the disc inserted...") 5) No, as it says itself, it is not 100% trusworthy and can even bring different results with different discs. cu, Andre |
|
|
|
|
|
#5 |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Thank you very much Andre for explaining it to me...
Example: EAC reads 27 sector's twice and compares them. the two reads are : 1. Read : 0 - 26 2. Read : 0 - 26 EAC see's that the two reads are identical so no read error has occured... EAC then reads the next 27 sector's twice and compares them. 1. Read : 25 - 51 2. Read : 27 - 53 (just an example, could also have been : 27 - 53 for both reads, the point is that the sync block's should be 25,26 and they are not...) EAC see's that a sync error has occured and does 16 extra reads to try to correct the sync error : 10. Reads : 27 - 53 6. Reads : 25 - 51 EAC only has 6 reads with correct sync blocks(25,26) and 10 reads with wrong sync blocks(27,28), and therefore report's a sync error. ('Error Recovery Quality' is set to 'Low') Is this right ? Thank's in advance. -Martin. |
|
|
|
|
|
#6 |
|
E.A.C. Coder
![]() Senior Member (Board-Inventar)
Join Date: Sep 2000
Posts: 2.523
Abgegebene Danke: 0
Erhielt 14 Danke für 6 Beiträge
|
No, re-reads are only done for read errors, sync errors are directly reported and synched as best as possible...
Also all reads will start at the same position, so the second go will look like 1. Read 25-51 2. Read 25-51 Comparision... Afterwards sector synchronization is performed. cu, Andre |
|
|
|
|
|
#7 |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Ahh, now i get it
Thank you so much for spelling it out to me, i really appreciate it, as i have been wondering about this for some time now...-Martin. |
|
|
|
|
|
#8 | |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Quote:
1: EAC reads 27 sectors per read command, and reads bursts of 2mb. So when you start to extract in secure mode, does EAC then first send multiple read commands to the drive untill a burst of 2mb has been extracted, and then strarts over and does the same thing again, and then EAC compares the two bursts of 2mb each, and check for differences, and if differences is found then EAC reads one read command(27 sectors)over the faulty area 16 times, and compares and 8+ has to match or rereads continue... It's just that i got confused when seeing your example above, which seems to indicate that EAC compares allready after each two pairs of read commands(27 sectors*2), and not waiting untill the two hole 2mb bursts is extracted... 2: Do i understand this right: When having 'Accurate Stream' enabled, then EAC reads 27 sectors per read command and bursts of 2mb, but only 2 sectors are used as sync blocks out of the hole 2mb burts, so that every new 2mb burst is synced against each other(first 2mb extracted of the CD is synced against the following next 2mb of the CD)... When having 'Accurate Stream' disabled, then every read command reads 27 sectors also and EAC reads bursts of 2mb, but every new read command(27 sectors), are synced against eachother, so that for every block of 27 sectors in the 2mb burst, there are only 25 sectors used for data, and 2 sectors are used for synchronization(read overlap)... Thank's in advance. -Martin. |
|
|
|
|
|
|
#9 |
|
E.A.C. Coder
![]() Senior Member (Board-Inventar)
Join Date: Sep 2000
Posts: 2.523
Abgegebene Danke: 0
Erhielt 14 Danke für 6 Beiträge
|
1. No, the first two reads are full 2mb blocks (read each after the other - in order to overread the cache). If there is a difference somewhere, it will start the 16x read from that position on (27 sectors). If necessary (and the option is set), EAC will overread the cache between each of the 16 reads.
2. Yes, for accurate stream, only the 2mb blocks are synched. If it doesn't have accurate stream, EAC also always activates "Drive caches audio" (try it), and thus it will 27 blocks, overread the cache and read the next 27 blocks, which will be synched on 2 sectors... cu, Andre |
|
|
|
|
|
#10 |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Andre, thank you very much for helping me to understand how EAC works
-Martin. |
|
|
|
|
|
#11 |
|
E.A.C. Coder
![]() Senior Member (Board-Inventar)
Join Date: Sep 2000
Posts: 2.523
Abgegebene Danke: 0
Erhielt 14 Danke für 6 Beiträge
|
Please keep in mind that everything I told is just from my memory, I am not 100% sure that everything is correct
|
|
|
|
|
|
#12 |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
OK Andre. I find it very interesting to learn how EAC works, so thank you very much for explaining it to me, and sorry for beeing so slow to understand the details... Thank's again
![]() -Martin. |
|
|
|
|
|
#13 |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Andre, could you please explain me some more about the inner workings of EAC.
Secure mode with accurate stream and no C2 : EAC reads two blocks of 2mb, read each after the other to overread the cache. If differences is found in the two 2mb blocks, then the 16x re-readings occure on 27 sectors, and if "Drive Caches Audio" is enabled, then the cache is overread in between each of the 16x re-reads. Only the hole 2mb blocks are synched against eachother with 2 sectors read-overlap. 1. Does this mean that the option "Drive Caches Audio" only will make error correction slower in the above ripping mode, since the error detection routine allready is overreading the cache ? So if ripping in the above ripping mode with "Drive Caches Audio" enabled, and if getting 100% track quality, then it would be just as quick as if "Drive Caches Audio" was disabled ? 2. Does no drives have more than 2 mb cache layer used for audio ? 3. When ripping in secure mode with a drive without accurate stream and no C2, then the option "Drive Caches Audio" is also enabled. I would then have thought that EAC would read 27 sectors, and then read the next 27 sectors, which would be synched on 2 sectors, and then read the next 27 secors etc. untill a total read of 2mb had been read, and then start over and do the same thing again and compare the two 2mb blocks, and if differences was found then the 16x re-readings would begin and in between each of them the cache would be overread. I know that this is wrong, since you have said that in this case EAC reads 27 sectors, and then overreads the cache, and then reads the next 27 sectors which is synched on 2 sectors, but could you please explain why it is done this way, and why the option "Drive Caches Audio" is enabled automatically when a drive hasen't got accurate stream ? 4. When using secure mode with C2 is there still read bursts of 2mb with 2 sectors read-overlap ? 5. When you say that EAC reads blocks of 2mb in secure mode with accurate stream, then each read command that EAC sends to the drive still only reads 27 sectors right, and EAC just sends multiple read commands to the drive untill a burst of 2mb has been read right ? Or does each read command read a hole block of 2mb ? Thank's in advance. Martin |
|
|
|
|
|
#14 |
|
E.A.C. Coder
![]() Senior Member (Board-Inventar)
Join Date: Sep 2000
Posts: 2.523
Abgegebene Danke: 0
Erhielt 14 Danke für 6 Beiträge
|
1) No, the cache is also flushed after 2x 2MB is read...
2) Yes, this would mean a problem 3) As nearly no drive has not accurate stream, I just implemented a mode for caching (without accurate stream), the worst mode that would be... Otherwise I need to have to implement an additional mode. Nothing more than not doing some work ![]() 4) Depending one the other options... But yes, there will be generally a 2 sectors read-overlap... 5) Yes, due to restrictions in hardware and ASPI, EAC only reads <65536 bytes to be more compatible... cu, Andre |
|
|
|
|
|
#15 |
|
Registered User
Senior Member (Board-Inventar)
Join Date: Jan 2005
Location: Denmark
Posts: 600
Abgegebene Danke: 0
Erhielt 1 Danke für 1 Beitrag
|
Thank you very much for explaining it to me, i really appreciate it
![]() Martin |
|
|
|
| Sponsored Links | |
![]() |
| Thread Tools | |
| Display Modes | |
|
|