summaryrefslogtreecommitdiff
path: root/libavcodec/vda.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/vda.c')
-rw-r--r--libavcodec/vda.c11
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);