A checksum is essentially a fingerprint for a given file used for data integrity monitoring. An MD5 is one type of checksum. When an MD5 checksum is generated it produces a 32 character value which represents a unique code (or fingerprint) called a hash value, which is specific to that file. If any changes are made to that file and a checksum is generated again it will produce a different 32 character value. If nothing in a file changes and a checksum is generated again, the values will be the same. A traditional whole-file checksum would be altered every time AVI MetaEdit adds or edits metadata in the file. Therefore a whole-file checksum does not help with verifying the integrity of the video within the file. While the metadata is expected to change, the video data is not. For this reason AVI MetaEdit supports the generation of a video-data-only checksum (including the entire <data> chunk, excluding the chunk id, size declaration, and any optional padding byte). This will create a hash value for only the video portion of the file which helps validate the integrity of the video but allows for alteration of the metadata.
AVI MetaEdit includes an Option called 'Evaluate MD5 for video data'. When this is enabled AVI MetaEdit will generate an MD5 checksum for the video data of any file that is opened and populate the MD5Evaluated column of the Technical View.
Another option called 'Embed MD5 for video data' will generate an MD5 checksum for the video data and then store it directly within the file in an MD5 chunk within the file using the id <MD5 >. The declared size of this chunk is always 16 bytes.
When AVI MetaEdit opens a video file it will immediately display any checksum stored in the <MD5 > chunk in the MD5Stored column. If open video files already include an <MD5 > chunk then running 'Evaluate MD5 for video data' will re-evaluate the checksum and display the results in the MD5Evaluated column. This will demonstrate any conflicts between the stored checksum and the newly evaluated checksum in order to verify the integrity of the video data. A discrepancy between the stored and evaluated checksum indicates that the video data was somehow altered since the last checksum was embedded either through editing or error. If you wish to overwrite an existing embedded checksum value with a newly generated checksum value make sure that 'Embed MD5 for video data' is selected.