Commit Graph

358 Commits

Author SHA1 Message Date
Michael Niedermayer a75d22445e ffprobe: check av_asprintf() for failure
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-13 01:45:27 +02:00
Dave Rice 09ec31ce3a ffprobe: print stream_index with frame data
This makes it easier to relate frame data to its associated stream.
2015-05-27 11:19:19 +02:00
Michael Niedermayer 5f0ebe865c ffprobe: Use av_packet_side_data_name() to find the side data name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-07 21:20:26 +02:00
Michael Niedermayer a72b61a317 ffprobe: support printing AVStream and AVPacket side data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 00:53:19 +02:00
Michael Niedermayer 08152f2df2 ffprobe: Add Support to print information about AV_FRAME_DATA_DISPLAYMATRIX
Idea from 709e1c91ea by Martin Storsjö
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 00:39:47 +02:00
Michael Niedermayer 2a3270b66c ffprobe: add writer_print_integers() to allow printing formated 1d and 2d arrays of integers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 00:38:52 +02:00
Michael Niedermayer fa14685a57 Merge commit '7b9cb7b36543c2a0e46d99b0e41824b9e7dd0c8f'
* commit '7b9cb7b36543c2a0e46d99b0e41824b9e7dd0c8f':
  avprobe: Export coded_{width,height} in -show_streams

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 23:58:18 +01:00
Michael Niedermayer fd8c3277c4 ffprobe: Change string_validation to int, its accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:06:39 +01:00
Michael Niedermayer 6998400c61 Merge commit 'bf704132a51f5d838365158331d4e535e1df4c8e'
* commit 'bf704132a51f5d838365158331d4e535e1df4c8e':
  Don't anonymously typedef structs

Conflicts:
	avprobe.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:27:44 +01:00
Andreas Cadhalpun 103e4c5863 stop embedding the build date
Theis makes the build binary reproducible.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 05:04:14 +01:00
Michael Niedermayer 47111d366d ffprobe: fix memleaks on errors
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 13:51:26 +01:00
Michael Niedermayer eee9b7a673 ffprobe: Support extracting the number of reference frames
Fixes Ticket3141

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 17:55:20 +01:00
Carl Eugen Hoyos e971eef8c0 Set -scan_all_pmts 1 in ffmpeg, ffplay and ffprobe if not set by user.
Fixes ticket #3762.
2014-11-09 18:28:29 +01:00
Michael Niedermayer f63d381387 ffprobe: Add support for color_trc/color_pri/chroma_loc
Idea from: a2c00d22e7
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-19 20:15:37 +02:00
Michael Niedermayer 19b4c0ccf9 ffprobe: Simplify by using av_color_range_name()
Idea from: a2c00d22e7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 04:24:55 +02:00
Tobias Rapp 1acc9189b4 ffprobe: add pixel format chroma sub-sampling output
Adds output of chroma sub-sampling information to
ffprobe -show_pixel_formats option.

Note: This patch just prints the "raw" log2_charoma_w/h values instead
of the previously suggested mapping into a chroma sub-sampling pattern
string like "4:2:2".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp 7d327d6242 ffprobe: add pixel format component bit depth output
Adds output of bit depth per pixel format component to
ffprobe -show_pixel_formats option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp b36b2c89df ffprobe: add pixel format flags output
Adds output of pixel format flags to ffprobe -show_pixel_formats option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp 143a8a44f4 ffprobe: add -show_pixel_formats option
Adds option -show_pixel_formats to ffprobe which lists all
available pixel formats with some details.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Carl Eugen Hoyos 42b4da75b7 Print bits_per_raw_sample for ffprobe -show_streams.
Fixes ticket #3919.
2014-09-08 17:49:20 +02:00
Nicolas George 4f3e2f107b ffprobe: add -show_data_hash option. 2014-08-17 11:30:55 +02:00
Michael Niedermayer 547d64a49a ffprobe: print some basic information about avframe side data
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-30 19:23:08 +02:00
Tobias Rapp f6e772f9b5 ffprobe: add color_range and color_space to stream output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-24 00:35:16 +02:00
Billy Shambrook 3c2d9f86c7 ffprobe: add rc_max_rate to stream output
The value is used by some bitstream to mark the maximum bit rate.

See thread:
Subject: [FFmpeg-devel] [PATCH] Add rc_max_rate to ffprobe stream output
Date: Sun,  1 Jun 2014 17:36:36 +0100
To: ffmpeg-devel@ffmpeg.org

http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/178461

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-06-09 23:19:33 +02:00
Michael Niedermayer f0211f4189 ffprobe: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 15:59:22 +02:00
Anshul 73a6063314 ffprobe: fix crash happening because of new streams occuring
Fix trac ticket #3603.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-05-18 20:04:02 +02:00
Nicolas George 43ca94a633 ffprobe: use the codec descriptor if no decoder was found. 2014-04-29 13:25:59 +02:00
Stefano Sabatini 1ba59b1cbe ffprobe: fix scaling of vali in value_string() in case -prefix is selected
Fix trac ticket #3523.
2014-04-23 10:32:42 +02:00
Michael Niedermayer ca6dd53a73 ffprobe: do not lose non ascii characters in non utf8 strings
Fixes Ticket3363

