[FFmpeg-devel,v2,3/3] lavf/f_select: make the more pixel format usable to avoid autoscale to rgb

Submitted by lance.lmwang@gmail.com on July 19, 2019, 11:18 a.m.

Details

Message ID 20190719111848.9009-3-lance.lmwang@gmail.com
State New
Headers show

Commit Message

lance.lmwang@gmail.com July 19, 2019, 11:18 a.m.
From: Limin Wang <lance.lmwang@gmail.com>

Below is the tested results for the new added pixel format without autoscale to rgb24:
1. AV_PIX_FMT_YUVJ420P
time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
"sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,select=gt(scene\,.25)"

master:
pkt_pts=1620|tag:lavfi.scene_score=1.000000
pkt_pts=4140|tag:lavfi.scene_score=0.875036
pkt_pts=5800|tag:lavfi.scene_score=1.000000
pkt_pts=6720|tag:lavfi.scene_score=0.461625
pkt_pts=8160|tag:lavfi.scene_score=1.000000
pkt_pts=9760|tag:lavfi.scene_score=1.000000
pkt_pts=14080|tag:lavfi.scene_score=0.838916
pkt_pts=15700|tag:lavfi.scene_score=1.000000
pkt_pts=18500|tag:lavfi.scene_score=0.474948
pkt_pts=20040|tag:lavfi.scene_score=0.379700
pkt_pts=21760|tag:lavfi.scene_score=1.000000
./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.71s user 0.01s system 99% cpu 0.721 total

patch applied:
pkt_pts=1620|tag:lavfi.scene_score=1.000000
pkt_pts=4140|tag:lavfi.scene_score=0.668643
pkt_pts=5800|tag:lavfi.scene_score=0.996721
pkt_pts=6720|tag:lavfi.scene_score=0.357390
pkt_pts=8160|tag:lavfi.scene_score=0.886268
pkt_pts=9760|tag:lavfi.scene_score=0.926219
pkt_pts=14080|tag:lavfi.scene_score=0.650033
pkt_pts=15700|tag:lavfi.scene_score=1.000000
pkt_pts=18500|tag:lavfi.scene_score=0.316402
pkt_pts=20040|tag:lavfi.scene_score=0.269509
pkt_pts=21760|tag:lavfi.scene_score=1.000000
./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.19s user 0.01s system 81% cpu 0.240 total

2. AV_PIX_FMT_YUV420P
time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
"sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,select=gt(scene\,.2)"
master:
pkt_pts=3587|tag:lavfi.scene_score=0.462364
pkt_pts=4838|tag:lavfi.scene_score=0.419519
pkt_pts=6548|tag:lavfi.scene_score=0.397027
pkt_pts=9968|tag:lavfi.scene_score=0.419245
pkt_pts=12471|tag:lavfi.scene_score=0.413084
pkt_pts=16225|tag:lavfi.scene_score=0.506370
pkt_pts=19645|tag:lavfi.scene_score=0.507538
pkt_pts=22314|tag:lavfi.scene_score=0.504319
pkt_pts=24817|tag:lavfi.scene_score=0.417544
pkt_pts=25651|tag:lavfi.scene_score=0.413916
pkt_pts=26652|tag:lavfi.scene_score=0.487707
18.58s user 0.07s system 99% cpu 18.663 total

patch applied:
pkt_pts=3587|tag:lavfi.scene_score=0.272173
pkt_pts=4838|tag:lavfi.scene_score=0.247841
pkt_pts=6548|tag:lavfi.scene_score=0.233134
pkt_pts=9968|tag:lavfi.scene_score=0.247253
pkt_pts=12471|tag:lavfi.scene_score=0.244129
pkt_pts=16225|tag:lavfi.scene_score=0.302531
pkt_pts=19645|tag:lavfi.scene_score=0.303560
pkt_pts=22314|tag:lavfi.scene_score=0.301861
pkt_pts=24817|tag:lavfi.scene_score=0.249331
pkt_pts=25651|tag:lavfi.scene_score=0.247096
pkt_pts=26652|tag:lavfi.scene_score=0.287728
10.90s user 0.06s system 99% cpu 10.967 total

