Commit Graph

1100 Commits

Author SHA1 Message Date
Michael Niedermayer
68c3e6025f Fix convertion typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 00:09:08 +02:00
Lukasz Marek
4930e529bf lavd/fbdev_enc: fix not closed handles
Fixes CID 1206651

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 16:36:29 +02:00
Michael Niedermayer
31f2357fd0 avdevice/qtkit: fix include
Fixes: Ticket 3588

Found-by: jeremyhu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-24 05:12:07 +02:00
Michael Niedermayer
0bfb1e9238 avdevice/jack_audio: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-23 21:13:31 +02:00
Reimar Döffinger
8cbf0827e1 Various small spelling fixes.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-22 20:44:31 +02:00
Lukasz Marek
de705e52d4 lavd/xv: implement repaint message
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Lukasz Marek
9fcdfac894 lavd/xv: add window id param
Device is able to use existing window, that can be a
part of existing GUI - instead of newly created one.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Lukasz Marek
5053897b6a lavd/xv: keep aspect ratio
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-19 02:18:45 +02:00
Michael Niedermayer
a614f892a6 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  lavd/pulse_audio_enc: implement pause messages
  lavd/pulse_audio_enc: implement volume messages
  lavd/avdevice: add volume messages
  lavd/pulse_audio_enc: add buffer fullness messages
  lavd/pulse_audio_enc: add nonblocking mode
  lavd/pulse_audio_enc: replace simple API with async API
  lavd/pulse_audio_enc: cosmetics
  lavd/pulse_audio_common: add context helper functions
  lavd/pulse_audio_common: rename variables and enums

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 04:57:23 +02:00
Lukasz Marek
35bf7a491e lavd/pulse_audio_enc: implement pause messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:56 +02:00
Lukasz Marek
eb9136a7d6 lavd/pulse_audio_enc: implement volume messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:56 +02:00
Lukasz Marek
4c0f36412a lavd/avdevice: add volume messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:56 +02:00
Lukasz Marek
cef1180329 lavd/pulse_audio_enc: add buffer fullness messages
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 02:15:50 +02:00
Lukasz Marek
bc31a57902 lavd/pulse_audio_enc: add nonblocking mode
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:18 +02:00
Lukasz Marek
eb9dee2d0d lavd/pulse_audio_enc: replace simple API with async API
Async API allows to use full capabilites of PulseAudio.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:18 +02:00
Lukasz Marek
10627e7e10 lavd/pulse_audio_enc: cosmetics 2014-04-18 01:42:17 +02:00
Lukasz Marek
176046d2b5 lavd/pulse_audio_common: add context helper functions
Functions allow to connect and disconnect from server.
Helpfull to implement utility functions with nested loops.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:17 +02:00
Lukasz Marek
24e5f5cd3e lavd/pulse_audio_common: rename variables and enums
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-18 01:42:17 +02:00
Matt Oliver
27f184ef40 Fix OpenGL device compilation with msvc gl.h
Reveiwed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 18:05:40 +02:00
Lukasz Marek
88c4e5a049 lavd/avdevice: fix buildbreak when included to C++ code
class is reserved keyword in C++ and compilator complains about that variable.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 04:59:35 +02:00
Lukasz Marek
defb87eef4 lavd/qtkit: add device category
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-12 19:50:09 +02:00
Lukasz Marek
afc898e7ce lavd/fbdev_enc: implement get_device_list
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-12 19:47:58 +02:00
Lukasz Marek
c1c3c3611e lavd: no default device unless explicitly set
AVDeviceInfoList was allocated with first device set as default
even though there is no device after allocation.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-12 19:14:57 +02:00
Thilo Borgmann
d2417061ef Add AVFoundation input device.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-11 17:51:33 +02:00
Lukasz Marek
c02e3dca2d lavd: add control message enums
Adds messages that allows to control (audio) buffer and play/pause state.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-04-11 15:37:56 +02:00
Lukasz Marek
6db42a2b6b lavd: add device capabilities API
Provides API to query device capabilities.
Each device must implement callbacks to benefit from this API.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-04-11 15:37:43 +02:00
Reimar Döffinger
57d10a28f4 pulseaudio: move NULL check up before dereference.
Fixes CID 1197068.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-04-06 19:38:51 +02:00
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>
2014-04-03 00:41:45 +02:00
Thilo Borgmann
4654774aaf lavd/qtkit: Support choosing the input device by index or by name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 22:40:32 +02:00
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>
2014-03-31 23:11:35 +02:00
Thilo Borgmann
d5c0036d4a lavd/qtkit: Fix non-constant initializer element for some clang compilers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 22:21:07 +02:00
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>
2014-03-30 20:45:07 +02:00
Lukasz Marek
3937b40e87 lavd/pulse_audio_enc: implement get_device_list callback
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:54:16 +01:00
Lukasz Marek
255cf03af8 lavd/pulse_audio_dec: implement get_device_list callback
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:54:09 +01:00
Lukasz Marek
85ed32d2ed lavd/pulse_audio_common: add device detecting code
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-29 09:48:56 +01:00
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>
2014-03-29 09:26:10 +01:00
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>
2014-03-28 00:22:55 +01:00
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>
2014-03-25 17:32:39 +01:00
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>
2014-03-22 03:46:10 +01:00
Michael Niedermayer
b28c371567 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/concatdec: reindent after last commit.
  lavf/concatdec: more reliable test for absolute URLs.
  lavf: add subfile protocol.
  lavfi/af_atempo: clear references before returning error.
  lavd/xv: take aspect ratio into account.
  lavc/pthread: copy packet side data.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-08 15:00:36 +01:00
