summaryrefslogtreecommitdiff
path: root/libavdevice
Commit message (Collapse)AuthorAge
* avdevice/lavfi: av_malloc -> av_malloc_arrayLimin Wang2020-09-21
| | | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/lavfi: unref the frame on failureLimin Wang2020-09-21
| | | | | Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/lavfi: fix FIXME and check a/v type by codec_typeLimin Wang2020-09-21
| | | | | Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink_dec: fix build with older SDKMarton Balint2020-09-15
| | | | | | | | | Apparently bmdFormatUnspecified needs SDK 11.0. It is just a fancy way of checking for zero, so let's do that instead. Fixes build issue since f1b908d20a8. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: add support for querying RP188 High Frame Rate timecodeMarton Balint2020-09-13
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: add support for rgb/yuv pixel format autodetectionMarton Balint2020-09-13
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: use decklink_ctx->raw_format as bmdPixelFormatMarton Balint2020-09-13
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_common.h: remove unsupported decklink version ifdefMarton Balint2020-09-13
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/lavfi: Remove redundant av_packet_unref()Andreas Rheinhardt2020-09-06
| | | | | | | | | Since bae8844e35147f92e612a9e0b44e939a293e5bc9, the AVPacket that is intended to be used to return the demuxed packet is automatically unreferenced when the demuxer returns an error. This makes an av_packet_unref() in the lavfi demuxer redundant. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avdevice/lavfi: Use av_packet_pack_dictionary() to pack dictionaryAndreas Rheinhardt2020-09-06
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avdevice/lavfi: Don't set pkt->size to the value it already hasAndreas Rheinhardt2020-09-01
| | | | | | | | | | av_new_packet() already sets the size. And if the packet is not allocated by av_new_packet() (which seems to be impossible atm), both pkt->size as well as size are 0, so setting it again is unnecessary in this scenario, too. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avdevice/lavfi: Don't reimplement av_frame_get_side_data()Andreas Rheinhardt2020-09-01
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avdevice/lavfi: Use av_packet_move_ref() for packet ownership transferAndreas Rheinhardt2020-09-01
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avdevice/xcbgrab: check return values of xcb query functionsMoritz Barsnick2020-08-15
| | | | | | | | | | | | Fixes #7312, segmentation fault on close of X11 server xcb_query_pointer_reply() and xcb_get_geometry_reply() can return NULL if e.g. the X server closes or the connection is lost. This needs to be checked in order to cleanly exit, because the returned pointers are dereferenced later. Signed-off-by: Moritz Barsnick <barsnick@gmx.net> Reviewed-by: Andriy Gelman <andriy.gelman@gmail.com>
* kmsgrab: Add more supported formatsMark Thompson2020-08-09
| | | | | | | X2RGB10 tested on both Intel Gen9 and AMD Polaris 11. NV12 tested on Intel Gen9 only - since it has multiple planes, this requires GetFB2. Also add some comments to split the list up a bit.
* kmsgrab: Don't require the user to set framebuffer formatMark Thompson2020-08-09
| | | | | This is provided by GetFB2, but we still need the option for cases where that isn't available.
* kmsgrab: Use GetFB2 if availableMark Thompson2020-08-09
| | | | | | | | | | | | The most useful feature here is the ability to automatically extract the framebuffer format and modifiers. It also makes support for multi-plane framebuffers possible, though none are added to the format table in this patch. This requires libdrm 2.4.101 (from April 2020) to build, so it includes a configure check to allow compatibility with existing distributions. Even with libdrm support, it still won't do anything at runtime if you are running Linux < 5.7 (before June 2020).
* kmsgrab: Refactor and clean error casesMark Thompson2020-08-09
|
* avdevice/decklink_dec: export timecode with s12m side dataLimin Wang2020-07-15
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink_dec: add support for extracting and outputing klv from vancMilos Zivkovic2020-07-03
| | | | | Signed-off-by: Milos Zivkovic <zivkovic@teralogics.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* lavdevice: Add AudioToolbox output device.Thilo Borgmann2020-06-15
|
* Bump minor versions after branching 4.3Michael Niedermayer2020-06-08
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions to separate 4.3 from masterMichael Niedermayer2020-06-08
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avdevice/v4l2enc: Allow writing non-rawvideos to v4l2.David Manouchehri2020-05-09
| | | | Signed-off-by: David Manouchehri <david.manouchehri@riseup.net>
* avfoundation: Fix building on iOSMartin Storsjö2020-04-30
| | | | | | | | | | | | Apparently the changes from 3c9185bf3a83395d12a987f626dbdb985eac4320 aren't enough; even with that in place, I got errors like this when trying to build for iOS: src/libavdevice/avfoundation.m:135:5: error: 'AVCaptureDeviceTransportControlsPlaybackMode' is unavailable: not available on iOS AVCaptureDeviceTransportControlsPlaybackMode observed_mode; ^
* lavd/avfoundation.m: Do not use transport controls for screen capture devices.Thilo Borgmann2020-04-22
|
* lavd/avfoundation.m: Remove transport controls for iOS.Thilo Borgmann2020-04-22
|
* avdevice/opengl: add support of wrapped avframe codecMarton Balint2020-04-16
| | | | | | Also change the default to that. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/xv: add support of wrapped avframe codecMarton Balint2020-04-16
| | | | | | Also change the default to that. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: increase autodetect timeout to 3 secMarton Balint2020-04-04
| | | | | | 1 sec might not be enough for the cards to detect the format... Signed-off-by: Marton Balint <cus@passwd.hu>
* remove CHAR_MIN/CHAR_MAX usagePaul B Mahol2020-03-17
| | | | It is not needed at all.
* lavd/avfoundation: Add basic transport control observation for capable devices.Thilo Borgmann2020-03-16
|
* avdevice/decklink: add support for SDK version 11.5Marton Balint2020-02-26
| | | | | | Fixes ticket #8534. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: fix stopping streams in read_closeMarton Balint2020-02-26
| | | | | | | The capture_started variable was never set, it is simpler to call the stop functions unconditionally if the interface is available. Signed-off-by: Marton Balint <cus@passwd.hu>
* lavd/opengl_enc: check strings before parsing them.Nicolas George2020-02-20
| | | | | Fix a segfault if OpenGL was not initialized before calling write_header().
* lavd/opengl_enc: use proper context for logging.Nicolas George2020-02-20
| | | | Log as [opengl @ 0xaddress] instead of [opengl outdev @ 0xaddress].
* lavd/avfoundation.m: Add an option to drop late frames.Thilo Borgmann2020-02-07
| | | | Retains current behaviour by the default value.
* avdevice/xcbgrab: check if frame size fits in INT_MAXMarton Balint2020-01-24
| | | | | | Also fixes a possible overflow and sets stream bitrate. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/xcbgrab: move some initialization code from ↵Marton Balint2020-01-24
| | | | | | pixfmt_from_pixmap_format to create_stream Signed-off-by: Marton Balint <cus@passwd.hu>
* Silence "string-plus-int" warning shown by clang.Carl Eugen Hoyos2020-01-06
| | | | libswscale/utils.c:89:42: warning: adding 'unsigned long' to a string does not append to the string [-Wstring-plus-int]
* avdevice/decklink: deprecate the -list_devices optionMarton Balint2020-01-03
| | | | | | The user should use ffmpeg -sources decklink or ffmpeg -sinks decklink instead. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: remove -bm_v210 optionMarton Balint2020-01-03
| | | | | | Deprecated since Sep 28, 2017. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: remove the @mode syntaxMarton Balint2020-01-03
| | | | | | Deprecated since March 28, 2017. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/xcbgrab: capture the full desktop if video_size is not specifiedMarton Balint2019-12-30
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/xcbgrab: fix packet timestampsMarton Balint2019-12-30
| | | | | | | Since 648b8cca6c56a4fa1760efc72dfe1363a5c6e31e and c991e9cd91845044e93a9c89dd25b48ae707461b timestamps were not set properly. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/xcbgrab: use a buffer pool for shared memory segmentsMarton Balint2019-12-26
| | | | | | | Also by wrapping the SHM buffer in an AVBufferRef we eliminate yet another possible memcpy improving performance. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/xcbgrab: wrap non-shm image replies in a buffer refMarton Balint2019-12-06
| | | | | | This avoids a memcpy improving performance if SHM is not used. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/xcbgrab: Handle reply and error properlyKusanagi Kouichi2019-12-03
| | | | | | | Fix a NULL dereference and leaks. Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp> Signed-off-by: Marton Balint <cus@passwd.hu>
* libavdevice/lavfi: check avfilter_graph_dump return valueZhao Zhili2019-11-29
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avdevice/decklink: add option to drop frames till timecode is seenGyan Doshi2019-11-18
| | | | Option wait_for_tc only takes effect if tc_format is set