Calvin Walton
08909fb56b
Add Win32 GDI-based screen grabbing
...
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>
11 years ago
Thilo Borgmann
4654774aaf
lavd/qtkit: Support choosing the input device by index or by name.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
rogerdpack
0cc8a62a78
dshow: fixup some COM objects, based on patches from Don Moir
...
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Thilo Borgmann
d5c0036d4a
lavd/qtkit: Fix non-constant initializer element for some clang compilers.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Vadim Kalinsky
234f0bcb0c
lavd: Add QTKit input device.
...
Signed-off-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
3937b40e87
lavd/pulse_audio_enc: implement get_device_list callback
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
255cf03af8
lavd/pulse_audio_dec: implement get_device_list callback
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
85ed32d2ed
lavd/pulse_audio_common: add device detecting code
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
27256e69ab
lavd/pulse_audio_enc: implement write_uncoded_frame callback
...
Provided implementation doesn't support planar formats yet.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
rogerdpack
773eb74bab
dshow: show device name when outputting buffer overflow log message
...
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
rogerdpack
10056bc964
dshow: log error and continue if unable to set audio buffer
...
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
rogerdpack
6abc56e892
dshow: use distinct buffers per stream.
...
Basically sometimes if you start dropping video packets, you also drop audio packets. Now they each have separate buffers to avoid this unexpected behavior.
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Don Moir
24e2a82f75
Make 32bit RGB dshow input opaque.
11 years ago
Carl Eugen Hoyos
6208bb965d
Set codec_tag in dshow device, needed to distinguish between YUV and YVU.
...
Fixes ticket #3447 .
11 years ago
Nicolas George
c37bbe54f4
lavd/xv: take aspect ratio into account.
11 years ago
James Almer
99b4da73c8
lavd/Makefile: Add fbdev_common.h to SKIPHEADERS
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
2475fdbd04
lavd/avdevice: always free detected devices on error
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Andrey Myznikov
9deecdf85f
Fix pthread-related compile errors in iec61883.c
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
06fed44051
lavd/avdevice: add device iterators
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
f607767d93
lavd: add categories to device implementations
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Carl Eugen Hoyos
5642dd41cc
Add more Bayer colour spaces to the video4linux2 device wrapper.
11 years ago
Peter Ross
dd5abb0bac
avdevice/v4l2: add V4L2_PIX_FMT_SRGGB8
11 years ago
Carl Eugen Hoyos
a88dee8eea
Add decklink_enc.h to SKIPHEADERS.
...
Fixes make checkheaders without decklink headers.
11 years ago
Lukasz Marek
81c3f81d6f
lavd: add list devices API
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
d3cf9b24cf
lavd/opengl_enc_shaders: fix gray* shader
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
1e5cb426c6
lavd/avdevice: add param to create window buffer message
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
db4a704482
lavd/opengl_enc: implement uncoded frame callback
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
db403023c0
lavd/opengl_enc: add gray8/16 formats
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Nicolas George
edc7e67669
lavf/lavd: version bump and APIchanges for uncoded frames.
11 years ago
Nicolas George
d201a0f0f8
lavd/xv: preliminary support of uncoded frame.
11 years ago
Nicolas George
62106fcc23
lavd/alsa: preliminary support of uncoded frame.
11 years ago
Ramiro Polla
5965adeb20
lavd: add decklink output device
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
20fe316e47
lavd/sdl: reset context variables after destroy
...
SDL device reports double free or hangs when quiting.
Reseting variables solves the issue.
The issue is caused by double call of write_trailer callback.
It is called for the first time in write_packet when quit flag is set.
Second call comes from ffmpeg.c or may come from other client application.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
18c3313e65
lavd/sdl: make waiting spurious wakeup aware
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
c81a9d13f4
lavd/opengl_enc: fix parentheses in if condition
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
5059d8dfe3
lavd/opengl_enc: remove inlines
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
69b19f2642
lavd/opengl_enc: fix window caption
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
1fb1ddf647
lavd/opengl_enc: simplify opengl_load_procedures usage
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
c8275331ba
lavd/opengl_enc: factorize deinit_context function
...
This commit also fixes opengl deinitialization.
Program and shaders where not deleted.
Could impact MacOS implementation based on SDL window.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
4afe1c1178
lavd/opengl_enc: factorize create/release window functions
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
c9074b992e
lavd/opengl_enc: rename GL_RED_COMPONENT define
...
Rename GL_RED_COMPONENT into FF_GL_RED_COMPONENT
to explicity mark it is internal define, not OpenGL API.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
c72f916c15
lavd/opengl_enc: create format description table
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
ffe46e5d13
lavd/opengl_enc_shaders: make shaders code static and const
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Michael Niedermayer
0997c2504b
avdevice/v4l2: only use average frame rate if set
...
It might be unset on some platforms with some drivers and some input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
4aa4533ee8
avdevice/v4l2: only use frame period from v4l2 if valid
...
There is evidence that some drivers do not set a valid value
See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718805
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
ded6b3af41
lavd: add opengl device
...
It can render to OpenGL context provided by application or into SDL window
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
102bd64168
lavd: add avdevice_dev_to_app_control_message API
...
New API allows to send messages from devices to application.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Lukasz Marek
7151411b9c
lavd: add avdevice_app_to_dev_control_message API
...
New API allows to send messages from application to devices.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
11 years ago
Federico Simoncelli
b53d6ce3fd
pulse: get latency only when needed
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Federico Simoncelli
b13d6c837f
pulse: set time_base as multiple of sample_rate
...
The stream time_base has been changed to be a multiple of the
device sample_rate. Now the frame_duration computation is simpler
and a message will warn about problematic frame_size values.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago