Tool/software:
The Linux file system opens files through fopen, and there is a probability that the data read by fread may not match the file data stored in EMMC. The deviation between the read processing content and the actual memory is always a multiple of 64 bytes. Currently, there are 64, 128, and 192 byte differences encountered. (Currently, EMMC issues have been largely ruled out)
as follows:
left is the content read by fread
right is actually saved by EMMC
so, we just change the input memory type V4L2_MEMORY_MMAP to V4L2_MEMORY_DMABUF by Encode NV12 to H24,
Then, using a testing tool to test and read over a hundred files, the MD5 value was calculated and compared with the actual MD5 value of each file for 3 hours(Repeat multiple times), and no abnormalities were found. However, without adding this, repeating the test using the same method will generally result in a discrepancy between the md5 value of the read file and the actual md5 value of the file within 10 minutes.
The testing tools are as follows:
#!/bin/bash
while ((1))
do
echo 1 >/proc/sys/vm/drop_caches
./vx_app_test_load_pic.out
ret=$?
if ((ret != 0));then
echo "failed...exit"
exit 2
fi
done