1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-07-28 06:48:22 +02:00
Commit Graph

257 Commits

Author SHA1 Message Date
Mans Rullgard
45870f8b6e Print full compiler identification, not only version number
This provides a more precise identification of the compiler used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-19 10:21:46 +01:00
Ronald S. Bultje
66a297975d cmutils: include shellapi.h on Win32 (for CommandLineToArgvW).
This is required for CommandLineToArgvW. Normally, shellapi.h is included
implicitly by windows.h, but if we define WIN32_LEAN_AND_MEAN (or some of
the other earlier headers have included windows.h with that option),
windows.h doesn't include this one.

Thus explicitly include the headers we really need, for clarity and
compatibility.
2012-07-07 14:09:04 -07:00
Martin Storsjö
d3ed1c9571 cmdutils: Pass the actual chosen encoder to filter_codec_opts
This allows passing the right options to encoders when there's more
than one encoder for a certain codec id.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:44:10 +03:00
Anton Khirnov
d55c2e05b5 avtools: move buffer management code from avconv to cmdutils.
It will be used by avplay.
2012-06-05 09:35:58 +02:00
Diego Biurrun
7cf78b3476 cmdutils: Add fallback case to switch in check_stream_specifier().
This fixes the warning:
cmdutils.c:897: warning: ‘type’ may be used uninitialized in this function
2012-05-10 00:01:45 +02:00
Anton Khirnov
ac71230902 lavfi: add video buffer sink, and use it in avtools
Also add the public interface libavfilter/buffersink.h.

Based on a commit by Stefano Sabatini.
2012-05-09 08:59:37 +02:00
Justin Ruggles
bcb82fe1f4 avconv: use libavresample 2012-04-24 23:38:54 -04:00
Anton Khirnov
b7327887ea avconv: get output pixel format from lavfi.
This way we don't require a clearly defined corresponding input stream.

The result for the xwd test changes because rgb24 is now chosen instead
of bgra.
2012-04-15 20:22:36 +02:00
Reinhard Tartler
050dc12778 Read preset files with suffix .avpreset
The preset files have been renamed some time ago.

CC: libav-stable@libav.org
2012-03-18 09:26:32 +01:00
Anton Khirnov
4138cd2907 avconv: add -cpuflags option for setting supported cpuflags.
Useful for testing.
2012-03-06 15:03:22 +01:00
Anton Khirnov
3faa141d15 cmdutils: use new avcodec_is_decoder/encoder() functions.
Fixes listing encoders.
2012-03-04 21:09:35 +01:00
Diego Biurrun
b315042c8c Remove libpostproc.
This library does not fit into Libav as a whole and its code is just a
maintenance burden.  Furthermore it is now available as an external project,
which completely obviates any reason to keep it around.

URL: http://git.videolan.org/?p=libpostproc.git
2012-02-23 19:36:16 +01:00
Ronald S. Bultje
21d0d1d64f cmdutils: update copyright year to 2012. 2012-02-08 10:31:14 -08:00
Alexandra Khirnova
570f6aaab1 cmdutils: fix options starting with 'no'.
E.g. non_linear_quant mpeg2video private option.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-01-27 10:27:00 +01:00
Diego Biurrun
abe655a472 Drop unnecessary prefix from *sink* variable and struct names. 2012-01-25 12:28:36 +01:00
Diego Biurrun
45f2908d02 cosmetics: Rename ffsink to avsink. 2012-01-19 00:19:43 +01:00
Reinhard Tartler
014f8d8106 No longer build libpostproc by default
update documentation to inform developers that it may be removed in a
later release.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-01-11 09:27:56 +01:00
Aneesh Dogra
cbaef7d16e cmdutils: K&R reformatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-01-03 21:10:09 +01:00
Diego Biurrun
d4b63054d9 cosmetics: Drop unnecessary parentheses around return values. 2011-12-30 22:18:07 +01:00
Stefano Sabatini
b58dbb5b03 lavc: add a sample_aspect_ratio field to AVFrame
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
2011-12-25 16:18:57 +01:00
Mans Rullgard
85770d6e56 Add libavutil/mathematics.h #includes for INFINITY
This fixes build errors in some environments.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 16:36:44 +00:00
Martin Storsjö
02170990fd cmdutils: Rename read_file to cmdutils_read_file
This symbol name clashes with a symbol in gnutls, if linking
statically to that library.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-31 16:29:29 +02:00
Janne Grunau
d94c577d3c cmdutils: check fread() return value 2011-10-30 15:52:18 +01:00
Anton Khirnov
7a6cd9957d cmdutils/avtools: simplify show_help() by using av_opt_child_class_next() 2011-10-12 16:51:17 +02:00
Anton Khirnov
145f741e11 AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_* 2011-10-12 16:51:16 +02:00
Anton Khirnov
3b3ea34655 Remove all uses of deprecated AVOptions API. 2011-10-12 16:51:16 +02:00
Mans Rullgard
8124d8ad66 avtools: add -v as alias for -loglevel
This saves a bit of typing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 16:53:06 +01:00
Anton Khirnov
3ccd15803b avconv: add support for copying attachments. 2011-09-27 15:26:36 +02:00
Anton Khirnov
1c5e9551bc cmdutils: replace fprintf() by av_log()
This way, all messages can be easily disabled with -loglevel.

