This could depend on one thing: is the 5:1 compression fixed (aka for every 5 bytes of data it writes 1) or does it vary, like gzip? Even if the compression is lossy, if the data was already compressed, there would not be much for it to compress (since the data will be mostly random) in the variable case.
In either case, I would try using Reed-Solomon (sp?) error correction for it. I have not done so myself but someone should research to see if there is anything to do it that has some source code. By the way, since we are talking about video, this error correction is what is used on DTV for error correction when the data is broadcast (talk about lossy!). The way it is corrected for in TV is lossy because you usually don't care about each individual pixel, but theoretically the system could be used to do it without loss if it is coded heavily enough.
Wouldn't it be neat to have a kernel module that could wrap around a block device and automatically do error-correction coding? Never have to fsck again! Every read it could figure out how many bytes were incorrect and give you a warning / automatically fix any errors it finds. Yeah I know it could get a little slow, but on today's fast computers no one should notice. It's not a very CPU-intensive algorithm. It's performed on 19.2 megabits-per-second data in real time for a set-top box.
Sorry I got a little carried away on a useless idea.
Kenneth Arnold
P.S. If you are going to contribute great stuff to slashdot, get a user account. Anonymous Cowards start at Score 0 and generally have a negative connotation around them. Besides, it's free and you have another reason to check on all the cool stuff every day.
This could depend on one thing: is the 5:1 compression fixed (aka for every 5 bytes of data it writes 1) or does it vary, like gzip? Even if the compression is lossy, if the data was already compressed, there would not be much for it to compress (since the data will be mostly random) in the variable case.
In either case, I would try using Reed-Solomon (sp?) error correction for it. I have not done so myself but someone should research to see if there is anything to do it that has some source code. By the way, since we are talking about video, this error correction is what is used on DTV for error correction when the data is broadcast (talk about lossy!). The way it is corrected for in TV is lossy because you usually don't care about each individual pixel, but theoretically the system could be used to do it without loss if it is coded heavily enough.
Wouldn't it be neat to have a kernel module that could wrap around a block device and automatically do error-correction coding? Never have to fsck again! Every read it could figure out how many bytes were incorrect and give you a warning / automatically fix any errors it finds. Yeah I know it could get a little slow, but on today's fast computers no one should notice. It's not a very CPU-intensive algorithm. It's performed on 19.2 megabits-per-second data in real time for a set-top box.
Sorry I got a little carried away on a useless idea.
Kenneth Arnold
P.S. If you are going to contribute great stuff to slashdot, get a user account. Anonymous Cowards start at Score 0 and generally have a negative connotation around them. Besides, it's free and you have another reason to check on all the cool stuff every day.