Commit Graph
100 Commits
Author SHA1 Message Date
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
Stefano Sabatini 79dcd58d83 lavu/parseutils: make small_strptime() return a (non const) char *
This is consistent with the standard definition of strptime().
2012-09-06 00:40:01 +02:00
Stefano Sabatini 5666a1b270 lavu/opt: support NULL and special "none" values for size and pixel format options
Allow to specify NULL values explicitly, thus overriding the default
values set in the context.
2012-09-05 16:08:06 +02:00
Stefano Sabatini fc15f58adb doc/filters: add mp=noise example 2012-09-05 11:55:16 +02:00
Stefano Sabatini 8a7b82ccab doc/filters: itemize example for mp filter 2012-09-05 11:53:25 +02:00
Stefano Sabatini 0e28e3cf82 doc/filters: remove reference to mp=hue filter, which was dropped 2012-09-05 11:44:01 +02:00
Stefano Sabatini 9de7622927 lavfi/transpose: implement landscape passthrough mode
Emulate the mp=rotate passthrough mode.
2012-09-04 11:39:23 +02:00
Stefano Sabatini 3b34cbce19 examples/scaling_video: write to rawvideo file
This is more useful for testing purposes. Also allow to specify the name
of the output file.
2012-09-04 11:29:28 +02:00
Stefano Sabatini 838b1d60a1 lavf/segment: add EXT-X-MEDIA-SEQUENCE tag in M3U8 header 2012-09-04 11:28:16 +02:00
Stefano Sabatini ebd703f0a0 lavf/segment: deprecate "ext" format in favor of "csv"
The new option name is more descriptive.
2012-09-04 11:27:55 +02:00
Stefano Sabatini d815763548 lavf/segment: add escaping for filename field of the CSV list file
CSV escaping code is borrowed from ffprobe.c.
2012-09-04 11:25:14 +02:00
Stefano Sabatini c8ef309379 examples: add demuxing.c example 2012-09-02 10:48:01 +02:00
Stefano Sabatini f7eec8956d lavf/segment: set EXT-X-VERSION to 3 rather than to 4
There is nothing we use of the latest version, downgrade version number
to increase decoding support.

Based on this comment by vel2000:
http://ffmpeg.org/trac/ffmpeg/ticket/1642#comment:17
2012-09-02 10:42:25 +02:00
Stefano Sabatini 34bf06a35c lavfi: when configuring a link, set channel layout from previous link if unspecified
In avfilter_config_links(), if the current channel layout is not
specified, set the same value of the previous link in the filterchain.

Consistent with the logic used to set the other link parameters.
2012-09-02 10:42:25 +02:00
Stefano Sabatini 06fc74bda0 lavc/codec_desc: fix name of wavesynth codec 2012-09-02 10:42:25 +02:00
Stefano Sabatini d55252c331 lavfi/mp: remove decimate wrapper
It was natively integrated into libavfilter.
2012-09-01 09:26:12 +02:00
Stefano Sabatini fa838a0c0f configure: add decimate filter dependency on avcodec 2012-08-31 17:49:24 +02:00
Stefano Sabatini 9dd3d6c72a lavfi: port decimate libmpcodecs filter
This filter is based on the MPlayer decimate filter by Rich Felker.
2012-08-31 16:04:37 +02:00
Stefano Sabatini 6c0107822d lavfi/mp=decimate: fix off-by-one logic in diff_C() x loop
Set x offset values in the range 0-7, rather than in the range 8-1.

The y loop is changed accordingly, to avoid confusion.

This also fixes output difference with the new pending native decimate
filter.
2012-08-31 16:04:12 +02:00
Stefano Sabatini e64b941dbc lavfi/mp: remove smartblur filter
It was natively integrated into libavfilter.
2012-08-31 16:02:49 +02:00
Stefano Sabatini db0a0aa243 examples/scaling_video: add logging in case of image allocation failure 2012-08-30 23:39:32 +02:00
Stefano Sabatini 952caf11f2 examples/muxing: remove pointless #undef exit 2012-08-30 23:39:32 +02:00
Stefano Sabatini cb6defb053 examples/scaling_video: consistently use printf rather than av_log() 2012-08-30 21:48:50 +02:00
Stefano Sabatini 078e203379 examples/scaling_video: add file doxy 2012-08-30 21:48:24 +02:00
Stefano Sabatini e53becc70f examples/Makefile: give priority to pkg-config flags
In case CFLAGS/LDLIBS are already defined and conflicting with the
pkg-config flags, give priority to the latter since they are used to
detect compilation flags.

This should fix for example the case where there are many different
instances of a library, CFLAGS=-I/foo/include and pkg-config cflags say
-I/bar/include.
2012-08-30 21:46:44 +02:00
Stefano Sabatini 2cbffc6706 examples/Makefile: remove duplicated -f switch
$(RM) already includes that flag.

Spotted-by: ubitux
2012-08-28 20:09:42 +02:00
Stefano Sabatini 74419fcf45 examples: add scaling_video example
This example should be useful to show the basic functionality of the
libswscale API.

More advanced features (scaling options etc., colorspace tweaking) may be
added later.
2012-08-28 20:09:37 +02:00
Stefano Sabatini 60924dfe55 examples/decoding_encoding: make operation logic more self-evident / predictable
Add a switch which controls which operation to perform.  Useful to test
only a single feature. Also the new behavior is more self-consistent.
2012-08-27 10:09:48 +02:00
Stefano Sabatini 3b0e2763f4 examples/Makefile: apply misc minor fixes to the RM rule
Use $(RM) in place of rm, drop useless "-r" for removing files.
2012-08-27 10:09:39 +02:00
Stefano Sabatini c0bca6425d examples/decoding_encoding: store temporary files in current dir
Do not clutter the temporary directory with files, also "/tmp" is not
always available, e.g. in Windows.

