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 | 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 | 26 | 2017-xx-xx - xxxxxxx - lavc 57.95.100 / 57.31.0 - avcodec.h |
| 19 | 27 | Add AVCodecContext.apply_cropping to control whether cropping |
| 20 | 28 | is handled by libavcodec or the caller. |