|
|
|
@@ -373,7 +373,11 @@ static int cuvid_is_buffer_full(AVCodecContext *avctx) |
|
|
|
{ |
|
|
|
CuvidContext *ctx = avctx->priv_data; |
|
|
|
|
|
|
|
return (av_fifo_size(ctx->frame_queue) / sizeof(CuvidParsedFrame)) + 2 > ctx->nb_surfaces; |
|
|
|
int delay = ctx->cuparseinfo.ulMaxDisplayDelay; |
|
|
|
if (ctx->deint_mode != cudaVideoDeinterlaceMode_Weave && !ctx->drop_second_field) |
|
|
|
delay *= 2; |
|
|
|
|
|
|
|
return (av_fifo_size(ctx->frame_queue) / sizeof(CuvidParsedFrame)) + delay >= ctx->nb_surfaces; |
|
|
|
} |
|
|
|
|
|
|
|
static int cuvid_decode_packet(AVCodecContext *avctx, const AVPacket *avpkt) |
|
|
|
|