3. AV_PIX_FMT_YUV422P

time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
"sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,format=yuv422p,select=gt(scene\,.2)"
master:

patched applied:
pkt_pts=3587|tag:lavfi.scene_score=0.224017
pkt_pts=4838|tag:lavfi.scene_score=0.204225
pkt_pts=9968|tag:lavfi.scene_score=0.204636
pkt_pts=12471|tag:lavfi.scene_score=0.202772
pkt_pts=16225|tag:lavfi.scene_score=0.248765
pkt_pts=19645|tag:lavfi.scene_score=0.250144
pkt_pts=22314|tag:lavfi.scene_score=0.248802
pkt_pts=24817|tag:lavfi.scene_score=0.208362
pkt_pts=25651|tag:lavfi.scene_score=0.205777
pkt_pts=26652|tag:lavfi.scene_score=0.230742

4.  AV_PIX_FMT_YUV420P10LE
time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
"sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_4k.mkv,select=gt(scene\,.2)"

master:
pkt_pts=3587|tag:lavfi.scene_score=0.269890
pkt_pts=4838|tag:lavfi.scene_score=0.248957
pkt_pts=6548|tag:lavfi.scene_score=0.234619
pkt_pts=9969|tag:lavfi.scene_score=0.224912
pkt_pts=12471|tag:lavfi.scene_score=0.225158
pkt_pts=16225|tag:lavfi.scene_score=0.289809
pkt_pts=19645|tag:lavfi.scene_score=0.285013
pkt_pts=22314|tag:lavfi.scene_score=0.280295
pkt_pts=24817|tag:lavfi.scene_score=0.206486
pkt_pts=25651|tag:lavfi.scene_score=0.208556
pkt_pts=26652|tag:lavfi.scene_score=0.249577
./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  76.03s user 0.22s system 99% cpu 1:16.27 total

patch applied
pkt_pts=3587|tag:lavfi.scene_score=0.630004
pkt_pts=4838|tag:lavfi.scene_score=0.580807
pkt_pts=6548|tag:lavfi.scene_score=0.548095
pkt_pts=9969|tag:lavfi.scene_score=0.529728
pkt_pts=12471|tag:lavfi.scene_score=0.529921
pkt_pts=16225|tag:lavfi.scene_score=0.680033
pkt_pts=19645|tag:lavfi.scene_score=0.670753
pkt_pts=22314|tag:lavfi.scene_score=0.660605
pkt_pts=24817|tag:lavfi.scene_score=0.490141
pkt_pts=25651|tag:lavfi.scene_score=0.494594
pkt_pts=26652|tag:lavfi.scene_score=0.584942
./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  50.27s user 0.20s system 99% cpu 50.476 total

5. AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8
are tested by format= with the fate sample: Vertical400kbit.sorenson3.mov like below:
time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
"sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=rgba,select=gt(scene\,.25)"

patch applied:
pkt_pts=1620|tag:lavfi.scene_score=1.000000
pkt_pts=4140|tag:lavfi.scene_score=0.656277
pkt_pts=5800|tag:lavfi.scene_score=1.000000
pkt_pts=6720|tag:lavfi.scene_score=0.346218
pkt_pts=8160|tag:lavfi.scene_score=0.987686
pkt_pts=9760|tag:lavfi.scene_score=1.000000
pkt_pts=14080|tag:lavfi.scene_score=0.629187
pkt_pts=15700|tag:lavfi.scene_score=1.000000
pkt_pts=18500|tag:lavfi.scene_score=0.356211
pkt_pts=20040|tag:lavfi.scene_score=0.284775
pkt_pts=21760|tag:lavfi.scene_score=1.000000

6. AV_PIX_FMT_YUVJ422P
time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
"sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=yuvj422p,select=gt(scene\,.25)"