Don Moir
24e2a82f75 Make 32bit RGB dshow input opaque. 2014-03-08 13:46:05 +01:00
Carl Eugen Hoyos
6208bb965d Set codec_tag in dshow device, needed to distinguish between YUV and YVU.
Fixes ticket #3447.
2014-03-08 13:42:47 +01:00
Nicolas George
c37bbe54f4 lavd/xv: take aspect ratio into account. 2014-03-08 12:29:32 +01:00
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>
2014-03-06 15:42:15 +01:00
Lukasz Marek
2475fdbd04 lavd/avdevice: always free detected devices on error
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-06 00:34:50 +01:00
Andrey Myznikov
9deecdf85f Fix pthread-related compile errors in iec61883.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 22:19:33 +01:00
Lukasz Marek
06fed44051 lavd/avdevice: add device iterators
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-03 23:39:07 +01:00
Lukasz Marek
f607767d93 lavd: add categories to device implementations
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-03-03 23:34:46 +01:00
Carl Eugen Hoyos
5642dd41cc Add more Bayer colour spaces to the video4linux2 device wrapper. 2014-02-23 13:42:41 +01:00
Peter Ross
dd5abb0bac avdevice/v4l2: add V4L2_PIX_FMT_SRGGB8 2014-02-23 13:42:41 +01:00
Carl Eugen Hoyos
a88dee8eea Add decklink_enc.h to SKIPHEADERS.
Fixes make checkheaders without decklink headers.
2014-02-19 19:55:14 +01:00
Lukasz Marek
81c3f81d6f lavd: add list devices API
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-16 20:07:08 +01:00
Lukasz Marek
d3cf9b24cf lavd/opengl_enc_shaders: fix gray* shader
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-16 19:56:53 +01:00
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>
2014-02-14 05:13:33 +01:00
Lukasz Marek
db4a704482 lavd/opengl_enc: implement uncoded frame callback
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-13 23:33:05 +01:00
Lukasz Marek
db403023c0 lavd/opengl_enc: add gray8/16 formats
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-13 23:33:05 +01:00
Nicolas George
edc7e67669 lavf/lavd: version bump and APIchanges for uncoded frames. 2014-02-11 10:34:32 +01:00
Nicolas George
d201a0f0f8 lavd/xv: preliminary support of uncoded frame. 2014-02-11 10:29:02 +01:00
Nicolas George
62106fcc23 lavd/alsa: preliminary support of uncoded frame. 2014-02-11 10:29:02 +01:00
Ramiro Polla
5965adeb20 lavd: add decklink output device
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-09 17:15:19 +01:00
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>
2014-02-08 12:27:00 +01:00
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>
2014-02-08 12:27:00 +01:00
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>
2014-02-02 22:14:34 +01:00
Lukasz Marek
5059d8dfe3 lavd/opengl_enc: remove inlines
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-02 02:26:02 +01:00
Lukasz Marek
69b19f2642 lavd/opengl_enc: fix window caption
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-02 02:23:25 +01:00
Lukasz Marek
1fb1ddf647 lavd/opengl_enc: simplify opengl_load_procedures usage
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-02 02:23:25 +01:00
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>
2014-02-02 02:23:25 +01:00
Lukasz Marek
4afe1c1178 lavd/opengl_enc: factorize create/release window functions
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-02 02:23:25 +01:00
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>
2014-02-02 02:23:08 +01:00
Lukasz Marek
c72f916c15 lavd/opengl_enc: create format description table
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-02 01:03:45 +01:00
Lukasz Marek
ffe46e5d13 lavd/opengl_enc_shaders: make shaders code static and const
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-02-02 00:50:44 +01:00
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>
2014-02-02 00:15:11 +01:00
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>
2014-02-02 00:13:01 +01:00
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>
2014-01-27 15:18:18 +01:00
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>
2014-01-27 15:18:17 +01:00
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>
2014-01-27 15:18:17 +01:00
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>
2014-01-05 18:44:18 +01:00
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>
2014-01-05 18:44:06 +01:00
Federico Simoncelli
b1ad931233 v4l2: setting device parameters early
Setting the v4l2 device parameters may influence video properties
such as width, height and pixel format.
This patch moves v4l2_set_parameters to be executed before fetching
the video properties, avoiding errors such as (pal vs ntsc):

 The v4l2 frame is 829440 bytes, but 691200 bytes are expected

Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-05 14:02:06 +01:00
Nicolas George
fde219cfa8 lavd/xv: report if no adaptor present. 2013-12-29 19:51:42 +01:00
Michael Niedermayer
25b243759c Merge commit 'b83d1ee3b41cfe8357836e2582104db2f3364cb0'
* commit 'b83d1ee3b41cfe8357836e2582104db2f3364cb0':
  avutil: Move library version related macros to version.h

Conflicts:
	libavcodec/version.h
	libavresample/version.h
	libavutil/avutil.h
	libavutil/utils.c

See: 183117fed7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-27 12:01:23 +01:00
Diego Biurrun
b83d1ee3b4 avutil: Move library version related macros to version.h
This is a more sensible place for these macros.
2013-12-26 19:05:22 +01:00
Stefano Sabatini
3b8c7da7a3 lavu,lavfi,lavd: do not hardcode AV_PIX_FMT_NB value when setting pixel format max value
The constant may change in libavutil but the library may be compiled
against an older version, thus rejecting a value which is otherwise
supported by the new libavutil.

INT_MAX is used here to denote the max allowed value for a pixel format.

The opt-test code is changed to provide a valid reference example.
2013-12-26 11:35:27 +01:00
Michael Niedermayer
8e702bd3a8 Merge commit 'd64341e498fa46c6cf4c23d408177d7489559654'
* commit 'd64341e498fa46c6cf4c23d408177d7489559654':
  configure: Prefix libc-related variables with "libc_"

Conflicts:
	libavdevice/Makefile
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 20:52:14 +01:00
Diego Biurrun
d64341e498 configure: Prefix libc-related variables with "libc_"
Simplifies host/target libc detection splitting.
2013-12-09 11:47:43 +01:00
Lukasz Marek
fa3bfeb1c1 lavd/fbdev_enc: add default device
Use device specified by environment variable FRAMEBUFFER or /dev/fb0 as default.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-12-06 19:15:47 +01:00
James Almer
56572787ae Add Windows resource file support for shared libraries
Originally written by James Almer <jamrial@gmail.com>

With the following contributions by Timothy Gu <timothygu99@gmail.com>

* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
  file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.

