Message ID | 20190813013947.12738-1-lance.lmwang@gmail.com |
---|---|
State | Accepted |
Commit | ad3ef00ce513beee3e22a910e75f40d324a6a7ad |
Headers | show |
ping, please help to merge the code if it's OK. On Tue, Aug 13, 2019 at 09:39:47AM +0800, lance.lmwang@gmail.com wrote: > From: Limin Wang <lance.lmwang@gmail.com> > > 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 5c7372c976..755e10a399 100644 > --- a/libavfilter/f_select.c > +++ b/libavfilter/f_select.c > @@ -209,9 +209,13 @@ static int config_input(AVFilterLink *inlink) > { > SelectContext *select = inlink->dst->priv; > const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format); > + int is_yuv = !(desc->flags & AV_PIX_FMT_FLAG_RGB) && > + (desc->flags & AV_PIX_FMT_FLAG_PLANAR) && > + desc->nb_components >= 3; > > select->bitdepth = desc->comp[0].depth; > - select->nb_planes = av_pix_fmt_count_planes(inlink->format); > + select->nb_planes = is_yuv ? 1 : av_pix_fmt_count_planes(inlink->format); > + > for (int plane = 0; plane < select->nb_planes; plane++) { > ptrdiff_t line_size = av_image_get_linesize(inlink->format, inlink->w, plane); > int vsub = desc->log2_chroma_h; > diff --git a/tests/ref/fate/filter-metadata-scenedetect b/tests/ref/fate/filter-metadata-scenedetect > index 7ce2d6794e..36c033bc0e 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.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=4140|tag:lavfi.scene_score=0.923403 > +pkt_pts=5800|tag:lavfi.scene_score=1.000000 > +pkt_pts=6720|tag:lavfi.scene_score=0.475643 > +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.874623 > 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=18500|tag:lavfi.scene_score=0.422509 > +pkt_pts=20040|tag:lavfi.scene_score=0.352360 > pkt_pts=21760|tag:lavfi.scene_score=1.000000 > -- > 2.21.0 >
On Sat, 17 Aug 2019, Limin Wang wrote: > > > ping, please help to merge the code if it's OK. > > On Tue, Aug 13, 2019 at 09:39:47AM +0800, lance.lmwang@gmail.com wrote: >> From: Limin Wang <lance.lmwang@gmail.com> >> >> 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(-) Thanks, pushed with some additional description for the patch. Regards, Marton
diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c index 5c7372c976..755e10a399 100644 --- a/libavfilter/f_select.c +++ b/libavfilter/f_select.c @@ -209,9 +209,13 @@ static int config_input(AVFilterLink *inlink) { SelectContext *select = inlink->dst->priv; const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format); + int is_yuv = !(desc->flags & AV_PIX_FMT_FLAG_RGB) && + (desc->flags & AV_PIX_FMT_FLAG_PLANAR) && + desc->nb_components >= 3; select->bitdepth = desc->comp[0].depth; - select->nb_planes = av_pix_fmt_count_planes(inlink->format); + select->nb_planes = is_yuv ? 1 : av_pix_fmt_count_planes(inlink->format); + for (int plane = 0; plane < select->nb_planes; plane++) { ptrdiff_t line_size = av_image_get_linesize(inlink->format, inlink->w, plane); int vsub = desc->log2_chroma_h; diff --git a/tests/ref/fate/filter-metadata-scenedetect b/tests/ref/fate/filter-metadata-scenedetect index 7ce2d6794e..36c033bc0e 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.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=4140|tag:lavfi.scene_score=0.923403 +pkt_pts=5800|tag:lavfi.scene_score=1.000000 +pkt_pts=6720|tag:lavfi.scene_score=0.475643 +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.874623 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=18500|tag:lavfi.scene_score=0.422509 +pkt_pts=20040|tag:lavfi.scene_score=0.352360 pkt_pts=21760|tag:lavfi.scene_score=1.000000