This adds tons of code for no other benefit than making VideoToolbox support conform with the new hwaccel API (using hw_device_ctx and hw_frames_ctx). Since VideoToolbox decoding does not actually require the user to allocate frames, the new code does mostly nothing. One benefit is that ffmpeg_videotoolbox.c can be dropped once generic hwaccel support for ffmpeg.c is merged from Libav. Does not consider VDA or VideoToolbox encoding. Fun fact: the frame transfer functions are copied from vaapi, as the mapping makes copying generic boilerplate. Mapping itself is not exported by the VT code, because I don't know how to test.
Showing the changes to doc/APIchanges (1 of 11 files). Show all
Unified · Split
| @@ -15,6 +15,14 @@ libavutil: 2015-08-28 · 14 unmodified lines | |||
| 15 | 15 | ||
| 16 | API changes, most recent first: | 16 | API changes, most recent first: |
| 17 | 17 | ||
| 18 | 2017-05-15 - xxxxxxxxxx - lavc 57.96.100 - avcodec.h | ||
| 19 | VideoToolbox hardware-accelerated decoding now supports the new hwaccel API, | ||
| 20 | which can create the decoder context and allocate hardware frames automatically. | ||
| 21 | See AVCodecContext.hw_device_ctx and AVCodecContext.hw_frames_ctx. | ||
| 22 | |||
| 23 | 2017-05-15 - xxxxxxxxxx - lavu 57.63.100 - hwcontext.h | ||
| 24 | Add AV_HWDEVICE_TYPE_VIDEOTOOLBOX and implementation. | ||
| 25 | |||
| 18 | 2017-xx-xx - xxxxxxx - lavc 57.95.100 / 57.31.0 - avcodec.h | 26 | 2017-xx-xx - xxxxxxx - lavc 57.95.100 / 57.31.0 - avcodec.h |
| 19 | Add AVCodecContext.apply_cropping to control whether cropping | 27 | Add AVCodecContext.apply_cropping to control whether cropping |
| 20 | is handled by libavcodec or the caller. | 28 | is handled by libavcodec or the caller. |