Commit Graph

1294 Commits

Author SHA1 Message Date
James Almer 3cd616a0c9 avdevice: make ff_reverse available on shared builds
Should fix compilation failures introduced by 9b93795890.
2017-07-20 00:33:29 -03:00
Marton Balint 9b93795890 avdevice/decklink_dec: add support for receiving op47 teletext
v2:
- use uint16_t instead of int to store 10-bit ancillary data
- fix ancillary line numbers for 1080p
- some comments and clarifications as requested by Aaron Levinson

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-07-18 18:28:57 +02:00
Marton Balint cc0916bfc2 avdevice/decklink_dec: add support for decoding teletext from 10bit ancillary data
This also add supports for 4K DeckLink cards because they always output the
ancillary data in 10-bit.

v2:
- only try teletext decoding for 576i PAL mode
- some comments as requested by Aaron Levinson

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-07-18 18:28:57 +02:00
Hendrik Leppkes 9fb293cfd8 Use AVOnce as a static variable consistently
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
2017-05-22 12:36:32 +02:00
Aaron Levinson 7f7ee86d5a avdevice/decklink: fix MSVC build issues
Purpose: Made minor changes to get the decklink avdevice code to build
using Visual C++.

Notes: Made changes to configure per Hendrik Leppkes's review of first
and second versions of patch.  Also made slight alterations per Marton
Balint's reviews.

Comments:

-- configure: Added if enabled decklink section and setting
   decklink_indev_extralibs and decklink_outdev_extralibs here for
   both mingw and Windows.  Also eliminated the setting of these
   variables in the mingw section earlier in the file.

-- libavdevice/decklink_common.cpp: Switched the order of the include
   of libavformat/internal.h to workaround build issues with Visual
   C++.  See comment in file for more details.

-- libavdevice/decklink_dec.cpp:
a) Rearranged the include of libavformat/internal.h (for reasons as
   described above).
b) Made slight alteration to an argument for call to av_rescale_q() to
   workaround a compiler error with Visual C++.  This appears to only
   be an issue when building C++ files with Visual C++.  See comment
   in code for more details.

-- libavdevice/decklink_enc.cpp: Rearranged the include of
   libavformat/internal.h (for reasons as described above).

Signed-off-by: Aaron Levinson <alevinsn@aracnet.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-05-08 22:43:35 +02:00
Takayuki 'January June' Suwa ea93b74074 avdevice/alsa: wait until playback buffers are drained before closing
This fixes early abort on ALSA playback

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-06 23:54:26 +02:00
James Almer 6fdd35a312 Merge commit '92db5083077a8b0f8e1050507671b456fd155125'
* commit '92db5083077a8b0f8e1050507671b456fd155125':
  build: Generate pkg-config files from Make and not from configure
  build: Store library version numbers in .version files

Includes cherry-picked commits 8a34f36593 and
ee164727dd to fix issues.

Changes were also made to retain support for raise_major and build_suffix.

Reviewed-by: ubitux
Merged-by: James Almer <jamrial@gmail.com>
2017-05-04 19:59:30 -03:00
Clément Bœsch 3f17751eeb Merge commit '11a9320de54759340531177c9f2b1e31e6112cc2'
* commit '11a9320de54759340531177c9f2b1e31e6112cc2':
  build: Move build-system-related helper files to a separate subdirectory

"ffbuild" directory name is used instead of "avbuild".

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-03 16:49:12 +02:00
Clément Bœsch a0ffd66caa Merge commit '0fea8555ae25124c21f4c4f55a5fa76e9169aa03'
* commit '0fea8555ae25124c21f4c4f55a5fa76e9169aa03':
  v4l2: use codec descriptors for mapping a codec name to id

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:17:50 +02:00
Muhammad Faiz 8103c59522 avdevice: do not use AVFrame accessor
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-04-23 14:35:08 +07:00
Clément Bœsch 9ae1ffe641 Merge commit '1818a640cfdccd52e97edf13564f45bc3d0d93eb'
* commit '1818a640cfdccd52e97edf13564f45bc3d0d93eb':
  build: Fix dependencies for alsa/jack/sndio support

Added explicit enable (which will be automatically added later on in
ee480790c) to actually fix this commit. Without the explicit enables,
alsa, jack and sndio gets disabled.

Also added jack, alsa and sndio to the have list so the HAVE_* are
populated to make (this fixes the SKIPHEADERS chunks).

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 09:28:34 +02:00
Aaron Levinson 9e86a61870 avdevice/decklink: remove pthread dependency
Purpose: avdevice/decklink: Removed pthread dependency by replacing
semaphore used in code appropriately.  Doing so makes it easier to
build ffmpeg using Visual C++ on Windows.  This is a contination of
Kyle Schwarz's "avdevice/decklink: Remove pthread dependency" patch
that is available at https://patchwork.ffmpeg.org/patch/2654/ .  This
patch wasn't accepted, and as far as I can tell, there was no
follow-up after it was rejected.

