Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Marton Balint <cus@passwd.hu>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 1/3] lavc/encode: make sure frame timebase matches encoder, when set
Date: Wed, 5 Oct 2022 20:54:46 +0200 (CEST)
Message-ID: <f1d3828-98e0-595e-1dc2-13c4f820844@passwd.hu> (raw)
In-Reply-To: <166487620906.5794.5456148015950663376@lain.khirnov.net>



On Tue, 4 Oct 2022, Anton Khirnov wrote:

> Quoting Marton Balint (2022-09-28 21:54:11)
>>
>>
>> On Wed, 28 Sep 2022, Anton Khirnov wrote:
>>
>>> AVFrame.time_base has been added recently, but is currently not used for
>>> anything. Prepare for its use in encoders by rejecting frames where
>>> time_base is set, but differs from the AVCodecContext one.
>>
>> How is that not an API break? Users can encode AVFrames with anything in
>> the AVFrame->time_base right now, if you change that behaviour, that will
>> surely break some code. That is why it was explicitly documented that
>> it will be ignored by encoders by default.
>
> Why would there be anything in that field? No code we have currently
> sets that field or does anything with it.

It is a public field which was explicitly documented to be ignored by 
filters or encoders. The user could store any data in it, because the 
documentation of the field ensured it will not be a problem.

If you read back the old threads which added AVFrame->time_base 
you will find the reasoning behind the original comments, in fact,
you suggested the actual wording for the documentation of the field, and 
now you want now to change the semantics of the field which contradicts 
the existing documentation... Usually we introduce a new field and 
deprecate the old if we want to do something like this.

One could argue that this break is "small" enough, to not dance around it, 
but I don't really see the benefit of the change in the first place. So 
the real question is why do you want to start using AVFrame->time_base in 
encoders, and what is the feature which is undoable with the current 
AVCodecContext->time_base?

Thanks,
Marton

> There is no valid reason for
> the users to be setting it on the frames they send to lavc.
>
> As for "it would have worked before', there are many precedents where
> some nonsensical parameter combination would "work", but then we'd add a
> check and it would start returning errors. Callers should not be setting
> random fields to random values and expect things to work.
>
> Would applying this patch after a major bump alleviate your concerns? We
> wanted to have one for a few months already.
>
> -- 
> 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-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:[~2022-10-05 18:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-28  9:32 Anton Khirnov
2022-09-28  9:32 ` [FFmpeg-devel] [PATCH 2/3] lavc/encode: generalize a check for setting dts=pts Anton Khirnov
2022-09-28  9:32 ` [FFmpeg-devel] [PATCH 3/3] lavc/encode: combine setting no-delay pts for video/audio Anton Khirnov
2022-09-28 19:54 ` [FFmpeg-devel] [PATCH 1/3] lavc/encode: make sure frame timebase matches encoder, when set Marton Balint
2022-10-04  9:36   ` Anton Khirnov
2022-10-05 18:54     ` Marton Balint [this message]
2022-10-11  9:24       ` Anton Khirnov

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=f1d3828-98e0-595e-1dc2-13c4f820844@passwd.hu \
    --to=cus@passwd.hu \
    --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