前段时间写了篇 杀鸡用牛刀,FFmpeg API 加载存储图片,比 ImageMagic 和 stb_image 快多了,后来发现有个问题,有些 JPG 图片是带有旋转信息的,如果只解码,不获取它的旋转信息,将导致图片的方向错误。
av_dict_get
那如何才能用 FFmpeg 来获取 JPG 的旋转信息呢?查过很多资料,最后终于找到一种方法。由于再次查找时又要翻阅多篇文章,因此记录在此。答案就是使用 av_dict_get 这个方法。
首先,要完成使用 FFmpeg 对 JPG 图片的解码过程,得到解码后的帧图像 AVFrame,然后,在 AVFrame->metadata 中读取 Orientation 来获取旋转信息。其中 Orientation 的定义如下:
/*
1 = Horizontal (normal)
2 = Mirror horizontal
3 = Rotate 180
4 = Mirror vertical
5 = Mirror horizontal and rotate 270 CW
6 = Rotate 90 CW
7 = Mirror horizontal and rotate 90 CW
8 = Rotate 270 CW
*/
整个功能的具体代码如下:
AVDictionaryEntry

本文介绍如何使用FFmpeg API中的av_dict_get方法从JPG图片的EXIF信息中读取旋转角度,确保图片正确显示。

3774

被折叠的 条评论
为什么被折叠?



