diff options
Diffstat (limited to 'libavcodec/vda.c')
-rw-r--r-- | libavcodec/vda.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libavcodec/vda.c b/libavcodec/vda.c index f71fb16488..eb4b9982cb 100644 --- a/libavcodec/vda.c +++ b/libavcodec/vda.c @@ -28,15 +28,22 @@ AVVDAContext *av_vda_alloc_context(void) { AVVDAContext *ret = av_mallocz(sizeof(*ret)); - if (ret) + if (ret) { ret->output_callback = ff_vda_output_callback; + ret->cv_pix_fmt_type = kCVPixelFormatType_422YpCbCr8; + } return ret; } int av_vda_default_init(AVCodecContext *avctx) { - avctx->hwaccel_context = av_vda_alloc_context(); + return av_vda_default_init2(avctx, NULL); +} + +int av_vda_default_init2(AVCodecContext *avctx, AVVDAContext *vdactx) +{ + avctx->hwaccel_context = vdactx ?: av_vda_alloc_context(); if (!avctx->hwaccel_context) return AVERROR(ENOMEM); return ff_vda_default_init(avctx); |