summaryrefslogtreecommitdiff
path: root/libavdevice/alldevices.c
Commit message (Collapse)AuthorAge
* avdevice/alldevices: Mark iterators as av_coldAndreas Rheinhardt2024-03-17
| | | | | | Because they are. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avdevice/alldevices: Mark devices as hiddenAndreas Rheinhardt2024-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both GCC and Clang create code that inlines the loops in next_input() and next_output() at high optimization levels (presumably when there are not too many devices) and this code leads to the creation of .got entries: e7: 48 3b 3d 00 00 00 00 cmp 0x0(%rip),%rdi # ee <av_input_video_device_next+0xe> ea: R_X86_64_REX_GOTPCRELX ff_alsa_demuxer-0x4 ee: 74 43 je 133 <av_input_video_device_next+0x53> f0: 48 3b 3d 00 00 00 00 cmp 0x0(%rip),%rdi # f7 <av_input_video_device_next+0x17> f3: R_X86_64_REX_GOTPCRELX ff_fbdev_demuxer-0x4 f7: 74 41 je 13a <av_input_video_device_next+0x5a> These relocations can't be fixed up lateron when it is known that the symbols exist in the same DSO. This commit therefore marks these symbols as hidden, leading to code like this: f7: 48 8d 05 00 00 00 00 lea 0x0(%rip),%rax # fe <av_input_video_device_next+0xe> fa: R_X86_64_PC32 ff_alsa_demuxer-0x4 fe: 48 39 c7 cmp %rax,%rdi 101: 74 55 je 158 <av_input_video_device_next+0x68> 103: 48 8d 05 00 00 00 00 lea 0x0(%rip),%rax # 10a <av_input_video_device_next+0x1a> 106: R_X86_64_PC32 ff_fbdev_demuxer-0x4 10a: 48 39 c7 cmp %rax,%rdi 10d: 74 50 je 15f <av_input_video_device_next+0x6f> (Note: It is actually strange that the compiler creates code that tries to read the addresses from the .got given that the addresses can be read directly from indev_list/outdev_list.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avformat: Add FFInputFormat, hide internals of AVInputFormatAndreas Rheinhardt2024-03-07
| | | | | | | | | | | | | | | | | | | | | This commit does for AVInputFormat what commit 59c9dc82f450638a3068deeb1db5c56f6d155752 did for AVOutputFormat: It adds a new type FFInputFormat, moves all the internals of AVInputFormat to it and adds a now reduced AVInputFormat as first member. This does not affect/improve extensibility of both public or private fields for demuxers (it is still a mess due to lavd). This is possible since 50f34172e0cca2cabc5836308ec66dbf93f5f2a3 (which removed the last usage of an internal field of AVInputFormat in fftools). (Hint: tools/probetest.c accesses the internals of FFInputFormat as well, but given that it is a testing tool this is not considered a problem.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/avformat: Move AVOutputFormat internals out of public headerAndreas Rheinhardt2023-02-09
| | | | | | | | | | | | | | This commit does for AVOutputFormat what commit 20f972701806be20a77f808db332d9489343bb78 did for AVCodec: It adds a new type FFOutputFormat, moves all the internals of AVOutputFormat to it and adds a now reduced AVOutputFormat as first member. This does not affect/improve extensibility of both public or private fields for muxers (it is still a mess due to lavd). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* configure, avcodec/Makefile: Add new mpeg4audio CONFIG_EXTRA groupAndreas Rheinhardt2022-01-04
| | | | | | | | | | | | | | | This group is mainly for the users of *_mpeg4audio_get_config2(); it is not for those who only use avpriv_mpeg4audio_sample_rates. This is in preparation for splitting the latter into a file of its own; if there were no CONFIG_EXTRA group for *_mpeg4audio_get_config2() users, one would have to add a dependency to the new file for all these users on top of the existing dependency on mpeg4audio.o. Adding a new CONFIG_EXTRA group only takes effect after a reconfigure; so in order to force a reconfigure some unnecessary headers from libavdevice/alldevices.c have been removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avdevice: Constify all devicesAndreas Rheinhardt2021-04-27
| | | | | | | This is possible now that the next-API is gone. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice/avdevice: Constify av_*_device_next APIAndreas Rheinhardt2021-04-27
| | | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice/alldevices: stop using deprecated linked list APIJames Almer2020-10-19
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* lavdevice: Add AudioToolbox output device.Thilo Borgmann2020-06-15
|
* lavd: Remove libndi_newtekCarl Eugen Hoyos2019-03-20
|
* lavf: move avpriv function definition to internal.hJosh de Kock2018-04-02
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* lavd: remove linked listsJosh de Kock2018-03-31
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* Revert "lavd: add new API for iterating input and output devices"Josh de Kock2018-03-31
| | | | | | | | | | This reverts commit 0fd475704e871ef3a535947596a012894bae3cbd. Revert "lavd: fix iterating of input and output devices" This reverts commit ce1d77a5e7cebce11074bf6f9e38ad6da37338ff. Signed-off-by: Josh de Kock <josh@itanimul.li>
* lavd: fix iterating of input and output devicesFelix Matouschek2018-03-18
| | | | | | | | In the previous implementation the first input or output device was skipped when device_next was called with prev = NULL Signed-off-by: Felix Matouschek <felix@matouschek.org> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avdevice: add android_camera indevFelix Matouschek2018-02-22
| | | | | | | | This commit adds an indev for Android devices on API level 24+ which uses the Android NDK Camera2 API to capture video from builtin cameras Signed-off-by: Felix Matouschek <felix@matouschek.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavd: add new API for iterating input and output devicesJosh de Kock2018-02-06
| | | | | This also adds an avpriv function to register devices in libavformat
* lavd: remove deprecated dv1394 deviceJosh de Kock2017-09-27
| | | | | | | Support for this device has been removed in kernel since v2.6.37. dv1394 has been superseded by libiec61883 which is functionally equivalent. Signed-off-by: Josh de Kock <josh@itanimul.li> Signed-off-by: wm4 <nfxjfg@googlemail.com>
* lavd: Add KMS screen grabberMark Thompson2017-09-13
|
* lavd: drop QTKit indevClément Bœsch2017-09-04
| | | | | | | QTKit has been deprecated in favor of AVFoundation for years, and we have an avfoundation input device. See https://developer.apple.com/documentation/qtkit
* lavd: drop disabled v4l codeClément Bœsch2017-09-03
| | | | | This code is disabled since 2012. V4L1 was dropped from the kernel more than 10 years ago.
* lavd: implement NewTek NDI input/output device supportMaksym Veremeyenko2017-08-27
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* Use AVOnce as a static variable consistentlyHendrik Leppkes2017-05-22
| | | | | | | Using AVOnce as a stack variable makes no sense as the state is lost when the function exits. This fixes repeated calls to av(filter/device)_register_all
* Merge commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688'Clément Bœsch2017-03-15
|\ | | | | | | | | | | | | * commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688': x11grab: Rename internal component to "xcbgrab" Merged-by: Clément Bœsch <u@pkh.me>
| * x11grab: Rename internal component to "xcbgrab"Diego Biurrun2016-07-29
| |
* | Merge commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c'Clément Bœsch2017-03-15
|\| | | | | | | | | | | | | * commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c': Remove the legacy X11 screen grabber Merged-by: Clément Bœsch <u@pkh.me>
| * Remove the legacy X11 screen grabberDiego Biurrun2016-07-29
| | | | | | | | The XCB screen grabber is a drop-in replacement and not under GPL.
| * avfoundation: Simple captureAlexandre Lision2015-11-26
| | | | | | | | | | | | | | Originally based on the capture written by Thilo Borgmann <thilo.borgmann@mail.de>. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avdevice/alldevices: make avdevice_register_all thread safeMuhammad Faiz2017-03-07
| | | | | | | | | | | | | | use ff_thread_once Suggested-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* | lavd: drop SDL1 device and SDL1 supportJosh de Kock2016-09-24
| | | | | | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* | lavd: Add SDL2 output deviceJosh de Kock2016-09-24
| | | | | | | | | | Acked-by: Michael Niedermayer Signed-off-by: Josh de Kock <josh@itanimul.li>
* | Merge commit 'a6674d2e7771dbf7a4a5556f5e126be83cadac96'Michael Niedermayer2014-10-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a6674d2e7771dbf7a4a5556f5e126be83cadac96': xcbgrab: XCB-based screen capture Conflicts: Changelog configure libavdevice/Makefile libavdevice/alldevices.c libavdevice/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * xcbgrab: XCB-based screen captureLuca Barbato2014-10-26
| | | | | | | | Matches the x11grab screen capture by features.
* | avdevice: add decklink input supportDeti Fliegl2014-09-22
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add AVFoundation input device.Thilo Borgmann2014-04-11
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add Win32 GDI-based screen grabbingCalvin Walton2014-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on original code by Christophe Gisquet in 2010, updated to work with current ffmpeg APIs. Supports grabbing a single window or an area of the screen, including support for multiple monitors (Windows does funky stuff with negative coordinates here). I've moved most of the configuration to AVOptions; the input file name is now only the string "desktop", or "title=<windowname>" to select a single window. The AVOptions are the same as x11grab where possible. Code has been added to support a "show_region" mode, like x11grab, which will draw a rectangle on the screen around the area being captured. Instead of duplicating code for paletted image handling, I make use of the GDI API's ability to output DIB (BMP) images, which can be run through ffmpeg's existing BMP decoder. Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd: Add QTKit input device.Vadim Kalinsky2014-03-30
| | | | | | | | | | Signed-off-by: Thilo Borgmann <thilo.borgmann@mail.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd: add decklink output deviceRamiro Polla2014-02-09
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd: add opengl deviceLukasz Marek2014-01-27
| | | | | | | | | | | | It can render to OpenGL context provided by application or into SDL window Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
* | lavd: add fbdev output deviceLukasz Marek2013-10-24
| | | | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com> Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* | lavd: pulse audio encoderLukasz Marek2013-10-08
| | | | | | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com> Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavd: add xv output deviceStefano Sabatini2013-05-30
| | | | | | | | | | | | | | | | Based on the work of Jeff Moguillansky <Jeff.Moguillansky@am.sony.com>. See thread: Subject: [FFmpeg-devel] x11 output device for libavdevice Date: Wed, 10 Apr 2013 23:10:47 +0000
* | lavd: add v4l2 outdev.Clément Bœsch2013-05-20
| |
* | Merge commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8'Michael Niedermayer2013-01-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8': aviobuf: Partial support for reading in read/write contexts build: Avoid detecting bogus components named 'x' Conflicts: libavcodec/allcodecs.c libavdevice/alldevices.c libavformat/allformats.c libavformat/aviobuf.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * build: Avoid detecting bogus components named 'x'Clément Bœsch2013-01-03
| | | | | | | | | | | | | | | | | | | | The function find_things() in configure is confused by component registration calls as part of multiline macros defining combined component registration. Coalesce those macros into one line to work around the issue. Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge back some registering macros in all*.c.Clément Bœsch2012-12-30
| | | | | | | | | | | | | | This breaks the sed in configure:find_things(). Fixes regression from c73c87b. Fixes Ticket2079. Found-by: jamal
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-12-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: cosmetics: Prettyprint codec/format/filter registration files Conflicts: libavcodec/allcodecs.c libavdevice/alldevices.c libavfilter/allfilters.c libavformat/allformats.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Prettyprint codec/format/filter registration filesDiego Biurrun2012-12-28
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (35 commits) h264_idct_10bit: port x86 assembly to cpuflags. x86inc: clip num_args to 7 on x86-32. x86inc: sync to latest version from x264. fft: rename "z" to "zc" to prevent name collision. wv: return meaningful error codes. wv: return AVERROR_EOF on EOF, not EIO. mp3dec: forward errors for av_get_packet(). mp3dec: remove a pointless local variable. mp3dec: remove commented out cruft. lavfi: bump minor to mark stabilizing the ABI. FATE: add tests for yadif. FATE: add a test for delogo video filter. FATE: add a test for amix audio filter. audiogen: allow specifying random seed as a commandline parameter. vc1dec: Override invalid macroblock quantizer vc1: avoid reading beyond the last line in vc1_draw_sprites() vc1dec: check that coded slice positions and interlacing match. vc1dec: Do not ignore ff_vc1_parse_frame_header_adv return value configure: Move parts that should not be user-selectable to CONFIG_EXTRA lavf: remove commented out cruft in avformat_find_stream_info() ... Conflicts: Makefile configure libavcodec/vc1dec.c libavcodec/x86/h264_deblock.asm libavcodec/x86/h264_deblock_10bit.asm libavcodec/x86/h264dsp_mmx.c libavfilter/version.h libavformat/mp3dec.c libavformat/utils.c libavformat/wv.c libavutil/x86/x86inc.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x11grab: cosmetics: consistent naming for x11grab-related thingsDiego Biurrun2012-07-28
| |
* | libcaca output devicePaul B Mahol2012-07-21
| |