Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Gyan Doshi <ffmpeg@gyani.pro>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 03/30] avcodec: remove deprecated FF_API_DROPCHANGED
Date: Sat, 15 Mar 2025 19:21:27 +0530
Message-ID: <3a042cf5-4a9b-4f4d-869a-45bc6d42bdfa@gyani.pro> (raw)
In-Reply-To: <88a19fef-bc71-48d4-b476-8920e3c84e92@gyani.pro>



On 2025-02-24 03:14 pm, Gyan Doshi wrote:
>
>
> On 2025-02-24 03:36 am, James Almer wrote:
>> Deprecated since 2023-07-15.
>
> Can you wait to push till I port this to ffmpeg_dec?

Patch for replacement posted at 
https://ffmpeg.org/pipermail/ffmpeg-devel/2025-March/341210.html

Regards,
Gyan



>
> Regards,
> Gyan
>
>
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>>   libavcodec/avcodec.c       |  4 ---
>>   libavcodec/avcodec.h       |  9 -------
>>   libavcodec/decode.c        | 52 --------------------------------------
>>   libavcodec/internal.h      |  9 -------
>>   libavcodec/options_table.h |  3 ---
>>   libavcodec/version_major.h |  1 -
>>   6 files changed, 78 deletions(-)
>>
>> diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c
>> index e7e2c09222..3f97f5d161 100644
>> --- a/libavcodec/avcodec.c
>> +++ b/libavcodec/avcodec.c
>> @@ -462,10 +462,6 @@ av_cold void ff_codec_close(AVCodecContext *avctx)
>>             av_bsf_free(&avci->bsf);
>>   -#if FF_API_DROPCHANGED
>> - av_channel_layout_uninit(&avci->initial_ch_layout);
>> -#endif
>> -
>>   #if CONFIG_LCMS2
>>           ff_icc_context_uninit(&avci->icc);
>>   #endif
>> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
>> index f6de3c6b42..c35e65868e 100644
>> --- a/libavcodec/avcodec.h
>> +++ b/libavcodec/avcodec.h
>> @@ -234,15 +234,6 @@ typedef struct RcOverride{
>>    * Use qpel MC.
>>    */
>>   #define AV_CODEC_FLAG_QPEL            (1 <<  4)
>> -#if FF_API_DROPCHANGED
>> -/**
>> - * Don't output frames whose parameters differ from first
>> - * decoded frame in stream.
>> - *
>> - * @deprecated callers should implement this functionality in their 
>> own code
>> - */
>> -#define AV_CODEC_FLAG_DROPCHANGED     (1 <<  5)
>> -#endif
>>   /**
>>    * Request the encoder to output reconstructed frames, i.e.\ frames 
>> that would
>>    * be produced by decoding the encoded bistream. These frames may 
>> be retrieved
>> diff --git a/libavcodec/decode.c b/libavcodec/decode.c
>> index cac7e620d2..a28279bd36 100644
>> --- a/libavcodec/decode.c
>> +++ b/libavcodec/decode.c
>> @@ -840,53 +840,6 @@ int ff_decode_receive_frame(AVCodecContext 
>> *avctx, AVFrame *frame)
>>         avctx->frame_num++;
>>   -#if FF_API_DROPCHANGED
>> -    if (avctx->flags & AV_CODEC_FLAG_DROPCHANGED) {
>> -
>> -        if (avctx->frame_num == 1) {
>> -            avci->initial_format = frame->format;
>> -            switch(avctx->codec_type) {
>> -            case AVMEDIA_TYPE_VIDEO:
>> -                avci->initial_width  = frame->width;
>> -                avci->initial_height = frame->height;
>> -                break;
>> -            case AVMEDIA_TYPE_AUDIO:
>> -                avci->initial_sample_rate = frame->sample_rate ? 
>> frame->sample_rate :
>> - avctx->sample_rate;
>> -                ret = 
>> av_channel_layout_copy(&avci->initial_ch_layout, &frame->ch_layout);
>> -                if (ret < 0)
>> -                    goto fail;
>> -                break;
>> -            }
>> -        }
>> -
>> -        if (avctx->frame_num > 1) {
>> -            int changed = avci->initial_format != frame->format;
>> -
>> -            switch(avctx->codec_type) {
>> -            case AVMEDIA_TYPE_VIDEO:
>> -                changed |= avci->initial_width  != frame->width ||
>> -                           avci->initial_height != frame->height;
>> -                break;
>> -            case AVMEDIA_TYPE_AUDIO:
>> -                changed |= avci->initial_sample_rate    != 
>> frame->sample_rate ||
>> -                           avci->initial_sample_rate    != 
>> avctx->sample_rate ||
>> - av_channel_layout_compare(&avci->initial_ch_layout, 
>> &frame->ch_layout);
>> -                break;
>> -            }
>> -
>> -            if (changed) {
>> -                avci->changed_frames_dropped++;
>> -                av_log(avctx, AV_LOG_INFO, "dropped changed frame 
>> #%"PRId64" pts %"PRId64
>> -                                            " drop count: %d \n",
>> - avctx->frame_num, frame->pts,
>> - avci->changed_frames_dropped);
>> -                ret = AVERROR_INPUT_CHANGED;
>> -                goto fail;
>> -            }
>> -        }
>> -    }
>> -#endif
>>       return 0;
>>   fail:
>>       av_frame_unref(frame);
>> @@ -2065,11 +2018,6 @@ int ff_decode_preinit(AVCodecContext *avctx)
>>               return ret;
>>       }
>>   -#if FF_API_DROPCHANGED
>> -    if (avctx->flags & AV_CODEC_FLAG_DROPCHANGED)
>> -        av_log(avctx, AV_LOG_WARNING, "The dropchanged flag is 
>> deprecated.\n");
>> -#endif
>> -
>>       return 0;
>>   }
>>   diff --git a/libavcodec/internal.h b/libavcodec/internal.h
>> index 62a37f473f..137fd52745 100644
>> --- a/libavcodec/internal.h
>> +++ b/libavcodec/internal.h
>> @@ -145,15 +145,6 @@ typedef struct AVCodecInternal {
>>       AVFrame *buffer_frame;
>>       int draining_done;
>>   -#if FF_API_DROPCHANGED
>> -    /* used when avctx flag AV_CODEC_FLAG_DROPCHANGED is set */
>> -    int changed_frames_dropped;
>> -    int initial_format;
>> -    int initial_width, initial_height;
>> -    int initial_sample_rate;
>> -    AVChannelLayout initial_ch_layout;
>> -#endif
>> -
>>   #if CONFIG_LCMS2
>>       FFIccContext icc; /* used to read and write embedded ICC 
>> profiles */
>>   #endif
>> diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
>> index c115d8c18c..1711e56cd3 100644
>> --- a/libavcodec/options_table.h
>> +++ b/libavcodec/options_table.h
>> @@ -74,9 +74,6 @@ static const AVOption avcodec_options[] = {
>>   {"ilme", "interlaced motion estimation", 0, AV_OPT_TYPE_CONST, 
>> {.i64 = AV_CODEC_FLAG_INTERLACED_ME }, INT_MIN, INT_MAX, V|E, .unit = 
>> "flags"},
>>   {"cgop", "closed GOP", 0, AV_OPT_TYPE_CONST, {.i64 = 
>> AV_CODEC_FLAG_CLOSED_GOP }, INT_MIN, INT_MAX, V|E, .unit = "flags"},
>>   {"output_corrupt", "Output even potentially corrupted frames", 0, 
>> AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_FLAG_OUTPUT_CORRUPT }, INT_MIN, 
>> INT_MAX, V|D, .unit = "flags"},
>> -#if FF_API_DROPCHANGED
>> -{"drop_changed", "Drop frames whose parameters differ from first 
>> decoded frame", 0, AV_OPT_TYPE_CONST, {.i64 = 
>> AV_CODEC_FLAG_DROPCHANGED }, INT_MIN, INT_MAX, A|V|D | 
>> AV_OPT_FLAG_DEPRECATED, .unit = "flags"},
>> -#endif
>>   {"flags2", NULL, OFFSET(flags2), AV_OPT_TYPE_FLAGS, {.i64 = 
>> DEFAULT}, 0, UINT_MAX, V|A|E|D|S, .unit = "flags2"},
>>   {"fast", "allow non-spec-compliant speedup tricks", 0, 
>> AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_FLAG2_FAST }, INT_MIN, INT_MAX, 
>> V|E, .unit = "flags2"},
>>   {"noout", "skip bitstream encoding", 0, AV_OPT_TYPE_CONST, {.i64 = 
>> AV_CODEC_FLAG2_NO_OUTPUT }, INT_MIN, INT_MAX, V|E, .unit = "flags2"},
>> diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h
>> index 3cde4cdd8b..ee3277cb76 100644
>> --- a/libavcodec/version_major.h
>> +++ b/libavcodec/version_major.h
>> @@ -38,7 +38,6 @@
>>    */
>>     #define FF_API_INIT_PACKET         (LIBAVCODEC_VERSION_MAJOR < 62)
>> -#define FF_API_DROPCHANGED         (LIBAVCODEC_VERSION_MAJOR < 62)
>>     #define FF_API_AVFFT               (LIBAVCODEC_VERSION_MAJOR < 62)
>>   #define FF_API_FF_PROFILE_LEVEL    (LIBAVCODEC_VERSION_MAJOR < 62)
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2025-03-15 13:51 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-23 22:06 [FFmpeg-devel] [PATCH 00/31] Major library soname bump James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 01/30] avcodec: remove deprecated FF_API_SUBFRAMES James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 02/30] avcodec: remove deprecated FF_API_TICKS_PER_FRAME James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 03/30] avcodec: remove deprecated FF_API_DROPCHANGED James Almer
2025-02-24  9:44   ` Gyan Doshi
2025-03-15 13:51     ` Gyan Doshi [this message]
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 04/30] avcodec: remove deprecated FF_API_AVFFT James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 05/30] avcodec: remove deprecated FF_API_FF_PROFILE_LEVEL James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 06/30] avcodec: remove deprecated FF_API_AVCODEC_CLOSE James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 07/30] avcodec: remove deprecated FF_API_BUFFER_MIN_SIZE James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 08/30] avcodec: remove deprecated FF_API_VDPAU_ALLOC_GET_SET James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 09/30] avcodec: remove deprecated FF_API_QUALITY_FACTOR James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 10/30] avcodec/version_major: postpone some deprecations until the next bump James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 11/30] avdevice: remove deprecated FF_API_BKTR_DEVICE James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 12/30] avdevice: remove deprecated FF_API_OPENGL_DEVICE James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 13/30] avdevice: remove deprecated FF_API_SDL2_DEVICE James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 14/30] avdevice/version_major: postpone some deprecations until the next bump James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 15/30] avformat: remove deprecated FF_API_LAVF_SHORTEST James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 16/30] avformat: remove deprecated FF_API_ALLOW_FLUSH James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 17/30] avformat: remove deprecated FF_API_AVSTREAM_SIDE_DATA James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 18/30] avformat: remove deprecated FF_API_GET_DUR_ESTIMATE_METHOD James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 19/30] avformat/version_major: postpone some deprecations until the next bump James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 20/30] avfilter: remove deprecated FF_API_LINK_PUBLIC James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 21/30] avfilter/version_major: postpone some deprecations until the next bump James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 22/30] avutil: remove deprecated FF_API_HDR_VIVID_THREE_SPLINE James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 23/30] avutil: remove deprecated FF_API_FRAME_PKT James Almer
2025-03-01 17:29   ` Marton Balint
2025-03-02  0:48     ` James Almer
2025-03-02 18:27       ` Marton Balint
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 24/30] avutil: remove deprecated FF_API_INTERLACED_FRAME James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 25/30] avutil: remove deprecated FF_API_FRAME_KEY James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 26/30] avutil: remove deprecated FF_API_PALETTE_HAS_CHANGED James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 27/30] avutil: remove deprecated FF_API_VULKAN_CONTIGUOUS_MEMORY James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 28/30] avutil: remove deprecated FF_API_H274_FILM_GRAIN_VCS James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 29/30] avutil/version_major: postpone some deprecations until the next bump James Almer
2025-02-23 22:06 ` [FFmpeg-devel] [PATCH 30/30] libs: bump major version for all libraries James Almer
2025-02-25 12:29 ` [FFmpeg-devel] [PATCH] avutil/frame: Port AVFrame.private_ref to RefStruct API Andreas Rheinhardt
2025-02-25 14:31   ` James Almer
2025-03-15 21:50 ` [FFmpeg-devel] [PATCH 00/31] Major library soname bump Andreas Rheinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3a042cf5-4a9b-4f4d-869a-45bc6d42bdfa@gyani.pro \
    --to=ffmpeg@gyani.pro \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git