Hi!

On 2019-04-15 21:23 +0800, Guo, Yejun wrote:
> take decoder names an example, with the default page length, shell command
> 'pr' needs two pages for all the decoder names. The names are firstly printed
> in the first page, then in the second page. So, as a whole, the names are
> sorted neither in column order nor in row order. It's a little confused.
>
> One method is to calculate the proper page length, so all the names are 
> printed
> in one page by 'pr -l', and so strictly in alphabet order, column by column.
>
> Another method is to use command printf instead of pr, because buybox doesn't
> have pr. This patch refines print_in_columns to print the names with printf
> in alphabet order, very similar with 'pr -l', except the case when the last
> column is not fully filled with names.

Looks promising. Though this kind of change is basically
a bit difficult.

There is some risk that it won't work as expected on all
currently supported shells or perform differently.

For the performance as long as it is not grave, it should
not be a problem. Actually this implementation looks faster
here.

If it won't work as expected the risk is kind of limited,
as long as it doesn't modify global state that matters
and it does not abort the configure script, "only" the
informative / diagnostic output will be flawed, but the
build itself will be fine.


> Signed-off-by: Guo, Yejun <yejun....@intel.com>
> ---
>  configure | 34 +++++++++++++++++++++++++---------
>  1 file changed, 25 insertions(+), 9 deletions(-)
>
> diff --git a/configure b/configure
> index c2580b3..45a9126 100755
> --- a/configure
> +++ b/configure
> @@ -3830,14 +3830,30 @@ die_unknown(){
>  }
>
>  print_in_columns() {
> -    cols=$(expr $ncols / 24)
> -    cat | tr ' ' '\n' | sort | pr -r "-$cols" -w $ncols -t
> +    width=24
> +    cols=$(expr $ncols / $width)
> +    rows=$(expr $(expr $# + $cols - 1) / $cols)

> +    eval format="%-${width}s"

Why do you use eval here?


> +    for row in $(seq 1 $rows); do

I think the 1 argument to seq isn't needed here and below.


> +        index=$row
> +        line=""
> +        lfmt=""
> +        for col in $(seq 1 $cols); do
> +            if [ $index -le $# ]; then
> +                eval item=\$${index}

This will not work on all shells when trying to expand
the 10th parameter and following.

Excerpt of the relevant POSIX section:

    When a positional parameter with more than one digit is specified, the 
application shall enclose the digits in braces (see Parameter Expansion).


> +                line=$line" "$item
> +                lfmt=$lfmt$format
> +            fi
> +            index=$(expr $index + $rows)
> +        done
> +        printf "$lfmt\n" $line
> +    done

The function will pad the rightmost column up to the column
width. It is usually not a visual problem in itself, but it
could lead to additional line breaks. Especially considering
that the typical values are significantly less than 24 chars.


>  }
>
>  show_list() {
>      suffix=_$1
>      shift
> -    echo $* | sed s/$suffix//g | print_in_columns
> +    print_in_columns $(echo $* | sed s/$suffix//g | tr ' ' '\n' | sort)

You are changing the interface of the print_in_columns:
1. passing input as paramters
2. making the sort external

Point 1 makes it a bit harder to read; preprocessing + sorting
pipelines are soaked into a command expansion that gets splitted
into the individual parameters.

Point 2 makes it more flexible, so it shouldn't be a problem.
If we decide to implement it this way, it might be better to
mention that change in the commit message explicitly.

[...]

I have experimented locally, inspired by your patch, I came
up with this version:

print_in_columns() {
    col_width=24
    cols=$(expr $ncols / $col_width)
    rows=$(expr $(expr $# + $cols - 1) / $cols)

    for idx in $(seq $rows); do
        slice=
        fmt=
        for col in $(seq $cols); do
            if test $idx -le $#; then
                eval slice='"$slice "${'$idx'}'
                fmt="${fmt}%-${col_width}s"
            fi
            idx=$(expr $idx + $rows)
        done
        printf "$fmt\n" $slice
    done | sed 's/ *$//'
}

Tested with bash, dash and mksh.


  Alexander

P.S.
Below follows the diff for a random configure command I tested here,
compared to the current implementation.

It's equivalent to the output of your implementation, minus the
trailing spaces after the last column. Speed is nearly the same.

diff --git a/configure-z.log b/configure-b.log
index e9a1834f4a..ca0bafdeef 100644
--- a/configure-z.log
+++ b/configure-b.log
@@ -60,157 +60,157 @@ Programs:
 ffmpeg                  ffplay                  ffprobe

 Enabled decoders:
-aac                    atrac1                  eatqi
-aac_fixed              atrac3                  eightbps
-aac_latm               atrac3al                eightsvx_exp
-aasc                   atrac3p                 eightsvx_fib
-ac3                    atrac3pal               escape124
-ac3_fixed              atrac9                  escape130
-adpcm_4xm              aura                    evrc
-adpcm_adx              aura2                   exr
-adpcm_afc              avrn                    ffv1
-adpcm_agm              avrp                    ffvhuff
-adpcm_aica             avs                     ffwavesynth
-adpcm_ct               avui                    fic
-adpcm_dtk              ayuv                    fits
-adpcm_ea               bethsoftvid             flac
-adpcm_ea_maxis_xa      bfi                     flashsv
-adpcm_ea_r1            bink                    flashsv2
-adpcm_ea_r2            binkaudio_dct           flic
-adpcm_ea_r3            binkaudio_rdft          flv
-adpcm_ea_xas           bintext                 fmvc
-adpcm_g722             bitpacked               fourxm
-adpcm_g726             bmp                     fraps
-adpcm_g726le           bmv_audio               frwu
-adpcm_ima_amv          bmv_video               g2m
-adpcm_ima_apc          brender_pix             g723_1
-adpcm_ima_dat4         c93                     g729
-adpcm_ima_dk3          cavs                    gdv
-adpcm_ima_dk4          ccaption                gif
-adpcm_ima_ea_eacs      cdgraphics              gremlin_dpcm
-adpcm_ima_ea_sead      cdxl                    gsm
-adpcm_ima_iss          cfhd                    gsm_ms
-adpcm_ima_oki          cinepak                 h261
-adpcm_ima_qt           clearvideo              h263
-adpcm_ima_rad          cljr                    h263_v4l2m2m
-adpcm_ima_smjpeg       cllc                    h263i
-adpcm_ima_wav          comfortnoise            h263p
-adpcm_ima_ws           cook                    h264
-adpcm_ms               cpia                    h264_crystalhd
-adpcm_mtaf             cscd                    h264_v4l2m2m
-adpcm_psx              cyuv                    hap
-adpcm_sbpro_2          dca                     hcom
-adpcm_sbpro_3          dds                     hevc
-adpcm_sbpro_4          dfa                     hevc_v4l2m2m
-adpcm_swf              dirac                   hnm4_video
-adpcm_thp              dnxhd                   hq_hqa
-adpcm_thp_le           dolby_e                 hqx
-adpcm_vima             dpx                     huffyuv
-adpcm_xa               dsd_lsbf                hymt
-adpcm_yamaha           dsd_lsbf_planar         iac
-agm                    dsd_msbf                idcin
-aic                    dsd_msbf_planar         idf
-alac                   dsicinaudio             iff_ilbm
-alias_pix              dsicinvideo             ilbc
-als                    dss_sp                  imc
-amrnb                  dst                     imm4
-amrwb                  dvaudio                 indeo2
-amv                    dvbsub                  indeo3
-anm                    dvdsub                  indeo4
-ansi                   dvvideo                 indeo5
-ape                    dxa                     interplay_acm
-apng                   dxtory                  interplay_dpcm
-aptx                   dxv                     interplay_video
-aptx_hd                        eac3                    jacosub
-arbc                   eacmv                   jpeg2000
-ass                    eamad                   jpegls
-asv1                   eatgq                   jv
-asv2                   eatgv                   kgv1
-kmvc                   pcm_dvd                 rv20
-lagarith               pcm_f16le               rv30
-loco                   pcm_f24le               rv40
-lscr                   pcm_f32be               s302m
-m101                   pcm_f32le               sami
-mace3                  pcm_f64be               sanm
-mace6                  pcm_f64le               sbc
-magicyuv               pcm_lxf                 scpr
-mdec                   pcm_mulaw               screenpresso
-metasound              pcm_s16be               sdx2_dpcm
-microdvd               pcm_s16be_planar        sgi
-mimic                  pcm_s16le               sgirle
-mjpeg                  pcm_s16le_planar        sheervideo
-mjpegb                 pcm_s24be               shorten
-mlp                    pcm_s24daud             sipr
-mmvideo                        pcm_s24le               smackaud
-motionpixels           pcm_s24le_planar        smacker
-movtext                        pcm_s32be               smc
-mp1                    pcm_s32le               smvjpeg
-mp1float               pcm_s32le_planar        snow
-mp2                    pcm_s64be               sol_dpcm
-mp2float               pcm_s64le               sonic
-mp3                    pcm_s8                  sp5x
-mp3adu                 pcm_s8_planar           speedhq
-mp3adufloat            pcm_u16be               srgc
-mp3float               pcm_u16le               srt
-mp3on4                 pcm_u24be               ssa
-mp3on4float            pcm_u24le               stl
-mpc7                   pcm_u32be               subrip
-mpc8                   pcm_u32le               subviewer
-mpeg1_v4l2m2m          pcm_u8                  subviewer1
-mpeg1video             pcm_vidc                sunrast
-mpeg2_crystalhd                pcm_zork                svq1
-mpeg2_v4l2m2m          pcx                     svq3
-mpeg2video             pgm                     tak
-mpeg4                  pgmyuv                  targa
-mpeg4_crystalhd                pgssub                  targa_y216
-mpeg4_v4l2m2m          pictor                  tdsc
-mpegvideo              pixlet                  text
-mpl2                   pjs                     theora
-msa1                   png                     thp
-mscc                   ppm                     tiertexseqvideo
-msmpeg4_crystalhd      prores                  tiff
-msmpeg4v1              prosumer                tmv
-msmpeg4v2              psd                     truehd
-msmpeg4v3              ptx                     truemotion1
-msrle                  qcelp                   truemotion2
-mss1                   qdm2                    truemotion2rt
-mss2                   qdmc                    truespeech
-msvideo1               qdraw                   tscc
-mszh                   qpeg                    tscc2
-mts2                   qtrle                   tta
-mvc1                   r10k                    twinvq
-mvc2                   r210                    txd
-mwsc                   ra_144                  ulti
-mxpeg                  ra_288                  utvideo
-nellymoser             ralf                    v210
-nuv                    rasc                    v210x
-on2avc                 rawvideo                v308
-opus                   realtext                v408
-paf_audio              rl2                     v410
-paf_video              roq                     vb
-pam                    roq_dpcm                vble
-pbm                    rpza                    vc1
-pcm_alaw               rscc                    vc1_crystalhd
-pcm_bluray             rv10                    vc1_v4l2m2m
-vc1image               wcmv                    xan_wc4
-vcr1                   webp                    xbin
-vmdaudio               webvtt                  xbm
-vmdvideo               wmalossless             xface
-vmnc                   wmapro                  xl
-vorbis                 wmav1                   xma1
-vp3                    wmav2                   xma2
-vp5                    wmavoice                xpm
-vp6                    wmv1                    xsub
-vp6a                   wmv2                    xwd
-vp6f                   wmv3                    y41p
-vp7                    wmv3_crystalhd          ylc
-vp8                    wmv3image               yop
-vp8_v4l2m2m            wnv1                    yuv4
-vp9                    wrapped_avframe         zero12v
-vp9_v4l2m2m            ws_snd1                 zerocodec
-vplayer                        xan_dpcm                zlib
-vqa                    xan_wc3                 zmbv
-wavpack
+aac                     fourxm                  pixlet
+aac_fixed               fraps                   pjs
+aac_latm                frwu                    png
+aasc                    g2m                     ppm
+ac3                     g723_1                  prores
+ac3_fixed               g729                    prosumer
+adpcm_4xm               gdv                     psd
+adpcm_adx               gif                     ptx
+adpcm_afc               gremlin_dpcm            qcelp
+adpcm_agm               gsm                     qdm2
+adpcm_aica              gsm_ms                  qdmc
+adpcm_ct                h261                    qdraw
+adpcm_dtk               h263                    qpeg
+adpcm_ea                h263_v4l2m2m            qtrle
+adpcm_ea_maxis_xa       h263i                   r10k
+adpcm_ea_r1             h263p                   r210
+adpcm_ea_r2             h264                    ra_144
+adpcm_ea_r3             h264_crystalhd          ra_288
+adpcm_ea_xas            h264_v4l2m2m            ralf
+adpcm_g722              hap                     rasc
+adpcm_g726              hcom                    rawvideo
+adpcm_g726le            hevc                    realtext
+adpcm_ima_amv           hevc_v4l2m2m            rl2
+adpcm_ima_apc           hnm4_video              roq
+adpcm_ima_dat4          hq_hqa                  roq_dpcm
+adpcm_ima_dk3           hqx                     rpza
+adpcm_ima_dk4           huffyuv                 rscc
+adpcm_ima_ea_eacs       hymt                    rv10
+adpcm_ima_ea_sead       iac                     rv20
+adpcm_ima_iss           idcin                   rv30
+adpcm_ima_oki           idf                     rv40
+adpcm_ima_qt            iff_ilbm                s302m
+adpcm_ima_rad           ilbc                    sami
+adpcm_ima_smjpeg        imc                     sanm
+adpcm_ima_wav           imm4                    sbc
+adpcm_ima_ws            indeo2                  scpr
+adpcm_ms                indeo3                  screenpresso
+adpcm_mtaf              indeo4                  sdx2_dpcm
+adpcm_psx               indeo5                  sgi
+adpcm_sbpro_2           interplay_acm           sgirle
+adpcm_sbpro_3           interplay_dpcm          sheervideo
+adpcm_sbpro_4           interplay_video         shorten
+adpcm_swf               jacosub                 sipr
+adpcm_thp               jpeg2000                smackaud
+adpcm_thp_le            jpegls                  smacker
+adpcm_vima              jv                      smc
+adpcm_xa                kgv1                    smvjpeg
+adpcm_yamaha            kmvc                    snow
+agm                     lagarith                sol_dpcm
+aic                     loco                    sonic
+alac                    lscr                    sp5x
+alias_pix               m101                    speedhq
+als                     mace3                   srgc
+amrnb                   mace6                   srt
+amrwb                   magicyuv                ssa
+amv                     mdec                    stl
+anm                     metasound               subrip
+ansi                    microdvd                subviewer
+ape                     mimic                   subviewer1
+apng                    mjpeg                   sunrast
+aptx                    mjpegb                  svq1
+aptx_hd                 mlp                     svq3
+arbc                    mmvideo                 tak
+ass                     motionpixels            targa
+asv1                    movtext                 targa_y216
+asv2                    mp1                     tdsc
+atrac1                  mp1float                text
+atrac3                  mp2                     theora
+atrac3al                mp2float                thp
+atrac3p                 mp3                     tiertexseqvideo
+atrac3pal               mp3adu                  tiff
+atrac9                  mp3adufloat             tmv
+aura                    mp3float                truehd
+aura2                   mp3on4                  truemotion1
+avrn                    mp3on4float             truemotion2
+avrp                    mpc7                    truemotion2rt
+avs                     mpc8                    truespeech
+avui                    mpeg1_v4l2m2m           tscc
+ayuv                    mpeg1video              tscc2
+bethsoftvid             mpeg2_crystalhd         tta
+bfi                     mpeg2_v4l2m2m           twinvq
+bink                    mpeg2video              txd
+binkaudio_dct           mpeg4                   ulti
+binkaudio_rdft          mpeg4_crystalhd         utvideo
+bintext                 mpeg4_v4l2m2m           v210
+bitpacked               mpegvideo               v210x
+bmp                     mpl2                    v308
+bmv_audio               msa1                    v408
+bmv_video               mscc                    v410
+brender_pix             msmpeg4_crystalhd       vb
+c93                     msmpeg4v1               vble
+cavs                    msmpeg4v2               vc1
+ccaption                msmpeg4v3               vc1_crystalhd
+cdgraphics              msrle                   vc1_v4l2m2m
+cdxl                    mss1                    vc1image
+cfhd                    mss2                    vcr1
+cinepak                 msvideo1                vmdaudio
+clearvideo              mszh                    vmdvideo
+cljr                    mts2                    vmnc
+cllc                    mvc1                    vorbis
+comfortnoise            mvc2                    vp3
+cook                    mwsc                    vp5
+cpia                    mxpeg                   vp6
+cscd                    nellymoser              vp6a
+cyuv                    nuv                     vp6f
+dca                     on2avc                  vp7
+dds                     opus                    vp8
+dfa                     paf_audio               vp8_v4l2m2m
+dirac                   paf_video               vp9
+dnxhd                   pam                     vp9_v4l2m2m
+dolby_e                 pbm                     vplayer
+dpx                     pcm_alaw                vqa
+dsd_lsbf                pcm_bluray              wavpack
+dsd_lsbf_planar         pcm_dvd                 wcmv
+dsd_msbf                pcm_f16le               webp
+dsd_msbf_planar         pcm_f24le               webvtt
+dsicinaudio             pcm_f32be               wmalossless
+dsicinvideo             pcm_f32le               wmapro
+dss_sp                  pcm_f64be               wmav1
+dst                     pcm_f64le               wmav2
+dvaudio                 pcm_lxf                 wmavoice
+dvbsub                  pcm_mulaw               wmv1
+dvdsub                  pcm_s16be               wmv2
+dvvideo                 pcm_s16be_planar        wmv3
+dxa                     pcm_s16le               wmv3_crystalhd
+dxtory                  pcm_s16le_planar        wmv3image
+dxv                     pcm_s24be               wnv1
+eac3                    pcm_s24daud             wrapped_avframe
+eacmv                   pcm_s24le               ws_snd1
+eamad                   pcm_s24le_planar        xan_dpcm
+eatgq                   pcm_s32be               xan_wc3
+eatgv                   pcm_s32le               xan_wc4
+eatqi                   pcm_s32le_planar        xbin
+eightbps                pcm_s64be               xbm
+eightsvx_exp            pcm_s64le               xface
+eightsvx_fib            pcm_s8                  xl
+escape124               pcm_s8_planar           xma1
+escape130               pcm_u16be               xma2
+evrc                    pcm_u16le               xpm
+exr                     pcm_u24be               xsub
+ffv1                    pcm_u24le               xwd
+ffvhuff                 pcm_u32be               y41p
+ffwavesynth             pcm_u32le               ylc
+fic                     pcm_u8                  yop
+fits                    pcm_vidc                yuv4
+flac                    pcm_zork                zero12v
+flashsv                 pcx                     zerocodec
+flashsv2                pgm                     zlib
+flic                    pgmyuv                  zmbv
+flv                     pgssub
+fmvc                    pictor

 Enabled encoders:
 a64multi                jpegls                  pgmyuv
@@ -271,13 +271,13 @@ huffyuv                   pcx                     zlib
 jpeg2000                pgm                     zmbv

 Enabled hwaccels:
-h263_vaapi             mpeg1_xvmc              vc1_vaapi
-h264_vaapi             mpeg2_vaapi             vc1_vdpau
-h264_vdpau             mpeg2_vdpau             vp8_vaapi
-hevc_vaapi             mpeg2_xvmc              vp9_vaapi
-hevc_vdpau             mpeg4_vaapi             wmv3_vaapi
-mjpeg_vaapi            mpeg4_vdpau             wmv3_vdpau
-mpeg1_vdpau
+h263_vaapi              mpeg1_xvmc              vc1_vdpau
+h264_vaapi              mpeg2_vaapi             vp8_vaapi
+h264_vdpau              mpeg2_vdpau             vp9_vaapi
+hevc_vaapi              mpeg2_xvmc              wmv3_vaapi
+hevc_vdpau              mpeg4_vaapi             wmv3_vdpau
+mjpeg_vaapi             mpeg4_vdpau
+mpeg1_vdpau             vc1_vaapi

 Enabled parsers:
 aac                     dvd_nav                 mpegvideo
@@ -297,104 +297,104 @@ dvaudio                 mpeg4video              vp9
 dvbsub                  mpegaudio               xma

 Enabled demuxers:
-aa                     ea                      ircam
-aac                    ea_cdata                iss
-ac3                    eac3                    iv8
-acm                    epaf                    ivf
-act                    ffmetadata              ivr
-adf                    filmstrip               jacosub
-adp                    fits                    jv
-ads                    flac                    kux
-adx                    flic                    live_flv
-aea                    flv                     lmlm4
-afc                    fourxm                  loas
-aiff                   frm                     lrc
-aix                    fsb                     lvf
-amr                    g722                    lxf
-amrnb                  g723_1                  m4v
-amrwb                  g726                    matroska
-anm                    g726le                  mgsts
-apc                    g729                    microdvd
-ape                    gdv                     mjpeg
-apng                   genh                    mjpeg_2000
-aptx                   gif                     mlp
-aptx_hd                        gsm                     mlv
-aqtitle                        gxf                     mm
-asf                    h261                    mmf
-asf_o                  h263                    mov
-ass                    h264                    mp3
-ast                    hcom                    mpc
-au                     hevc                    mpc8
-avi                    hls                     mpegps
-avr                    hnm                     mpegts
-avs                    ico                     mpegtsraw
-avs2                   idcin                   mpegvideo
-bethsoftvid            idf                     mpjpeg
-bfi                    iff                     mpl2
-bfstm                  ilbc                    mpsub
-bink                   image2                  msf
-bintext                        image2_alias_pix        msnwc_tcp
-bit                    image2_brender_pix      mtaf
-bmv                    image2pipe              mtv
-boa                    image_bmp_pipe          musx
-brstm                  image_dds_pipe          mv
-c93                    image_dpx_pipe          mvi
-caf                    image_exr_pipe          mxf
-cavsvideo              image_gif_pipe          mxg
-cdg                    image_j2k_pipe          nc
-cdxl                   image_jpeg_pipe         nistsphere
-cine                   image_jpegls_pipe       nsp
-codec2                 image_pam_pipe          nsv
-codec2raw              image_pbm_pipe          nut
-concat                 image_pcx_pipe          nuv
-data                   image_pgm_pipe          ogg
-daud                   image_pgmyuv_pipe       oma
-dcstr                  image_pictor_pipe       paf
-dfa                    image_png_pipe          pcm_alaw
-dhav                   image_ppm_pipe          pcm_f32be
-dirac                  image_psd_pipe          pcm_f32le
-dnxhd                  image_qdraw_pipe        pcm_f64be
-dsf                    image_sgi_pipe          pcm_f64le
-dsicin                 image_sunrast_pipe      pcm_mulaw
-dss                    image_svg_pipe          pcm_s16be
-dts                    image_tiff_pipe         pcm_s16le
-dtshd                  image_webp_pipe         pcm_s24be
-dv                     image_xpm_pipe          pcm_s24le
-dvbsub                 image_xwd_pipe          pcm_s32be
-dvbtxt                 ingenient               pcm_s32le
-dxa                    ipmovie                 pcm_s8
-pcm_u16be              sdr2                    ty
-pcm_u16le              sds                     v210
-pcm_u24be              sdx                     v210x
-pcm_u24le              segafilm                vag
-pcm_u32be              ser                     vc1
-pcm_u32le              shorten                 vc1t
-pcm_u8                 siff                    vividas
-pcm_vidc               sln                     vivo
-pjs                    smacker                 vmd
-pmp                    smjpeg                  vobsub
-pva                    smush                   voc
-pvf                    sol                     vpk
-qcp                    sox                     vplayer
-r3d                    spdif                   vqf
-rawvideo               srt                     w64
-realtext               stl                     wav
-redspark               str                     wc3
-rl2                    subviewer               webm_dash_manifest
-rm                     subviewer1              webvtt
-roq                    sup                     wsaud
-rpl                    svag                    wsd
-rsd                    swf                     wsvqa
-rso                    tak                     wtv
-rtp                    tedcaptions             wv
-rtsp                   thp                     wve
-s337m                  threedostr              xa
-sami                   tiertexseq              xbin
-sap                    tmv                     xmv
-sbc                    truehd                  xvag
-sbg                    tta                     xwma
-scc                    tty                     yop
-sdp                    txd                     yuv4mpegpipe
+aa                      idf                     pcm_s32le
+aac                     iff                     pcm_s8
+ac3                     ilbc                    pcm_u16be
+acm                     image2                  pcm_u16le
+act                     image2_alias_pix        pcm_u24be
+adf                     image2_brender_pix      pcm_u24le
+adp                     image2pipe              pcm_u32be
+ads                     image_bmp_pipe          pcm_u32le
+adx                     image_dds_pipe          pcm_u8
+aea                     image_dpx_pipe          pcm_vidc
+afc                     image_exr_pipe          pjs
+aiff                    image_gif_pipe          pmp
+aix                     image_j2k_pipe          pva
+amr                     image_jpeg_pipe         pvf
+amrnb                   image_jpegls_pipe       qcp
+amrwb                   image_pam_pipe          r3d
+anm                     image_pbm_pipe          rawvideo
+apc                     image_pcx_pipe          realtext
+ape                     image_pgm_pipe          redspark
+apng                    image_pgmyuv_pipe       rl2
+aptx                    image_pictor_pipe       rm
+aptx_hd                 image_png_pipe          roq
+aqtitle                 image_ppm_pipe          rpl
+asf                     image_psd_pipe          rsd
+asf_o                   image_qdraw_pipe        rso
+ass                     image_sgi_pipe          rtp
+ast                     image_sunrast_pipe      rtsp
+au                      image_svg_pipe          s337m
+avi                     image_tiff_pipe         sami
+avr                     image_webp_pipe         sap
+avs                     image_xpm_pipe          sbc
+avs2                    image_xwd_pipe          sbg
+bethsoftvid             ingenient               scc
+bfi                     ipmovie                 sdp
+bfstm                   ircam                   sdr2
+bink                    iss                     sds
+bintext                 iv8                     sdx
+bit                     ivf                     segafilm
+bmv                     ivr                     ser
+boa                     jacosub                 shorten
+brstm                   jv                      siff
+c93                     kux                     sln
+caf                     live_flv                smacker
+cavsvideo               lmlm4                   smjpeg
+cdg                     loas                    smush
+cdxl                    lrc                     sol
+cine                    lvf                     sox
+codec2                  lxf                     spdif
+codec2raw               m4v                     srt
+concat                  matroska                stl
+data                    mgsts                   str
+daud                    microdvd                subviewer
+dcstr                   mjpeg                   subviewer1
+dfa                     mjpeg_2000              sup
+dhav                    mlp                     svag
+dirac                   mlv                     swf
+dnxhd                   mm                      tak
+dsf                     mmf                     tedcaptions
+dsicin                  mov                     thp
+dss                     mp3                     threedostr
+dts                     mpc                     tiertexseq
+dtshd                   mpc8                    tmv
+dv                      mpegps                  truehd
+dvbsub                  mpegts                  tta
+dvbtxt                  mpegtsraw               tty
+dxa                     mpegvideo               txd
+ea                      mpjpeg                  ty
+ea_cdata                mpl2                    v210
+eac3                    mpsub                   v210x
+epaf                    msf                     vag
+ffmetadata              msnwc_tcp               vc1
+filmstrip               mtaf                    vc1t
+fits                    mtv                     vividas
+flac                    musx                    vivo
+flic                    mv                      vmd
+flv                     mvi                     vobsub
+fourxm                  mxf                     voc
+frm                     mxg                     vpk
+fsb                     nc                      vplayer
+g722                    nistsphere              vqf
+g723_1                  nsp                     w64
+g726                    nsv                     wav
+g726le                  nut                     wc3
+g729                    nuv                     webm_dash_manifest
+gdv                     ogg                     webvtt
+genh                    oma                     wsaud
+gif                     paf                     wsd
+gsm                     pcm_alaw                wsvqa
+gxf                     pcm_f32be               wtv
+h261                    pcm_f32le               wv
+h263                    pcm_f64be               wve
+h264                    pcm_f64le               xa
+hcom                    pcm_mulaw               xbin
+hevc                    pcm_s16be               xmv
+hls                     pcm_s16le               xvag
+hnm                     pcm_s24be               xwma
+ico                     pcm_s24le               yop
+idcin                   pcm_s32be               yuv4mpegpipe

 Enabled muxers:
 a64                     hevc                    pcm_s24le
@@ -453,142 +453,142 @@ hash                    pcm_s16le               wv
 hds                     pcm_s24be               yuv4mpegpipe

 Enabled protocols:
-async                  http                    rtmpt
-cache                  httpproxy               rtp
-concat                 icecast                 srtp
-crypto                 md5                     subfile
-data                   mmsh                    tcp
-ffrtmphttp             mmst                    tee
-file                   pipe                    udp
-ftp                    prompeg                 udplite
-gopher                 rtmp                    unix
-hls
+async                   http                    rtp
+cache                   httpproxy               srtp
+concat                  icecast                 subfile
+crypto                  md5                     tcp
+data                    mmsh                    tee
+ffrtmphttp              mmst                    udp
+file                    pipe                    udplite
+ftp                     prompeg                 unix
+gopher                  rtmp
+hls                     rtmpt

 Enabled filters:
-abench                 astats                  detelecine
-abitscope              astreamselect           dilation
-acompressor            atadenoise              displace
-acontrast              atempo                  doubleweave
-acopy                  atrim                   drawbox
-acrossfade             avectorscope            drawgraph
-acrossover             avgblur                 drawgrid
-acrusher               azmq                    drmeter
-acue                   bandpass                dynaudnorm
-adeclick               bandreject              earwax
-adeclip                        bass                    ebur128
-adelay                 bbox                    edgedetect
-aderivative            bench                   elbg
-adrawgraph             biquad                  entropy
-aecho                  bitplanenoise           eq
-aemphasis              blackdetect             equalizer
-aeval                  blackframe              erosion
-aevalsrc               blend                   extractplanes
-afade                  bm3d                    extrastereo
-afftdn                 boxblur                 fade
-afftfilt               bwdif                   fftdnoiz
-afifo                  cellauto                fftfilt
-afir                   channelmap              field
-aformat                        channelsplit            fieldhint
-agate                  chorus                  fieldmatch
-agraphmonitor          chromahold              fieldorder
-ahistogram             chromakey               fifo
-aiir                   chromashift             fillborders
-aintegral              ciescope                find_rect
-ainterleave            codecview               firequalizer
-alimiter               color                   flanger
-allpass                        colorbalance            floodfill
-allrgb                 colorchannelmixer       format
-allyuv                 colorkey                fps
-aloop                  colorlevels             framepack
-alphaextract           colormatrix             framerate
-alphamerge             colorspace              framestep
-amerge                 compand                 freezedetect
-ametadata              compensationdelay       fspp
-amix                   concat                  gblur
-amovie                 convolution             geq
-amplify                        convolve                gradfun
-amultiply              copy                    graphmonitor
-anequalizer            cover_rect              greyedge
-anlmdn                 crop                    haas
-anoisesrc              cropdetect              haldclut
-anull                  crossfeed               haldclutsrc
-anullsink              crystalizer             hdcd
-anullsrc               cue                     headphone
-apad                   curves                  hflip
-aperms                 datascope               highpass
-aphasemeter            dcshift                 highshelf
-aphaser                        dctdnoiz                hilbert
-apulsator              deband                  histeq
-arealtime              deblock                 histogram
-aresample              decimate                hqdn3d
-areverse               deconvolve              hqx
-aselect                        dedot                   hstack
-asendcmd               deflate                 hue
-asetnsamples           deflicker               hwdownload
-asetpts                        deinterlace_vaapi       hwmap
-asetrate               dejudder                hwupload
-asettb                 delogo                  hysteresis
-ashowinfo              denoise_vaapi           idet
-asidedata              deshake                 il
-asplit                 despill                 inflate
-interlace              premultiply             smptebars
-interleave             prewitt                 smptehdbars
-join                   procamp_vaapi           sobel
-kerndeint              pseudocolor             spectrumsynth
-lenscorrection         psnr                    split
-life                   pullup                  spp
-limiter                        qp                      sr
-loop                   random                  ssim
-loudnorm               readeia608              stereo3d
-lowpass                        readvitc                stereotools
-lowshelf               realtime                stereowiden
-lumakey                        remap                   streamselect
-lut                    removegrain             super2xsai
-lut1d                  removelogo              superequalizer
-lut2                   repeatfields            surround
-lut3d                  replaygain              swaprect
-lutrgb                 reverse                 swapuv
-lutyuv                 rgbashift               tblend
-mandelbrot             rgbtestsrc              telecine
-maskedclamp            roberts                 testsrc
-maskedmerge            rotate                  testsrc2
-maskfun                        sab                     threshold
-mcdeint                        scale                   thumbnail
-mcompand               scale2ref               tile
-mergeplanes            scale_vaapi             tinterlace
-mestimate              select                  tlut2
-metadata               selectivecolor          tmix
-midequalizer           sendcmd                 tonemap
-minterpolate           separatefields          tpad
-mix                    setdar                  transpose
-movie                  setfield                transpose_vaapi
-mpdecimate             setparams               treble
-mptestsrc              setpts                  tremolo
-negate                 setrange                trim
-nlmeans                        setsar                  unpremultiply
-nnedi                  settb                   unsharp
-noformat               sharpness_vaapi         uspp
-noise                  showcqt                 vaguedenoiser
-normalize              showfreqs               vectorscope
-null                   showinfo                vflip
-nullsink               showpalette             vfrdet
-nullsrc                        showspectrum            vibrance
-oscilloscope           showspectrumpic         vibrato
-overlay                        showvolume              vignette
-owdenoise              showwaves               vmafmotion
-pad                    showwavespic            volume
-pal100bars             shuffleframes           volumedetect
-pal75bars              shuffleplanes           vstack
-palettegen             sidechaincompress       w3fdif
-paletteuse             sidechaingate           waveform
-pan                    sidedata                weave
-perms                  signalstats             xbr
-perspective            signature               xstack
-phase                  silencedetect           yadif
-pixdesctest            silenceremove           yuvtestsrc
-pixscope               sinc                    zmq
-pp                     sine                    zoompan
-pp7                    smartblur
+abench                  deflate                 pan
+abitscope               deflicker               perms
+acompressor             deinterlace_vaapi       perspective
+acontrast               dejudder                phase
+acopy                   delogo                  pixdesctest
+acrossfade              denoise_vaapi           pixscope
+acrossover              deshake                 pp
+acrusher                despill                 pp7
+acue                    detelecine              premultiply
+adeclick                dilation                prewitt
+adeclip                 displace                procamp_vaapi
+adelay                  doubleweave             pseudocolor
+aderivative             drawbox                 psnr
+adrawgraph              drawgraph               pullup
+aecho                   drawgrid                qp
+aemphasis               drmeter                 random
+aeval                   dynaudnorm              readeia608
+aevalsrc                earwax                  readvitc
+afade                   ebur128                 realtime
+afftdn                  edgedetect              remap
+afftfilt                elbg                    removegrain
+afifo                   entropy                 removelogo
+afir                    eq                      repeatfields
+aformat                 equalizer               replaygain
+agate                   erosion                 reverse
+agraphmonitor           extractplanes           rgbashift
+ahistogram              extrastereo             rgbtestsrc
+aiir                    fade                    roberts
+aintegral               fftdnoiz                rotate
+ainterleave             fftfilt                 sab
+alimiter                field                   scale
+allpass                 fieldhint               scale2ref
+allrgb                  fieldmatch              scale_vaapi
+allyuv                  fieldorder              select
+aloop                   fifo                    selectivecolor
+alphaextract            fillborders             sendcmd
+alphamerge              find_rect               separatefields
+amerge                  firequalizer            setdar
+ametadata               flanger                 setfield
+amix                    floodfill               setparams
+amovie                  format                  setpts
+amplify                 fps                     setrange
+amultiply               framepack               setsar
+anequalizer             framerate               settb
+anlmdn                  framestep               sharpness_vaapi
+anoisesrc               freezedetect            showcqt
+anull                   fspp                    showfreqs
+anullsink               gblur                   showinfo
+anullsrc                geq                     showpalette
+apad                    gradfun                 showspectrum
+aperms                  graphmonitor            showspectrumpic
+aphasemeter             greyedge                showvolume
+aphaser                 haas                    showwaves
+apulsator               haldclut                showwavespic
+arealtime               haldclutsrc             shuffleframes
+aresample               hdcd                    shuffleplanes
+areverse                headphone               sidechaincompress
+aselect                 hflip                   sidechaingate
+asendcmd                highpass                sidedata
+asetnsamples            highshelf               signalstats
+asetpts                 hilbert                 signature
+asetrate                histeq                  silencedetect
+asettb                  histogram               silenceremove
+ashowinfo               hqdn3d                  sinc
+asidedata               hqx                     sine
+asplit                  hstack                  smartblur
+astats                  hue                     smptebars
+astreamselect           hwdownload              smptehdbars
+atadenoise              hwmap                   sobel
+atempo                  hwupload                spectrumsynth
+atrim                   hysteresis              split
+avectorscope            idet                    spp
+avgblur                 il                      sr
+azmq                    inflate                 ssim
+bandpass                interlace               stereo3d
+bandreject              interleave              stereotools
+bass                    join                    stereowiden
+bbox                    kerndeint               streamselect
+bench                   lenscorrection          super2xsai
+biquad                  life                    superequalizer
+bitplanenoise           limiter                 surround
+blackdetect             loop                    swaprect
+blackframe              loudnorm                swapuv
+blend                   lowpass                 tblend
+bm3d                    lowshelf                telecine
+boxblur                 lumakey                 testsrc
+bwdif                   lut                     testsrc2
+cellauto                lut1d                   threshold
+channelmap              lut2                    thumbnail
+channelsplit            lut3d                   tile
+chorus                  lutrgb                  tinterlace
+chromahold              lutyuv                  tlut2
+chromakey               mandelbrot              tmix
+chromashift             maskedclamp             tonemap
+ciescope                maskedmerge             tpad
+codecview               maskfun                 transpose
+color                   mcdeint                 transpose_vaapi
+colorbalance            mcompand                treble
+colorchannelmixer       mergeplanes             tremolo
+colorkey                mestimate               trim
+colorlevels             metadata                unpremultiply
+colormatrix             midequalizer            unsharp
+colorspace              minterpolate            uspp
+compand                 mix                     vaguedenoiser
+compensationdelay       movie                   vectorscope
+concat                  mpdecimate              vflip
+convolution             mptestsrc               vfrdet
+convolve                negate                  vibrance
+copy                    nlmeans                 vibrato
+cover_rect              nnedi                   vignette
+crop                    noformat                vmafmotion
+cropdetect              noise                   volume
+crossfeed               normalize               volumedetect
+crystalizer             null                    vstack
+cue                     nullsink                w3fdif
+curves                  nullsrc                 waveform
+datascope               oscilloscope            weave
+dcshift                 overlay                 xbr
+dctdnoiz                owdenoise               xstack
+deband                  pad                     yadif
+deblock                 pal100bars              yuvtestsrc
+decimate                pal75bars               zmq
+deconvolve              palettegen              zoompan
+dedot                   paletteuse

 Enabled bsfs:
 aac_adtstoasc           h264_redundant_pps      noise
@@ -604,20 +604,20 @@ h264_metadata             mpeg2_metadata          
vp9_superframe
 h264_mp4toannexb        mpeg4_unpack_bframes    vp9_superframe_split

 Enabled indevs:
-alsa                   oss                     v4l2
-fbdev                  sndio                   xcbgrab
-lavfi
+alsa                    oss                     xcbgrab
+fbdev                   sndio
+lavfi                   v4l2

 Enabled outdevs:
-alsa                   sdl2                    v4l2
-fbdev                  sndio                   xv
-oss
+alsa                    sdl2                    xv
+fbdev                   sndio
+oss                     v4l2

 License: GPL version 2 or later
 libavfilter/filter_list.c is unchanged
 libavdevice/indev_list.c is unchanged
 libavdevice/outdev_list.c is unchanged

-real   0m24.882s
-user   0m11.817s
-sys    0m4.488s
+real   0m17.654s
+user   0m13.339s
+sys    0m4.852s

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to