aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/hwcontext.c
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2017-05-15 11:27:24 +0200
committerwm4 <nfxjfg@googlemail.com>2017-05-15 11:30:36 +0200
commit532b23f079b52f4789be1f20ce232286ce4ffa13 (patch)
tree2d826fd0046a1c4f2feeb072971292348812b93b /libavutil/hwcontext.c
parent2c6179aa829e6f50eea6faf47b2b6efd7650a41d (diff)
downloadffmpeg-532b23f079b52f4789be1f20ce232286ce4ffa13.tar.gz
videotoolbox: add hwcontext support
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.
Diffstat (limited to 'libavutil/hwcontext.c')
-rw-r--r--libavutil/hwcontext.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c
index 4cfe377982..8d50a32b84 100644
--- a/libavutil/hwcontext.c
+++ b/libavutil/hwcontext.c
@@ -44,6 +44,9 @@ static const HWContextType *hw_table[] = {
#if CONFIG_VDPAU
&ff_hwcontext_type_vdpau,
#endif
+#if CONFIG_VIDEOTOOLBOX
+ &ff_hwcontext_type_videotoolbox,
+#endif
NULL,
};