Notes: Used Visual Studio 2015 (with update 3) for this.

Comments:

-- configure: Eliminated pthreads dependency for decklink_indev_deps
   and decklink_outdev_deps and replaced with threads dependency

-- libavdevice/decklink_common.cpp / .h:
a) Eliminated semaphore and replaced with a combination of a mutex,
   condition variable, and a counter (frames_buffer_available_spots).
b) Removed include of pthread.h and semaphore.h and now using
   libavutil/thread.h instead.

-- libavdevice/decklink_dec.cpp: Eliminated include of pthread.h and
   semaphore.h.

-- libavdevice/decklink_enc.cpp:
a) Eliminated include of pthread.h and semaphore.h.
b) Replaced use of semaphore with the equivalent using a combination
   of a mutex, condition variable, and a counter
   (frames_buffer_available_spots).  In theory, libavutil/thread.h and
   the associated code could have been modified instead to add
   cross-platform implementations of the sem_ functions, but an
   inspection of the ffmpeg source base indicates that there are only
   two cases in which semaphores are used (including this one that was
   replaced), so it was deemed to not be worth the effort.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-04-15 12:26:21 +02:00
Clément Bœsch a329b822e1 Merge commit '4a1ef543983b7480e2822f6ac281ba361d1f893d'
* commit '4a1ef543983b7480e2822f6ac281ba361d1f893d':
  build: Drop support for old versions of libdc1394

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 14:22:43 +02:00
Michael Niedermayer 22b0daa1b3 Bump versions for master after 3.3
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-02 19:54:12 +02:00
Michael Niedermayer e1cc7f83df Bump minor for 3.3
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-02 19:49:45 +02:00
Michael Niedermayer 58b867a7cf Bump minor versions for master after release/3.3 branchpoint
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-31 13:21:06 +02:00
Michael Niedermayer fc332f3e29 Bump minor versions for staring release/3.3 branch
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-31 13:21:06 +02:00
Clément Bœsch e3287077ec Merge commit '67deba8a416d818f3d95aef0aa916589090396e2'
* commit '67deba8a416d818f3d95aef0aa916589090396e2':
  Use avpriv_report_missing_feature() where appropriate

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-31 10:40:34 +02:00
Marton Balint 77d2cb8874 avdevice/decklink: deprecate @mode syntax in device name to specify mode
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-03-28 22:00:16 +02:00
Marton Balint c395d230b1 avdevice/decklink_enc: convert to std::atomic
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-03-28 22:00:15 +02:00
Clément Bœsch 761bbb06ff Merge commit '2f806622e1270d3ed1d41a53049a19673dafbe70'
* commit '2f806622e1270d3ed1d41a53049a19673dafbe70':
  bktr: Use memset(0) instead of zero initialization for struct sigaction

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-24 12:41:31 +01:00
Clément Bœsch b7336faa39 Merge commit '3a165c187da7d74f46f6c1778294e8c5a3a7151f'
* commit '3a165c187da7d74f46f6c1778294e8c5a3a7151f':
  v4l2: convert to stdatomic

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-22 17:55:18 +01:00
Matthias Hunstock b3a2adaac6 avdevice/decklink: new option 'format_code' to set video format by fourCC
Signed-off-by: Matthias Hunstock <atze@fem.tu-ilmenau.de>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-03-22 02:07:50 +01:00
Matthias Hunstock 607bffbed2 avdevice/decklink: add format_code of display mode to list_format output
Signed-off-by: Matthias Hunstock <atze@fem.tu-ilmenau.de>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-03-22 02:07:47 +01:00
Clément Bœsch b2c5f5054b Merge commit '93fed46a92bab8be176d3e67be4354189a8dbe7f'
* commit '93fed46a92bab8be176d3e67be4354189a8dbe7f':
  timefilter: test: Drop some disabled debug cruft

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 16:08:27 +01:00
Clément Bœsch f6d61eb6f9 Merge commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688'
* commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688':
  x11grab: Rename internal component to "xcbgrab"

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 22:19:56 +01:00
Clément Bœsch 4a9c5f6bc5 Merge commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c'
* commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c':
  Remove the legacy X11 screen grabber

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 22:07:47 +01:00
Muhammad Faiz 776f289c0f avdevice/alldevices: make avdevice_register_all thread safe
use ff_thread_once

