Commit Graph

291 Commits

Author SHA1 Message Date
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
Michael Niedermayer
058d03631a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cmdutils: add missing NULL check in parse_options()
  x11grab: remove a memory allocation and the associated memcpy.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-13 04:39:58 +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
Stefano Sabatini
b4af3cf347 cmdutils: remove unnecessary OPT_DUMMY implementation
The -i INPUT option can be implemented more cleanly by using a
function option, which can easily be done now that the
parse_arg_function passed to parse_options has a standard signature.
2011-06-05 13:21:06 +02:00
Stefano Sabatini
96f931adf7 cmdutils: change the signature of the function argument in parse_options()
This is required for a pending simplification.
2011-06-05 13:21:02 +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
eb8bc57240 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.
2011-05-28 18:23:05 +02: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
Michael Niedermayer
8381ab1437 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  ARM: disable ff_vector_fmul_vfp on VFPv3 systems
  ARM: check for VFPv3
  swscale: Remove unused variables in x86 code.
  doc: Drop DJGPP section, Libav now compiles out-of-the-box on FreeDOS.
  x86: Add appropriate ifdefs around certain AVX functions.
  cmdutils: use sws_freeContext() instead of av_freep().
  swscale: delay allocation of formatConvBuffer().
  swscale: fix build with --disable-swscale-alpha.
  movenc: Deprecate the global RTP hinting flag, use a private AVOption instead
  movenc: Add an AVClass for setting muxer specific options
  swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions.
  configure: report yasm/nasm presence properly
  tcp: make connect() timeout properly
  rawdec: factor video demuxer definitions into a macro.
  rtspdec: add initial_pause private option.
  lavf: deprecate AVFormatParameters.width/height.
  tty: add video_size private option.
  rawdec: add video_size private option.
  x11grab: add video_size private option.
  x11grab: factorize returning error codes.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-27 23:48:22 +02: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
Gianluigi Tiesi
1b30e4f586 preset dir for win32 2011-05-21 03:36:26 +02:00
Stefano Sabatini
950b358997 cmdutils: use const AVClass * when senseful
Fix warnings:
cmdutils.c: In function ‘opt_default’:
cmdutils.c:304: warning: initialization discards qualifiers from pointer target type
cmdutils.c: In function ‘set_context_opts’:
cmdutils.c:431: warning: passing argument 2 of ‘alloc_priv_context’ discards qualifiers from pointer target type
cmdutils.c:414: note: expected ‘struct AVClass *’ but argument is of type ‘const struct AVClass *’
2011-05-20 10:05:14 +02:00
Stefano Sabatini
0d65e0f8cb cmdutils: reset *picref_ptr to NULL in get_filtered_frame()
Avoid the presence of an invalid pointer, fix a crash in case of
get_filtered_frame() failure.
2011-05-20 09:34:57 +02:00
Michael Niedermayer
5319f48a57 cmdutils: Allocate private decoder context if its not allocated yet.
This fixes and simplifies setting decoder private options.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-16 21:26:18 +02: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
Baptiste Coudurier
580fa76c5c Allocate per codec options, now that options are freed between inputs and outputs. 2011-05-10 16:42:52 -07: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
Michael Niedermayer
b97b4b58a6 Merge remote branch 'qatar/master'
* qatar/master:
  mpegaudiodec: group #includes more sanely
  mpegaudio: remove #if 0 blocks
  ffmpeg.c: reset avoptions after each input/output file.
  ffmpeg.c: store per-output stream sws flags.
  mpegaudio: remove CONFIG_MPEGAUDIO_HP option
  mpegtsenc: Clear st->priv_data when freeing it
  udp: Fix receiving RTP data over multicast
  rtpproto: Remove an unused variable
  regtest: fix wma tests
NOT pulled:  mpegaudio: remove CONFIG_AUDIO_NONSHORT
  regtest: separate flags for encoding and decoding

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 04:03:17 +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
Stefano Sabatini
35fe66abbc lavfi: rename AVFilterBufferRefVideoProps.pixel_aspect to sample_aspect_ratio
Improve consistency with libavcodec.

This breaks libavfilter API/ABI.

The non-sequential 2.1.0 -> 2.4.0 bump is due to the mess previously
done with the lavfi minor number.
2011-05-01 13:10:18 +02:00
Stefano Sabatini
77e9dee8ae 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-05-01 13:10:06 +02:00
Stefano Sabatini
1ba5727242 lavc: add a pkt_pos field to AVFrame
This is similar to what was done with pkt_pts. This simplifies the
operation of extracting the pos information from the AVPacket, and
allows further simplifications.
2011-05-01 13:09:58 +02:00
Michael Niedermayer
fa1195227f FFMPEG: support demuxer specific options.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-30 22:09:15 +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
Michael Niedermayer
3788a3c0c0 Merge remote branch 'qatar/master'
* qatar/master:
  graphparser: add a NULL check on the argument passed to strstr
  setdar: prefer "sar" over "par" in log info message
  fade: fix draw_slice() check on fade->factor value
  fade: make draw_slice() chroma check against planes 1 and 2
  win32: include the correct header in cmdutils.c
  ac3: fix memleak in fixed-point encoder
  flashsv: Return more meaningful error values.
  flashsv: Employ explicit AVCodec struct initializers.
  read AVI palette from the end of extradata
  cosmetics: K&R coding style and more whitespace for Flash Screen Video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 04:21:15 +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
Michael Niedermayer
7b376b398a Merge remote branch 'qatar/master'
* qatar/master:
  Handle unicode file names on windows
  rtp: Rename the open/close functions to alloc/free
  Lowercase all ff* program names.
  Refer to ff* tools by their lowercase names.
NOT Pulled  Replace more FFmpeg instances by Libav or ffmpeg.
  Replace `` by $() syntax in shell scripts.
  patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled  Remove stray libavcore and _g binary references.
  vorbis: Rename decoder/encoder files to follow general file naming scheme.
  aacenc: Fix whitespace after last commit.
  cook: Fix small typo in av_log_ask_for_sample message.
  aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
  Remove RDFT dependency from AAC decoder.
  Add some debug log messages to AAC extradata
  Fix mov debug (u)int64_t format strings.
  bswap: use native types for av_bwap16().
  doc: FLV muxing is supported.
  applehttp: Handle AES-128 encrypted streams
  Add a protocol handler for AES CBC decryption with PKCS7 padding
  doc: Mention that DragonFly BSD requires __BSD_VISIBLE set

Conflicts:
	ffplay.c
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24 03:41:22 +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
Michael Niedermayer
efb5fa79f5 Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
  In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
  lavc: remove reference to opt.h from Makefile.
  prefer avio_check() over url_exist()
  avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
  lavu: remove misc disabled cruft
  lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED  lavu: remove FF_API_OLD_EVAL_NAMES cruft
  lavc: remove misc disabled cruft.
  lavc: remove the FF_API_INOFFICIAL cruft.
  lavc: remove the FF_API_SET_STRING_OLD cruft.
  lavc: remove the FF_API_USE_LPC cruft.
  lavc: remove the FF_API_SUBTITLE_OLD cruft.
  lavc: remove the FF_API_VIDEO_OLD cruft.
  lavc: remove the FF_API_AUDIO_OLD cruft.
  lavc: remove the FF_API_OPT_SHOW cruft.
  lavc: remove the FF_API_MM_FLAGS cruft.
  lavf: remove misc disabled cruft.
  lavf: remove FF_API_INDEX_BUILT cruft
  lavf: remove FF_API_URL_CLASS cruft.
  lavf: remove FF_API_SYMVER cruft
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Baptiste Coudurier
d319064465 Prefer codec specific options over global ones, allowing codec
to override global options.
2011-04-19 13:12:24 -07:00
Anton Khirnov
41d0eb1c81 lavc: remove the FF_API_SET_STRING_OLD cruft. 2011-04-19 18:41:00 +02:00
Baptiste Coudurier
0140d3f092 In libx264 wrapper, add -preset and -tune options 2011-04-16 16:51:54 -07:00
Stefano Sabatini
584c2f1db8 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.
2011-04-16 21:47:06 +02:00
Roger Pau Monné
09a1416db7 Add key_frame and pict_type to AVFilterBufferRefVideo. 2011-04-16 10:09:15 +02:00
Anton Khirnov
cdc6a87f19 avio: deprecate av_protocol_next(). 2011-04-08 17:48:53 +02:00
Stefano Sabatini
0c55c6d30e 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().

Als 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)’
2011-03-26 14:40:30 +01: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
Michael Niedermayer
e528cdac8a Revert "replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION"
This reverts commit 29ba091136.
2011-03-17 17:26:45 +01:00
Michael Niedermayer
0cb88628fb Revert "use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_*"
This reverts commit a03be6e1ba.
2011-03-17 17:26:45 +01:00
Michael Niedermayer
0fecf2642b Merge remote-tracking branch 'newdev/master'
Conflicts:
	Changelog
	doc/APIchanges
	doc/optimization.txt
	libavformat/avio.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 17:22:52 +01: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
