Quoting James Almer (2021-03-01 20:35:55) > On 3/1/2021 12:36 PM, Andreas Rheinhardt wrote: > > James Almer: > >> On 2/26/2021 10:18 AM, Andreas Rheinhardt wrote: > >>> Originally deprecated in 748c2fca7e4d99357c234936aa71212a6282be36, > >>> publically deprecated in 9a07c1332cfe092b57b5758f22b686ca58806c60 > >>> (merged into FFmpeg in 1885ffb03d0af28e6bac2bcc8725fa15b93f6ac9). > >>> > >>> Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> > >>> --- > >>> libavcodec/avcodec.h | 6 +++++- > >>> libavcodec/parser.c | 3 ++- > >>> libavcodec/version.h | 3 +++ > >>> 3 files changed, 10 insertions(+), 2 deletions(-) > >>> > >>> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h > >>> index 3178c163b9..a8741df04b 100644 > >>> --- a/libavcodec/avcodec.h > >>> +++ b/libavcodec/avcodec.h > >>> @@ -3576,14 +3576,18 @@ int av_parser_parse2(AVCodecParserContext *s, > >>> int64_t pts, int64_t dts, > >>> int64_t pos); > >>> +#if FF_API_PARSER_CHANGE > >>> /** > >>> * @return 0 if the output buffer is a subset of the input, 1 if it > >>> is allocated and must be freed > >>> - * @deprecated use AVBitStreamFilter > >>> + * @deprecated Use dump_extradata, remove_extra or extract_extradata > >>> + * bitstream filters instead. > >>> */ > >>> +attribute_deprecated > >>> int av_parser_change(AVCodecParserContext *s, > >>> AVCodecContext *avctx, > >>> uint8_t **poutbuf, int *poutbuf_size, > >>> const uint8_t *buf, int buf_size, int keyframe); > >>> +#endif > >>> void av_parser_close(AVCodecParserContext *s); > >>> /** > >>> diff --git a/libavcodec/parser.c b/libavcodec/parser.c > >>> index a63f532c48..f4bc00da7d 100644 > >>> --- a/libavcodec/parser.c > >>> +++ b/libavcodec/parser.c > >>> @@ -186,6 +186,7 @@ int av_parser_parse2(AVCodecParserContext *s, > >>> AVCodecContext *avctx, > >>> return index; > >>> } > >>> +#if FF_API_PARSER_CHANGE > >>> int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, > >>> uint8_t **poutbuf, int *poutbuf_size, > >>> const uint8_t *buf, int buf_size, int keyframe) > >>> @@ -220,7 +221,7 @@ int av_parser_change(AVCodecParserContext *s, > >>> AVCodecContext *avctx, > >>> return 0; > >>> } > >>> - > >>> +#endif > >>> void av_parser_close(AVCodecParserContext *s) > >>> { > >>> if (s) { > >>> diff --git a/libavcodec/version.h b/libavcodec/version.h > >>> index 488def4c23..815df15628 100644 > >>> --- a/libavcodec/version.h > >>> +++ b/libavcodec/version.h > >>> @@ -150,6 +150,9 @@ > >>> #ifndef FF_API_MPV_RC_STRATEGY > >>> #define FF_API_MPV_RC_STRATEGY (LIBAVCODEC_VERSION_MAJOR < 59) > >>> #endif > >>> +#ifndef FF_API_PARSER_CHANGE > >>> +#define FF_API_PARSER_CHANGE (LIBAVCODEC_VERSION_MAJOR < 59) > >> > >> A doxygen deprecation notice is not enough to consider the function > >> deprecated. There was no APIChanges entry and no attribute added to the > >> function prototype. > >> So this needs the APIChanges entry, and therefore be scheduled as < 60. > > > > I disagree. Of course Doxygen deprecations count and being on the list > > of deprecated things [1] for more than eight years is enough. > > If there was no APIChanges entry that references a library version, then > this can not be considered deprecated
I do not agree that an APIChanges entry is necessary for a deprecation. APIChanges is for listing API changes. A deprecation is not by itself an API change, merely a statement of intent wrt future API changes. From the perspective of an API user it does not make much sense to ask whether a feature X is deprecated in version Y, only whether a replacement API is present. In this specific case, a replacement API has been present since 2006 - for more than half the project's existence. Surely that should be enough. -- Anton Khirnov _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".