[FFmpeg-trac] #10142(avfilter:open): scdet filter not logging some frames score

FFmpeg trac at avcodec.org
Tue Jan 17 11:43:21 EET 2023


#10142: scdet filter not logging some frames score
----------------------------------+------------------------------------
             Reporter:  colemarc  |                    Owner:  (none)
                 Type:  defect    |                   Status:  open
             Priority:  minor     |                Component:  avfilter
              Version:  5.1.2     |               Resolution:
             Keywords:  scdet     |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+------------------------------------
Changes (by colemarc):

 * status:  new => open


Old description:

> `ffmpeg version 5.1.1-static https://johnvansickle.com/ffmpeg/  Copyright
> (c) 2000-2022 the FFmpeg developers`
>
> 1000.mkv has exactly 1000 frames.
> scdet filter logs scores for only 866 frames.
>
> {{{
> $ ffmpeg -nostdin -nostats -i 1000.mkv -map 0:v -filter:v
> "scdet=threshold=0:sc_pass=0,metadata=mode=print:key=lavfi.scd.score,showinfo=checksum=0"
> -f null - 2>&1 | grep iskey | wc -l
> 1000
>
> $ ffmpeg -nostdin -nostats -i 1000.mkv -map 0:v -filter:v
> "scdet=threshold=0:sc_pass=0,metadata=mode=print:key=lavfi.scd.score,showinfo=checksum=0"
> -f null - 2>&1 | grep scdet | wc -l
> 866
> }}}
>
> However the scdet filter forwards all 1000 frames and sets frame metadata
> for each of them.
>
> {{{
> $ ffmpeg -nostdin -nostats -i 1000.mkv -map 0:v -filter:v
> "scdet=threshold=0:sc_pass=0,metadata=mode=print:key=lavfi.scd.score,showinfo=checksum=0"
> -f null - 2>&1 | grep 'Parsed_metadata_1.*lavfi.scd.score' | wc -l
> 1000
> }}}
>
> All the frames missed in the scdet log have lavfi.scd.score=0.000, but a
> few frames with lavfi.scd.score=0.000 get logged.

New description:

 `ffmpeg version 5.1.1-static https://johnvansickle.com/ffmpeg/  Copyright
 (c) 2000-2022 the FFmpeg developers`

 1000.mkv has exactly 1000 frames.
 scdet filter logs scores for only 866 frames.

 {{{
 $ ffmpeg -nostdin -nostats -i 1000.mkv -map 0:v -filter:v
 "scdet=threshold=0:sc_pass=0,metadata=mode=print:key=lavfi.scd.score,showinfo=checksum=0"
 -f null - 2>&1 | grep iskey | wc -l
 1000

 $ ffmpeg -nostdin -nostats -i 1000.mkv -map 0:v -filter:v
 "scdet=threshold=0:sc_pass=0,metadata=mode=print:key=lavfi.scd.score,showinfo=checksum=0"
 -f null - 2>&1 | grep scdet | wc -l
 866
 }}}

 However the scdet filter forwards all 1000 frames and sets frame metadata
 for each of them.

 {{{
 $ ffmpeg -nostdin -nostats -i 1000.mkv -map 0:v -filter:v
 "scdet=threshold=0:sc_pass=0,metadata=mode=print:key=lavfi.scd.score,showinfo=checksum=0"
 -f null - 2>&1 | grep 'Parsed_metadata_1.*lavfi.scd.score' | wc -l
 1000
 }}}

 All the frames missed in the scdet log have lavfi.scd.score=0.000, but a
 few frames with lavfi.scd.score=0.000 get logged.

 [https://drive.google.com/file/d/1vdz_aBprlUCh5eQ__URkzbVBIIEiawMM/view?usp=share_link
 1000.mkv]

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


More information about the FFmpeg-trac mailing list