Using U+FFFD REPLACEMENT CHARACTER as suggested by nicolas

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 15:21:20 +02:00
Nicolas George a55692a960 ffprobe: check av_frame_alloc() failure. 2013-12-30 10:58:01 +01:00
Michael Niedermayer 565f786d1d ffprobe: Dont clear AVFrame between uses.
The old API required this clearing in the past, the new API does not
require it.

Fixes memleak
Regression introduced by 37a749012a

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-25 20:53:37 +01:00
Michael Niedermayer bf1c87ee7a ffprobe: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 17:11:00 +01:00
wm4 5f6c21117f ffprobe: show best_effort_timestamp in the frame section
This is useful for debugging.

Reference and ffprobe.xsd changes done and tested by Stefano Sabatini.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-12-15 10:46:46 +01:00
Stefano Sabatini 66a703ea01 ffprobe: only show tags when explicitly requested 2013-12-14 13:22:04 +01:00
Stefano Sabatini 65a3429e7a ffprobe: add cosmetical empty line 2013-12-13 09:42:15 +01:00
Stefano Sabatini 704cc5e75d ffprobe: free shared writer context on exit
Fix leak.

Spotted-by: Michael Niedermayer
2013-12-03 21:27:14 +01:00
Timothy Gu 82b2e9cb1d build: rename version.h to libavutil/ffversion.h
Also the libavutil/ffversion.h will be installed.

Rationale:
* Applications might want to know FFmpeg's version besides the individual
  libraries'.
* Avoids file name clash between FFmpeg's ./version.h and lib*/version.h when
  a library source file includes both and is compiled on an out-of-tree build.

Fixes #1769.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 21:42:55 +01:00
Michael Niedermayer 0075a22f41 Revert "configure: add #include "version.h" to config.h"
This reverts commit ca21116b3f.

Revert suggested by Jamal:
"Bad secondary effect i just noticed: Every time version.h is changed
 (git pull for example), anything that includes config.h will be
 recompiled. And that means pretty much every single file in the tree.
"
2013-11-28 00:19:45 +01:00
Timothy Gu ca21116b3f configure: add #include "version.h" to config.h
Avoid clash with version.h of the libraries.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 23:06:13 +01:00
Stefano Sabatini 8bf7ea8ac2 cmdutils: remove this_year constant, use CONFIG_THIS_YEAR instead
Simplify.
2013-11-26 10:03:32 +01:00
Marton Balint a02860351d ffprobe: add support for subtitle frames
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-11-25 19:51:27 +01:00
Paul B Mahol 638d79a9d0 ffprobe: use designated initializer for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-11-23 22:23:52 +00:00
Stefano Sabatini d20241c9b1 ffprobe: remove various useless ","
Nitted-By: ubitux
2013-11-22 16:58:24 +01:00
Stefano Sabatini cbba331aa0 ffprobe: implement string validation setting
This should fix trac tickets #1163, #2502.
2013-11-22 16:51:56 +01:00
Stefano Sabatini 11cba3ba9d ffprobe: add support for nested options in writer contexts 2013-11-22 16:51:19 +01:00
Stefano Sabatini e87190f5d2 ffprobe: check for errors, and abort immediately
This allows to make use of validation features.
2013-11-22 16:51:12 +01:00
Stefano Sabatini ddaf33f5bb ffprobe: fix consistency checks in parse_read_intervals()
Move array size assert after the count increment, and avoid strchr() NULL
dereference on p.

Should fix FFmpeg coverity issue #1108581.
2013-10-21 13:33:06 +02:00
Stefano Sabatini f5b27b6d5f ffprobe: print stream channel_layout when available
Fix trac ticket #3006.
2013-10-03 09:19:38 +02:00
Stefano Sabatini 7bac6e5cf8 ffprobe: fix uninitialized variable warning
Fix warning:
ffprobe.c:1684:21: warning: ‘start’ may be used uninitialized in this function [-Wmaybe-uninitialized] end = start + interval->end;

The warning is a false positive, since the variable is accessed only if
has_start is set, and in that case start has been already set.
2013-09-23 14:16:34 +02:00
Stefano Sabatini f0606a28de ffprobe: add -read_intervals option
This is also useful to test seeking on an input file.

This also addresses trac ticket #1437.
2013-09-19 10:10:30 +02:00
Stefano Sabatini 5d12ec8fb7 ffprobe: downgrade log level for non fatal errors in open_input_file()
Since the errors are not fatal, it is less confusing not to show them as
errors but as warnings.

