mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec: deprecate Lossless and Intra Only encoder capabilites
Both are codec properties and not encoder capabilities. The relevant AVCodecDescriptor.props flags exist for this purpose. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
cbb1760afa
commit
13b1bbff0b
@ -15,6 +15,9 @@ libavutil: 2017-10-21
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2020-05-xx - xxxxxxxxxx - lavc 56.86.101 - avcodec.h
|
||||
Deprecated AV_CODEC_CAP_INTRA_ONLY and AV_CODEC_CAP_LOSSLESS.
|
||||
|
||||
2020-05-xx - xxxxxxxxxx - lavu 56.46.100 - common.h
|
||||
Add av_sat_add64() and av_sat_sub64()
|
||||
|
||||
|
@ -656,7 +656,7 @@ static const uint64_t aac_at_channel_layouts[] = {
|
||||
|
||||
FFAT_ENC(aac, AV_CODEC_ID_AAC, aac_profiles, , .channel_layouts = aac_at_channel_layouts)
|
||||
//FFAT_ENC(adpcm_ima_qt, AV_CODEC_ID_ADPCM_IMA_QT, NULL)
|
||||
FFAT_ENC(alac, AV_CODEC_ID_ALAC, NULL, | AV_CODEC_CAP_VARIABLE_FRAME_SIZE | AV_CODEC_CAP_LOSSLESS)
|
||||
FFAT_ENC(alac, AV_CODEC_ID_ALAC, NULL, | AV_CODEC_CAP_VARIABLE_FRAME_SIZE)
|
||||
FFAT_ENC(ilbc, AV_CODEC_ID_ILBC, NULL)
|
||||
FFAT_ENC(pcm_alaw, AV_CODEC_ID_PCM_ALAW, NULL)
|
||||
FFAT_ENC(pcm_mulaw, AV_CODEC_ID_PCM_MULAW, NULL)
|
||||
|
@ -483,14 +483,17 @@ typedef struct RcOverride{
|
||||
* choice for probing.
|
||||
*/
|
||||
#define AV_CODEC_CAP_AVOID_PROBING (1 << 17)
|
||||
|
||||
#if FF_API_UNUSED_CODEC_CAPS
|
||||
/**
|
||||
* Codec is intra only.
|
||||
* Deprecated and unused. Use AVCodecDescriptor.props instead
|
||||
*/
|
||||
#define AV_CODEC_CAP_INTRA_ONLY 0x40000000
|
||||
/**
|
||||
* Codec is lossless.
|
||||
* Deprecated and unused. Use AVCodecDescriptor.props instead
|
||||
*/
|
||||
#define AV_CODEC_CAP_LOSSLESS 0x80000000
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Codec is backed by a hardware implementation. Typically used to
|
||||
|
@ -98,6 +98,6 @@ AVCodec ff_avui_encoder = {
|
||||
.id = AV_CODEC_ID_AVUI,
|
||||
.init = avui_encode_init,
|
||||
.encode2 = avui_encode_frame,
|
||||
.capabilities = AV_CODEC_CAP_EXPERIMENTAL | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_EXPERIMENTAL,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_UYVY422, AV_PIX_FMT_NONE },
|
||||
};
|
||||
|
@ -1396,7 +1396,7 @@ AVCodec ff_dnxhd_encoder = {
|
||||
.init = dnxhd_encode_init,
|
||||
.encode2 = dnxhd_encode_picture,
|
||||
.close = dnxhd_encode_end,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUV422P,
|
||||
|
@ -1220,7 +1220,7 @@ AVCodec ff_dvvideo_encoder = {
|
||||
.priv_data_size = sizeof(DVVideoContext),
|
||||
.init = dvvideo_encode_init,
|
||||
.encode2 = dvvideo_encode_frame,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV422P,
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE
|
||||
|
@ -1508,7 +1508,7 @@ AVCodec ff_flac_encoder = {
|
||||
.init = flac_encode_init,
|
||||
.encode2 = flac_encode_frame,
|
||||
.close = flac_encode_close,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_LOSSLESS,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
|
||||
AV_SAMPLE_FMT_S32,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
|
@ -1091,7 +1091,7 @@ AVCodec ff_huffyuv_encoder = {
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.close = encode_end,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.priv_class = &normal_class,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,
|
||||
@ -1111,7 +1111,7 @@ AVCodec ff_ffvhuff_encoder = {
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.close = encode_end,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.priv_class = &ff_class,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUV411P,
|
||||
|
@ -471,7 +471,7 @@ AVCodec ff_jpegls_encoder = {
|
||||
.priv_data_size = sizeof(JPEGLSContext),
|
||||
.priv_class = &jpegls_class,
|
||||
.init = encode_init_ls,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.encode2 = encode_picture_ls,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_BGR24, AV_PIX_FMT_RGB24,
|
||||
|
@ -176,7 +176,7 @@ AVCodec ff_zlib_encoder = {
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.close = encode_end,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
|
||||
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
|
||||
FF_CODEC_CAP_INIT_CLEANUP,
|
||||
|
@ -763,7 +763,7 @@ AVCodec ff_libopenjpeg_encoder = {
|
||||
.priv_data_size = sizeof(LibOpenJPEGContext),
|
||||
.init = libopenjpeg_encode_init,
|
||||
.encode2 = libopenjpeg_encode_frame,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB48,
|
||||
AV_PIX_FMT_RGBA64, AV_PIX_FMT_GBR24P,
|
||||
|
@ -125,6 +125,6 @@ AVCodec ff_librsvg_decoder = {
|
||||
.id = AV_CODEC_ID_SVG,
|
||||
.decode = librsvg_decode_frame,
|
||||
.priv_data_size = sizeof(LibRSVGContext),
|
||||
.capabilities = AV_CODEC_CAP_LOSSLESS | AV_CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.wrapper_name = "librsvg",
|
||||
};
|
||||
|
@ -360,7 +360,7 @@ AVCodec ff_ljpeg_encoder = {
|
||||
.init = ljpeg_encode_init,
|
||||
.encode2 = ljpeg_encode_frame,
|
||||
.close = ljpeg_encode_close,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_BGR24 , AV_PIX_FMT_BGRA , AV_PIX_FMT_BGR0,
|
||||
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUVJ422P,
|
||||
|
@ -581,7 +581,7 @@ AVCodec ff_magicyuv_encoder = {
|
||||
.init = magy_encode_init,
|
||||
.close = magy_encode_close,
|
||||
.encode2 = magy_encode_frame,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P, AV_PIX_FMT_GRAY8,
|
||||
|
@ -414,7 +414,7 @@ AVCodec ff_mjpeg_encoder = {
|
||||
.init = ff_mpv_encode_init,
|
||||
.encode2 = ff_mpv_encode_picture,
|
||||
.close = ff_mpv_encode_end,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_NONE
|
||||
},
|
||||
|
@ -1146,7 +1146,7 @@ AVCodec ff_png_encoder = {
|
||||
.init = png_enc_init,
|
||||
.close = png_enc_close,
|
||||
.encode2 = encode_png,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,
|
||||
AV_PIX_FMT_RGB48BE, AV_PIX_FMT_RGBA64BE,
|
||||
|
@ -952,7 +952,7 @@ AVCodec ff_prores_aw_encoder = {
|
||||
.close = prores_encode_close,
|
||||
.encode2 = prores_encode_frame,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE},
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.priv_class = &proresaw_enc_class,
|
||||
.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
|
||||
};
|
||||
@ -967,7 +967,7 @@ AVCodec ff_prores_encoder = {
|
||||
.close = prores_encode_close,
|
||||
.encode2 = prores_encode_frame,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE},
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.priv_class = &prores_enc_class,
|
||||
.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles),
|
||||
};
|
||||
|
@ -1428,7 +1428,7 @@ AVCodec ff_prores_ks_encoder = {
|
||||
.init = encode_init,
|
||||
.close = encode_close,
|
||||
.encode2 = encode_frame,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10,
|
||||
AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE
|
||||
|
@ -94,7 +94,6 @@ AVCodec ff_r210_encoder = {
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_GBRP10, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_R10K_ENCODER
|
||||
@ -106,7 +105,6 @@ AVCodec ff_r10k_encoder = {
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_GBRP10, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_AVRP_ENCODER
|
||||
@ -118,6 +116,5 @@ AVCodec ff_avrp_encoder = {
|
||||
.init = encode_init,
|
||||
.encode2 = encode_frame,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_GBRP10, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
#endif
|
||||
|
@ -582,7 +582,7 @@ AVCodec ff_tiff_encoder = {
|
||||
.priv_data_size = sizeof(TiffEncoderContext),
|
||||
.init = encode_init,
|
||||
.close = encode_close,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.encode2 = encode_frame,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48LE, AV_PIX_FMT_PAL8,
|
||||
|
@ -209,7 +209,7 @@ AVCodec ff_tta_encoder = {
|
||||
.init = tta_encode_init,
|
||||
.close = tta_encode_close,
|
||||
.encode2 = tta_encode_frame,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_LOSSLESS,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_U8,
|
||||
AV_SAMPLE_FMT_S16,
|
||||
AV_SAMPLE_FMT_S32,
|
||||
|
@ -677,7 +677,7 @@ AVCodec ff_utvideo_encoder = {
|
||||
.init = utvideo_encode_init,
|
||||
.encode2 = utvideo_encode_frame,
|
||||
.close = utvideo_encode_close,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRAP, AV_PIX_FMT_YUV422P,
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE
|
||||
|
@ -82,5 +82,4 @@ AVCodec ff_v308_encoder = {
|
||||
.encode2 = v308_encode_frame,
|
||||
.close = v308_encode_close,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
|
@ -88,7 +88,6 @@ AVCodec ff_ayuv_encoder = {
|
||||
.encode2 = v408_encode_frame,
|
||||
.close = v408_encode_close,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_V408_ENCODER
|
||||
@ -101,6 +100,5 @@ AVCodec ff_v408_encoder = {
|
||||
.encode2 = v408_encode_frame,
|
||||
.close = v408_encode_close,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUVA444P, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
#endif
|
||||
|
@ -563,8 +563,7 @@ AVCodec ff_mjpeg_vaapi_encoder = {
|
||||
.receive_packet = &ff_vaapi_encode_receive_packet,
|
||||
.close = &vaapi_encode_mjpeg_close,
|
||||
.priv_class = &vaapi_encode_mjpeg_class,
|
||||
.capabilities = AV_CODEC_CAP_HARDWARE |
|
||||
AV_CODEC_CAP_INTRA_ONLY,
|
||||
.capabilities = AV_CODEC_CAP_HARDWARE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.defaults = vaapi_encode_mjpeg_defaults,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 58
|
||||
#define LIBAVCODEC_VERSION_MINOR 86
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
#define LIBAVCODEC_VERSION_MICRO 101
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
@ -141,6 +141,9 @@
|
||||
#ifndef FF_API_OPENH264_CABAC
|
||||
#define FF_API_OPENH264_CABAC (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_UNUSED_CODEC_CAPS
|
||||
#define FF_API_UNUSED_CODEC_CAPS (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* AVCODEC_VERSION_H */
|
||||
|
@ -219,5 +219,4 @@ AVCodec ff_xface_encoder = {
|
||||
.priv_data_size = sizeof(XFaceContext),
|
||||
.encode2 = xface_encode_frame,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
|
@ -90,5 +90,4 @@ AVCodec ff_y41p_encoder = {
|
||||
.close = y41p_encode_close,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P,
|
||||
AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
|
@ -76,5 +76,4 @@ AVCodec ff_yuv4_encoder = {
|
||||
.encode2 = yuv4_encode_frame,
|
||||
.close = yuv4_encode_close,
|
||||
.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.capabilities = AV_CODEC_CAP_INTRA_ONLY,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user