[FFmpeg-devel] [PATCH 2/2] avcodec: deprecate AVCodecContext.debug_mv
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Mon Jan 25 01:30:21 EET 2021
James Almer:
> On 1/24/2021 8:14 PM, Andreas Rheinhardt wrote:
>> James Almer:
>>> It's been unused for almost three years now.
>>>
>>> Signed-off-by: James Almer <jamrial at gmail.com>
>>> ---
>>> doc/APIchanges | 4 ++++
>>> libavcodec/avcodec.h | 7 ++++---
>>> libavcodec/pthread_frame.c | 4 ++++
>>> libavcodec/version.h | 10 +++++-----
>>> 4 files changed, 17 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/doc/APIchanges b/doc/APIchanges
>>> index bbf56a5385..51f97b2759 100644
>>> --- a/doc/APIchanges
>>> +++ b/doc/APIchanges
>>> @@ -15,6 +15,10 @@ libavutil: 2017-10-21
>>> API changes, most recent first:
>>> +2021-01-xx - xxxxxxxxxx - lavc 58.118.100 - avcodec.h
>>> + deprecate AVCodecContext.debug_mv, FF_DEBUG_VIS_MV_P_FOR,
>>> FF_DEBUG_VIS_MV_B_FOR,
>>> + FF_DEBUG_VIS_MV_B_BACK
>>> +
>>> 2021-01-11 - xxxxxxxxxx - lavc 58.116.100 - avcodec.h
>>> Add FF_PROFILE_VVC_MAIN_10 and FF_PROFILE_VVC_MAIN_10_444.
>>> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
>>> index dc8738c819..eafc2e84e3 100644
>>> --- a/libavcodec/avcodec.h
>>> +++ b/libavcodec/avcodec.h
>>> @@ -2141,15 +2141,16 @@ typedef struct AVCodecContext {
>>> */
>>> int seek_preroll;
>>> +#if FF_API_DEBUG_MV
>>> /**
>>> - * debug motion vectors
>>> - * - encoding: Set by user.
>>> - * - decoding: Set by user.
>>> + * @deprecated unused
>>> */
>>> + attribute_deprecated
>>> int debug_mv;
>>> #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward
>>> predicted MVs of P frames
>>> #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward
>>> predicted MVs of B frames
>>> #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward
>>> predicted MVs of B frames
>>> +#endif
>>> /**
>>> * custom intra quantization matrix
>>> diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
>>> index a570e25e0d..3abb691ac7 100644
>>> --- a/libavcodec/pthread_frame.c
>>> +++ b/libavcodec/pthread_frame.c
>>> @@ -342,7 +342,11 @@ static int
>>> update_context_from_user(AVCodecContext *dst, AVCodecContext *src)
>>> dst->opaque = src->opaque;
>>> dst->debug = src->debug;
>>> +#if FF_API_DEBUG_MV
>>> +FF_DISABLE_DEPRECATION_WARNINGS
>>> dst->debug_mv = src->debug_mv;
>>> +FF_ENABLE_DEPRECATION_WARNINGS
>>> +#endif
>>
>> If debug_mv is unused, then why don't you just remove the assignment?
>
> It's a "set by user" field, so even if whatever value it may contain is
> never used by libavcodec, removing this would be a change in behavior.
> Admittedly harmless, but a change nonetheless, so I'm inclined to just
> leave it there.
>
What user-visible behaviour would change?
>>
>>> dst->slice_flags = src->slice_flags;
>>> dst->flags2 = src->flags2;
>>> diff --git a/libavcodec/version.h b/libavcodec/version.h
>>> index 9f80caa9e0..f3974c2cb3 100644
>>> --- a/libavcodec/version.h
>>> +++ b/libavcodec/version.h
>>> @@ -28,8 +28,8 @@
>>> #include "libavutil/version.h"
>>> #define LIBAVCODEC_VERSION_MAJOR 58
>>> -#define LIBAVCODEC_VERSION_MINOR 117
>>> -#define LIBAVCODEC_VERSION_MICRO 101
>>> +#define LIBAVCODEC_VERSION_MINOR 118
>>> +#define LIBAVCODEC_VERSION_MICRO 100
>>> #define LIBAVCODEC_VERSION_INT
>>> AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
>>>
>>> LIBAVCODEC_VERSION_MINOR, \
>>> @@ -54,9 +54,6 @@
>>> #ifndef FF_API_LOWRES
>>> #define FF_API_LOWRES (LIBAVCODEC_VERSION_MAJOR < 59)
>>> #endif
>>> -#ifndef FF_API_DEBUG_MV
>>> -#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 58)
>>> -#endif
>>
>> Why is this hunk not in the preceding patch?
>
> I figured I'd leave the actual macro in place instead of removing it and
> then re-adding it in a following commit, but i can change it if you
> prefer that way.
>
Keeping it would make sense if you just replaced 58 by 60; but not if
you are moving this to the end anyway.
>>
>>> #ifndef FF_API_AVCTX_TIMEBASE
>>> #define FF_API_AVCTX_TIMEBASE (LIBAVCODEC_VERSION_MAJOR < 59)
>>> #endif
>>> @@ -150,5 +147,8 @@
>>> #ifndef FF_API_THREAD_SAFE_CALLBACKS
>>> #define FF_API_THREAD_SAFE_CALLBACKS (LIBAVCODEC_VERSION_MAJOR < 60)
>>> #endif
>>> +#ifndef FF_API_DEBUG_MV
>>> +#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 60)
>>> +#endif
>>> #endif /* AVCODEC_VERSION_H */
>>>
More information about the ffmpeg-devel
mailing list