Commit Graph
100 Commits
Author SHA1 Message Date
Stefano Sabatini faa1cb50ed lavfi/ass: extend syntax for ass filter
Make the filter accept named options for the first argument, and update
documentation accordingly.
2012-10-15 22:40:08 +02:00
Stefano Sabatini 22c5cc239c tools/ffeval: include compat/getopt.c in case of missing system getopt() 2012-10-15 21:58:02 +02:00
Stefano Sabatini a726ac9a11 examples/muxing: extend usage notice 2012-10-15 21:36:14 +02:00
Stefano Sabatini 59e31aa2ca examples/muxing: provide more information in case of avcodec_open2 failure 2012-10-15 15:35:50 +02:00
Stefano Sabatini 6133149e0c examples/muxing: add missing error checks 2012-10-15 15:35:50 +02:00
Stefano Sabatini e56b3a5ebb examples/muxing: fix case inconsistency in message 2012-10-15 15:35:49 +02:00
Stefano Sabatini 304c37b216 tests: add fate-xface test 2012-10-15 08:32:34 +02:00
Stefano Sabatini cd559bb49a lavc: add xface image decoder and encoder
Based on libcompface code by James Ashton <James.Ashton@anu.edu.au>, and
relicensed to LGPL with the author's consent.
2012-10-15 08:32:18 +02:00
Stefano Sabatini c4aaff8c02 Revert "configure: link flite against libasound"
This reverts commit 396648cc6a.

The commit made impossible to build against libflite if libasound is not
available (e.g. on Windows). Thus remove the -lasound flag. In case of
libflite static linking the workaround is to enable
--extra-ldflags=-lasound (or disable the ALSA output device in libflite).
2012-10-11 11:19:18 +02:00
Stefano Sabatini 396648cc6a configure: link flite against libasound
libflite depends on libasound. Fix a linking failure when linking against
a static version of libflite.

Reported-by: Vladimir Kraljevic
2012-10-11 11:08:48 +02:00
Stefano Sabatini 886c3662d3 doc/filters: fix typo 2012-10-06 12:53:11 +02:00
Stefano Sabatini 1578d01d8f Changelog: add empty line after version lines
Fix spacing inconsistency.
2012-10-06 00:05:40 +02:00
Stefano Sabatini 531872d763 ffprobe: reindent after previous commit 2012-10-05 23:58:23 +02:00
Stefano Sabatini 3d189d41c1 ffprobe: add -select_streams option 2012-10-05 23:58:18 +02:00
Stefano Sabatini e97e0eff84 doc/swresample.txt: fix typos 2012-10-02 09:43:27 +02:00
Stefano Sabatini c053f48662 lavfi/transpose: add passthrough option 2012-10-02 09:43:06 +02:00
Stefano Sabatini 6300062774 lavfi/transpose: add support to named options and shortands
Allow extensibility.
2012-10-02 09:20:10 +02:00
Stefano Sabatini 301f6da039 ffprobe: extend disposition printing support
This generalizes the previous work on disposition printing.

Disposition flags are shown in a dedicated section, which should improve
output intellegibility, extensibility and filtering operations.

This breaks output syntax with the recently introduced disposition
printing.
2012-09-30 12:22:19 +02:00
Stefano Sabatini 50efde6bcb ffprobe: generalize nesting model for the XML writer
Do not make use of ad-hoc "tags" code, introduce a new section flag
SECTION_FLAG_HAS_VARIABLE_FIELDS to deal with the tags in a
content-agnostic way.

This is required by the pending disposition change.
2012-09-30 12:07:47 +02:00
Stefano Sabatini 74bd0cf49c ffprobe: rework/fix ini writer
Do not build from scratch the section header for each section, but build
it using the previous level buffer, thus improving efficiency.

Also fix some few corner cases related to numbering which are exposed by
the pending disposition patch.
2012-09-29 10:25:11 +02:00
Stefano Sabatini 01e4537f66 ffprobe: rework/fix flat writer
Do not build from scratch the section header for each section, but build
using the previous level buffer, thus improving efficiency and fix some
few corner cases which are exposed by the pending disposition patch.
2012-09-29 10:25:04 +02:00
Stefano Sabatini 06fd4c2dfa ffprobe: generalize nesting model for the compact writer
Regular section fields nested in a regular section are now prefixed by
the nested section name.