Behavior change -- configuration is printed with AV_LOG_VERBOSE, so it's
not shown by default.
2011-09-26 20:33:50 +02:00
Anton Khirnov
182cbe433a avtools: parse loglevel before all the other options.
This way it can be applied to cmdutils too -- e.g. showing the banner
and printing startup messages.
2011-09-26 20:33:50 +02:00
Janne Grunau
e1b1015581 cmdutils: move grow_array out of #if CONFIG_AVFILTER
fixes programs linking with --disable-avfilter
2011-09-23 11:40:25 +02:00
Anton Khirnov
2c474ddbc5 cmdutils: add support for programs in check_stream_specifier()
Remove now redundant (and broken/undocumented) opt_programid.
2011-09-11 17:30:01 +02:00
Anton Khirnov
05bffc12c4 avconv: move audio_sample_fmt to options context.
Also document it and replace undocumented and inconsistent
'-sample_fmt list' syntax with -sample_fmts.
2011-09-11 17:29:55 +02:00
Anton Khirnov
33f75d72e6 avconv: move ts scale to options context. 2011-09-05 11:15:40 +02:00
Anton Khirnov
6b779cccaa avconv: move start_time, recording_time and input_ts_offset to options context 2011-09-04 13:12:00 +02:00
Anton Khirnov
6361c5e1e6 cmdutils: allow storing per-stream/chapter/.... options in a generic way 2011-09-04 13:12:00 +02:00
Anton Khirnov
2f8e586df1 cmdutils: split per-option code out of parse_options().
This allows options like -target, which are just shortcuts for other
options, to work without dummy function for all options they invoke.
2011-09-04 13:12:00 +02:00
Anton Khirnov
7cc8d6385a cmdutils: add support for caller-provided option context.
This is the first step to removing the globals plague from avtools.
2011-09-04 13:12:00 +02:00
Anton Khirnov
7efe05ab29 cmdutils: declare only one pointer type in OptionDef
This will be useful in the following commit.
2011-09-04 13:12:00 +02:00
Anton Khirnov
cac651c834 cmdutils: move grow_array() from avconv to cmdutils. 2011-09-04 13:12:00 +02:00
Anton Khirnov
dad09ff93f cmdutils: move exit_program() declaration to cmdutils from avconv
Allows cmdutils to call each tool's own cleanup function.
2011-09-04 13:12:00 +02:00
Anton Khirnov
20c21f8b75 cmdutils: get rid of dummy contexts for examining AVOptions.
Replace it with newly introduced libavutil API.
2011-09-03 20:58:15 +02:00
Anton Khirnov
d4863fc1a8 cmdutils: allow precisely specifying a stream for AVOptions. 2011-08-12 18:35:12 +02:00
Anton Khirnov
d70e512250 cmdutils: allow ':'-separated modifiers in option names. 2011-08-12 13:51:30 +02:00
Anton Khirnov
6291d7e416 Make a copy of ffmpeg under a new name -- avconv.
It will be further developed with a few incompatible changes.