[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 23:42:07 +01:00
Anton Khirnov
089fac77a6 alsa-audio-dec: explicitly cast the delay to a signed int64
Otherwise the expression will be evaluated as unsigned, which will break
when the result should be negative.
CC:libav-stable@libav.org
2013-12-03 12:04:26 +01:00
Lukasz Marek
3aaa50a997 lavd/pulse_audio_enc: add buffer size control options
Add options to control the size of the PulseAudio buffer.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-27 10:12:54 +01:00
Stefano Sabatini
7043311969 lavd/sdl: add delay when no events are found in the event queue
Avoid busy loops and decrease CPU usage.

Suggested-By: Roger Pack
2013-11-26 18:38:48 +01:00
Stefano Sabatini
35349bbb97 lavd/sdl: apply misc cosmetics to options 2013-11-26 18:15:58 +01:00
Stefano Sabatini
b23dea27fd lavd/sdl: allow to change window size 2013-11-26 18:15:24 +01:00
Stefano Sabatini
0464d272ff lavd/sdl: move compute_overlay_rect() before event_thread()
It will be used in event_thread() in a pending patch.
2013-11-26 18:15:18 +01:00
Stefano Sabatini
7467b4f71b lavd/sdl: factorize overlay rect size in a separate function 2013-11-26 18:15:12 +01:00
Stefano Sabatini
7de3b1394b lavd/sdl: add event handler thread
SDL_Init() is called on the event handler thread, as required by SDL in
Windows to avoid deadlocks as discovered by Roger Pack.

Fix trac ticket #1743 and #1744.
2013-11-26 18:14:52 +01:00
Stefano Sabatini
25c675b5a7 lavd/sdl: do not manually free window_title and icon_title fields
They are automatically freed when calling av_write_trailer(). Simplify.
2013-11-24 19:35:36 +01:00
Lukasz Marek
995f450b44 lavd/xv: free resources on errors
xv_write_header callback leave not freed resources on errors.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-15 09:56:58 +01:00
Lukasz Marek
57bca5a2b6 lavd/xv: add more supported formats
Add support for following pixel formats:
- AV_PIX_FMT_UYVY422
- AV_PIX_FMT_YUYV422

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-15 09:56:58 +01:00
Lukasz Marek
5d8619595b lavd/xv: simplify write_packet
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-15 09:56:58 +01:00
Lukasz Marek
f04fe23a52 lavd/xv: fix memory leak
Results of XvQueryAdaptors have to be freed with XvFreeAdaptorInfo.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-11-13 11:34:19 +01:00
Lukasz Marek
babf20a215 lavd/pulse: add ff_ prefix and fix param type
Add ff_ prefix for internal API function.
Change type of param from int into enum AVCodecID as it is more specific.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-11-04 00:47:00 +01:00
Lukasz Marek
398844f093 lavd/pulse_audio_enc: fix flush return code
Successful flushing is reported by returning 1 instead of 0.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-11-04 00:23:39 +01:00
Nicolas George
863fb11f63 lavd/lavfi: support unknown channel layouts. 2013-11-03 10:29:53 +01:00
Lukasz Marek
e56d1a1203 lavd/alsa: add stream validation
Don't trust provided streams.
Return with error when stream count is not 1 or
provided stream is not an audio stream.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-11-03 10:28:15 +01:00
Lukasz Marek
6ac9afd16e lavd/alsa: fix timestamp calculation
Current implementation didn't include duration of
last processed packet.
Device may return negative timestamps without
this correction.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-11-03 10:28:15 +01:00
Lukasz Marek
c617c669e9 lavd/xv: free graphics context
Valgrind detects mem leak from XCreateGC.
Free it with XFreeGC.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-01 16:20:50 +01:00
Derek Buitenhuis
327c439f81 timefilter: Handle memory allocation failure
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-29 11:40:04 +00:00
Derek Buitenhuis
069ceea7da timefilter: Fix typo in allocation failure message
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-29 11:38:35 +00:00
Michael Niedermayer
d041f12513 avdevice/pulse_audio_enc: remove double ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 00:52:11 +01:00
Lukasz Marek
b387a24cb4 lavd/fbdev_enc: remove unused variables
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-27 22:46:32 +01:00
Lukasz Marek
b04af34600 lavd/fbdev_enc: more stream validation restrictive
So far fbdev_enc device picked up first video stream and ignored others.
It is required to provide exactly one video stream now.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:45:32 +01:00
Lukasz Marek
7f5e75eea9 lavd/pulse_audio_enc: more stream validation restrictive
So far pulse device picked up first audio stream and ignored others.
It is required to provide exactly one audio stream now.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:45:32 +01:00
Lukasz Marek
4fb3aa491b lavd:pulse_audio_enc: fix array compared against 0
fixes CID 1113222

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:45:26 +01:00
Lukasz Marek
e5b3b75669 lavd/pulse_audio_enc: fix timestamp calculation
Current implementation didn't include duration of
last processed packet.
Also remove access to st->cur_dts and replace with pkt->pts.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-27 21:43:05 +01:00
Derek Buitenhuis
6ef30976e0 timefilter: Handle memory allocation failure
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-10-27 19:14:23 +00:00
Lukasz Marek
c428170549 lavd/pulse_audio_enc: avoid vars in for()
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-26 01:58:18 +02:00
Lukasz Marek
c6c70c2bf7 lavd/pulse_audio_enc: add another default to stream name
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-26 01:58:01 +02:00
Ingo Brückl
6c9c636c00 lavd/fbdev_common: fix compilation with older kernels
This will avoid errors due to conflicting declarations
with linux kernels prior to 2.6.30.

Reviewed-by: Lukasz M <lukasz.m.luki@gmail.com>
Signed-off-by: Ingo Brückl <ib@wupperonline.de>
2013-10-24 21:19:52 +02:00
Carl Eugen Hoyos
f60c3a7c1b lavd/x11grab: Support AV_PIX_FMT_PAL8.
Fixes ticket #3068.
2013-10-24 11:56:36 +02:00
Michael Niedermayer
0491695358 avdevice/fbdev_enc: avoid declaring variables in for()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-24 10:19:38 +02:00
Lukasz Marek
a547c496e9 lavd/fbdev: move common code to separate file
Move common fbdev dec/enc for separate file.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 08:45:59 +02:00
Lukasz Marek
c720d0d9df lavd: rename fbdev.c into fbdev_dec.c
Rename existing fbdev.c to make it a more meaningful name.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 08:38:33 +02:00
Lukasz Marek
759388aa71 lavd: add fbdev output device
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-24 08:16:17 +02:00
Lukasz Marek
d1f383341f lavd/pulse_audio_enc: add support for flushing
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-20 19:15:30 +02:00
Lukasz Marek
f569592623 lavd/pulse_audio_enc: fix error check
Error check should be done by checking negative value, not non-zero.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-18 23:59:27 +02:00
Stefano Sabatini
f6b56b1f26 lavd/fbdev: use av_str2err() macro for printing error messages
In particular fix wrong strerror(ret) with a negative value, and avoid
the use of non thread-safe strerror().
2013-10-18 23:38:54 +02:00
Lukasz Marek
fb74c7e044 lavd/pulse_audio_dec: apply cosmetic changes
In particular, fix punctuation in docs and make option help messages
grammatically consistent.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-18 23:26:55 +02:00
Lukasz Marek
1421ee2637 lavd/fbdev: pass proper memory map length
fbdev->data was allocated with size fbdev->fixinfo.smem_len, release data
in fbdev_read_close() using the same size.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-18 23:23:23 +02:00
Lukasz Marek
7b1640c4a6 avdevice/pulse_audio_enc: fix stream index
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-10-12 13:52:26 +02:00
Carl Eugen Hoyos
3aa576513b lavd/xv.c: Include XShm.h before Xvlib.h.
This may fix compilation with libxv 1.0.4.
2013-10-09 19:01:11 +02:00
Carl Eugen Hoyos
f4e85afd99 Add pulse_audio_common.h to skipheaders.
Fixes an error when running make checkheaders.
2013-10-09 09:39:57 +02:00
Lukasz Marek
60136345e6 lavd/pulse: move common code to separate file
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>
2013-10-08 23:02:47 +02:00
Lukasz Marek
1ab9f322ee lavd/pulse: rename pulse.c into pulse_audio_dec.c
This make name of the file more specific
as there is also encoder implementation.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 22:28:39 +02:00
Lukasz Marek
361b56c379 lavd: pulse audio encoder
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>
2013-10-08 14:31:50 +02:00
Michael Niedermayer
d0c61571cf avdevice/v4l: remove duplicate include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-21 15:36:33 +02:00
mrlika
ed72542539 lavd/v4l2: do not fail when VIDIOC_ENUMSTD returns EINVAL without a valid match
With some (buggy) drivers, the VIDIOC_G_STD ioctl returns a std_id that cannot
be matched with any of the enumerated v4l2_standard structures (for example
std_id = 0 or std_id = 0xffffff). Do not fail when we reach the end of the
enumeration without a valid match.

Fixes ticket #2370

Note: This commit message has been modified by Giorgio Vazzana, the original
commit message was:

"Fixed regression for mandatory VIDIOC_ENUMSTD support by v4l2"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 22:57:31 +02:00
Giorgio Vazzana
7f6ec05f09 lavd/v4l2: Improve debug message
In particular, print the standard supported by the selected input.
Additionally, use PRIx64 everywhere when printing standards.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 14:30:52 +02:00
Carl Eugen Hoyos
e337c9d564 Read h264 headers from v4l2 to allow stream-copying.
Fixes ticket #2882.
Analyzed and tested by William C Bonner.
2013-09-01 21:27:43 +02:00
Thilo Borgmann
d814a839ac Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
James Almer
214293b143 lavd: Fix make checkheaders
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 00:40:30 +02:00
Michael Niedermayer
b37ff488b8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libavutil: Make avpriv_open a library-internal function on msvcrt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:51:03 +02:00
Michael Niedermayer
e3a296dfa5 Merge commit 'cb0244daaca83ab666798818f74f5181bf6bc387'
* commit 'cb0244daaca83ab666798818f74f5181bf6bc387':
  bktr: Changed a missed occurrance of open into avpriv_open

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:29:44 +02:00
Martin Storsjö
e743e7ae6e libavutil: Make avpriv_open a library-internal function on msvcrt
Add one copy of the function into each of the libraries, similarly
to what we do for log2_tab. When using static libs, only one
copy of the file_open.o object file gets included, while when
using shared libraries, each of them get a copy of its own.

This fixes DLL builds with a statically linked C runtime, where
each DLL effectively has got its own instance of the C runtime,
where file descriptors can't be shared across runtimes.

On systems not using msvcrt, the function is not duplicated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:33 +03:00
Martin Storsjö
cb0244daac bktr: Changed a missed occurrance of open into avpriv_open
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:32 +03:00
Michael Niedermayer
95fa1fe437 Merge commit '71bf6b41d974229a06921806c333ce98566a5d8a'
* commit '71bf6b41d974229a06921806c333ce98566a5d8a':
  libavdevice: use avpriv_open()

Conflicts:
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:36:21 +02:00
Rémi Denis-Courmont
71bf6b41d9 libavdevice: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:16:05 +02:00
Michael Niedermayer
c0ef5d6c16 avdevice/vfwcap: make constant arrays static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:24:31 +02:00
Michael Niedermayer
8862ed7340 avdevice/dshow: make constant arrays static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:24:11 +02:00
Michael Niedermayer
bc4e798562 avdevice/timefilter: 2nd try at avoiding rounding issues
This hopefully fixes fate-timefilter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 16:15:13 +02:00
Michael Niedermayer
d6fd1242f3 avdevice/timefilter-test: provide more space for the printout to allow larger values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 16:11:29 +02:00
Michael Niedermayer
20be5e0a0e Merge commit '7950e519bb094897f957b9a9531cc60ba46cbc91'
* commit '7950e519bb094897f957b9a9531cc60ba46cbc91':
  Disable deprecation warnings for cases where a replacement is available

Conflicts:
	libavcodec/avpacket.c
	libavcodec/pthread.c
	libavcodec/utils.c
	libavdevice/v4l2.c
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:08:30 +02:00
Diego Biurrun
7950e519bb Disable deprecation warnings for cases where a replacement is available 2013-08-02 19:19:02 +02:00
Michael Niedermayer
2b9590ebab avdevice/timefilter-test: dont try to optimize par1 for n0=0 case
for the n0=0 case there are multiple solutions and different
platforms pick different ones
This should reduce the issues with fate and the timefilter test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 17:06:13 +02:00
Michael Niedermayer
66487d73c3 avdevice/timefilter: cleanup the formating of the test output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:35:53 +02:00
Paul B Mahol
2634af575c avdevice/fbdev: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:21:25 +00:00
Paul B Mahol
0addc82880 avdevice/x11grab: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:21:21 +00:00
Michael Niedermayer
f3d138ab22 avdevice/lavfi: fix input with unknown channel layout
Fixes handling of >8 channels

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 23:10:05 +02:00
Dan Flett
43d36599fe lavd/fbdev.c: Support RGB565 input colour space.
Tested on a Raspberry Pi.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-11 18:16:07 +02:00
Michael Niedermayer
f9d7431272 avformat/AVFormatContext: Move fields down to match the fork
avconv uses private and internal fields from libavformat, we thus must
match the layout even of the fields marked non public.
Otherwise ffmpegs libavformat could not be used as a dropin replacement
on debian/ubuntu

The current soname of libavformat was not part of any release nor are any
fields marked public moved thus in theory
no installed shared lib ABI breakage should occur. Still the need for this
change is unfortunate and chilling.
If you installed shared libs from a recent development version of libavformat
that is more recent than the last release. You probably want to check or rebuild
applications that linked to it.

minor versions of avformat & avdevice are bumped to allow detecting this
as both use the updated struct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:06:32 +02:00
Stefano Sabatini
838bd73139 lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump
Add function avfilter_graph_parse_ptr() and favor it in place of
avfilter_graph_parse(), which will be restored with the old/Libav
signature at the next bump.

If HAVE_INCOMPATIBLE_LIBAV_API is enabled it will use the
Libav-compatible signature for avfilter_graph_parse().

At the next major bump the current implementation of
avfilter_graph_parse() should be dropped in favor of the Libav/old
implementation.

Should address trac ticket #2672.
2013-07-03 13:21:42 +02:00
Michael Niedermayer
1ee8fadb81 avdevice/x11grab: allocate just one Cursor
Fixes resource leak and Ticket2450

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 12:00:11 +02:00
Stefano Sabatini
9f8937b5ef lavd: add xv output device
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
2013-05-30 10:44:54 +02:00
Clément Bœsch
165bc9caa2 v4l2: make possible to disable libv4l2 at runtime.
Also disable it by default since it looks currently buggy. The
usefulness of such library is mostly limited to backward compatibility
with very old devices.
2013-05-22 19:49:29 +02:00
Clément Bœsch
9a7f1519aa lavd/v4l2enc: check write return value. 2013-05-20 16:33:21 +02:00
Clément Bœsch
16a75eaa20 lavd: add v4l2 outdev. 2013-05-20 01:11:33 +02:00
Clément Bœsch
8eec655320 lavd/v4l2: move pixel format conversion code to a separate place.
This will be shared with the output device.
2013-05-20 01:11:28 +02:00
Michael Niedermayer
efc08e00cc Merge commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110'
* commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110':
  vf_aspect: use the name 's' for the pointer to the private context
  Remove commented-out debug #define cruft

Conflicts:
	libavcodec/4xm.c
	libavcodec/dvdsubdec.c
	libavcodec/ituh263dec.c
	libavcodec/mpeg12.c
	libavfilter/avfilter.c
	libavfilter/vf_aspect.c
	libavfilter/vf_fieldorder.c
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:56:43 +02:00
Diego Biurrun
2832ea26f3 Remove commented-out debug #define cruft 2013-05-16 00:23:30 +02:00
Michael Niedermayer
c7c71f95f8 replace remaining PIX_FMT_* flags with AV_PIX_FMT_FLAG_*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:23:14 +02:00
Michael Niedermayer
0104570fb6 Merge commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7'
* commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7':
  silly typo fixes

Conflicts:
	doc/protocols.texi
	libavcodec/aacpsy.c
	libavformat/utils.c
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:17:52 +02:00
Diego Biurrun
a5f8873620 silly typo fixes 2013-05-03 18:26:12 +02:00
Michael Niedermayer
9b595e86e3 avdevice/lavfi: add error checking for av_opt_set_int_list()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 20:39:07 +02:00
Michael Niedermayer
3fc7b47145 buffersink: switch from opaque to AVOptions for params
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:47:40 +02:00
Michael Niedermayer
a1e7e02eaf abuffersink: switch from opaque to AVOptions for params
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:38:00 +02:00
Nicolas George
9dd54d7422 lavd/v4l2: fully init an ioctl argument.
Silence a valgrind warning about uninitialized memory.
2013-04-01 10:38:14 +02:00
Giorgio Vazzana
5009863ab5 lavd/v4l2: fix printing of list_formats table
In particular we needed a '\n' at the end of the line when the format is emulated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 16:17:42 +01:00
Giorgio Vazzana
b97f7d9d24 lavd/v4l2: replace ioctl() with v4l2_ioctl()
This is consistent with the rest of the file and makes listing of
emulated formats possible when ffmpeg is compiled with libv4l2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 16:17:04 +01:00
Michael Niedermayer
ea4c99de4c dshow_pin: dont return a value from a void function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 22:12:07 +01:00
Martin Storsjö
fdaacc5932 sndio_dec: Add missing includes for av_gettime()
This is necessary after the old av_gettime in libavformat was
dropped.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-24 13:20:53 +02:00
Martin Storsjö
fe2661121e bktr: Add missing includes for av_gettime()
This is necessary after the old av_gettime in libavformat was
dropped.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-23 23:36:58 +02:00
Giorgio Vazzana
785b849f1c lavd/v4l2: honor previously selected input channel
An input channel could have been previously set with another application, like
v4l2-ctl, so if no input channel is specified use the previosly selected one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 13:43:56 +01:00
Clément Bœsch
d4982b115d lavd/dshow: fix style and typo recently introduced. 2013-03-19 21:26:24 +01:00
dronus
fdca977a22 libavdevice sdl: added window_fullscreen option to switch SDL output into fullscreen mode 2013-03-18 20:44:21 +01:00
Paul B Mahol
79b1835726 sndio_dec: add missing #include for av_gettime()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-17 11:10:26 +00:00
Giorgio Vazzana
bcd3eb3e7a lavd/v4l2: silence libv4l2 logging
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 02:44:36 +01:00
Nicolas George
b90912be68 lavd/lavfi: upgrade to AVFrame.
Fix a memory leak because the compat implementation of
AV_BUFFERSINK_FLAG_PEEK is not identical to the previous one.
2013-03-15 20:46:27 +01:00
Michael Niedermayer
2ffa9e611e avdevice: bump major
Our previous release (1.1) contained a version 54 libavdevice
and this version here is not ABI compatible thus a bump is
needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:53:41 +01:00
Paul B Mahol
b3b46cd74e bktr: add missing #include for av_gettime()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-13 10:48:09 +00:00
Nicolas George
ceac5c54dd Remove references to the "ff" variant of buffersink. 2013-03-12 23:31:07 +01:00
Giorgio Vazzana
ee4a658695 lavd/v4l2: fix bug in init_convert_timestamp()
The current code returned a period=0, resulting in identical pts for all frames
after time-filtering. This is because AV_TIME_BASE_Q={1, AV_TIME_BASE} and
not {AV_TIME_BASE, 1}. With this patch the correct period in microseconds is computed.
2013-03-12 17:14:47 +01:00
Michael Niedermayer
a75f01d7e0 Merge commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111'
* commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111':
  Add the bumps and APIchanges entries for reference counted buffers changes.

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/version.h
	libavdevice/version.h
	libavfilter/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:35:39 +01:00
Michael Niedermayer
9cf788eca8 avformat/avdevice: add missing time.h includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:28:22 +01:00
Giorgio Vazzana
9222978aed lavd/v4l2: simplify code
struct buff_data contains a pointer to struct video_data, so passing the
file descriptor again is redundant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 16:59:13 +01:00
Giorgio Vazzana
0286b42540 lavd/v4l2: correctly handle error conditions in mmap_read_frame()
In particular:

1) save errno before it (possibly) gets overwritten by other calls
2) do not forget to enqueue the buffer again in case of error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 16:58:53 +01:00
Michael Niedermayer
2653e12520 Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'
* commit '1afddbe59e96af75f1c07605afc95615569f388f':
  avpacket: use AVBuffer to allow refcounting the packets.