Benjamin Larsson
76d4c1676f Add a dummy option -i to ffplay so that it is easy to switch between ffmpeg -i "file" and ffplay -i "file".
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-08 17:34:02 +01:00
Stefano Sabatini
40c3fe2c08 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>
(cherry picked from commit f6c7375a17)
2011-02-18 19:52:30 +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
7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01: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
Nicolas George
76ad67cae7 Implement guessed_pts in avcodec_decode_video2
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-07 19:32:07 +01:00
James Zern
3f171f5aec 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>
(cherry picked from commit 60ff9de6ff)
2011-02-06 20:31:45 +01:00
James Zern
ba3517aa6f 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>
(cherry picked from commit 3a6a9cdf5b)
2011-02-06 20:31:45 +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ò
7a0e1be839 Make this_year static to cmdutils.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 3568853f63)
2011-01-26 03:43:29 +01: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
9256dc28ab 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>
(cherry picked from commit c0dd565304)
2011-01-21 20:36:00 +01: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
Stefano Sabatini
9e94bd3e80 Reindent after the last commit.
Originally committed as revision 23034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:45:00 +00:00
Stefano Sabatini
10173c0e58 Simplify print_error(), directly use av_strerror()/strerror() for
printing the error code associated to FF_NETERROR(EPROTONOSUPPORT).

Originally committed as revision 23033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:44:57 +00:00
Stefano Sabatini
735ef67b9d Make print_error() use strerror() in case av_strerror() fails.
Should provide a meaningful error message for systems which do not
support strerror_r().

Fix roundup issue #1894.

Originally committed as revision 23032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 21:44:54 +00:00
Ramiro Polla
adef229efb AVERROR(FF_NETERROR(x)) -> FF_NETERROR(x)
FF_NETERROR is implicitly an AVERROR.

Originally committed as revision 22888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 00:20:11 +00:00
Stefano Sabatini
458b062d61 Implement cmdutils.c:read_file(), and use it in ffmpeg.c for reading
the second pass encoding log file.

Originally committed as revision 22769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 22:34:22 +00:00
Stefano Sabatini
330d86f593 Issue a more general message when the function which sets an option
fails.

It may fail not only because of an invalid value for the option, but
also for other reasons, e.g. memory problems etc.

Originally committed as revision 22738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:46:30 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Stefano Sabatini
7a5bdd79eb Use av_strerror() in print_error().
Originally committed as revision 22696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 22:46:47 +00:00
Stefano Sabatini
8bab85e54c Remove printing of frame sizes and frame rate abbreviations from
show_protocols().

The list of abbreviations is both outdated and out of context.

Originally committed as revision 22589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 23:51:12 +00:00
Måns Rullgård
6580d5e377 Remove hacks not required since HAVE_AV_CONFIG_H was unset for the apps
Originally committed as revision 22295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:37 +00:00
Stefano Sabatini
da033b05ab Make opt_default() look for options in sws_opts only if sws_opts is
defined, fix crash.

Originally committed as revision 22232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:09:35 +00:00
Stefano Sabatini
33bc794738 Make opt_default() print an error message and exit if the option
supplied is not recognized.

Originally committed as revision 21960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:28:51 +00:00
Stefano Sabatini
13887093fa FFmpeg is a collective effort so allowing a single name in a banner is
not nice/fair towards the community of developers.

Also this looks like the best way for resolving the debate about which
is the one person name to be put in the banner.

See the thread:
Subject: [FFmpeg-devel] [PATCH] Replace "Fabrice Bellard" with "the FFmpeg developers" in  the banner
Date: Thu, 11 Feb 2010 23:59:12 +0100

Originally committed as revision 21885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 20:47:20 +00:00
Stefano Sabatini
9cb5c760d7 Extend show_pix_fmts(), make it show input/output support for
conversion and other information exposed by the pixdesc API.

Originally committed as revision 21751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 23:36:35 +00:00
Måns Rullgård
0104b608ca Check for setrlimit()
Originally committed as revision 21733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 22:55:11 +00:00
Stefano Sabatini
9e5381a21b Make parse_options() explicitely handle the case where an opt_func2
function returns a negative value, rather than erroneously trigger the
code which manages the case of unknown option.

