}
// additional filtergraph params
- if (!strcmp("buffer", source_name) && self->hw_device_ctx) {
+ if (!strcmp("buffer", source_name) && self->hw_device_octx) {
for (i = 0; i < self->avfltgraph->nb_filters; i++) {
if (!(self->avfltgraph->filters[i]->hw_device_ctx =
- av_buffer_ref(self->hw_device_ctx))) {
+ av_buffer_ref(self->hw_device_octx))) {
ret = -1;
goto finish;
}
int
vaapi_decode_setup_context(AVCodecContext *avctx)
{
- if (!(avctx->hwaccel_context =
+ TVHContext *ctx = avctx->opaque;
+
+ if (!(ctx->hw_accel_ictx =
tvhva_context_create("decode", avctx, VAEntrypointVLD))) {
return -1;
}
void
vaapi_decode_close_context(AVCodecContext *avctx)
{
- /*if (avctx->hw_frames_ctx) {
- av_buffer_unref(&avctx->hw_frames_ctx);
- avctx->hw_frames_ctx = NULL;
- }*/
- tvhva_context_destroy(avctx->hwaccel_context);
+ TVHContext *ctx = avctx->opaque;
+
+ tvhva_context_destroy(ctx->hw_accel_ictx);
}
tvhva_context_create("encode", avctx, VAEntrypointEncSlice))) {
return -1;
}
- if (!(ctx->hw_device_ctx = av_buffer_ref(hwaccel_context->hw_device_ref))) {
+ if (!(ctx->hw_device_octx = av_buffer_ref(hwaccel_context->hw_device_ref))) {
tvhva_context_destroy(hwaccel_context);
return AVERROR(ENOMEM);
}
void
vaapi_encode_close_context(AVCodecContext *avctx)
{
- /*if (avctx->hw_frames_ctx) {
- av_buffer_unref(&avctx->hw_frames_ctx);
- avctx->hw_frames_ctx = NULL;
- }*/
TVHContext *ctx = avctx->opaque;
- av_buffer_unref(&ctx->hw_device_ctx);
- ctx->hw_device_ctx = NULL;
+ av_buffer_unref(&ctx->hw_device_octx);
+ ctx->hw_device_octx = NULL;
}