Commit Graph

68 Commits

Author SHA1 Message Date
Vittorio Giovara 7d308bf84b avprobe: Add -show_stream_entry to get a single stream property
This is needed for improved fate testing and it is modeled after
-show_format_entry. The main behavioral difference is that when a print
function is called with an empty key, rather than discarding it, the
closes key in the hierarchy is used instead.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-11-01 11:27:52 -04:00
Vittorio Giovara 95f8029345 avprobe: Fix memory leak
After init_opts() there needs to be an uninit_opts() call
to free the swscale context and other buffers.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-08-29 19:08:26 +02:00
Vittorio Giovara 6135c3b61e Revert "avprobe: Zero the allocated avio buffer memory"
This reverts commit 0e0538aefc.

The valgrind warning was a false positive due to OSX implementation of
printf (invoking a strnlen), while this code is actually fine, since the
format specifier %.*s guarantes that no more than buf_size bytes from
buf will be read.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-07-21 21:53:20 +02:00
Vittorio Giovara 0e0538aefc avprobe: Zero the allocated avio buffer memory
Fixes valgrind warning "Conditional jump or move depends on
uninitialised value(s)." from avio_flush().
2016-07-20 17:13:33 +02:00
Vittorio Giovara 8e757716c6 avprobe: Print stereo3d information 2016-05-17 12:25:27 -04:00
Vittorio Giovara 41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Anton Khirnov ba357e9869 avprobe: switch to codecpar 2016-02-26 09:15:29 +01:00
Anton Khirnov 567d6d5f9d avprobe: add local per-stream state
This will be useful in the following commits.
2016-02-26 09:15:20 +01:00
Anton Khirnov c9478410c6 avprobe: add local per-file state
Do not pass just a bare AVFormatContext pointer around, wrap it in
struct. This will be useful in the following commits.
2016-02-26 09:15:06 +01:00
Anton Khirnov 168a443d43 avprobe: print information from the codec descriptor
avprobe is not doing any decoding, so this is more correct than printing
information from a random codec implementation.
2016-02-26 09:14:49 +01:00
Anton Khirnov e7188a1a84 avprobe: remove a pointless condition and a dead branch
AVStream.codec is always non-NULL
2016-02-26 09:14:38 +01:00
Anton Khirnov 5efd91284e avprobe: do not call avio_close() on a custom context
avio_close() can only be called on AVIOContexts created by avio_open(2).
2016-02-22 11:28:26 +01:00
Luca Barbato f0ca6ffa0a avprobe: Unref the packet once it is used
Make sure it does not leak packets.

CC: libav-stable@libav.org
2015-10-26 18:00:54 +01:00
Martin Storsjö 709e1c91ea avprobe: Print the display matrix from per-stream sidedata
This is printed in a separate subgroup "displaymatrix" inside a
new group named "sidedata". The subgroup has got two values,
"rotation" (which is the parsed rotation from the matrix) and
"matrix" containing the full actual values.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:09:09 +03:00
Martin Storsjö 3080b0497d avprobe: Support writing arrays of integers without keys
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-02 22:09:09 +03:00
Vittorio Giovara 7b9cb7b365 avprobe: Export coded_{width,height} in -show_streams 2015-03-08 20:41:50 +00:00
Diego Biurrun bf704132a5 Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Vittorio Giovara b1306823d0 check memory errors from av_strdup() 2014-12-18 23:27:14 +01:00
Luca Barbato aeb23fc454 avprobe: Remove a pointless check
The element is always valid.

CC: libav-stable@libav.org
Bug-Id: CID 732276
2014-10-17 09:55:46 +01:00
Vittorio Giovara a2c00d22e7 avprobe: print color properties for show_streams 2014-10-08 18:17:49 +01:00
Luca Barbato 636ced8e1d cmdutils: wrap exit explicitly
Some C runtime implementations deadlock when calling threading functions
on the atexit() handler.

Use a simpler wrapper similar to av_log to call the cleanup function
before exit.