Also add the clean-test Makefile rule, which will clean the generated
files.
2012-08-27 10:09:31 +02:00
Stefano Sabatini fef9e84114 examples/decoding_encoding.c: tell where the decoding output files are printed 2012-08-24 17:31:10 +02:00
Stefano Sabatini 864e8adcf1 examples/muxing: update to the new avcodec_encode_video2() API 2012-08-24 17:31:10 +02:00
Stefano Sabatini b66afe087a lavfi/asetpts,setpts: rework debug log
Show more information, and only the information stored in the values
array. Improve debugging usefulness.
2012-08-24 13:32:59 +02:00
Stefano Sabatini 1181461ca5 lavfi/asetpts,setpts: add variables T, STARTT, PREV_INT and PREV_OUTT 2012-08-24 13:32:21 +02:00
Stefano Sabatini 3d6d59ef35 doc/filters: itemize examples for *settb filters 2012-08-24 12:54:45 +02:00
Stefano Sabatini c45178cf5b doc/filters: itemize examples for *setpts filters 2012-08-24 12:54:45 +02:00
Stefano Sabatini 0043db2967 doc/filters: move *setpts and *settb filters to the multimedia filters section
Since audio and video filters are explained together and share most code,
the multimedia filters section seems more fitting.
2012-08-24 12:54:45 +02:00
Stefano Sabatini 0b9a915dad lavfi: rename vf_setpts.c to f_setpts.c
The file contains the asetpts audio filter.
2012-08-24 12:54:45 +02:00
Stefano Sabatini a7219529d1 examples/decoding_encoding: flush audio frames in the encoder 2012-08-22 11:54:30 +02:00
Stefano Sabatini 535df748c5 examples/decoding_encoding: re-organize frame configuration code
Put the relevant code in one chunk, also check for frame allocation
failures.
2012-08-22 11:54:24 +02:00
Stefano Sabatini 780bf7595e doc/filters: fix level for the flite Examples subsection 2012-08-22 01:21:20 +02:00
Stefano Sabatini 2c0b164227 doc/faq: mention doc/examples
Also provide a link to the github FFmpeg page containing the examples.
2012-08-22 01:03:49 +02:00
Stefano Sabatini 005af8ce61 examples/muxing: cast sws_scale() argument to the expected one
Fix warnings:
muxing.c: In function ‘write_video_frame’:
muxing.c:326:23: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type [enabled by default]
2012-08-22 01:03:48 +02:00
Stefano Sabatini 4a91962771 doc/eval: add missing documentation of functions 2012-08-22 01:03:48 +02:00
Stefano Sabatini 4a32b30e0c doc/filters: itemize examples for pad filter, and fix a few typos 2012-08-22 01:03:42 +02:00
Stefano Sabatini 10c3329627 doc/ffmpeg: extend documentation for -(no)stdin option
Fix trac ticket #1665.
2012-08-21 10:04:30 +02:00
Stefano Sabatini 9a199040d8 lavfi/showspectrum: add priv_class and flags to options 2012-08-21 01:29:25 +02:00
Stefano Sabatini e35c0ee05c lavf/segment: fix computation of M3U8 segment target duration
Use ceil on the max duration, rather than approximating it to the nearest
integer.
2012-08-18 22:46:12 +02:00
Stefano Sabatini 69fc2489c4 doc/muxers: simplify segment examples
The simplifications are due to the recent option changes.
2012-08-18 12:32:54 +02:00
Stefano Sabatini 2d31ae2921 lavf/segment: change default value for segment_list_size option, from 5 to 0
This is technically a major compatibility break, but seems the most
natural default and what users would expect without reading the docs.
2012-08-18 12:32:23 +02:00
Stefano Sabatini 1c522e3868 lavf/segment: guess list type from list filename suffix 2012-08-18 12:31:49 +02:00
Stefano Sabatini dc7e4d685f lavfi/mp: remove framestep wrapped filter
An equivalent framestep filter has been natively integrated.
2012-08-18 12:14:46 +02:00
Stefano Sabatini 48d116400c lavfi: add framestep filter
This filter is inspired upon libmpcodecs/vf_framestep.c, by Daniele
Forghieri.

Only-keyframe output is not supported, since that feature can be achieved
through the more versatile select filter.
2012-08-18 12:13:34 +02:00
Stefano Sabatini 7cd5fa35fe lavfi/testsrc: set output framerate 2012-08-18 12:02:43 +02:00
Stefano Sabatini e5ae2f9126 lavf/segment: add M3U8 list support
Address trac ticket #1642.
2012-08-18 11:21:47 +02:00
Stefano Sabatini 4a12d1e8e7 lavf/segment: compute max list segment duration
This is useful for the M3U8 format incoming patch.
2012-08-18 11:21:47 +02:00
Stefano Sabatini 769500c2a3 lavf/segment: create segment_list_open and close functions
Allow factorization for the incoming patches, and avoid code/logic
duplication.
2012-08-18 11:21:47 +02:00
Stefano Sabatini d3a2a614bf lavf/segment: fix bogus segment index rewrapping logic
Decouple segment index wrapping and segment count logic. The counter
should not be reset since it detects the segment increasing timeframe.
2012-08-18 11:21:47 +02:00
Stefano Sabatini b89e00bd1c lavf/segment: move file description to @file doxy 2012-08-18 11:21:47 +02:00