Conflicts:
	libavcodec/avpacket.c
	libavcodec/utils.c
	libavdevice/v4l2.c
	libavformat/avidec.c
	libavformat/flacdec.c
	libavformat/id3v2.c
	libavformat/matroskaenc.c
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:12:03 +01:00
Anton Khirnov
d8b31be6ca Add the bumps and APIchanges entries for reference counted buffers changes. 2013-03-08 07:41:49 +01:00
Anton Khirnov
1afddbe59e avpacket: use AVBuffer to allow refcounting the packets.
This will allow us to avoid copying the packets in many cases.

This breaks ABI.
2013-03-08 07:33:45 +01:00
Michael Niedermayer
3827734591 v4l2: fix regression that caused ffmpeg to occasionally get stuck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 01:55:08 +01:00
Giorgio Vazzana
0d66268e15 lavd/v4l2: copy frames into normally allocated packets whenever there is just one buffer left available
This will avoid the possibility that we dequeue more buffers than we
have obtained from the v4l2 driver.

Fixes ticket #1570

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-02 00:50:17 +01:00
Michael Niedermayer
b56e029bdc avformat/lavfi: force probesize to cover at least 30 frames
This ensures that fps and other values are estimated correctly,
the probesize also is intended to limit disk/protocol reads which
does not apply to lavfi inputs at all.