Suggested-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-03-07 20:34:44 +07:00
Marton Balint 80b644c6ee avdevice/decklink_dec: remove AVFMT_RAWPICTURE
It has no effect for input devices.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-02-26 22:47:33 +01:00
Marton Balint 418ce91507 avdevice/decklink_enc: convert AVFMT_RAWPICTURE to AV_CODEC_ID_WRAPPED_AVFRAME
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-02-26 22:47:33 +01:00
Marton Balint 48f8ad3290 avdevice/decklink_enc: add support to specify field order
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-02-26 22:47:33 +01:00
Marton Balint e0eb0bdab9 avdevice/decklink_enc: convert to codecpar
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-02-26 22:47:33 +01:00
Carl Eugen Hoyos 6a22d2459d lavd/opengl_enc: Fix a typo. 2017-02-23 00:11:43 +01:00
Carl Eugen Hoyos 2ac381088d lavd/opengl_enc: Support BGR48. 2017-02-22 00:10:25 +01:00
Marton Balint 4556dad2b7 avdevice/iec61883: free packet on buffer allocation error
Fixes Coverity CID 1396416.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-02-19 16:41:43 +01:00
Clément Bœsch b9292a9698 Merge commit '5d0f85f1b2469b60d0838330aabe5353fdd9ef1d'
* commit '5d0f85f1b2469b60d0838330aabe5353fdd9ef1d':
  libdc1394: Fill in packet data directly

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 17:27:46 +01:00
Carl Eugen Hoyos 0b607228bf Cosmetics: Reindent after last commit. 2017-01-25 00:55:36 +01:00
Carl Eugen Hoyos 9d5141d1fb lavd/v4l2: Avoid setting frame_size to a negative value. 2017-01-25 00:54:10 +01:00
Nicolas George 063b1a42c6 lavd/lavfi: use buffersink accessors. 2017-01-12 14:06:16 +01:00
Marton Balint a7946c8964 avdevice/decklink_enc: do not reference this after freeing it
Fixes Coverity CID 1396863.

Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-27 01:11:59 +01:00
Marton Balint 89a1471a72 avdevice/decklink_dec: properly initialize no_video variable
Fixes Coverity CID 1396859.

Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-27 01:11:59 +01:00
Diego Biurrun 92db508307 build: Generate pkg-config files from Make and not from configure
This moves work from the configure to the Make stage where it can
be parallelized and ensures that pkgconfig files are updated when
library versions change.

Bug-Id: 449
2016-12-22 12:30:54 +01:00
Anton Khirnov 0fea8555ae v4l2: use codec descriptors for mapping a codec name to id
This mapping has nothing to do with decoder implementations, so using
decoder names is wrong.
2016-12-19 08:07:15 +01:00
Diego Biurrun 1818a640cf build: Fix dependencies for alsa/jack/sndio support
These components should depend on the availability of the respective
libraries, not just on the availability of the respective headers.
2016-12-09 08:42:34 +01:00
Diego Biurrun 4a1ef54398 build: Drop support for old versions of libdc1394
The libdc1394 API transition was finished close to a decade ago.
2016-12-03 09:15:01 +01:00
Hendrik Leppkes d7d6f9c782 Merge commit '0b1bd1b2057d41fd0ccba7317911c484a50f9207'
* commit '0b1bd1b2057d41fd0ccba7317911c484a50f9207':
  lavd: Drop unneeded av_init_packet()s

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-11-18 10:20:14 +01:00
Diego Biurrun 67deba8a41 Use avpriv_report_missing_feature() where appropriate 2016-11-08 17:54:34 +01:00
Nicolas George 0bd1be65e8 lavd/xcbgrab: do not try to create refcounted packets.
The framework will allocate a buffer and copy the data to it,
that takes time. But it avoids constently creating and
destroyng the shared memory segment, and that saves more time.

On my setup,
from ~200 to ~300 FPS at full screen (1920×1200),
from ~1400 to ~3300 at smaller size (640×480),
similar to legacy x11grab and confirmed by others.

Plus, shared memory segments are a scarce resource,
allocating potentially many is a bad idea.

Note: if the application were to drop all references to the
buffer before the next call to av_read_frame(), then passing
the shared memory segment as a refcounted buffer would be
even more efficient, but it is hard to guarantee, and it does
not happen with the ffmpeg command-line tool. Using a small
number of preallocated buffers and resorting to a copy when
the pool is exhausted would be a solution to get the better
of both worlds.
2016-11-03 21:23:55 +01:00
Michael Niedermayer 1609935b6c Bump minor versions after 3.2 branchpoint to seperate release
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-26 20:52:42 +02:00
Michael Niedermayer 3f3025205f Bump minor versions for 3.2
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-26 20:52:42 +02:00