mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-30 12:06:40 +08:00 
			
		
		
		
	avcodec/exif: remove GetByteContext usage from avpriv_exif_decode_ifd()
This prevents potential ABI issues with GetByteContext. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
		| @@ -92,7 +92,7 @@ static int exif_decode_tag(void *logctx, GetByteContext *gbytes, int le, | ||||
|     // store metadata or proceed with next IFD | ||||
|     ret = ff_tis_ifd(id); | ||||
|     if (ret) { | ||||
|         ret = avpriv_exif_decode_ifd(logctx, gbytes, le, depth + 1, metadata); | ||||
|         ret = ff_exif_decode_ifd(logctx, gbytes, le, depth + 1, metadata); | ||||
|     } else { | ||||
|         const char *name = exif_get_tag_name(id); | ||||
|         char *use_name   = (char*) name; | ||||
| @@ -119,8 +119,8 @@ static int exif_decode_tag(void *logctx, GetByteContext *gbytes, int le, | ||||
| } | ||||
|  | ||||
|  | ||||
| int avpriv_exif_decode_ifd(void *logctx, GetByteContext *gbytes, int le, | ||||
|                            int depth, AVDictionary **metadata) | ||||
| int ff_exif_decode_ifd(void *logctx, GetByteContext *gbytes, | ||||
|                        int le, int depth, AVDictionary **metadata) | ||||
| { | ||||
|     int i, ret; | ||||
|     int entries; | ||||
| @@ -140,3 +140,13 @@ int avpriv_exif_decode_ifd(void *logctx, GetByteContext *gbytes, int le, | ||||
|     // return next IDF offset or 0x000000000 or a value < 0 for failure | ||||
|     return ff_tget_long(gbytes, le); | ||||
| } | ||||
|  | ||||
| int avpriv_exif_decode_ifd(void *logctx, const uint8_t *buf, int size, | ||||
|                            int le, int depth, AVDictionary **metadata) | ||||
| { | ||||
|     GetByteContext gb; | ||||
|  | ||||
|     bytestream2_init(&gb, buf, size); | ||||
|  | ||||
|     return ff_exif_decode_ifd(logctx, &gb, le, depth, metadata); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 James Almer
					James Almer