Originally committed as revision 21670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 15:46:18 +00:00
Stefano Sabatini
695f7de6a4 Declare variable "version" in the PRINT_LIB_VERSION() macro if block,
slightly simpler and more robust.

Originally committed as revision 21492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 23:08:43 +00:00
Måns Rullgård
5116571dcd Prettify PRINT_LIB_VERSION macro
Originally committed as revision 21477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 12:58:26 +00:00
Måns Rullgård
58fe804a5a Get rid of ifdeffery for printing library versions and configurations
Originally committed as revision 21476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 12:58:22 +00:00
Måns Rullgård
9120e2cd3f Print config of each lib if different from that of ffmpeg/ffplay/ffserver
Originally committed as revision 21448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 03:48:15 +00:00
Måns Rullgård
ffcc6e24f5 Add -timelimit option
This option limits the CPU time used by ffmpeg to the number of seconds
specified.  After this time, the OS sends a SIGXCPU signal, which we
handle and attempt to exit cleanly.  If the process is stuck, the OS
will deliver a SIGKILL one second later, forcibly terminating the
process.

This functionality is useful in automated setups where a runaway ffmpeg
process would otherwise go undetected.

Originally committed as revision 21347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 06:42:39 +00:00
Stefano Sabatini
7a78bc85aa Update this_year value.
Originally committed as revision 20995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 15:07:35 +00:00
Diego Biurrun
786386280e Mark conditionally used variable as av_unused, fixes the warning:
cmdutils.c:576: warning: unused variable ‘filter’

Originally committed as revision 20943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 12:01:49 +00:00
Stefano Sabatini
3f7bb42607 Implement a -pix_fmts option for listing all the supported pixel
formats.

Originally committed as revision 20909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 21:53:03 +00:00
Stefano Sabatini
c3c7832479 Factorize opt+1 out in parse_options(), simplify.
Originally committed as revision 20872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 23:47:22 +00:00
Stefano Sabatini
663c2edf5a Only list libavfilter filters if libavfilter has been enabled during
configuration.
Fix compilation if FFmpeg is not configured with --enable-avfilter.

Originally committed as revision 20813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 19:15:56 +00:00
Stefano Sabatini
c5dc602600 Move list_fmts() from ffmpeg.c to cmdutils.{h,c}, so that it can be
shared by the other ff* tools code.

Originally committed as revision 20812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 17:45:20 +00:00
Stefano Sabatini
62d7566239 Implement a -filters option, listing all the available libavfilter
filters.
Currently filters are not registered, so the option will show none.

Originally committed as revision 20807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 16:18:11 +00:00
Stefano Sabatini
2cb2d6f0f7 Make show_protocols() print one protocol per line.
Originally committed as revision 20568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-21 00:22:05 +00:00
Michael Niedermayer
8447f0bd74 Split show_formats().
Originally committed as revision 20553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 16:35:55 +00:00
Stefano Sabatini
2091b27b68 Make show_formats() print each bitstream filter on a separate line.
Improve readability of the output.

Originally committed as revision 20549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 22:27:23 +00:00
Diego Biurrun
a3d7c19728 Improve compiler information code to print to the console on program startup.
Remove gcc-specific hacks and allow filling relevant information for non-gcc
compilers in configure.

Originally committed as revision 19963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 12:23:14 +00:00
Diego Biurrun
5c1f57ffdf Print compiler version and build date before configuration in console output.
Originally committed as revision 19962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 12:21:06 +00:00
William R. Zwicky
5a8597a00a Document the output of ffmpeg -formats.
Patch by William R. Zwicky, wrzwicky pobox com

Originally committed as revision 19610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-09 10:42:38 +00:00
Benoit Fouet
b1d6e5e8ad Handle noX for OPT_BOOL X.
Originally committed as revision 19572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 09:24:39 +00:00
Carl Eugen Hoyos
da4c2dab17 Remove superfluous const.
Originally committed as revision 19284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-27 10:26:27 +00:00
Stefano Sabatini
4c97a6fafa Move opt_loglevel() from ffmpeg.c to cmdutils.c.
Originally committed as revision 19209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 23:09:03 +00:00
Diego Biurrun
9cad0e4ed8 Add configure option to upgrade (L)GPL to version 3.
Originally committed as revision 19116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 11:04:03 +00:00
Stefano Sabatini
3bf28f9d7f Factorize initial "printf(" and ");" in show_license().
Originally committed as revision 18950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 22:22:51 +00:00
Stefano Sabatini
090b61b2d1 Implement read_yesno().
Originally committed as revision 18037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 21:35:49 +00:00
Stefano Sabatini
636f1c4cd0 Rename avctx_opts to avcodec_opts.
The new name is more meaningful and consistent with avformat_opts
and sws_opts.