This is required by the pending change related to disposition.
2012-09-29 10:24:53 +02:00
Stefano Sabatini 44c1cc3f8e ffprobe: generalize nesting model for the default writer
Regular section fields nested in a regular section are now prefixed by
the nested section name.

This is required by the pending change related to disposition.
2012-09-29 10:24:45 +02:00
Stefano Sabatini b6ea9c8765 ffprobe: drop SECTION_ENTRY macro
The use of the macro makes to add new optional fields somewhat harder.
2012-09-29 10:24:36 +02:00
Stefano Sabatini 23564a4a4a ffprobe: add support to library ident printing 2012-09-29 10:24:28 +02:00
Stefano Sabatini ed2b69a4c3 ffprobe: remove unused "args" argument in writer init callback
The parameter is no longer used, since the arguments are parsed at the
framework level.
2012-09-28 16:37:27 +02:00
Stefano Sabatini 163f7afbe6 ffprobe: fix indentation of the first line of packets_and_frames sections in the json output 2012-09-27 01:10:46 +02:00
Stefano Sabatini 4552e9b56c ffprobe: generalize writer subsection nesting model
Discard unflexible structure based on the root/chapter/section layout in
favor of a generalized concept of section.

This should allow to represent sections at a generic level of nesting,
and allow subsection fields selection.

Also, simplify the code.
2012-09-26 11:07:09 +02:00
Stefano Sabatini 2089f93300 ffprobe: drop pointless opaque parameter in writer init callback
The parameter was never used.
2012-09-25 11:02:52 +02:00
Stefano Sabatini 58e9025993 ffprobe: reindent after previous commit 2012-09-25 09:22:00 +02:00
Stefano Sabatini 4b370d6126 ffprobe: rework checking logic in writer_print_time() and writer_print_rational()
Make writer_print_time() and writer_print_rational() always call
writer_print_int() or writer_print_string(). This way the checks for
determining if the value should be printed or not are consistently
performed in the low level functions.

writer_print_rational() is moved downward in order to avoid a forward
reference.

Simplify/amend the overall logic.
2012-09-25 09:20:57 +02:00
Stefano Sabatini bbe9fe469a lavf/utils: remove loop on AVERROR(EAGAIN) in av_read_frame()
The loop was introduced in 64d340c62a, and
was likely breaking non blocking reads as it busy loops.
2012-09-24 21:16:48 +02:00
Stefano Sabatini f3bd6fa7a8 lavc/mmvideo: forward reget_buffer return value in mm_decode_frame() 2012-09-24 14:57:49 +02:00
Stefano Sabatini efa3d5af1e lavc/roqvideodec: fix error message
Remove redundant reference to codec name, it is already mentioned in the
log header.
2012-09-24 12:02:38 +02:00
Stefano Sabatini b1fee1be61 lavc/roqvideodec: propagate reget_buffer() error code 2012-09-24 12:02:31 +02:00
Stefano Sabatini d2c70ec07f lavc/roqvideodec: remove useless headers 2012-09-24 12:02:23 +02:00
Stefano Sabatini d40b197ca8 tests/fate-ffprobe: fix typo in metadata comment 2012-09-24 10:32:52 +02:00
Stefano Sabatini 10c00f7a04 tests/fate-ffprobe: use an ffmetadata file for the injected metadata
Workaround commandline msys issues, also allow more flexibility.
Should fix ffprobe tests on mingw+MSVC.
2012-09-24 10:04:44 +02:00
Stefano Sabatini 64d340c62a lavf/utils: add error check in av_read_frame()
In particular, fix crash when the input file contains no packets (e.g. an
ffmeta input).
2012-09-24 00:41:13 +02:00
Stefano Sabatini 740c995288 lavfi: add asendcmd and sendcmd filters 2012-09-23 00:50:06 +02:00
Stefano Sabatini 7fe1ecefe1 lavfi/hue: simplify/fix setting logic in set_options()
Parse expression only when a new value is explicitly specified.

