Without this fix, ffprobe would exit with a failure exit code if a stream
specifier is given that selects the last stream.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Avoid access to uninitialized values, which may result in a crash.
This happens for example in case of option parsing failure, since in that
case the internal AVBprint buffers are not initialized.
* qatar/master:
ARM: fix Thumb PIC on Apple
nut: add do {} while (0) to GET_V
tiffenc: Check av_malloc() results.
tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
Use atexit() instead of defining a custom exit_program() interface.
msvc: Fix detection of VFW & Avisynth required libs
Conflicts:
ffmpeg.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
ffserver.c
libavcodec/tiffenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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.
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.
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.
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.
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.
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.
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.
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.
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.
Remove pointless default_print_footer() and
default_print_chapter_header() callbacks, also avoid to print an
empty line when noprint_wrappers is selected.
* commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5':
x86: Fix linking with some or all of yasm, mmx, optimizations disabled
configure: Add more fine-grained SSE CPU capabilities flags
avfilter: x86: Use more precise compile template names
x86: cosmetics: Comment some #endifs for better readability
g723_1: add comfort noise generation
utvideoenc: Switch to dsputils' median prediction
utvideoenc: Avoid writing into the input picture
avtools: remove the distinction between func_arg and func2_arg.
avconv: make the -passlogfile option per-stream.
avconv: make the -pass option per-stream.
cmdutils: make -codecs print lossy/lossless flags.
lavc: add lossy/lossless codec properties.
Conflicts:
Changelog
cmdutils.c
configure
doc/APIchanges
ffmpeg.h
ffmpeg_opt.c
ffprobe.c
libavcodec/codec_desc.c
libavcodec/g723_1.c
libavcodec/utvideoenc.c
libavcodec/version.h
libavcodec/x86/mpegaudiodec.c
libavcodec/x86/rv40dsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
vc1: export some functions
configure: use HOSTCC_C/O in check_host_cc
configure: use AS_O setting in check_as
configure: use LD_O setting in check_ld()
Revert "dsputil: make {add/put/put_signed}_pixels_clamped() non-static."
build: Restore dependency of acelp_filters.o on celp_math.o
celp_math: Replace duplicate ff_dot_productf() by ff_scalarproduct_c()
celp_math: Move ff_cos() to the only place it is used
build: Use portable abstraction for linker/hostcc output file syntax
configure: Fix shared library creation for OpenBSD
vp56: Don't use DECLARE_ALIGN on a typedef name
mss1: move code that will be reused by MSS2 decoder into separate file
mss1: merge decode_intra() and decode_inter()
avprobe: Get rid of ugly casts in the options table
vf_hqdn3d: Remove a duplicate inline declaration
Conflicts:
Makefile
configure
ffprobe.c
libavcodec/Makefile
libavcodec/amrnbdec.c
libavcodec/amrwbdec.c
libavcodec/celp_math.c
libavcodec/celp_math.h
libavcodec/dsputil.c
libavcodec/lsp.c
libavcodec/mss1.c
libavcodec/ra288.c
libavcodec/vc1dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
fate: Add FATE tests for the Ut Video encoder
lavc: add Ut Video encoder
mpegvideo_enc: remove stray duplicate line from 7f9aaa4
swscale: x86: fix #endif comments in rgb2rgb template file
avconv: mark more options as expert.
avconv: split printing "main options" into global and per-file.
avconv: refactor help printing.
Conflicts:
Changelog
ffmpeg_opt.c
ffserver.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7c5012127fb7e18f0616011257bb4248f6a8b608':
cmdutils: change semantics of show_help_options() and document it.
avtools: move some newlines to show_help_options().
avconv: deprecate -isync.
Conflicts:
ffmpeg_opt.c
ffserver.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd3810c47fe8c9509c28c65c0244e743c1d353daf':
avconv: get rid of ugly casts in the options table.
avconv: try to match codecs by codec descriptor name as a last resort.
avtools: fix show_foo() signatures.
Conflicts:
cmdutils.c
cmdutils.h
cmdutils_common_opts.h
ffmpeg_opt.c
ffplay.c
ffprobe.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Add "data" and "extradata" attributes to the schema.
Add "tag" element in "streams".
Print extradata before tags to avoid closing the element.
Fix trac ticket #1588.
* commit 'fe1c1198e670242f3cf9e3e1eef27cff77f3ee23':
lavf: use dts difference instead of AVPacket.duration in find_stream_info()
avf: introduce nobuffer option
fate: make yadif tests consistent across systems
vf_hqdn3d: support 9 and 10bit colordepth
vf_hqdn3d: reduce intermediate precision
vf_hqdn3d: simplify and optimize
factor identical ff_inplace_start_frame out of two filters
vf_hqdn3d: cosmetics
avprobe/avconv: fix tentative declaration compile errors on MSVS.
Conflicts:
doc/APIchanges
ffmpeg.c
ffprobe.c
libavformat/avformat.h
libavformat/options_table.h
libavformat/utils.c
libavformat/version.h
tests/fate/filter.mak
tests/ref/fate/filter-yadif-mode0
tests/ref/fate/filter-yadif-mode1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Print full compiler identification, not only version number
flacdec: reverse lpc coeff order, simplify filter
x86: dsputil: drop some unused CPU flag debug code
Conflicts:
cmdutils.c
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
vorbis: Validate that the floor 1 X values contain no duplicates.
avprobe: Identify codec probe failures rather than calling them unsupported codecs.
avformat: Probe codecs at score 0 on buffer exhaustion conditions.
avformat: Factorize codec probing.
Indeo Audio decoder
imc: make IMDCT support stereo output
imc: move channel-specific data into separate context
lavfi: remove request/poll and drawing functions from public API on next bump
lavfi: make avfilter_insert_pad and pals private on next bump.
lavfi: make formats API private on next bump.
avplay: use buffersrc instead of custom input filter.
avtools: move buffer management code from avconv to cmdutils.
avconv: don't use InputStream in the buffer management code.
avconv: fix exiting when max frames is reached.
mpc8: fix maximum bands handling
aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.
Conflicts:
Changelog
cmdutils.h
ffmpeg.c
ffplay.c
ffprobe.c
libavcodec/avcodec.h
libavcodec/mpc8.c
libavcodec/v210dec.h
libavcodec/version.h
libavcodec/vorbisdec.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersrc.c
libavfilter/formats.c
libavfilter/src_movie.c
libavfilter/vf_aspect.c
libavfilter/vf_blackframe.c
libavfilter/vf_boxblur.c
libavfilter/vf_crop.c
libavfilter/vf_cropdetect.c
libavfilter/vf_delogo.c
libavfilter/vf_drawbox.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_fifo.c
libavfilter/vf_format.c
libavfilter/vf_frei0r.c
libavfilter/vf_gradfun.c
libavfilter/vf_hflip.c
libavfilter/vf_hqdn3d.c
libavfilter/vf_libopencv.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_select.c
libavfilter/vf_showinfo.c
libavfilter/vf_transpose.c
libavfilter/vf_unsharp.c
libavfilter/vf_yadif.c
libavfilter/vsrc_color.c
libavfilter/vsrc_testsrc.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Make writer_print_chapter_header() set the internal values *before* the
private writer callback is called, otherwise the accessed internal values
will be wrong.
Fix regression introduced in fa6cb2fdff.
Found-By: Daemon404
Move the field "multiple_entries" from the JSON writer private context to
WriterContext, and rename it "multiple_sections".
This allows to factorize the code with the pending INI format patch.
The special-case behavior may complicate parsing when the
-show_format_entry option is used programmatically in a script.
The option default=nk=1 achieves the same purpose, if the objective is to
skip printing the single field key.
* qatar/master:
pcmenc: set correct bitrate value
avprobe: don't print format entry name when only one was requested
Conflicts:
ffprobe.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (26 commits)
fate: use diff -b in oneline comparison
Add missing version bumps and APIchanges/Changelog entries.
lavfi: move buffer management function to a separate file.
lavfi: move formats-related functions from default.c to formats.c
lavfi: move video-related functions to a separate file.
fate: make smjpeg a demux test
fate: separate sierra-vmd audio and video tests
fate: separate smacker audio and video tests
libmp3lame: set supported channel layouts.
avconv: automatically insert asyncts when -async is used.
avconv: add support for audio filters.
lavfi: add asyncts filter.
lavfi: add aformat filter
lavfi: add an audio buffer sink.
lavfi: add an audio buffer source.
buffersrc: add av_buffersrc_write_frame().
buffersrc: fix invalid read in uninit if the fifo hasn't been allocated
lavfi: rename vsrc_buffer.c to buffersrc.c
avfiltergraph: reindent
lavfi: add channel layout/sample rate negotiation.
...
Conflicts:
Changelog
doc/APIchanges
doc/filters.texi
ffmpeg.c
ffprobe.c
libavcodec/libmp3lame.c
libavfilter/Makefile
libavfilter/af_aformat.c
libavfilter/allfilters.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/buffersrc.c
libavfilter/defaults.c
libavfilter/formats.c
libavfilter/src_buffer.c
libavfilter/version.h
libavfilter/vf_yadif.c
libavfilter/vsrc_buffer.c
libavfilter/vsrc_buffer.h
libavutil/avutil.h
tests/fate/audio.mak
tests/fate/demux.mak
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>