patch applied:
pkt_pts=1620|tag:lavfi.scene_score=0.838281
pkt_pts=4140|tag:lavfi.scene_score=0.541382
pkt_pts=5800|tag:lavfi.scene_score=0.780588
pkt_pts=6720|tag:lavfi.scene_score=0.298274
pkt_pts=8160|tag:lavfi.scene_score=0.699106
pkt_pts=9760|tag:lavfi.scene_score=0.730136
pkt_pts=14080|tag:lavfi.scene_score=0.537742
pkt_pts=15700|tag:lavfi.scene_score=0.811946
pkt_pts=18500|tag:lavfi.scene_score=0.263382
pkt_pts=21760|tag:lavfi.scene_score=0.880773

7. Remove the P10LE, NV12, NV16 hardware format support, it can't use the 100 for [0,1] normalized.

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
---
 libavfilter/f_select.c                     |  6 +++++-
 tests/ref/fate/filter-metadata-scenedetect | 16 ++++++++--------
 2 files changed, 13 insertions(+), 9 deletions(-)

Comments

Marton Balint July 19, 2019, 7:23 p.m.
On Fri, 19 Jul 2019, lance.lmwang@gmail.com wrote:

> From: Limin Wang <lance.lmwang@gmail.com>
>
> Below is the tested results for the new added pixel format without autoscale to rgb24:
> 1. AV_PIX_FMT_YUVJ420P
> time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,select=gt(scene\,.25)"
>
> master:
> pkt_pts=1620|tag:lavfi.scene_score=1.000000
> pkt_pts=4140|tag:lavfi.scene_score=0.875036
> pkt_pts=5800|tag:lavfi.scene_score=1.000000
> pkt_pts=6720|tag:lavfi.scene_score=0.461625
> pkt_pts=8160|tag:lavfi.scene_score=1.000000
> pkt_pts=9760|tag:lavfi.scene_score=1.000000
> pkt_pts=14080|tag:lavfi.scene_score=0.838916
> pkt_pts=15700|tag:lavfi.scene_score=1.000000
> pkt_pts=18500|tag:lavfi.scene_score=0.474948
> pkt_pts=20040|tag:lavfi.scene_score=0.379700
> pkt_pts=21760|tag:lavfi.scene_score=1.000000
> ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.71s user 0.01s system 99% cpu 0.721 total
>
> patch applied:
> pkt_pts=1620|tag:lavfi.scene_score=1.000000
> pkt_pts=4140|tag:lavfi.scene_score=0.668643
> pkt_pts=5800|tag:lavfi.scene_score=0.996721
> pkt_pts=6720|tag:lavfi.scene_score=0.357390
> pkt_pts=8160|tag:lavfi.scene_score=0.886268
> pkt_pts=9760|tag:lavfi.scene_score=0.926219
> pkt_pts=14080|tag:lavfi.scene_score=0.650033
> pkt_pts=15700|tag:lavfi.scene_score=1.000000
> pkt_pts=18500|tag:lavfi.scene_score=0.316402
> pkt_pts=20040|tag:lavfi.scene_score=0.269509
> pkt_pts=21760|tag:lavfi.scene_score=1.000000
> ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.19s user 0.01s system 81% cpu 0.240 total
>
> 2. AV_PIX_FMT_YUV420P
> time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,select=gt(scene\,.2)"
> master:
> pkt_pts=3587|tag:lavfi.scene_score=0.462364
> pkt_pts=4838|tag:lavfi.scene_score=0.419519
> pkt_pts=6548|tag:lavfi.scene_score=0.397027
> pkt_pts=9968|tag:lavfi.scene_score=0.419245
> pkt_pts=12471|tag:lavfi.scene_score=0.413084
> pkt_pts=16225|tag:lavfi.scene_score=0.506370
> pkt_pts=19645|tag:lavfi.scene_score=0.507538
> pkt_pts=22314|tag:lavfi.scene_score=0.504319
> pkt_pts=24817|tag:lavfi.scene_score=0.417544
> pkt_pts=25651|tag:lavfi.scene_score=0.413916
> pkt_pts=26652|tag:lavfi.scene_score=0.487707
> 18.58s user 0.07s system 99% cpu 18.663 total
>
> patch applied:
> pkt_pts=3587|tag:lavfi.scene_score=0.272173
> pkt_pts=4838|tag:lavfi.scene_score=0.247841
> pkt_pts=6548|tag:lavfi.scene_score=0.233134
> pkt_pts=9968|tag:lavfi.scene_score=0.247253
> pkt_pts=12471|tag:lavfi.scene_score=0.244129
> pkt_pts=16225|tag:lavfi.scene_score=0.302531
> pkt_pts=19645|tag:lavfi.scene_score=0.303560
> pkt_pts=22314|tag:lavfi.scene_score=0.301861
> pkt_pts=24817|tag:lavfi.scene_score=0.249331
> pkt_pts=25651|tag:lavfi.scene_score=0.247096
> pkt_pts=26652|tag:lavfi.scene_score=0.287728
> 10.90s user 0.06s system 99% cpu 10.967 total
>
> 3. AV_PIX_FMT_YUV422P
>
> time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,format=yuv422p,select=gt(scene\,.2)"
> master:
>
> patched applied:
> pkt_pts=3587|tag:lavfi.scene_score=0.224017
> pkt_pts=4838|tag:lavfi.scene_score=0.204225
> pkt_pts=9968|tag:lavfi.scene_score=0.204636
> pkt_pts=12471|tag:lavfi.scene_score=0.202772
> pkt_pts=16225|tag:lavfi.scene_score=0.248765
> pkt_pts=19645|tag:lavfi.scene_score=0.250144
> pkt_pts=22314|tag:lavfi.scene_score=0.248802
> pkt_pts=24817|tag:lavfi.scene_score=0.208362
> pkt_pts=25651|tag:lavfi.scene_score=0.205777
> pkt_pts=26652|tag:lavfi.scene_score=0.230742
>
> 4.  AV_PIX_FMT_YUV420P10LE
> time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> "sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_4k.mkv,select=gt(scene\,.2)"
>
> master:
> pkt_pts=3587|tag:lavfi.scene_score=0.269890
> pkt_pts=4838|tag:lavfi.scene_score=0.248957
> pkt_pts=6548|tag:lavfi.scene_score=0.234619
> pkt_pts=9969|tag:lavfi.scene_score=0.224912
> pkt_pts=12471|tag:lavfi.scene_score=0.225158
> pkt_pts=16225|tag:lavfi.scene_score=0.289809
> pkt_pts=19645|tag:lavfi.scene_score=0.285013
> pkt_pts=22314|tag:lavfi.scene_score=0.280295
> pkt_pts=24817|tag:lavfi.scene_score=0.206486
> pkt_pts=25651|tag:lavfi.scene_score=0.208556
> pkt_pts=26652|tag:lavfi.scene_score=0.249577
> ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  76.03s user 0.22s system 99% cpu 1:16.27 total
>
> patch applied
> pkt_pts=3587|tag:lavfi.scene_score=0.630004
> pkt_pts=4838|tag:lavfi.scene_score=0.580807
> pkt_pts=6548|tag:lavfi.scene_score=0.548095
> pkt_pts=9969|tag:lavfi.scene_score=0.529728
> pkt_pts=12471|tag:lavfi.scene_score=0.529921
> pkt_pts=16225|tag:lavfi.scene_score=0.680033
> pkt_pts=19645|tag:lavfi.scene_score=0.670753
> pkt_pts=22314|tag:lavfi.scene_score=0.660605
> pkt_pts=24817|tag:lavfi.scene_score=0.490141
> pkt_pts=25651|tag:lavfi.scene_score=0.494594
> pkt_pts=26652|tag:lavfi.scene_score=0.584942
> ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  50.27s user 0.20s system 99% cpu 50.476 total
>
> 5. AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8
> are tested by format= with the fate sample: Vertical400kbit.sorenson3.mov like below:
> time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=rgba,select=gt(scene\,.25)"
>
> patch applied:
> pkt_pts=1620|tag:lavfi.scene_score=1.000000
> pkt_pts=4140|tag:lavfi.scene_score=0.656277
> pkt_pts=5800|tag:lavfi.scene_score=1.000000
> pkt_pts=6720|tag:lavfi.scene_score=0.346218
> pkt_pts=8160|tag:lavfi.scene_score=0.987686
> pkt_pts=9760|tag:lavfi.scene_score=1.000000
> pkt_pts=14080|tag:lavfi.scene_score=0.629187
> pkt_pts=15700|tag:lavfi.scene_score=1.000000
> pkt_pts=18500|tag:lavfi.scene_score=0.356211
> pkt_pts=20040|tag:lavfi.scene_score=0.284775
> pkt_pts=21760|tag:lavfi.scene_score=1.000000
>
> 6. AV_PIX_FMT_YUVJ422P
> time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> "sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=yuvj422p,select=gt(scene\,.25)"
>
> patch applied:
> pkt_pts=1620|tag:lavfi.scene_score=0.838281
> pkt_pts=4140|tag:lavfi.scene_score=0.541382
> pkt_pts=5800|tag:lavfi.scene_score=0.780588
> pkt_pts=6720|tag:lavfi.scene_score=0.298274
> pkt_pts=8160|tag:lavfi.scene_score=0.699106
> pkt_pts=9760|tag:lavfi.scene_score=0.730136
> pkt_pts=14080|tag:lavfi.scene_score=0.537742
> pkt_pts=15700|tag:lavfi.scene_score=0.811946
> pkt_pts=18500|tag:lavfi.scene_score=0.263382
> pkt_pts=21760|tag:lavfi.scene_score=0.880773
>
> 7. Remove the P10LE, NV12, NV16 hardware format support, it can't use the 100 for [0,1] normalized.
>
> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
> ---
> libavfilter/f_select.c                     |  6 +++++-
> tests/ref/fate/filter-metadata-scenedetect | 16 ++++++++--------
> 2 files changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
> index eed8df34cb..b9cb5f08eb 100644
> --- a/libavfilter/f_select.c
> +++ b/libavfilter/f_select.c
> @@ -498,7 +498,11 @@ static int query_formats(AVFilterContext *ctx)
>     } else {
>         int ret;
>         static const enum AVPixelFormat pix_fmts[] = {
> -            AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
> +            AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA,
> +            AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8,
> +            AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P,
> +            AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P,
> +            AV_PIX_FMT_YUV420P10LE,

I think this supposed to be simply AV_PIX_FMT_YUV420P10, because 1/1 patch 
only works with native endian, so you should not explicitly specify little 
endian version of the pixel format here, but use native endian instead.

Regards,
Marton
lance.lmwang@gmail.com July 19, 2019, 10:11 p.m.
On Fri, Jul 19, 2019 at 09:23:24PM +0200, Marton Balint wrote:
> 
> 
> On Fri, 19 Jul 2019, lance.lmwang@gmail.com wrote:
> 
> >From: Limin Wang <lance.lmwang@gmail.com>
> >
> >Below is the tested results for the new added pixel format without autoscale to rgb24:
> >1. AV_PIX_FMT_YUVJ420P
> >time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> >"sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,select=gt(scene\,.25)"
> >
> >master:
> >pkt_pts=1620|tag:lavfi.scene_score=1.000000
> >pkt_pts=4140|tag:lavfi.scene_score=0.875036
> >pkt_pts=5800|tag:lavfi.scene_score=1.000000
> >pkt_pts=6720|tag:lavfi.scene_score=0.461625
> >pkt_pts=8160|tag:lavfi.scene_score=1.000000
> >pkt_pts=9760|tag:lavfi.scene_score=1.000000
> >pkt_pts=14080|tag:lavfi.scene_score=0.838916
> >pkt_pts=15700|tag:lavfi.scene_score=1.000000
> >pkt_pts=18500|tag:lavfi.scene_score=0.474948
> >pkt_pts=20040|tag:lavfi.scene_score=0.379700
> >pkt_pts=21760|tag:lavfi.scene_score=1.000000
> >./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.71s user 0.01s system 99% cpu 0.721 total
> >
> >patch applied:
> >pkt_pts=1620|tag:lavfi.scene_score=1.000000
> >pkt_pts=4140|tag:lavfi.scene_score=0.668643
> >pkt_pts=5800|tag:lavfi.scene_score=0.996721
> >pkt_pts=6720|tag:lavfi.scene_score=0.357390
> >pkt_pts=8160|tag:lavfi.scene_score=0.886268
> >pkt_pts=9760|tag:lavfi.scene_score=0.926219
> >pkt_pts=14080|tag:lavfi.scene_score=0.650033
> >pkt_pts=15700|tag:lavfi.scene_score=1.000000
> >pkt_pts=18500|tag:lavfi.scene_score=0.316402
> >pkt_pts=20040|tag:lavfi.scene_score=0.269509
> >pkt_pts=21760|tag:lavfi.scene_score=1.000000
> >./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  0.19s user 0.01s system 81% cpu 0.240 total
> >
> >2. AV_PIX_FMT_YUV420P
> >time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> >"sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,select=gt(scene\,.2)"
> >master:
> >pkt_pts=3587|tag:lavfi.scene_score=0.462364
> >pkt_pts=4838|tag:lavfi.scene_score=0.419519
> >pkt_pts=6548|tag:lavfi.scene_score=0.397027
> >pkt_pts=9968|tag:lavfi.scene_score=0.419245
> >pkt_pts=12471|tag:lavfi.scene_score=0.413084
> >pkt_pts=16225|tag:lavfi.scene_score=0.506370
> >pkt_pts=19645|tag:lavfi.scene_score=0.507538
> >pkt_pts=22314|tag:lavfi.scene_score=0.504319
> >pkt_pts=24817|tag:lavfi.scene_score=0.417544
> >pkt_pts=25651|tag:lavfi.scene_score=0.413916
> >pkt_pts=26652|tag:lavfi.scene_score=0.487707
> >18.58s user 0.07s system 99% cpu 18.663 total
> >
> >patch applied:
> >pkt_pts=3587|tag:lavfi.scene_score=0.272173
> >pkt_pts=4838|tag:lavfi.scene_score=0.247841
> >pkt_pts=6548|tag:lavfi.scene_score=0.233134
> >pkt_pts=9968|tag:lavfi.scene_score=0.247253
> >pkt_pts=12471|tag:lavfi.scene_score=0.244129
> >pkt_pts=16225|tag:lavfi.scene_score=0.302531
> >pkt_pts=19645|tag:lavfi.scene_score=0.303560
> >pkt_pts=22314|tag:lavfi.scene_score=0.301861
> >pkt_pts=24817|tag:lavfi.scene_score=0.249331
> >pkt_pts=25651|tag:lavfi.scene_score=0.247096
> >pkt_pts=26652|tag:lavfi.scene_score=0.287728
> >10.90s user 0.06s system 99% cpu 10.967 total
> >
> >3. AV_PIX_FMT_YUV422P
> >
> >time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> >"sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_1080-sdr.mkv,format=yuv422p,select=gt(scene\,.2)"
> >master:
> >
> >patched applied:
> >pkt_pts=3587|tag:lavfi.scene_score=0.224017
> >pkt_pts=4838|tag:lavfi.scene_score=0.204225
> >pkt_pts=9968|tag:lavfi.scene_score=0.204636
> >pkt_pts=12471|tag:lavfi.scene_score=0.202772
> >pkt_pts=16225|tag:lavfi.scene_score=0.248765
> >pkt_pts=19645|tag:lavfi.scene_score=0.250144
> >pkt_pts=22314|tag:lavfi.scene_score=0.248802
> >pkt_pts=24817|tag:lavfi.scene_score=0.208362
> >pkt_pts=25651|tag:lavfi.scene_score=0.205777
> >pkt_pts=26652|tag:lavfi.scene_score=0.230742
> >
> >4.  AV_PIX_FMT_YUV420P10LE
> >time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> >"sws_flags=+accurate_rnd+bitexact;movie=../Passengers_Breakfast_4k.mkv,select=gt(scene\,.2)"
> >
> >master:
> >pkt_pts=3587|tag:lavfi.scene_score=0.269890
> >pkt_pts=4838|tag:lavfi.scene_score=0.248957
> >pkt_pts=6548|tag:lavfi.scene_score=0.234619
> >pkt_pts=9969|tag:lavfi.scene_score=0.224912
> >pkt_pts=12471|tag:lavfi.scene_score=0.225158
> >pkt_pts=16225|tag:lavfi.scene_score=0.289809
> >pkt_pts=19645|tag:lavfi.scene_score=0.285013
> >pkt_pts=22314|tag:lavfi.scene_score=0.280295
> >pkt_pts=24817|tag:lavfi.scene_score=0.206486
> >pkt_pts=25651|tag:lavfi.scene_score=0.208556
> >pkt_pts=26652|tag:lavfi.scene_score=0.249577
> >./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  76.03s user 0.22s system 99% cpu 1:16.27 total
> >
> >patch applied
> >pkt_pts=3587|tag:lavfi.scene_score=0.630004
> >pkt_pts=4838|tag:lavfi.scene_score=0.580807
> >pkt_pts=6548|tag:lavfi.scene_score=0.548095
> >pkt_pts=9969|tag:lavfi.scene_score=0.529728
> >pkt_pts=12471|tag:lavfi.scene_score=0.529921
> >pkt_pts=16225|tag:lavfi.scene_score=0.680033
> >pkt_pts=19645|tag:lavfi.scene_score=0.670753
> >pkt_pts=22314|tag:lavfi.scene_score=0.660605
> >pkt_pts=24817|tag:lavfi.scene_score=0.490141
> >pkt_pts=25651|tag:lavfi.scene_score=0.494594
> >pkt_pts=26652|tag:lavfi.scene_score=0.584942
> >./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f  50.27s user 0.20s system 99% cpu 50.476 total
> >
> >5. AV_PIX_FMT_RGBA, AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8
> >are tested by format= with the fate sample: Vertical400kbit.sorenson3.mov like below:
> >time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> >"sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=rgba,select=gt(scene\,.25)"
> >
> >patch applied:
> >pkt_pts=1620|tag:lavfi.scene_score=1.000000
> >pkt_pts=4140|tag:lavfi.scene_score=0.656277
> >pkt_pts=5800|tag:lavfi.scene_score=1.000000
> >pkt_pts=6720|tag:lavfi.scene_score=0.346218
> >pkt_pts=8160|tag:lavfi.scene_score=0.987686
> >pkt_pts=9760|tag:lavfi.scene_score=1.000000
> >pkt_pts=14080|tag:lavfi.scene_score=0.629187
> >pkt_pts=15700|tag:lavfi.scene_score=1.000000
> >pkt_pts=18500|tag:lavfi.scene_score=0.356211
> >pkt_pts=20040|tag:lavfi.scene_score=0.284775
> >pkt_pts=21760|tag:lavfi.scene_score=1.000000
> >
> >6. AV_PIX_FMT_YUVJ422P
> >time ./ffprobe -of compact=p=0 -show_entries frame=pkt_pts:frame_tags -bitexact -f lavfi \
> >"sws_flags=+accurate_rnd+bitexact;movie=../fate-suite/svq3/Vertical400kbit.sorenson3.mov,format=yuvj422p,select=gt(scene\,.25)"
> >
> >patch applied:
> >pkt_pts=1620|tag:lavfi.scene_score=0.838281
> >pkt_pts=4140|tag:lavfi.scene_score=0.541382
> >pkt_pts=5800|tag:lavfi.scene_score=0.780588
> >pkt_pts=6720|tag:lavfi.scene_score=0.298274
> >pkt_pts=8160|tag:lavfi.scene_score=0.699106
> >pkt_pts=9760|tag:lavfi.scene_score=0.730136
> >pkt_pts=14080|tag:lavfi.scene_score=0.537742
> >pkt_pts=15700|tag:lavfi.scene_score=0.811946
> >pkt_pts=18500|tag:lavfi.scene_score=0.263382
> >pkt_pts=21760|tag:lavfi.scene_score=0.880773
> >
> >7. Remove the P10LE, NV12, NV16 hardware format support, it can't use the 100 for [0,1] normalized.
> >
> >Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
> >---
> >libavfilter/f_select.c                     |  6 +++++-
> >tests/ref/fate/filter-metadata-scenedetect | 16 ++++++++--------
> >2 files changed, 13 insertions(+), 9 deletions(-)
> >
> >diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
> >index eed8df34cb..b9cb5f08eb 100644
> >--- a/libavfilter/f_select.c
> >+++ b/libavfilter/f_select.c
> >@@ -498,7 +498,11 @@ static int query_formats(AVFilterContext *ctx)
> >    } else {
> >        int ret;
> >        static const enum AVPixelFormat pix_fmts[] = {
> >-            AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
> >+            AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA,
> >+            AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8,
> >+            AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P,
> >+            AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P,
> >+            AV_PIX_FMT_YUV420P10LE,
> 
> I think this supposed to be simply AV_PIX_FMT_YUV420P10, because 1/1
> patch only works with native endian, so you should not explicitly
> specify little endian version of the pixel format here, but use
> native endian instead.
> 
Yes, I'm using AV_PIX_FMT_YUV420P10 at first, when I test the sample, showinfo
filter show it's yuv420p10le, so I change it for it.
By your reminder, I think it's should be native endian.

> Regards,
> Marton
> _______________________________________________
> 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".

Patch hide | download patch | download mbox

diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
index eed8df34cb..b9cb5f08eb 100644
--- a/libavfilter/f_select.c
+++ b/libavfilter/f_select.c
@@ -498,7 +498,11 @@  static int query_formats(AVFilterContext *ctx)
     } else {
         int ret;
         static const enum AVPixelFormat pix_fmts[] = {
-            AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24,
+            AV_PIX_FMT_RGB24, AV_PIX_FMT_BGR24, AV_PIX_FMT_RGBA,
+            AV_PIX_FMT_ABGR, AV_PIX_FMT_BGRA, AV_PIX_FMT_GRAY8,
+            AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVJ420P,
+            AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVJ422P,
+            AV_PIX_FMT_YUV420P10LE,
             AV_PIX_FMT_NONE
         };
         AVFilterFormats *fmts_list = ff_make_format_list(pix_fmts);
diff --git a/tests/ref/fate/filter-metadata-scenedetect b/tests/ref/fate/filter-metadata-scenedetect
index 67c23b3c32..7ce2d6794e 100644
--- a/tests/ref/fate/filter-metadata-scenedetect
+++ b/tests/ref/fate/filter-metadata-scenedetect
@@ -1,11 +1,11 @@ 
 pkt_pts=1620|tag:lavfi.scene_score=1.000000
-pkt_pts=4140|tag:lavfi.scene_score=0.875036
-pkt_pts=5800|tag:lavfi.scene_score=1.000000
-pkt_pts=6720|tag:lavfi.scene_score=0.461625
-pkt_pts=8160|tag:lavfi.scene_score=1.000000
-pkt_pts=9760|tag:lavfi.scene_score=1.000000
-pkt_pts=14080|tag:lavfi.scene_score=0.838916
+pkt_pts=4140|tag:lavfi.scene_score=0.668643
+pkt_pts=5800|tag:lavfi.scene_score=0.996721
+pkt_pts=6720|tag:lavfi.scene_score=0.357390
+pkt_pts=8160|tag:lavfi.scene_score=0.886268
+pkt_pts=9760|tag:lavfi.scene_score=0.926219
+pkt_pts=14080|tag:lavfi.scene_score=0.650033
 pkt_pts=15700|tag:lavfi.scene_score=1.000000
-pkt_pts=18500|tag:lavfi.scene_score=0.474948
-pkt_pts=20040|tag:lavfi.scene_score=0.379700
+pkt_pts=18500|tag:lavfi.scene_score=0.316402
+pkt_pts=20040|tag:lavfi.scene_score=0.269509
 pkt_pts=21760|tag:lavfi.scene_score=1.000000