In particular, avoid double free in case an old expression value is
cached, it is set in the context, it is freed as the old value, and
finally the pointer stored in the context is freed again when the filter
is released.
2012-09-23 00:46:33 +02:00
Stefano Sabatini ab4ee9fd5e tests: update fate-ffprobe test to make use of -bitexact flag
Should fix tests with --enable-small.
2012-09-22 09:34:56 +02:00
Stefano Sabatini 42047c3e86 ffprobe: reindent after the previous commit 2012-09-22 09:34:56 +02:00
Stefano Sabatini 4cd1addcc4 ffprobe: add -bitexact boolean option
The option is mostly useful to make ffprobe output independent from the
build, and in particular to fix FATE --enable-small failures.
2012-09-22 09:34:56 +02:00
Stefano Sabatini 9543cd593e ffprobe: print format long_name only if non-NULL
Fix possible crash when long_name is not defined (for example if
--enable-small).
2012-09-21 13:59:18 +02:00
Stefano Sabatini 3aa1b53256 lavfi/hue: set to NULL freed pointers
Possibly safer.
2012-09-21 12:44:44 +02:00
Stefano Sabatini 31aa5b1a78 lavfi/hue: fix crash when resetting the saturation expression
Previously when saturation was reinited, the old value was freed when
setting options, and freed again in PARSE_EXPRESSION().
2012-09-21 12:43:52 +02:00
Stefano Sabatini 0f40105aaa ffprobe: print codec_long_name only when available
Avoid possible segmentation fault if codec_long_name is defined as
NULL (for example if --enable-small).
2012-09-21 09:27:06 +02:00
Stefano Sabatini 5bd6a4800d tests: add fate-ffprobe test 2012-09-20 12:13: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 98f753ec51 lavfi/testsrc: increase precision of the duration parameter
Compute duration in microseconds, rather than in timebase units. Decrease
approximation errors.
2012-09-20 12:13:17 +02:00
Stefano Sabatini f398617b19 ffprobe: fix CSV writer output
Fix regression introduced in 749ddc14fc.
2012-09-19 11:50:05 +02:00
Stefano Sabatini 1ad63ff14a fate: add av_small_strptime() test to fate-parseutils 2012-09-17 12:46:55 +02:00
Stefano Sabatini 85c93d90df lavu/parseutils: fix av_small_strptime() whitespace directive parsing
According to POSIX, strptime() should consume whitespaces in the date
string everytime a whitespace conversion specification is found in the
date format specification. Make av_small_strptime() conform with this
behavior.

In particular, should fix trac ticket #1739.
2012-09-17 12:45:56 +02:00
Stefano SabatiniandAnton Khirnov 5d1203f063 avio: flush the internal buffer in avio_close()
This is consistent with stdio, and thus what people would naturally
expect.
2012-09-15 18:24:49 +02:00
Stefano Sabatini 8bdba0b3e9 tools: move raw-test program to tools, with the name fourcc2pixfmt 2012-09-14 23:04:38 +02:00
Stefano Sabatini 363307813e tools/graphdot: unbreak syntax
Fix regression introduced in f054dbee6c.
+10.23l.
2012-09-14 11:29:25 +02:00
Stefano Sabatini dead4580e2 lavfi/avcodec: apply cosmetics style fixes 2012-09-14 11:06:40 +02:00
Stefano Sabatini 8d0e871f25 ffprobe: kill initializers with nested union field definition
The c99-to-c89 converter (for MSVC support) doesn't currently handle
designated initializers or compound literals with nested unions or
structs.