Fixes Ticket1051

Something similar could be usefull to other input devices

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-28 20:28:59 +01:00
Michael Niedermayer
54b2bddd22 v4l2: try to fix build on BSD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-18 00:53:17 +01:00
Carl Eugen Hoyos
fdbe7628a9 Add yvu410 as a supported v4l2 input format. 2013-02-17 19:45:58 +01:00
Carl Eugen Hoyos
fdec49cbe8 Add gray16 as a supported v4l2 input format. 2013-02-17 19:44:13 +01:00
rogerdpack
12c71f648c dshow: Fix MSVC support, remove av_export, which was apparently unneeded anyway.
Also cleanup exported symbols

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-15 00:08:12 +01:00
Stefano Sabatini
f0703b6cba lavd/v4l2: fix error logic when enumerating standards
Set ret to 0 before enumerating standards in v4l2_set_parameters(), avoid
use of uninitialized variable.

Regression introduced in 60950adc18.
2013-02-10 20:59:06 +01:00
Stefano Sabatini
60950adc18 lavd/v4l2: implement consistent error handling
In particular, avoid use of non-thread-safe strerror(), and store errno
before calling av_log().
2013-02-10 17:09:57 +01:00
Luca Barbato
43e0e0c4e5 libcdio: support recent cdio-paranoia
Upstream decided to split the paranoia interface and move the headers
accordingly.
2013-01-17 21:41:18 +01:00
rogerdpack
c916389bd2 dshow: allow for more codec ID's
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-16 00:23:53 -07:00
rogerdpack
3b9166fc7e dshow: better error reporting
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-16 00:18:40 -07:00
rogerdpack
6d33026668 dshow: fix log message
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-16 00:11:15 -07:00
rogerdpack
c540312ac3 Merge remote-tracking branch 'origin/master' into combined 2013-01-15 19:09:15 -07:00
Nicolas George
55910e1894 lavd/alsa: simplify reordering functions definition. 2013-02-02 14:13:11 +01:00
Giorgio Vazzana
514216d8a9 lavd/v4l2: read the correct time per frame from devices that support a standard
Generally speaking, there are two types of v4l2 devices [1]:

1) devices that support a standard, like PAL or NTFS (tv cards, for example). For
this class of devices the framerate is fixed by the standard (for example PAL uses
25 fps) and the v4l2 driver cannot usually negotiate a different framerate (unless
it can skip frames on the driver side, to save I/O bandwidth).

2) devices for which the notion of standard does not make sense (webcams, for example).
For these devices it is usually possibile to request a desidered framerate.

In either case, the desidered frame rate can be requested when the VIDIOC_G_PARM
ioctl returns the V4L2_CAP_TIMEPERFRAME flag in the capability field.

Currently the code does not check for V4L2_CAP_TIMEPERFRAME and supports only the
second category of devices, returning a time per frame of 0/0 for devices in the
first group that do not permit to negotiate the framerate.

This patch adds support to read the correct framerate in all cases.

[1] http://linuxtv.org/downloads/v4l-dvb-apis/standard.html

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-31 15:29:53 +01:00
Giorgio Vazzana
ff23b76899 lavd/v4l2: add list_standards option
Since the user is expected to choose the standard by name (with -standard
option), add the possibility to list all the supported standards.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-31 12:38:03 +01:00
Stephan Hilb
0501d06468 lavd/v4l2: use avcodec_find_decoder in list_formats
Because libavdevice/v4l2 is a demuxer, it makes sense to look for
decoders instead of encoders when listing the formats supported by the
device.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-28 00:11:49 +01:00
Giorgio Vazzana
93d319a582 lavd/v4l2: select input immediately after opening the device
After opening the device, the first thing we should do is selecting the
input. This is because the image formats (VIDIOC_ENUM_FMT ioctl) and the
standards (VIDIOC_ENUMSTD ioctl) supported may depend on the selected
input ([1] and [2]).

