* [FFmpeg-devel] Please, clarify -r/-fps_mode usage for YUV encoding
@ 2023-03-15 20:36 Rogozhkin, Dmitry V
2023-03-15 20:52 ` Timo Rothenpieler
0 siblings, 1 reply; 3+ messages in thread
From: Rogozhkin, Dmitry V @ 2023-03-15 20:36 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Socek, Daniel
Hi,
Can someone, please, help to clarify ffmpeg behavior after one of the
recent changes [1]. This commit turns warning into error to prevent
usage of conflicting options. Error printed out is:
“One of -r/-fpsmax was specified together a non-CFR -vsync/-fps_mode.
This is contradictory.”
In our command lines [2] we were using -fps_mode passthrough to make
sure that there is no frame rate conversion/frame dropping which is
desirable for quality benchmarking use case. We did not use -r option
for any transcoding use cases. However, we did use -r for YUV encoding
use cases along with -fps_mode passthrough, i.e. command lines were
looking like:
ffmpeg <...> \
-f rawvideo -pix_fmt yuv420p -s:v ${w}x${h} -r $framerate -i $yuv \
-c:v h264_qsv <...> -fps_mode passthrough -y $output
Above YUV encoding command line continues to work after [1] without
warnings or errors. My understanding is that in case of YUV -r
specifies a framerate of the input YUV file while for transcoding case
-r actually overrides framerate of the input bitstream and causes frame
rate conversion per se which clearly conflicts with intend of -fps_mode
passthrough which specifies that the frame rate is “passing through”
without conversion. Thus, using -r along with -fps_mode passthrough is
a valid for YUV encoding (since fps_mode will be the only frame rate
conversion being requested), but that’s not a valid combination for
transcoding use cases. Is this interpretation correct?
[1]
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/260f3918937463f1b90e1b77cba80b917f3cb8c1
[2] https://github.com/intel/media-delivery/blob/master/doc/quality.rst
Regards,
Dmitry.
_______________________________________________
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".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] Please, clarify -r/-fps_mode usage for YUV encoding
2023-03-15 20:36 [FFmpeg-devel] Please, clarify -r/-fps_mode usage for YUV encoding Rogozhkin, Dmitry V
@ 2023-03-15 20:52 ` Timo Rothenpieler
2023-03-18 0:39 ` Rogozhkin, Dmitry V
0 siblings, 1 reply; 3+ messages in thread
From: Timo Rothenpieler @ 2023-03-15 20:52 UTC (permalink / raw)
To: ffmpeg-devel
On 15.03.2023 21:36, Rogozhkin, Dmitry V wrote:
> Hi,
>
> Can someone, please, help to clarify ffmpeg behavior after one of the
> recent changes [1]. This commit turns warning into error to prevent
> usage of conflicting options. Error printed out is:
> “One of -r/-fpsmax was specified together a non-CFR -vsync/-fps_mode.
> This is contradictory.”
>
> In our command lines [2] we were using -fps_mode passthrough to make
> sure that there is no frame rate conversion/frame dropping which is
> desirable for quality benchmarking use case. We did not use -r option
> for any transcoding use cases. However, we did use -r for YUV encoding
> use cases along with -fps_mode passthrough, i.e. command lines were
> looking like:
>
> ffmpeg <...> \
> -f rawvideo -pix_fmt yuv420p -s:v ${w}x${h} -r $framerate -i $yuv \
> -c:v h264_qsv <...> -fps_mode passthrough -y $output
>
> Above YUV encoding command line continues to work after [1] without
> warnings or errors. My understanding is that in case of YUV -r
> specifies a framerate of the input YUV file while for transcoding case
> -r actually overrides framerate of the input bitstream and causes frame
> rate conversion per se which clearly conflicts with intend of -fps_mode
> passthrough which specifies that the frame rate is “passing through”
> without conversion. Thus, using -r along with -fps_mode passthrough is
> a valid for YUV encoding (since fps_mode will be the only frame rate
> conversion being requested), but that’s not a valid combination for
> transcoding use cases. Is this interpretation correct?
>
> [1]
> https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/260f3918937463f1b90e1b77cba80b917f3cb8c1
> [2] https://github.com/intel/media-delivery/blob/master/doc/quality.rst
>
> Regards,
> Dmitry.
The option to specify the framerate of a rawvideo input is -framerate:
https://ffmpeg.org/ffmpeg-formats.html#rawvideo
With -r you're telling ffmpeg to overwrite the framerate of the input,
which probably defaults to 24 or something.
And then you also tell it to not mess with the framerate which, as it
correctly points, out is contradictory.
_______________________________________________
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".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] Please, clarify -r/-fps_mode usage for YUV encoding
2023-03-15 20:52 ` Timo Rothenpieler
@ 2023-03-18 0:39 ` Rogozhkin, Dmitry V
0 siblings, 0 replies; 3+ messages in thread
From: Rogozhkin, Dmitry V @ 2023-03-18 0:39 UTC (permalink / raw)
To: ffmpeg-devel
On Wed, 2023-03-15 at 21:52 +0100, Timo Rothenpieler wrote:
> On 15.03.2023 21:36, Rogozhkin, Dmitry V wrote:
> > Hi,
> >
> > Can someone, please, help to clarify ffmpeg behavior after one of
> > the
> > recent changes [1]. This commit turns warning into error to prevent
> > usage of conflicting options. Error printed out is:
> > “One of -r/-fpsmax was specified together a non-CFR -vsync/-
> > fps_mode.
> > This is contradictory.”
> >
> > In our command lines [2] we were using -fps_mode passthrough to
> > make
> > sure that there is no frame rate conversion/frame dropping which is
> > desirable for quality benchmarking use case. We did not use -r
> > option
> > for any transcoding use cases. However, we did use -r for YUV
> > encoding
> > use cases along with -fps_mode passthrough, i.e. command lines were
> > looking like:
> >
> > ffmpeg <...> \
> > -f rawvideo -pix_fmt yuv420p -s:v ${w}x${h} -r $framerate -i
> > $yuv \
> > -c:v h264_qsv <...> -fps_mode passthrough -y $output
> >
> > Above YUV encoding command line continues to work after [1] without
> > warnings or errors. My understanding is that in case of YUV -r
> > specifies a framerate of the input YUV file while for transcoding
> > case
> > -r actually overrides framerate of the input bitstream and causes
> > frame
> > rate conversion per se which clearly conflicts with intend of
> > -fps_mode
> > passthrough which specifies that the frame rate is “passing
> > through”
> > without conversion. Thus, using -r along with -fps_mode passthrough
> > is
> > a valid for YUV encoding (since fps_mode will be the only frame
> > rate
> > conversion being requested), but that’s not a valid combination for
> > transcoding use cases. Is this interpretation correct?
> >
> > [1]
> > https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/260f3918937463f1b90e1b77cba80b917f3cb8c1
> > [2]
> > https://github.com/intel/media-delivery/blob/master/doc/quality.rst
> >
> > Regards,
> > Dmitry.
>
> The option to specify the framerate of a rawvideo input is
> -framerate:
> https://ffmpeg.org/ffmpeg-formats.html#rawvideo
>
> With -r you're telling ffmpeg to overwrite the framerate of the
> input,
> which probably defaults to 24 or something.
> And then you also tell it to not mess with the framerate which, as
> it
> correctly points, out is contradictory.
Thank you for quick reply. This makes sense now. We will make a fix on
our side.
> _______________________________________________
> 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".
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-03-18 0:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-15 20:36 [FFmpeg-devel] Please, clarify -r/-fps_mode usage for YUV encoding Rogozhkin, Dmitry V
2023-03-15 20:52 ` Timo Rothenpieler
2023-03-18 0:39 ` Rogozhkin, Dmitry V
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