ffmpeg.c will stay as is for some time, so any scripts using it won't be
broken.
2011-08-12 13:27:30 +02:00
Stefano Sabatini
8ec19f84e1 cmdutils: add codec_opts parameter to setup_find_stream_info_opts()
Avoid brittle and obfuscating reference to a global.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-28 17:13:14 +02:00
Anton Khirnov
35d2e4e5c3 cmdutils: replace opt_default with opt_default2() and remove set_context_opts 2011-07-13 23:17:42 +02:00
Anton Khirnov
3009f521f3 ffplay: use new avcodec_open2 and avformat_find_stream_info API. 2011-07-13 23:17:42 +02:00
Anton Khirnov
8c8eab8bfe cmdutils: store all codec options in one dict instead of video/audio/sub
Split them when codec id is known.
2011-07-13 23:17:42 +02:00
Anton Khirnov
71a861cf40 lavc: make avcodec_alloc_context3 officially public.
Deprecate avcodec_alloc_context/2.
2011-07-10 17:09:28 +02:00
Anton Khirnov
9ba38229e5 cmdutils: add opt_default2().
It stores options in a dictionary to be passed to new open calls.

It will replace opt_default once all the pieces are in place.
2011-06-16 20:24:57 +02:00
Anton Khirnov
dc59ec5e79 AVOptions: add av_opt_find() as a replacement for av_find_opt. 2011-06-16 20:24:56 +02:00
Stefano Sabatini
de85935883 cmdutils: add missing NULL check in parse_options()
Fix ffplay -i FILE, which was recently broken.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-12 14:19:45 +02:00
Mans Rullgard
42abb9a80d cmdutils: add missing const qualifier
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-04 18:09:01 +01:00
Stefano Sabatini
26513856d6 cmdutils: remove OPT_FUNC2
Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-28 09:40:19 -04:00
Ronald S. Bultje
faf8d3ddfa cmdutils: use sws_freeContext() instead of av_freep().
av_freep(swsContext) will leak all memory potentially
allocated within the swsContext.
2011-05-27 13:22:28 -04:00
Benjamin Larsson
91199cfe55 ffplay: add a dummy option -i so that it is easy to switch between ffmpeg -i "file" and ffplay -i "file".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:36 +02:00
Stefano Sabatini
3372ec327b cmdutils: add OPT_INT check in parse_number_or_die()
Check that the value passed for an OPT_INT option is an int, fail
otherwise.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:15:24 +02:00
Stefano Sabatini
5d2c6f42d7 cmdutils: remove list_fmts(), simplify
The function was only used in opt_sample_fmt() for listing the sample
formats. Move list_fmts() functionality directly into
opt_sample_fmt().

Also fix the warning:
ffmpeg.c: In function ‘opt_audio_sample_fmt’:
ffmpeg.c:2877: warning: passing argument 1 of ‘list_fmts’ from incompatible pointer type
cmdutils.h:163: note: expected ‘void (*)(char *, int,  int)’ but argument is of type ‘char * (*)(char *, int,  enum AVSampleFormat)’

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:14:13 +02:00
Anton Khirnov
19615089a0 ffmpeg.c: reset avoptions after each input/output file.
This is consistent with how all the other options work.
2011-05-09 19:35:20 +02:00
Roger Pau Monné
10d39405fa lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:42:13 +02:00
Luca Barbato
ba9327ea65 win32: include the correct header in cmdutils.c
CommandLineToArgvW requires windows.h, include it directly
2011-04-25 21:57:30 +02:00
Kirill Gavrilov
b1ac139d89 Handle unicode file names on windows
All file names should be in UTF-8 within libavformat.

This is handled by mapping the open() function to an internal one
in os_support.h for windows.