This is apparently the only place where this construct is used in the
FFmpeg codebase.
2012-09-14 10:47:08 +02:00
Stefano Sabatini 5e99a23b2d ffprobe: avoid potentially lossy long long int -> double cast in value_string()
Previously the cast long long int -> double was always performed (and
then the double was converted back to long long int) even when it was
avoidable.
2012-09-14 10:42:54 +02:00
Stefano Sabatini 51fa653829 examples/decoding_encoding: clarify operations in the usage message 2012-09-13 22:19:45 +02:00
Stefano Sabatini bcf93f78a5 examples/decoding_encoding: replace "picture" with "frame" in encode_example()
The use of "picture" in place of "frame" is confusing.
2012-09-13 20:49:59 +02:00
Stefano Sabatini 70b671a283 examples/decoding_encoding: apply various message log fixes 2012-09-13 20:49:59 +02:00
Stefano Sabatini f9dd2e5e1a ffprobe: print start_pts and duration_ts stream information 2012-09-12 10:22:29 +02:00
Stefano Sabatini 30a265f058 lavd/lavfi: apply stylistic fixes to the options help fields 2012-09-11 22:56:35 +02:00
Stefano Sabatini 749ddc14fc ffprobe: add priv_class field to Writer, and factorize writer options initialization 2012-09-11 22:30:23 +02:00
Stefano Sabatini 34b5b735f9 examples/muxing: add check on avformat_write_header() result 2012-09-11 21:43:27 +02:00
Stefano Sabatini b3e2975ab3 examples/muxing: apply misc fixes to log messages 2012-09-11 21:43:27 +02:00
Stefano Sabatini 1d0048cfe3 examples/muxing: rename img_convert_ctx to sws_ctx
The new name is more consistent with the codebase, and more
self-consistent with the libswscale API.
2012-09-11 21:43:18 +02:00
Stefano Sabatini 976bb42aca examples/muxing: merge some declarations and definitions 2012-09-11 21:41:56 +02:00
Stefano Sabatini bdd9bfbbab examples/muxing: prefer AVPicture to AVFrame, when feasible
Favor the use of plain AVPicture over AVFrame, especially when the use of
AVFrame is not required like in the case of tmp_picture.

Also adopt more straightforward names, to avoid frame/picture confusion.
2012-09-11 21:41:56 +02:00
Stefano Sabatini e592fd0ed1 lavf/flvenc: convert commented debug log to an av_dlog call
Also add some additional info (DTS and DTS time).
2012-09-11 18:58:19 +02:00
Stefano Sabatini 3015194448 lavfi/amerge: clarify the error message in case of input overlap 2012-09-11 18:58:19 +02:00
Stefano Sabatini 2fe8fd3948 examples/demuxing: add audio decoding/demuxing 2012-09-11 17:48:07 +02:00
Stefano Sabatini 00d516454c lavf/segment: add segment_list_flags option
Allow to specify options affecting the segment list generation.

In particular: add +live and +cache flags.

For a full discussion read trac ticket #1642:
http://ffmpeg.org/trac/ffmpeg/ticket/1642

Also add live M3U8 generation example.
2012-09-11 01:24:54 +02:00
Stefano Sabatini 7b62d3415e lavc/h263dec: return or propagate proper error codes 2012-09-11 01:15:10 +02:00
Stefano Sabatini ac006d29d8 lavc/flvdec: return meaningful error codes 2012-09-11 01:15:10 +02:00
Stefano Sabatini 0c71d5a077 ffprobe: add print_section option to the compact writer
Allow to skip section name at the begin of each line. Possibly simplify
output.
2012-09-11 01:14:57 +02:00
Stefano Sabatini f740c1a9c2 ffprobe: add and use DEFINE_WRITER_CLASS macro
Factorize writer class definition.
2012-09-11 01:02:20 +02:00
Stefano Sabatini 206c34e17d lavfi/setpts: set SAMPLE_RATE to NAN when input is no audio
Should be more robust/consistent.
2012-09-10 18:52:28 +02:00
Stefano Sabatini 722762f7e1 lavfi/setpts: add FRAME_RATE constant
Useful for dealing with constant frame-rate video.
2012-09-10 18:52:28 +02:00
Stefano Sabatini e4fe4d01fc ffprobe: simplify default printer
Remove pointless default_print_footer() and
default_print_chapter_header() callbacks, also avoid to print an
empty line when noprint_wrappers is selected.
2012-09-10 10:22:36 +02:00
Stefano Sabatini eab438eabb lavu/samplefmt: fix/clarify documentation for av_samples_fill_arrays()
In particular, avoid improper use of the term "channels" in place of
"planes", and fix erroneous documentation for the linesize parameter.
2012-09-09 11:41:17 +02:00
Stefano Sabatini 3634441452 lavu/samplefmt: add note regarding buf validity in av_samples_fill_arrays() doxy 2012-09-09 11:21:45 +02:00
Stefano Sabatini a4cb0af945 lavfi: drop deprecated and pointless avfilter_default_end_frame() function
Fix warning when compiling boxblur.

