[FFmpeg-devel] [PATCH 2/2] avcodec: deprecate AVCodecContext.debug_mv
James Almer
jamrial at gmail.com
Mon Jan 25 01:43:49 EET 2021
On 1/24/2021 8:30 PM, Andreas Rheinhardt wrote:
> 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?
Oh, these don't have the user context as dst (I recall now that Hendrik
implemented a separate callback for that purpose on his LAVFilters
fork). Changed locally to remove it, then.
>
>>>
>>>> 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.
I don't see how one way makes sense but the other doesn't. It's all
cosmetic. But sure, changed locally to remove it in the first patch.
>
>>>
>>>> #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 */
>>>>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-devel
mailing list