From: Michael Niedermayer <michael@niedermayer.cc> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: [FFmpeg-devel] [PATCH 1/6] configure: libavradio support Date: Sat, 22 Jul 2023 21:29:52 +0200 Message-ID: <20230722192957.703-1-michael@niedermayer.cc> (raw) Autodetected based on existence of libavradio/version.h Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- Makefile | 5 +++-- configure | 46 +++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index bf1b69f96b..d5689231c3 100644 --- a/Makefile +++ b/Makefile @@ -19,13 +19,14 @@ vpath %/fate_config.sh.template $(SRC_PATH) TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64 audiomatch HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options -ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale swresample +ALLFFLIBS = avcodec avdevice avfilter avformat avradio avutil postproc swscale swresample # $(FFLIBS-yes) needs to be in linking order FFLIBS-$(CONFIG_AVDEVICE) += avdevice FFLIBS-$(CONFIG_AVFILTER) += avfilter FFLIBS-$(CONFIG_AVFORMAT) += avformat FFLIBS-$(CONFIG_AVCODEC) += avcodec +FFLIBS-$(CONFIG_AVRADIO) += avradio FFLIBS-$(CONFIG_POSTPROC) += postproc FFLIBS-$(CONFIG_SWRESAMPLE) += swresample FFLIBS-$(CONFIG_SWSCALE) += swscale @@ -171,7 +172,7 @@ distclean:: clean libavcodec/bsf_list.c libavformat/protocol_list.c \ libavcodec/codec_list.c libavcodec/parser_list.c \ libavfilter/filter_list.c libavdevice/indev_list.c libavdevice/outdev_list.c \ - libavformat/muxer_list.c libavformat/demuxer_list.c + libavformat/muxer_list.c libavformat/demuxer_list.c libavradio/inradio_list.c ifeq ($(SRC_LINK),src) $(RM) src endif diff --git a/configure b/configure index eb2fe392b4..363dc8632e 100755 --- a/configure +++ b/configure @@ -75,6 +75,7 @@ Help options: --list-indevs show all available input devices --list-outdevs show all available output devices --list-filters show all available filters + --list-inradios show all available input radios Standard options: --logfile=FILE log tests and output to FILE [ffbuild/config.log] @@ -128,6 +129,7 @@ Component options: --disable-avdevice disable libavdevice build --disable-avcodec disable libavcodec build --disable-avformat disable libavformat build + --disable-avradio disable libavradio build --disable-swresample disable libswresample build --disable-swscale disable libswscale build --disable-postproc disable libpostproc build @@ -182,6 +184,10 @@ Individual component options: --enable-filter=NAME enable filter NAME --disable-filter=NAME disable filter NAME --disable-filters disable all filters + --enable-inradios=NAME enable input radio NAME + --disable-inradio=NAME disable input radio NAME + --disable-inradios disable input radios + --disable-radios disable all radios External library support: @@ -270,6 +276,7 @@ External library support: --enable-libshine enable fixed-point MP3 encoding via libshine [no] --enable-libsmbclient enable Samba protocol via libsmbclient [no] --enable-libsnappy enable Snappy compression, needed for hap encoding [no] + --enable-libsoapysdr enable SoapySDR, needed for connecting to SDR HW [no] --enable-libsoxr enable Include libsoxr resampling [no] --enable-libspeex enable Speex de/encoding via libspeex [no] --enable-libsrt enable Haivision SRT protocol via libsrt [no] @@ -1743,11 +1750,16 @@ AVFORMAT_COMPONENTS=" protocols " +AVRADIO_COMPONENTS=" + inradios +" + COMPONENT_LIST=" $AVCODEC_COMPONENTS $AVDEVICE_COMPONENTS $AVFILTER_COMPONENTS $AVFORMAT_COMPONENTS + $AVRADIO_COMPONENTS " EXAMPLE_LIST=" @@ -1890,6 +1902,7 @@ EXTERNAL_LIBRARY_LIST=" libshine libsmbclient libsnappy + libsoapysdr libsoxr libspeex libsrt @@ -1982,6 +1995,7 @@ FEATURE_LIST=" # this list should be kept in linking order LIBRARY_LIST=" avdevice + avradio avfilter swscale postproc @@ -2228,6 +2242,7 @@ HEADERS_LIST=" ES2_gl_h gsm_h io_h + libavradio_version_h linux_dma_buf_h linux_perf_event_h machine_ioctl_bt848_h @@ -3622,6 +3637,9 @@ xcbgrab_indev_deps="libxcb" xcbgrab_indev_suggest="libxcb_shm libxcb_shape libxcb_xfixes" xv_outdev_deps="xlib_xv xlib_x11 xlib_xext" +# inradios +sdr_inradio_deps="libsoapysdr" + # protocols async_protocol_deps="threads" bluray_protocol_deps="libbluray" @@ -3886,6 +3904,8 @@ avcodec_deps="avutil" avcodec_suggest="libm stdatomic" avdevice_deps="avformat avcodec avutil" avdevice_suggest="libm stdatomic" +avradio_deps="avformat avcodec avutil libavradio_version_h" +avradio_suggest="libm stdatomic" avfilter_deps="avutil" avfilter_suggest="libm stdatomic" avformat_deps="avcodec avutil" @@ -4079,7 +4099,7 @@ find_things_extern(){ pattern=$2 file=$source_path/$3 out=${4:-$thing} - sed -n "s/^[^#]*extern.*$pattern *ff_\([^ ]*\)_$thing;/\1_$out/p" "$file" + test -f "$file" && sed -n "s/^[^#]*extern.*$pattern *ff_\([^ ]*\)_$thing;/\1_$out/p" "$file" } find_filters_extern(){ @@ -4090,6 +4110,7 @@ find_filters_extern(){ FILTER_LIST=$(find_filters_extern libavfilter/allfilters.c) OUTDEV_LIST=$(find_things_extern muxer FFOutputFormat libavdevice/alldevices.c outdev) INDEV_LIST=$(find_things_extern demuxer AVInputFormat libavdevice/alldevices.c indev) +INRADIO_LIST=$(find_things_extern demuxer AVInputFormat libavradio/allradios.c inradio) MUXER_LIST=$(find_things_extern muxer FFOutputFormat libavformat/allformats.c) DEMUXER_LIST=$(find_things_extern demuxer AVInputFormat libavformat/allformats.c) ENCODER_LIST=$(find_things_extern encoder FFCodec libavcodec/allcodecs.c) @@ -4126,11 +4147,16 @@ AVFORMAT_COMPONENTS_LIST=" $PROTOCOL_LIST " +AVRADIO_COMPONENTS_LIST=" + $INRADIO_LIST +" + ALL_COMPONENTS=" $AVCODEC_COMPONENTS_LIST $AVDEVICE_COMPONENTS_LIST $AVFILTER_COMPONENTS_LIST $AVFORMAT_COMPONENTS_LIST + $AVRADIO_COMPONENTS_LIST " for n in $COMPONENT_LIST; do @@ -4217,6 +4243,9 @@ for opt do --disable-devices) disable $INDEV_LIST $OUTDEV_LIST ;; + --disable-radios) + disable $INRADIO_LIST + ;; --enable-debug=*) debuglevel="$optval" ;; @@ -6306,6 +6335,10 @@ check_cc intrinsics_neon arm_neon.h "int16x8_t test = vdupq_n_s16(0)" check_ldflags -Wl,--as-needed check_ldflags -Wl,-z,noexecstack +if ! disabled avradio; then + test -f $source_path/libavradio/version.h && enable libavradio_version_h +fi + if ! disabled network; then check_func getaddrinfo $network_extralibs check_func inet_aton $network_extralibs @@ -6787,6 +6820,7 @@ enabled libshine && require_pkg_config libshine shine shine/layer3.h sh enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init || require libsmbclient libsmbclient.h smbc_init -lsmbclient; } enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ +enabled libsoapysdr && require libsoapysdr SoapySDR/Device.h SoapySDRDevice_enumerate -lSoapySDR enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init @@ -7248,7 +7282,7 @@ EOF # add some linker flags check_ldflags -Wl,--warn-common -check_ldflags -Wl,-rpath-link=:libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil +check_ldflags -Wl,-rpath-link=:libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavradio:libavformat:libavcodec:libavutil enabled rpath && add_ldexeflags -Wl,-rpath,$libdir && add_ldsoflags -Wl,-rpath,$libdir test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic @@ -7653,6 +7687,7 @@ expand_deps(){ #we have to remove gpl from the deps here as some code assumes all lib deps are libs postproc_deps="$(filter_out 'gpl' $postproc_deps)" +avradio_deps="$(filter_out 'libavradio_version_h' $avradio_deps)" map 'expand_deps $v' $LIBRARY_LIST @@ -7770,7 +7805,7 @@ echo "Programs:" print_enabled '' $PROGRAM_LIST | print_in_columns echo -for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf indev outdev; do +for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf indev outdev inradio; do echo "Enabled ${type}s:" eval list=\$$(toupper $type)_LIST print_enabled '_*' $list | print_in_columns @@ -8076,6 +8111,9 @@ print_enabled_components(){ outdev_list) c=${c%_outdev}_muxer ;; + inradio_list) + c=${c%_inradio}_demuxer + ;; esac printf " &ff_%s,\n" $c >> $TMPH fi @@ -8097,6 +8135,7 @@ print_enabled_components libavformat/demuxer_list.c AVInputFormat demuxer_list $ print_enabled_components libavformat/muxer_list.c FFOutputFormat muxer_list $MUXER_LIST print_enabled_components libavdevice/indev_list.c AVInputFormat indev_list $INDEV_LIST print_enabled_components libavdevice/outdev_list.c FFOutputFormat outdev_list $OUTDEV_LIST +print_enabled_components libavradio/inradio_list.c AVInputFormat inradio_list $INRADIO_LIST print_enabled_components libavformat/protocol_list.c URLProtocol url_protocols $PROTOCOL_LIST # Settings for pkg-config files @@ -8115,6 +8154,7 @@ LIBSUF=${LIBSUF} extralibs_avutil="$avutil_extralibs" extralibs_avcodec="$avcodec_extralibs" extralibs_avformat="$avformat_extralibs" +extralibs_avradio="$avradio_extralibs" extralibs_avdevice="$avdevice_extralibs" extralibs_avfilter="$avfilter_extralibs" extralibs_postproc="$postproc_extralibs" -- 2.17.1 _______________________________________________ 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".
next reply other threads:[~2023-07-22 19:30 UTC|newest] Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-07-22 19:29 Michael Niedermayer [this message] 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 2/6] avutil/log: Add AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer 2023-07-22 20:30 ` Paul B Mahol 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 3/6] avformat: add support for demuxers/inputs from avradio Michael Niedermayer 2023-07-22 20:35 ` Paul B Mahol 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 4/6] avdevice/utils: add test for AV_CLASS_CATEGORY_RADIO_INPUT Michael Niedermayer 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Michael Niedermayer 2023-07-22 21:39 ` Lynne 2023-07-23 15:23 ` Michael Niedermayer 2023-07-23 18:49 ` Tomas Härdin 2023-07-23 19:01 ` James Almer 2023-07-23 22:56 ` Michael Niedermayer 2023-07-24 8:19 ` Nicolas George 2023-07-24 15:57 ` Michael Niedermayer 2023-07-24 22:30 ` Tomas Härdin 2023-07-25 14:17 ` Tomas Härdin 2023-07-24 20:19 ` Tomas Härdin 2023-07-25 9:37 ` Nicolas George 2023-07-26 10:37 ` Michael Niedermayer 2023-07-27 13:05 ` Tomas Härdin 2023-07-27 18:36 ` Michael Niedermayer 2023-07-27 18:48 ` Nicolas George [not found] ` <CC2992B9-B047-4724-8DE5-01C02CBE31FD@cosmin.at> 2023-08-01 19:51 ` Cosmin Stejerean 2023-08-01 20:06 ` Paul B Mahol 2023-08-02 12:46 ` Michael Niedermayer 2023-08-02 13:00 ` Paul B Mahol 2023-08-02 13:01 ` Michael Niedermayer 2023-07-24 8:13 ` Nicolas George 2023-07-24 20:22 ` Tomas Härdin 2023-07-25 9:33 ` Nicolas George 2023-07-25 9:51 ` Kieran Kunhya 2023-07-25 9:56 ` Nicolas George 2023-07-25 10:16 ` Kieran Kunhya 2023-07-25 13:55 ` Nicolas George 2023-07-25 14:37 ` Kieran Kunhya 2023-07-27 17:56 ` Nicolas George 2023-07-28 11:07 ` Kieran Kunhya 2023-07-30 13:04 ` [FFmpeg-devel] What is FFmpeg and what should it be Nicolas George 2023-07-30 17:07 ` Andrey Turkin 2023-07-30 18:29 ` Kieran Kunhya 2023-07-30 18:54 ` Nicolas George 2023-08-01 7:48 ` Rémi Denis-Courmont 2023-07-31 13:56 ` Tomas Härdin 2023-08-03 13:25 ` Nicolas George 2023-08-03 20:50 ` Tomas Härdin 2023-08-02 1:44 ` Vittorio Giovara 2023-08-02 12:55 ` Michael Niedermayer 2023-08-02 12:59 ` Jean-Baptiste Kempf 2023-08-02 14:12 ` Brad Isbell 2023-08-02 14:19 ` Nicolas George 2023-08-02 14:26 ` Michael Niedermayer 2023-08-02 14:30 ` Nicolas George [not found] ` <A3B35B92-8333-4637-B4AA-FA9D9750E784@cosmin.at> 2023-08-02 15:46 ` Cosmin Stejerean 2023-08-03 15:40 ` Michael Niedermayer 2023-08-02 14:20 ` Michael Niedermayer 2023-08-02 14:44 ` Jean-Baptiste Kempf 2023-08-03 17:45 ` Michael Niedermayer 2023-08-03 18:24 ` Kieran Kunhya 2023-08-03 19:25 ` Michael Niedermayer 2023-08-03 20:04 ` Kieran Kunhya 2023-08-04 17:09 ` Michael Niedermayer 2023-08-04 17:35 ` Nicolas George 2023-08-04 23:17 ` Kieran Kunhya 2023-08-05 18:55 ` Michael Niedermayer 2023-08-05 19:17 ` Paul B Mahol 2023-08-05 23:32 ` Vittorio Giovara 2023-08-06 8:28 ` Tomas Härdin 2023-08-06 19:53 ` Michael Niedermayer 2023-08-07 15:39 ` Rémi Denis-Courmont 2023-08-08 15:22 ` Michael Niedermayer 2023-08-08 15:37 ` Paul B Mahol 2023-08-08 18:53 ` Rémi Denis-Courmont 2023-08-09 15:59 ` Michael Niedermayer 2023-08-09 16:24 ` Paul B Mahol 2023-08-10 12:39 ` Nicolas George 2023-08-10 14:58 ` Vittorio Giovara 2023-08-12 17:12 ` Michael Niedermayer 2023-08-10 15:01 ` James Almer 2023-08-10 15:43 ` Jean-Baptiste Kempf 2023-08-10 18:39 ` Tomas Härdin 2023-08-03 11:38 ` Tomas Härdin 2023-08-03 13:29 ` Nicolas George 2023-07-25 12:02 ` [FFmpeg-devel] [PATCH 5/6] fftools: avradio support Tomas Härdin 2023-07-22 19:29 ` [FFmpeg-devel] [PATCH 6/6] tools/uncoded_frame: " Michael Niedermayer
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230722192957.703-1-michael@niedermayer.cc \ --to=michael@niedermayer.cc \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git