While this is technically a major API break, practically there will be no
one using that function since the filtering API is mostly private, so
that function alone is not usable.
2012-09-09 10:57:28 +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
Stefano Sabatini 25f139e72f lavf/utils: fix typo in has_codec_parameters
Replace "unspecified sample size" with "unspecified frame size". +10l.
2012-09-07 14:31:37 +02:00
Stefano Sabatini 911519caec lavc/libx264: remap X264_LOG_INFO loglevel from AV_LOG_INFO to VERBOSE
AV_LOG_INFO is more geared towards messages to be read by the user, the
statistics shown by libx264 with X264_LOG_INFO are more useful at the
debugging level.

Help reducing the log spam.
2012-09-07 09:59:12 +02:00
Stefano Sabatini cf5629c064 lavu/opt: reindent after last commit 2012-09-07 09:59:12 +02:00
Stefano Sabatini 144caa7280 lavc/raw-test: invert the order of key/value when printing the fourcc->pix_fmt map
Print
FOURCC: PIX_FMT
rather than
PIX_FMT: FOURCC

This seems more consistent with the help message:
-l                list the pixel format for each fourcc

Remove possibly redundant/confusing comment.
2012-09-06 23:39:57 +02:00
Stefano Sabatini da2ea7c33c lavf/flvenc: apply various log fixes/clarifications
Should improve user feedback in case of errors.
2012-09-06 23:39:57 +02:00
Stefano Sabatini 1bd6b0c927 lavf/flvenc: return meaningful error codes 2012-09-06 23:39:57 +02:00
Stefano Sabatini fb2e7ac3c4 lavfi/mp: drop rotate wrapper
The native filter transpose is perfectly equivalent.
2012-09-06 11:27:22 +02:00
Stefano Sabatini bdfffa66a0 tests/lavfi-regression: name temporary files after $testname in do_lavfi_pixfmts()
Fix a failure when running do_lavfi_pixfmts() for the
lavfi-tinterlace_merge and lavfi-tinterlace_pad tests concurrently.

Since they were using the same names for the temporary files, the first
ending test was removing them, and the second test was failing at
removing unexisting files.
2012-09-06 01:09:36 +02:00
Stefano Sabatini 5780f9bbd5 tests: add tinterlace filter tests
Only the merge and pad modes are tested.
2012-09-06 00:40:01 +02:00
Stefano Sabatini 77c991d8c5 tests/lavfi-regressions: support user-specified test name in do_lavfi_pixfmts()
Make do_lavfi_pixfmts() support an user-specified name for the test.

This allows to specify two pixfmts tests for the same filter, e.g. to
test a filter with different parameters. Useful for the pending
tinterlace tests.
2012-09-06 00:40:01 +02:00
Stefano Sabatini 9a2daef53f lavfi/tinterlace: declare source buffers in copy_picture_field() as const
Increase performance (slightly).
2012-09-06 00:40:01 +02:00
Stefano Sabatini fd5293d216 lavfi/tinterlace: set inlink->cur to NULL, since it is stored internally
If not set to NULL, the reference is freed by ff_end_frame(), and later
accessed in end_frame() by the filter code, causing a crash.
2012-09-06 00:40:01 +02:00
Stefano Sabatini 29e972f67c lavu/parseutils: add av_small_strptime()
Make internal small_strptime() function public, and use it in place of
strptime().
This allows to avoid a dependency on strptime() on systems which do not
support it.

In particular, fix trac ticket #992.
2012-09-06 00:40:01 +02:00