fopen() could be overridden in the same way, but if that would be
used from ffmpeg.c, it would add a dependency on an ff prefixed
internal lavf function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-24 00:05:38 +03:00
Anton Khirnov
41d0eb1c81 lavc: remove the FF_API_SET_STRING_OLD cruft. 2011-04-19 18:41:00 +02:00
Anton Khirnov
cdc6a87f19 avio: deprecate av_protocol_next(). 2011-04-08 17:48:53 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Janne Grunau
a03be6e1ba use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_* 2011-03-16 21:54:39 +01:00
Janne Grunau
29ba091136 replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Stefano Sabatini
f6c7375a17 Deprecate parse_date() in favor of av_parse_time().
The new av_parse_time() is created in libavutil/parseutils.h, all the
internal functions used by parse_date are moved to
libavutil/parseutils.c and made static.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 23:39:56 +00:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
James Zern
60ff9de6ff cmdutils: fix codec-specific options from preset
Using a preset file caused the address of a stack variable to be stored
in opt_names/values. This change causes the strings to be dup'd then
freed in uninit_opts.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 18:34:17 -05:00
James Zern
3a6a9cdf5b cmdutils: fix opt_values leak
Add free to uninit_opts and relocate opt_names to same

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 17:18:45 -05:00
Diego Elio Pettenò
3568853f63 Make this_year static to cmdutils.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 23:44:58 +00:00
Georgi Chorbadzhiyski
c0dd565304 libavcodec minor version is > 99 so fix the formating
libavcodec minor version is > 99 so when printing the library versions
the output is a little bit broken:

  libavutil    50. 36. 0 / 50.36. 0
  libavcore     0. 16. 1 /  0.16. 1
  libavcodec   52.108. 0 / 52.108. 0
  libavformat  52. 94. 0 / 52.94. 0
  libavdevice  52.  2. 3 / 52. 2. 3
  libavfilter   1. 74. 0 /  1.74. 0
  libswscale    0. 12. 0 /  0.12. 0

Change the formating to look like this:

  libavutil    50. 36. 0 / 50. 36. 0
  libavcore     0. 16. 1 /  0. 16. 1
  libavcodec   52.108. 0 / 52.108. 0
  libavformat  52. 94. 0 / 52. 94. 0
  libavdevice  52.  2. 3 / 52.  2. 3
  libavfilter   1. 74. 0 /  1. 74. 0
  libswscale    0. 12. 0 /  0. 12. 0

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-20 11:34:19 +00:00
Mans Rullgard
324e7ee260 Use INFINITY and NAN macros instead of 1/0 and 0/0 2011-01-18 20:48:23 +00:00
Stefano Sabatini
be4876eae9 Disable initialization of the swscale sws_opts context in
cmdutils.c:init_opts(), in the case libswscale compilation is not
enabled.

Fix ffprobe and ffserver compilation with --disable-swscale.

Originally committed as revision 26212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-04 14:00:06 +00:00
Martin Storsjö
f03424a782 Reindent
Originally committed as revision 26205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-03 12:43:48 +00:00
Anssi Hannula
ef2b2243dc Use AVOption for muxers in ffmpeg.
Patch by Anssi Hannula, anssi d hannula d iki d fi

Originally committed as revision 26199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 16:00:47 +00:00
Justin Ruggles
391fa56ddb Update current year to 2011. Happy New Year!
Originally committed as revision 26184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-01 18:49:18 +00:00
Stefano Sabatini
819e2ab0d8 Add missing check on the existence of avcodec_opts[AVMEDIA_TYPE_X],
fix crash in ffprobe.

Originally committed as revision 25799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-22 22:03:21 +00:00
Stefano Sabatini
6e872935db Implement get_preset_file() in cmdutils.h and use it to factorize code
from ffmpeg.c and ffserver.c.

Originally committed as revision 25679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 23:07:04 +00:00
Stefano Sabatini
ff0652e503 Implement a common get_filtered_video_frame(), shared between ffplay.c
and ffmpeg.c.

Originally committed as revision 25520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 13:57:11 +00:00
Stefano Sabatini
f7ead94c69 Factorize definition of the output_filter defined in both ffplay.c and
ffmpeg.c.
Replace it with a more generic definition which can be shared.