Bug-Id: 523
2013-07-07 21:43:23 +02:00
Luca Barbato a4baf96abd avprobe: rename the prettyprint structures 2013-07-07 04:28:51 +02:00
Anton Khirnov e19e8aeeaa avtools: move media_type_string() from avprobe to cmdutils.
It will be useful outside of avprobe.
2013-04-11 20:46:04 +02:00
Reimar Döffinger efa7f42020 Use the avstring.h locale-independent character type functions
Make sure the behavior does not change with the locale.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02:00
Anton Khirnov dda20a6e2c avprobe: also output dar/par if only defined in stream
Based on a patch by Jan Gerber <j@v2v.cc>
2013-01-04 12:55:58 +01:00
Janne Grunau 89a4465bd9 avprobe: report per stream bit rate if set by the decoder 2012-12-02 23:23:34 +01:00
Anton Khirnov b7f1010c8f tools: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:38 +02:00
Anton Khirnov 716d413c13 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat 2012-10-08 07:13:26 +02:00
Diego Biurrun 8be5b0d6d5 avconv/avprobe: Add missing 'void' to exit_program() definition 2012-10-03 18:07:49 +02:00
Diego Elio Pettenò 5e3f9979fa Use atexit() instead of defining a custom exit_program() interface. 2012-10-01 17:17:42 -04:00
Anton Khirnov 11d957fbd8 avtools: remove the distinction between func_arg and func2_arg.
func2_arg is the same as func_arg, except it has one additional
parameter. Change all func_arg callbacks to take that parameter (and
ignore it).
2012-08-30 13:56:25 +02:00
Martin Storsjö b42be2d56a avprobe: Get rid of ugly casts in the options table
This also makes sure the function pointers are stored via the same
union member as they are accessed via.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 18:59:06 +03:00
Anton Khirnov f9fada2704 avconv: split printing "main options" into global and per-file. 2012-08-19 19:23:43 +02:00
Anton Khirnov a3ad68d36c cmdutils: extend -h to allow printing codec details. 2012-08-19 19:22:08 +02:00
Anton Khirnov dc4c24a3d3 avtools: move some newlines to show_help_options().
Don't require every caller to supply them.
2012-08-19 19:21:03 +02:00
Anton Khirnov f617135bc9 avtools: fix show_foo() signatures.
show_foo() functions are declared as void show_foo(void), but called as
int show_foo(const char*, const char*).
2012-08-19 19:07:43 +02:00
Mans Rullgard 8b13445791 avprobe: add const to AVCodec pointer
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-18 14:20:57 +01:00
Martin Storsjö 0af85d57c1 avprobe: Include libm.h for the log2 fallback
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-14 01:37:52 +03:00
Mans Rullgard d752509b74 Use log2(x) instead of log(x) / log(2)
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 17:59:21 +01:00
Anton Khirnov 36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Anton Khirnov aba232cfa9 lavf: deprecate r_frame_rate.
According to its description, it is supposed to be the LCM of all the
frame durations. The usability of such a thing is vanishingly small,
especially since we cannot determine it with any amount of reliability.
Therefore get rid of it after the next bump.

Replace it with the average framerate where it makes sense.

FATE results for the wtv and xmv demux tests change. In the wtv case
this is caused by the file being corrupted (or possibly badly cut) and
containing invalid timestamps. This results in lavf estimating the
framerate wrong and making up wrong frame durations.
In the xmv case the file contains pts jumps, so again the estimated
framerate is far from anything sane and lavf again makes up different
frame durations.

In some other tests lavf starts making up frame durations from different
frame.
2012-07-29 08:06:30 +02:00
Ronald S. Bultje dcb7ef5483 avprobe/avconv: fix tentative declaration compile errors on MSVS. 2012-07-28 11:48:18 -07:00
Alex Converse 503f2feb14 avprobe: Identify codec probe failures rather than calling them unsupported codecs. 2012-06-05 09:51:51 -07:00
Luca Barbato 43b50e62c4 avprobe: correctly set the default formatter 2012-05-29 14:09:43 -07:00
Luca Barbato 528995589f avprobe: move formatter functions in the context
Avoid possible clashes.
2012-05-29 11:00:12 -07:00
Anton Khirnov 8271f55bd7 avprobe: restore pseudo-INI old style format for compatibility. 2012-05-26 21:14:35 +02:00
Anton Khirnov d30acfa94c avprobe: fix formatting. 2012-05-26 21:14:27 +02:00
Christian Schmidt b1d22dc52f avprobe: display the codec profile in show_stream()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-05-25 16:41:47 -07:00
Luca Barbato 70026be8e5 avprobe: fix function prototype
Make opt_output_format return the correct value.
2012-05-25 16:41:47 -07:00
Luca Barbato 0d242a7713 avprobe: provide JSON output
JSON usage is quite widespread.
2012-05-25 14:20:34 -07:00