[1] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enum-fmt.html
[2] http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-enumstd.html

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-27 18:19:27 +01:00
Stefano Sabatini
5306976be8 lavd/v4l2: sanitize logic of device_try_init(), so that it properly signal errors
Make device_try_init() return an error value, and allow to properly
report errors which are not due to a wrong pixel/codec configuration.

In particular, report intelligible feedback in case of busy device.
2013-01-27 17:58:16 +01:00
Michael Niedermayer
17596198ca Merge commit '80ac87c13dc8c6c063e26a464c5c542357c0583f'
* commit '80ac87c13dc8c6c063e26a464c5c542357c0583f':
  lavc: support ZenoXVID custom tag
  libcdio: support recent cdio-paranoia
  float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window
  theora: Skip zero-sized headers

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 13:36:39 +01:00
Nicolas George
0e79fe37e5 lavd/v4l2: init return value.
Fix a warning and random failures.
2013-01-16 12:21:58 +01:00
Stephan Hilb
f245a2086a lavd/v4l2: update broken link to v4l2 video capture example
Reviewed-by: Stefano Sabatini
2013-01-16 11:27:20 +01:00
Stephan Hilb
36810215fa lavd/v4l2: improve debug message
Reviewed-by: Stefano Sabatini
2013-01-16 11:26:38 +01:00
rogerdpack
47e88486b4 hdyc col
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-15 18:37:30 -07:00
rogerdpack
a50049a197 dshow: use standardized raw pixel format lookup
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2013-01-15 17:07:54 -07:00
Stefano Sabatini
d012059e7b lavd/v4l2: apply grammar/consistency fixes to options help fields 2013-01-15 21:57:37 +01:00
Stefano Sabatini
aa359d3808 lavd/v4l2: return meaningful error code from device_init()
In particular, propagate errno value in case of device init failure.
2013-01-15 21:48:36 +01:00
Stefano Sabatini
fce165027f lavd/v4l2: fix misc messages 2013-01-15 21:48:27 +01:00
Stefano Sabatini
1b325ce91a lavd/v4l2: extend error/debug feedback in case of invalid codec/pix_fmt 2013-01-15 21:48:21 +01:00
Michael Niedermayer
a646ac8ef5 Merge commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1'
* commit '90cfc084e3e6d37ab88fc96a95f0401d8e8b4cd1':
  avpacket: free side data in av_free_packet().
  v4l2: do not assert on a value received from outside of Libav
  v4l2: set the average framerate instead of codec timebase.

Conflicts:
	libavcodec/avpacket.c
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:16:21 +01:00
Michael Niedermayer
53c2f401f7 Merge commit '246da0b13551b1f80f067e4f258e5bd691f5ab33'
* commit '246da0b13551b1f80f067e4f258e5bd691f5ab33':
  v4l2: avoid pointless indirection.
  vdpau: Add VC-1 decoding via hwaccel infrastructure
  vdpau: Add H.264 decoding via hwaccel infrastructure

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/version.h
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 14:00:21 +01:00
Anton Khirnov
49dc82eef7 v4l2: do not assert on a value received from outside of Libav 2013-01-13 16:31:17 +01:00
Anton Khirnov
838b849e70 v4l2: set the average framerate instead of codec timebase.
Codec timebase is supposed to be set by decoders only.
2013-01-13 16:31:09 +01:00
Anton Khirnov
246da0b135 v4l2: avoid pointless indirection.
v4l2_read_header() does no cleanup, so it can return directly, without
any need for goto.
2013-01-13 16:30:38 +01:00
Michael Niedermayer
e1cf1a9c89 Merge commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8'
* 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>
2013-01-04 13:01:54 +01:00
Clément Bœsch
3048fae63c build: Avoid detecting bogus components named 'x'
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>
2013-01-03 15:11:25 +02:00
Clément Bœsch
613001d75f Merge back some registering macros in all*.c.
This breaks the sed in configure:find_things(). Fixes regression from
c73c87b. Fixes Ticket2079.

Found-by: jamal
2012-12-30 07:18:21 +01:00
Michael Niedermayer
4f1d7cc0ed bktr: fix warning: missing braces around initializer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 19:27:07 +01:00
Michael Niedermayer
83d4a8442c Merge remote-tracking branch 'qatar/master'
* 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>
2012-12-29 14:27:38 +01:00
Diego Biurrun
c73c87b412 cosmetics: Prettyprint codec/format/filter registration files 2012-12-28 19:18:13 +01:00
Carl Eugen Hoyos
0fb79f30db Support H264 over video4linux2.
Tested-by: Val Malykh
2012-12-21 18:12:29 +01:00
Diego Biurrun
511cf612ac miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
Ramiro Polla
83a9f29f60 dshow: call CoUninitialize() on dshow_read_close()
Every call to CoInitialize should have a matching CoUnititalize.

Based on patch by Don Moir <donmoir@comcast.net>.
2012-12-17 03:44:51 -02:00
Ramiro Polla
190f6135b4 dshow: handle events in graph
Handling DirectShow events prevents infinite loops when there is an error in
the graph, such as a device being disconnected. This makes it possible for
dshow to return an error to the caller and run the cleanup code.

Based on patch by Don Moir <donmoir@comcast.net>.
2012-12-17 03:44:12 -02:00
rogerdpack
fe3e0e486e lavd/dshow: rename dshow class name
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-15 15:46:20 +01:00
Ramiro Polla
f2c49da9ac dshow: fix return code when opening device
Successfully opening a device altered the ret variable, making the function
not cleanup properly and return an incorrect value for errors that happened
afterwards.

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 21:44:30 +01:00
Clément Bœsch
377d201790 lavd/lavfi: fix float.h include.
float.h is a system header.
2012-12-06 15:09:47 +01:00
Michael Niedermayer
99efd59626 Merge commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967'
* commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967':
  Remove pointless #undefs of previously forbidden functions.
  fate: Add dependencies for bmp, cdxl, dfa, mp3

Conflicts:
	doc/examples/muxing.c
	libavfilter/filtfmts.c
	libavutil/des.c
	libavutil/eval.c
	libavutil/log.c
	libavutil/parseutils.c
	tests/fate/mp3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:34:45 +01:00
Anton Khirnov
cb45553f57 Remove pointless #undefs of previously forbidden functions. 2012-12-04 21:40:22 +01:00
Stefano Sabatini
c9ff32215b lavu/opt: allow to set sample and pixel format with av_opt_set_int()
This change requires the user to specify min and max value, and makes
possible to prevent the user to set AV_{SAMPLE,PIX}_FMT_NONE if
forbidden.

Add required ifdeffery in case of mixed libraries, when libavutil is
updated but not the other libraries.

This is a followup of 08d0969c14.
2012-12-01 19:33:30 +01:00
Stefano Sabatini
08d0969c14 lavu/opt: change the way default pixel and sample format value is set
Use the i64 field rather than the string value. Using a string to set a
default sample/pixel format is weird, also the new interface is more
consistent with the rest of the API.

This is technically an API break, but hopefully there are no applications
using this feature outside of FFmpeg. In order to save backward
compatibility with mixed libraries in case libavutil is updated but not
the other libraries, some ifdeffery hacks are added.

