Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I honestly don't know how robust the image and video formats are to bit corruption.

It depends on the format. A BMP image format would limit the damage to 1 pixel, while a JPEG could propagate the damage to potentially the entire image. There is an example of a bitflip damaging a picture here:

https://arstechnica.com/information-technology/2014/01/bitro...

That single bit flip ruined about half of the image.

As for video, that depends on how far apart I frames are. Any damage from a bit flip would likely be isolated to the section of video from the bitflip until the next I-frame occurs. As for how bad it could be, it depends on how the encoding works.

> On the one hand, potentially, "very" robust.

Only in uncompressed files.

> But on the other, I would think that there are some very special bits that if toggled can potentially "ruin" the entire file. But I don't know.

The way that image compression works means that a single bit flip prior to decompression can affect a great many pixels, as shown at Ars Technica.

> However, I can say, every time I've tried ZFS on my iMac, it was simply a disaster.

Did you file an issue? I am not sure what the current status of the macOS driver’s production readiness is, but it will be difficult to see it improve if people do not report issues that they have.



A thing that can destroy most files in terms of readability is a bit flip in the header section. These could be theoretically corrected with clever guesswork and a hex editor, but in practise it is going to be hard to know where the bit flip occured, when a file just can't be read anymore.


Good catch. I had omitted that since I was not familiar with the low level details of the file formats (e.g. would a video file duplicate that data throughout it for enabling live streaming), but if the file only has one copy of important information (e.g. I-frame spacing, dimensions) and that gets corrupted, boom.


If you know that a particular JPEG block is corrupted, it could be possible to isolate the damage to just that block. You know the next block should not have a hard edge against the block above it, so you could try to find something that minimizes the vertical edge strength for the remaining blocks in the row.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: