Hi, I have read your project description. I am familiar with the topic in overall, because I have implemented before some perceptual hashing algorithms, including pHash, which you also list in your project description, applied to the both video and images. I'm developing commercial C/C++ software already for over 15 years, I'm specializing on the backend data processing and command-line tools. Previous perceptual hashing work was paid open source work, you can find sources on the my GitHub account (see my freelancer.com profile description for my GitHub user name, unfortunately freelancer.com doesn't allow to post a full link here). It uses ImageMagick's C interface MagicWand for reading and resizing images. I have read in you project description that you disallow ImageMagick for some reason. Reading and resizing images can be done without it, but will require image-format-specific libraries like libpng, libjpeg, libungif for reading images, manual image resizing implementation which means significantly larger code, but still it is doable. I make warranty for producing clean, readable, professionally written, standard-conforming C99 code building on Linux with "strict" compiler options you've mentioned in the project description. If you are interested in cooperating with me on this project, please contact me via private messages, so we can discuss more details.