mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/cuviddec: add av1 support
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
This commit is contained in:
parent
b7f51428b1
commit
b23e6ae886
1
configure
vendored
1
configure
vendored
@ -3052,6 +3052,7 @@ nvenc_encoder_deps="nvenc"
|
|||||||
|
|
||||||
aac_mf_encoder_deps="mediafoundation"
|
aac_mf_encoder_deps="mediafoundation"
|
||||||
ac3_mf_encoder_deps="mediafoundation"
|
ac3_mf_encoder_deps="mediafoundation"
|
||||||
|
av1_cuvid_decoder_deps="cuvid"
|
||||||
h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m"
|
h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m"
|
||||||
h263_v4l2m2m_encoder_deps="v4l2_m2m h263_v4l2_m2m"
|
h263_v4l2m2m_encoder_deps="v4l2_m2m h263_v4l2_m2m"
|
||||||
h264_amf_encoder_deps="amf"
|
h264_amf_encoder_deps="amf"
|
||||||
|
@ -769,6 +769,7 @@ extern AVCodec ff_idf_decoder;
|
|||||||
* above is available */
|
* above is available */
|
||||||
extern AVCodec ff_aac_mf_encoder;
|
extern AVCodec ff_aac_mf_encoder;
|
||||||
extern AVCodec ff_ac3_mf_encoder;
|
extern AVCodec ff_ac3_mf_encoder;
|
||||||
|
extern AVCodec ff_av1_cuvid_decoder;
|
||||||
extern AVCodec ff_h263_v4l2m2m_encoder;
|
extern AVCodec ff_h263_v4l2m2m_encoder;
|
||||||
extern AVCodec ff_libaom_av1_decoder;
|
extern AVCodec ff_libaom_av1_decoder;
|
||||||
/* hwaccel hooks only, so prefer external decoders */
|
/* hwaccel hooks only, so prefer external decoders */
|
||||||
|
@ -42,6 +42,10 @@
|
|||||||
#define cudaVideoSurfaceFormat_YUV444_16Bit 3
|
#define cudaVideoSurfaceFormat_YUV444_16Bit 3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if NVDECAPI_CHECK_VERSION(11, 0)
|
||||||
|
#define CUVID_HAS_AV1_SUPPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct CuvidContext
|
typedef struct CuvidContext
|
||||||
{
|
{
|
||||||
AVClass *avclass;
|
AVClass *avclass;
|
||||||
@ -939,6 +943,11 @@ static av_cold int cuvid_decode_init(AVCodecContext *avctx)
|
|||||||
case AV_CODEC_ID_VC1:
|
case AV_CODEC_ID_VC1:
|
||||||
ctx->cuparseinfo.CodecType = cudaVideoCodec_VC1;
|
ctx->cuparseinfo.CodecType = cudaVideoCodec_VC1;
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if CONFIG_AV1_CUVID_DECODER && defined(CUVID_HAS_AV1_SUPPORT)
|
||||||
|
case AV_CODEC_ID_AV1:
|
||||||
|
ctx->cuparseinfo.CodecType = cudaVideoCodec_AV1;
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
av_log(avctx, AV_LOG_ERROR, "Invalid CUVID codec!\n");
|
av_log(avctx, AV_LOG_ERROR, "Invalid CUVID codec!\n");
|
||||||
@ -1134,6 +1143,10 @@ static const AVCodecHWConfigInternal *cuvid_hw_configs[] = {
|
|||||||
.wrapper_name = "cuvid", \
|
.wrapper_name = "cuvid", \
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if CONFIG_AV1_CUVID_DECODER && defined(CUVID_HAS_AV1_SUPPORT)
|
||||||
|
DEFINE_CUVID_CODEC(av1, AV1, NULL)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if CONFIG_HEVC_CUVID_DECODER
|
#if CONFIG_HEVC_CUVID_DECODER
|
||||||
DEFINE_CUVID_CODEC(hevc, HEVC, "hevc_mp4toannexb")
|
DEFINE_CUVID_CODEC(hevc, HEVC, "hevc_mp4toannexb")
|
||||||
#endif
|
#endif
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 58
|
#define LIBAVCODEC_VERSION_MAJOR 58
|
||||||
#define LIBAVCODEC_VERSION_MINOR 111
|
#define LIBAVCODEC_VERSION_MINOR 111
|
||||||
#define LIBAVCODEC_VERSION_MICRO 100
|
#define LIBAVCODEC_VERSION_MICRO 101
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||||
LIBAVCODEC_VERSION_MINOR, \
|
LIBAVCODEC_VERSION_MINOR, \
|
||||||
|
Loading…
Reference in New Issue
Block a user