Note that the version check is only performed when class->version != 0,
since if it is not defined then we assume that no version was defined and
the class is not affected by the change.

We will luckily get rid of the hack at the next major bump.
2012-11-30 00:01:53 +01:00
Alexander Strasser
7750c48d30 dshow: Use NO_DSHOW_STRSAFE for all dshow header inclusions
Move the NO_DSHOW_STRSAFE macro definition in front of the dshow.h
system header inclusion.

This excludes the usage of the STRSAFE functions consistently.

Further background on this can be found in the commit message of
revision 05ee0db1 where the #define was initially introduced.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-11-16 19:26:13 +01:00
Georg Lippitsch
15b02ddee0 Update iec61883 to handle multiple devices, and allow
selection of DV device by its GUID
2012-11-13 19:44:21 +01:00
Paul B Mahol
1acd2f6ba7 Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
Also remove it in once case when it is not needed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Michael Niedermayer
03b078721c Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'
* commit '97bf7c03b1338a867da52c159a2afecbdedcfa88':
  doc: git-howto: Leave reviewers time to react before pushing patches
  Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
  lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/git-howto.texi
	ffmpeg_filter.c
	libavcodec/flacdec.c
	libavcodec/imc.c
	libavcodec/mpegaudiodec.c
	libavcodec/utils.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffer.c
	libavutil/Makefile
	libavutil/audioconvert.h
	libavutil/channel_layout.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 11:32:11 +01:00
Justin Ruggles
a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Michael Niedermayer
1ba0d9b5d1 oss: warn when non block mode cannot be enabled.
Fixes CID732183
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 00:28:21 +01:00
Michael Niedermayer
e1c804d883 dv1394: Swap the min and max values of the 'standard' option
DV1394_NTSC has a lower value than DV1394_PAL.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-02 11:25:48 +02:00
Michael Niedermayer
ebfc212b02 dv1394: fix order of AVOption fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 02:07:15 +01:00
Michael Niedermayer
11d695d120 x11grab: fix mixed declaration and code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 22:24:10 +01:00
Stefano Sabatini
b19bfd6c9f lavd/lavfi: fix leak in case of failure
Jump to the common release code in case of failure.
2012-10-25 21:35:40 +02:00
Stefano Sabatini
8b03cd3cd7 lavd/lavfi: add graph_file option
Allow to specify a filename where to put the filtergraph description.

This is useful to override limitations or glitches of particular shell
environments, and allows a level of indirection for specifying
filtergraphs.
2012-10-23 22:08:55 +02:00
Isaac Dooley
469a65b150 x11: Fix x11grab BadCursor
Fixes Ticket1738

Based-on: A fix found in a perl module (http://ffmpeg.org/pipermail/ffmpeg-user/2012-August/008804.html)
Reviewed-by: Clemens Fruhwirth <clemens@endorphin.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 21:49:01 +02:00
Clément Bœsch
6fb2fd895e lavc: add lavfi metadata support.
This commit introduces a new AVPacket side data type:
AV_PKT_DATA_STRINGS_METADATA. Its main goal is to provide a way to
transmit the metadata from the AVFilterBufferRef up to the AVFrame. This
is at the moment "only" useful for lavfi input from libavdevice:
lavd/lavfi only outputs packets, and the metadata from the buffer ref
kept in its context needs to be transmitted from the packet to the frame
by the decoders. The buffer ref can be destroyed at any time (along with
the metadata), and a duplication of the AVPacket needs to duplicate the
metadata as well, so the choice of using the side data to store them was
selected.

Making sure lavd/lavfi raises the metadata is useful to allow tools like
ffprobe to access the filters metadata (it is at the moment the only
way); ffprobe will now automatically show the AVFrame metadata in any
customizable output format for users. API users will also be able to
access the AVFrame->metadata pointer the same way ffprobe does
(av_frame_get_metadata).

All the changes are done in this single commit to avoid some memory
leaks: for instances, the changes in lavfi/avcodec.c are meant to
duplicate the metadata from the buffer ref into the AVFrame. Unless we
have an internal way of freeing the AVFrame->metadata automatically, it
will leak in most of the user apps. To fix this problem, we introduce
AVCodecContext->metadata and link avctx->metadata to the current
frame->metadata and free it at each decode frame call (and in the codec
closing callback for the last one). But doing this also means to update
the way the tiff decoder already handles the AVFrame->metadata (it's the
only one decoder with frame metadata at the moment), by making sure it
is not trying to free a pointer already freed by the lavc internals.

The lavfi/avcodec.c buffer ref code is based on an old Thomas Kühnel
work, the rest of the code belongs to the commit author.

Signed-off-by: Thomas Kühnel <kuehnelth@googlemail.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-10-21 17:29:10 +02:00
Michael Niedermayer
6f557a2e12 caca: fix 10l typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 19:05:58 +02:00
Paul B Mahol
82eba22667 lavd: do not use av_pix_fmt_descriptors directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 15:58:37 +00:00
Michael Niedermayer
27ccc82e1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavu,lavd: do not use av_pix_fmt_descriptors directly.

Conflicts:
	libavutil/imgutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:21:01 +02:00
Anton Khirnov
22c8cbc0da lavu,lavd: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:39 +02:00
Michael Niedermayer
ac627b3d38 Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
* commit '716d413c13981da15323c7a3821860536eefdbbb':
  Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat

Conflicts:
	doc/examples/muxing.c
	ffmpeg.h
	ffmpeg_filter.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	libavcodec/8bps.c
	libavcodec/aasc.c
	libavcodec/aura.c
	libavcodec/avcodec.h
	libavcodec/avs.c
	libavcodec/bfi.c
	libavcodec/bmp.c
	libavcodec/bmpenc.c
	libavcodec/c93.c
	libavcodec/cscd.c
	libavcodec/cyuv.c
	libavcodec/dpx.c
	libavcodec/dpxenc.c
	libavcodec/eatgv.c
	libavcodec/escape124.c
	libavcodec/ffv1.c
	libavcodec/flashsv.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/huffyuv.c
	libavcodec/iff.c
	libavcodec/imgconvert.c
	libavcodec/indeo3.c
	libavcodec/kmvc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c
	libavcodec/motionpixels.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pamenc.c
	libavcodec/pcxenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c
	libavcodec/pnmenc.c
	libavcodec/ptx.c
	libavcodec/qdrw.c
	libavcodec/qpeg.c
	libavcodec/qtrleenc.c
	libavcodec/raw.c
	libavcodec/rawdec.c
	libavcodec/rl2.c
	libavcodec/sgidec.c
	libavcodec/sgienc.c
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavcodec/sunrast.c
	libavcodec/targa.c
	libavcodec/targaenc.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/tmv.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavcodec/vb.c
	libavcodec/vp3.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/xwddec.c
	libavcodec/xwdenc.c
	libavcodec/yop.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/drawutils.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_hflip.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/movenc.c
	libavformat/mxf.h
	libavformat/utils.c
	libavformat/yuv4mpeg.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libswscale/input.c
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	libswscale/x86/yuv2rgb.c
	libswscale/x86/yuv2rgb_template.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Michael Niedermayer
43c157f4a4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_resample: avoid conversion of identical sample formats for 1 channel
  avcodec: allow either planar or interleaved sample format when encoding mono
  adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
  timefilter: De-doxygenize normal code comments and drop silly ones
  gxf: Include the right header for the avpriv_frame_rate_tab declaration

Conflicts:
	libavcodec/adpcmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 13:11:11 +02:00
Anton Khirnov
716d413c13 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat 2012-10-08 07:13:26 +02:00
Diego Biurrun
62ae37decd timefilter: De-doxygenize normal code comments and drop silly ones 2012-10-07 22:31:29 +02:00
Michael Niedermayer
55c49afc42 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  yuv4mpeg: return proper error codes.
  Give all anonymously typedeffed structs in headers a name
  fate: Add parseutils test
  parseutils-test: Drop random colors from parsing test
  vf_pad/scale: use double precision for aspect ratios.
  build: error on variable-length arrays
  ppc: swscale: rework yuv2planeX_altivec()
  ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
  x86: dsputil: kill VLA in gmc_mmx()
  libspeexenc: Updated commentary to reflect recent changes
  libspeexenc: Add an option for enabling DTX
  doc/APIchanges: fill in missing dates and hashes.
  lavr: bump major to 1 and declare it stable.
  lavr: change the type of the data buffers to uint8_t**.
  lavc: deprecate the audio resampling API.

Conflicts:
	cmdutils.h
	configure
	doc/APIchanges
	ffplay.c
	libavcodec/dwt.h
	libavcodec/libspeexenc.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavformat/asf.h
	tests/fate/libavutil.mak
	tests/ref/fate/parseutils

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 13:45:08 +02:00
Diego Biurrun
e4cbf7529b Give all anonymously typedeffed structs in headers a name
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Michael Niedermayer
31ab1575e5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Convert some commented-out printf/av_log instances to av_dlog
  avcodec: Drop silly and/or broken printf debug output
  avcodec: Drop some silly commented-out av_log() invocations
  avformat: Convert some commented-out printf/av_log instances to av_dlog
  avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
  Remove some silly disabled code.
  ac3dec: ensure get_buffer() gets a buffer for the correct number of channels

Conflicts:
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h264.c
	libavcodec/h264_parser.c
	libavcodec/mjpegdec.c
	libavcodec/motion_est_template.c
	libavcodec/mpegaudiodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/put_bits.h
	libavcodec/ratecontrol.c
	libavcodec/wmaenc.c
	libavdevice/timefilter.c
	libavformat/asfdec.c
	libavformat/avidec.c
	libavformat/avienc.c
	libavformat/flvenc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:12:38 +02:00
Diego Biurrun
14d3e7ad11 Remove some silly disabled code. 2012-10-01 10:24:28 +02:00
rogerdpack
1bdb4b26a8 dshow: enhance error message
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:48:49 +02:00
jamal
a70b4935f1 Add missing version macros to libraries
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:10:18 +02:00
Stefano Sabatini
53d71335cb lavd/lavfi: push frames until the last sink is EOF
Previously the device was returning EOF when the first sink was ending,
with the current change the device will continue to return frames until
all the sinks are EOF, which seems the most expected behavior.
2012-09-20 12:13:17 +02:00
Stefano Sabatini
30a265f058 lavd/lavfi: apply stylistic fixes to the options help fields 2012-09-11 22:56:35 +02:00
Derek Buitenhuis
80d2ec6bc9 dshow: Change WINBOOL to BOOL
WINBOOL is MinGW-specific, and since both MSVC and MinGW
have BOOL, use that instead.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:23:32 +02:00
Stefano Sabatini
09cc23e0f7 lavd/sdl: decrease debug info notice log level from AV_LOG_INFO to VERBOSE
Decrease log spam.
2012-09-07 14:31:38 +02:00
Stefano Sabatini
a7c7b34d29 lavd/sdl: remove trailing dot in messages
This is consistent with the apparently prevailing convention.
2012-09-07 14:31:37 +02:00
Ramiro Polla
dc5fcdb896 lavd/dshow: use AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-07 09:59:12 +02:00
Ramiro Polla
37a0db50db lavd/dshow: support video codec and pixel format selection
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-07 09:59:12 +02:00
Michael Niedermayer
d46c1c72e4 Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'
* commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9':
  avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member

Conflicts:
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/mpeg12enc.c
	libavcodec/options_table.h
	libavcodec/snowenc.c
	libavcodec/tiffenc.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/af_amix.c
	libavfilter/af_asyncts.c
	libavfilter/af_join.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawtext.c
	libavformat/http.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/movenc.c
	libavformat/mpegenc.c
	libavformat/mpegtsenc.c
	libavformat/options_table.h
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:33:32 +02:00
Michael Niedermayer
99de3df3d3 Merge commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078'
* commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078':
  avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member

Conflicts:
	libavcodec/libvpxenc.c
	libavcodec/options_table.h
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:09:09 +02:00
Michael Niedermayer
d5f65e9d40 Merge commit '124134e42455763b28cc346fed1d07017a76e84e'
* commit '124134e42455763b28cc346fed1d07017a76e84e':
  avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member

Conflicts:
	libavcodec/aacenc.c
	libavcodec/libopenjpegenc.c
	libavcodec/options_table.h
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/af_amix.c
	libavfilter/vf_drawtext.c
	libavformat/movenc.c
	libavformat/options_table.h
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 13:58:11 +02:00
Martin Storsjö
e6153f173a avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Martin Storsjö
d58dd4b5b5 avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:38 +03:00
Martin Storsjö
124134e424 avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:32 +03:00
Michael Niedermayer
3061664a57 avoid ambigous buffersink names
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 06:05:08 +02:00
Michael Niedermayer
e7b4337777 v4l2: fix compile on systems that lack V4L2_PIX_FMT_CPIA1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 04:35:06 +02:00
Stephan Hilb
6eac554659 Add CPiA video decoder
The cpia video decoder is intended to be used with the v4l2 demuxer.
There are some small changes to the v4l2 demuxer to support the
variable frame length of the format.
Fixes ticket #1537

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 00:24:11 +02:00
Ramiro Polla
ad7fae4ee1 dshow: allow user to specify audio buffer size
Based on patch by rogerdpack <rogerpack2005@gmail.com>

Tested-by: Roger Pack <rogerdpack2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 18:58:20 +02:00
rogerdpack
415f4cca1d dshow:protect access to curbufsize to promote consistency
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 20:58:05 +02:00
rogerdpack
a966d94891 dshow: avoid integer overflow when using curbufsize
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 20:56:45 +02:00
rogerdpack
a93c221ccd dshow: protect access to curbufsize
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 18:36:26 +02:00
rogerdpack
42dbf06df0 dshow: cleanup reference
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 18:30:50 +02:00
Michael Niedermayer
c581cb4e4f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix even more missing includes after the common.h removal
  build: Factor out rangecoder dependencies to CONFIG_RANGECODER
  build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE
  x86: avcodec: Consistently name all init files
  Add more missing includes after removing the implicit common.h
  Add some more missing includes after removing the implicit common.h
  Don't include common.h from avutil.h
  rtmp: Automatically compute the hash for SWFVerification

Conflicts:
	configure
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/Makefile
	libavcodec/assdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/avpacket.c
	libavcodec/dv_profile.c
	libavcodec/dwt.c
	libavcodec/libtheoraenc.c
	libavcodec/rawdec.c
	libavcodec/rv40dsp.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.h
	libavcodec/vc1dsp.c
	libavcodec/x86/Makefile
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/buffer.c
	libavfilter/formats.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_select.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/version.h
	libavutil/audioconvert.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 16:20:30 +02:00
Martin Storsjö
1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Stefano Sabatini
4270d8c04d lavd/x11grab: deprecate "nomouse" specification in filename
Favor draw_mouse option. Should simplify parsing, and make it more
robust.
2012-08-08 23:43:37 +02:00