Originally committed as revision 25453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:40:26 +00:00
Reimar Döffinger
a5c33faacc Add init and uninit functions to cmdutils, reduces code duplication
between ffmpeg and ffplay and avoids a valgrind error by freeing
avformat_opts->key.

Originally committed as revision 25309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 08:44:33 +00:00
Michael Niedermayer
0093ebc20a User application side of Codec specific parameters.
Originally committed as revision 25266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 23:06:51 +00:00
Alexander Strange
01d461980e All else being equal, prefer PTS over DTS in timestamp correction
Because DTS values aren't passed through decoders, they tend to be
inaccurate if decoder delay doesn't match what was expected by the encoder.

In particular this improves timestamps for H.264 without num_reorder_frames
set and with -strict 1, which causes DTS to be up to 16 frames ahead of the
picture.

Note that this doesn't really improve any file with very broken PTS/DTS,
since PTS isn't much more accurate in these.

Originally committed as revision 25242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 03:45:27 +00:00
Alexander Strange
7a8bfa5d67 Extract timestamp correction code from ffplay.c to cmdutils.c
Originally committed as revision 25241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 02:05:12 +00:00
Stefano Sabatini
20e021c711 Add more missing checks in opt_default(), prevent a crash if
avcodec_opts[0] or avformat_opts is not set.

Originally committed as revision 25186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 01:31:59 +00:00
Stefano Sabatini
d860aaf8cd Add missing existence checks in opt_default().
Originally committed as revision 25179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 16:32:08 +00:00
Stefano Sabatini
1790d3b330 Move log_callback_help to cmdutils.[hc], for allowing sharing.
Originally committed as revision 25149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 21:48:03 +00:00
Stefano Sabatini
2ee5c78967 Extend show_protocols() to make it print information about input,
output, seek support.

Originally committed as revision 24581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-29 22:38:28 +00:00
Stefano Sabatini
65dd2ded3f Factorize indent definition in PRINT_LIB_INFO().
Originally committed as revision 24435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 13:05:10 +00:00
Stefano Sabatini
d101e731cf Merge maybe_print_config() and PRINT_LIB_CONFIG() in PRINT_LIB_INFO().
Originally committed as revision 24434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 13:05:07 +00:00
Stefano Sabatini
1044a92a5e Rename:
PRINT_LIB_VERSION()      -> PRINT_LIB_INFO()
print_all_lib_versions() -> print_all_libs_info()

Originally committed as revision 24433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 13:05:04 +00:00
Stefano Sabatini
b6525b4b2a Reindent.
Originally committed as revision 24432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 13:05:01 +00:00
Stefano Sabatini
208749a0dd Increase flexibility of PRINT_LIB_VERSION(), make it accept a flags
parameter. Allow a pending factorization.

Originally committed as revision 24431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 13:04:58 +00:00
Stefano Sabatini
aac6ca6978 Add libavcore.
The new library is meant to contain the core multimedia utilities for
FFmpeg, to make them shareable between more libav* libraries.

See thread:
Subject: [FFmpeg-devel] [RFC] New library for shared non-generic libav* utils
Date: Fri, 9 Jul 2010 01:07:40 +0200

Originally committed as revision 24393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-21 18:28:42 +00:00
Stefano Sabatini
25e25617f6 Make all the numeric options accept in input an expression which is
evaluated through av_strtod().

Fix roundup issue #551.

Originally committed as revision 23556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-09 21:28:53 +00:00
Ramiro Polla
c56e9e05ab Open 2-pass logfile in binary mode for both reading and writing.
This fixes a regression on Windows introduced by r22769 in which the data read
from the file was not properly zero terminated. The file was read as text,
which caused the \r characters to be suppressed. Since the zero termination
happens at the end of the buffer, and there was one byte less read per line,
this caused the remaining space on the buffer to contain random data.

Originally committed as revision 23251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 21:32:57 +00:00
Måns Rullgård
e24db3e391 Fix build with swscale disabled
Originally committed as revision 23062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-09 12:04:48 +00:00