[FFmpeg-trac] #9702(undetermined:new): Regression of vf_zscale in d0aefc37069e1602aa8cc5568e87f4a5e52fb4f3

FFmpeg trac at avcodec.org
Mon Mar 28 13:05:13 EEST 2022


#9702: Regression of vf_zscale in d0aefc37069e1602aa8cc5568e87f4a5e52fb4f3
-------------------------------------+-------------------------------------
             Reporter:  Ulrik        |                    Owner:  (none)
  Mikaelsson                         |
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Description changed by Ulrik Mikaelsson:

Old description:

> For the invocation of
> {{{ffmpeg -y -f lavfi -i yuvtestsrc=duration=5:size=1280x720:rate=15 -vf
> 'zscale=range=full:primaries=240m:matrix=470bg:transfer=601:rangein=full:primariesin=709:matrixin=709:transferin=709'
> -preset veryfast out1.mp4}}}
>
> i expect the colors to be changed slightly compared to
>
> {{{ffmpeg -y -f lavfi -i yuvtestsrc=duration=5:size=1280x720:rate=15
> -preset veryfast out2.mp4}}}
>
> This seems to have broken on
> [https://github.com/FFmpeg/FFmpeg/commit/d0aefc37069e1602aa8cc5568e87f4a5e52fb4f3].
> For the commit just prior, I do see a slight difference in output, as
> expected. Starting with the commit in question, I notice that the
> [https://github.com/FFmpeg/FFmpeg/blob/d0aefc37069e1602aa8cc5568e87f4a5e52fb4f3/libavfilter/vf_zscale.c#L783
> `if`-statement] switching between filtering and simple frame-forwarding,
> never seem to end up in the filtering branch.
>
> I'm not familiar with the code, but I'm slightly surprised to see the
> call to `format_init` (which I understand to setup of `s->src_format`
> from options) being done ''inside'' the filtering branch, when it's
> effect is part of the branching decision itself.

New description:

 For the invocation of
 {{{ffmpeg -y -f lavfi -i yuvtestsrc=duration=5:size=1280x720:rate=15 -vf
 'zscale=range=full:primaries=240m:matrix=470bg:transfer=601:rangein=full:primariesin=709:matrixin=709:transferin=709'
 -preset veryfast out1.mp4}}}

 i expect the colors to be changed slightly compared to

 {{{ffmpeg -y -f lavfi -i yuvtestsrc=duration=5:size=1280x720:rate=15
 -preset veryfast out2.mp4}}}

 This seems to have broken on
 [https://github.com/FFmpeg/FFmpeg/commit/d0aefc37069e1602aa8cc5568e87f4a5e52fb4f3
 d0aefc37069e1602aa8cc5568e87f4a5e52fb4f3]. For the commit just prior, I do
 see a slight difference in output, as expected. Starting with the commit
 in question, I notice that the
 [https://github.com/FFmpeg/FFmpeg/blob/d0aefc37069e1602aa8cc5568e87f4a5e52fb4f3/libavfilter/vf_zscale.c#L783
 `if`-statement] switching between filtering and simple frame-forwarding,
 never seem to end up in the filtering branch.

 I'm not familiar with the code, but I'm slightly surprised to see the call
 to `format_init` (which I understand to setup of `s->src_format` from
 options) being done ''inside'' the filtering branch, when it's effect is
 part of the branching decision itself.

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9702#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list