summaryrefslogtreecommitdiff
path: root/libavcodec/vp9.c
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2017-11-17 14:15:22 +0100
committerwm4 <nfxjfg@googlemail.com>2017-11-29 17:18:12 +0100
commita5679933c1b8b6bef5c5c3eb7c70d06c695066cf (patch)
treee1061c6c7012c7ec4b523319bf591f7eb89a3532 /libavcodec/vp9.c
parent91127355f5863e1f830e0a718036ad7189f42df3 (diff)
vp9: use superframe split BSF
webm usually has invisible superframes merged with normal frames. (vpxenc muxes them in this form, which is evidence enough that this is the standard webm packet format. It's rather unclear whether ffmpeg is even allowed to remux them with split packets.) The vp9 decoder needs them to be in separate packets for multithreading to work. Add the BSF to the decoder, so the conversion happens automatically. This contains the important part of fa1749dd34c55fb9, which was apparently skipped in commit d417e95af76. This restores Libav API compatibility.
Diffstat (limited to 'libavcodec/vp9.c')
-rw-r--r--libavcodec/vp9.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 1ea2869c4c..6241f01de1 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -1795,6 +1795,7 @@ AVCodec ff_vp9_decoder = {
.init_thread_copy = ONLY_IF_THREADS_ENABLED(vp9_decode_init_thread_copy),
.update_thread_context = ONLY_IF_THREADS_ENABLED(vp9_decode_update_thread_context),
.profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles),
+ .bsfs = "vp9_superframe_split",
.hw_configs = (const AVCodecHWConfigInternal*[]) {
#if CONFIG_VP9_DXVA2_HWACCEL
HWACCEL_DXVA2(vp9),