Arbitrarily fixes trac ticket #2419.
2013-09-17 15:59:48 +02:00
Nicolas George 83635ac67b ffprobe: show bitmap subtitles size.
Fix trac ticket #2930.
2013-09-04 16:36:28 +02:00
Stefano Sabatini 291ad12ea2 ffprobe: show probe_score in the format section
Should address trac ticket #2621.
2013-09-01 11:34:18 +02:00
Florent Tribouilloy 2186a7e547 ffprobe: add -show_programs option
The option is used to sort the streams by program.

Signed-off-by: Florent Tribouilloy <florent.tribouilloy@smartjog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-28 16:39:06 +02:00
Stefano Sabatini 2fcd400669 ffprobe: do not treat array elements as nested in the compact writer
This fixes rendering of sections containing nested elements followed by
an array, for example as in the case:
programs->streams->stream

enabled by the -show_programs option.
2013-07-28 16:38:50 +02:00
Michael Niedermayer f982d006bb Merge commit '636ced8e1dc8248a1353b416240b93d70ad03edb'
* commit '636ced8e1dc8248a1353b416240b93d70ad03edb':
  cmdutils: wrap exit explicitly

Conflicts:
	avprobe.c
	cmdutils.c
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:34:11 +02:00
Stefano Sabatini 5c616fe48b ffprobe: always exit 1 in case of errors
This is consistent with the other ff* tools, and also avoids spurious
success reports when ret%256 = 0.
2013-06-27 00:20:36 +02:00
Stefano Sabatini 1fc626f8d0 ffprobe: reindent after previous commit 2013-06-27 00:20:28 +02:00
Nicolas George a334b00cf6 ffprobe: fix exit code with stream specifiers
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>
2013-06-27 00:20:20 +02:00
Stefano Sabatini 205092bf47 ffprobe: simplify branching logic in probe_file() 2013-06-27 00:20:11 +02:00
Stefano Sabatini 4da5402256 ffprobe: show chapter and chapter metadata information
Address trac ticket #2636.
2013-06-06 16:49:53 +02:00
Stefano Sabatini e292d75113 ffprobe: set writer context to 0 after allocation
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.
2013-03-19 18:00:34 +01:00
Stefano Sabatini f7ab23b0d0 ffprobe: remove deprecated frame "reference" field 2013-03-17 00:27:48 +01:00
Stefano Sabatini 1019cef329 ffprobe: support codec options
Make ffprobe honour codec options, and support stream specifiers like it
is done in ffplay.

In particular, address Trac ticket #1859.
2013-03-13 00:34:36 +01:00
Michael Niedermayer 3ded235f59 ffprobe: use AVFrame accessor functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-01 23:18:22 +01:00
Clément Bœsch d079d1d368 ffprobe: do not escape '"' between single quotes. 2013-01-01 13:32:51 +01:00
Stefano Sabatini 1a490df12f ffprobe: show pkt_size in frame
Fix trac ticket #2027.
2012-12-15 11:46:47 +01:00
Stefano Sabatini 9a7256e8e0 ffprobe: free dictionary in opt_show_entries()
Fix memleak.
2012-11-23 18:49:26 +01:00
Stefano Sabatini c8a5365dcf ffprobe: implement -sections option 2012-11-22 14:19:29 +01:00
Stefano Sabatini 196765a7cc ffprobe: implement subsection field selection through the -show_entries option 2012-11-22 14:19:25 +01:00
Stefano Sabatini 64dc383de5 ffprobe: fix typo in a comment 2012-11-21 20:17:57 +01:00
Stefano Sabatini 6ca9c74cc6 ffprobe: add "," at the end of enum list 2012-11-21 20:17:57 +01:00
Stefano Sabatini 29d46d7bce ffprobe: fix potential NULL pointer dereference
Found by Coverity, should fix CID 733741.
2012-11-06 22:59:24 +01:00
Stefano Sabatini a945607a78 ffprobe: add an array of section print buffers to the WriterContext
Allow to factorize buffers initialization/release, for all the writers
which use it. Simplify.
2012-10-24 23:40:21 +02:00
Michael Niedermayer 4334ba043e ffprobe: fix use of uninitialized pointer in av_strtok()
Fixes CID733837
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 03:37:43 +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
Michael Niedermayer 8f0168a3b9 fix exit_program() prototypes
This fixes 2 warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 21:55:31 +02:00
Michael Niedermayer 032ba74ed2 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-02 19:48:54 +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
Alexander Strasser dde8068856 ffprobe: Consider the chosen separator when doing CSV escaping
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:34 +02:00
Alexander Strasser dd83028374 ffprobe: Rename variable in csv_escape_str()
Sync to 3245be9 .

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:19 +02:00
Alexander Strasser f70122dd57 ffprobe: Simplify CSV field quoting code
Sync with bac1b31 .

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:13 +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 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