avcodec/cuviddec: remove unused AVCodec.decode() callback

The AVCodec.receive_frame() callback takes precedence.

Signed-off-by: James Almer <jamrial@gmail.com>
pull/359/head
James Almer 4 years ago
parent b4c2ff3e41
commit 854a9d8c6e
  1. 32
      libavcodec/cuviddec.c

@ -646,37 +646,6 @@ error:
return ret; return ret;
} }
static int cuvid_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
{
CuvidContext *ctx = avctx->priv_data;
AVFrame *frame = data;
int ret = 0;
av_log(avctx, AV_LOG_TRACE, "cuvid_decode_frame\n");
if (ctx->deint_mode_current != cudaVideoDeinterlaceMode_Weave) {
av_log(avctx, AV_LOG_ERROR, "Deinterlacing is not supported via the old API\n");
return AVERROR(EINVAL);
}
if (!ctx->decoder_flushing) {
ret = cuvid_decode_packet(avctx, avpkt);
if (ret < 0)
return ret;
}
ret = cuvid_output_frame(avctx, frame);
if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) {
*got_frame = 0;
} else if (ret < 0) {
return ret;
} else {
*got_frame = 1;
}
return 0;
}
static av_cold int cuvid_decode_end(AVCodecContext *avctx) static av_cold int cuvid_decode_end(AVCodecContext *avctx)
{ {
CuvidContext *ctx = avctx->priv_data; CuvidContext *ctx = avctx->priv_data;
@ -1143,7 +1112,6 @@ static const AVCodecHWConfigInternal *const cuvid_hw_configs[] = {
.priv_class = &x##_cuvid_class, \ .priv_class = &x##_cuvid_class, \
.init = cuvid_decode_init, \ .init = cuvid_decode_init, \
.close = cuvid_decode_end, \ .close = cuvid_decode_end, \
.decode = cuvid_decode_frame, \
.receive_frame = cuvid_output_frame, \ .receive_frame = cuvid_output_frame, \
.flush = cuvid_flush, \ .flush = cuvid_flush, \
.bsfs = bsf_name, \ .bsfs = bsf_name, \

Loading…
Cancel
Save