Originally committed as revision 17789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:32:10 +00:00
Michael Niedermayer
6d4f53cbac Remove old scaler.
Originally committed as revision 17786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 22:51:30 +00:00
Ramiro Polla
da2dc39e74 Revert part of r16593.
network.h should only be included when CONFIG_NETWORK is set.

Originally committed as revision 17009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-05 18:51:29 +00:00
Stefano Sabatini
ef4c0bb1dc Implement a var for containing the current year number rather than
hardcode it in the banner string.

Originally committed as revision 16678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 21:40:26 +00:00
Diego Biurrun
ddda628e81 Remove pointless #if around header #includes.
Originally committed as revision 16593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 00:45:04 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Stefano Sabatini
e329b6ec7a Bump year number.
Originally committed as revision 16406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-02 11:09:37 +00:00
Stefano Sabatini
f16dd7e65a Remove calls to deprecated av_set_string2() with calls to
av_set_string3().

Originally committed as revision 16241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 22:29:30 +00:00
Stefano Sabatini
3749076c77 Fix weird indent.
Originally committed as revision 16200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-18 00:13:19 +00:00
Stefano Sabatini
5c3383e5b5 Fix opt_default(), making it exit immediately in case of an invalid
argument.
See the thread: "[PATCH] Fix opt_default()".

Originally committed as revision 16196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 23:21:33 +00:00
Diego Pettenò
2cd39dbf16 Include headers for optional libraries only when enabled.
Include the headers for libavfilter, libswscale and libpostproc when
they are enabled (and thus linked in).

Without this change, Sun Studio will fail to link FFmpeg since two
inline functions defined in avfilter.h will have undefined references
to non-inline libavfilter functions.

Originally committed as revision 15665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-22 10:36:34 +00:00
Diego Pettenò
a14b362fc6 Use CONFIG_* macros in cmdutils.c for consistency.
Originally committed as revision 15626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-16 11:46:15 +00:00
Diego Pettenò
88b77ef1e0 Mark print_all_lib_versions() static in cmdutils.c . Patch by Diego Pettenò
Originally committed as revision 15547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 09:25:39 +00:00
Michael Niedermayer
85663ef302 Move opt_default() and set_context_opts() to cmdutils so it can be used from
the other tools as well.

Originally committed as revision 15450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 19:35:22 +00:00
Stefano Sabatini
1981deaf6b Make show_banner()/show_version() print the libpostproc version
numbers if enabled.

Originally committed as revision 15149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-01 18:02:46 +00:00
Stefano Sabatini
e9df66a7af Cosmetics: vertical align in print_all_lib_versions().
Originally committed as revision 15032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 18:29:45 +00:00
Stefano Sabatini
db6d50c754 Make show_version()/show_banner() print the libswscale versions if
enabled.

Originally committed as revision 15031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 18:25:14 +00:00
Stefano Sabatini
9a10927279 Make show_banner() and show_version() print both the compile-time and the
link-time/run-time libav* version numbers.

Originally committed as revision 14737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 20:08:37 +00:00
Diego Biurrun
7254edb5ba Replace call to deprecated avcodec_build() with avcodec_version().
Originally committed as revision 14521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 14:37:19 +00:00
Stefano Sabatini
304ba23a0b Print the program_name rather than always "FFmpeg" when showing the
commandline tools license.

Originally committed as revision 14141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-09 18:45:33 +00:00
Stefano Sabatini
ea9c581f61 Simplify show_banner() so that it does not require arguments, similar
to what was previously done with show_version().
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-29 08:48:51 +00:00
Stefano Sabatini
ba9880c13a Move show_formats() to cmdutils.c.
Patch by: Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 13236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-22 12:55:35 +00:00
Michael Niedermayer
64555bd9b1 Do not pass program_name as argument to show_version(), this allows some
future simplifications.

Originally committed as revision 13232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-21 23:36:32 +00:00
Michael Niedermayer
a0b3bcd9fe OPT_EXIT
Originally committed as revision 13231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-21 23:27:50 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Ramiro Polla
0b705fa424 Compile network-related code conditionally.
Originally committed as revision 13076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-08 00:46:34 +00:00