| 2456 | } |
| 2457 | |
| 2458 | int ff_decode_exif_attach_buffer(AVCodecContext *avctx, AVFrame *frame, AVBufferRef **pbuf, |
| 2459 | enum AVExifHeaderMode header_mode) |
| 2460 | { |
| 2461 | int ret; |
| 2462 | AVBufferRef *data = *pbuf; |
| 2463 | AVExifMetadata ifd = { 0 }; |
| 2464 | |
| 2465 | ret = av_exif_parse_buffer(avctx, data->data, data->size, &ifd, header_mode); |
| 2466 | if (ret < 0) |
| 2467 | goto end; |
| 2468 | |
| 2469 | ret = exif_attach_ifd(avctx, frame, &ifd, pbuf); |
| 2470 | |
| 2471 | end: |
| 2472 | av_buffer_unref(pbuf); |
| 2473 | av_exif_free(&ifd); |
| 2474 | return ret; |
| 2475 | } |
no test coverage detected