Commit Graph

217 Commits

Author SHA1 Message Date
Clément Bœsch 03d0ea0cf0 ffprobe: remove media_type_string() by inlining av_x_if_null(). 2011-09-22 00:22:53 +02:00
Clément Bœsch 8af64e1a67 ffprobe: fix crash with -h. 2011-09-16 14:31:42 +02:00
Clément Bœsch 5ad01decef ffprobe: rename print_{int,str}_f callbacks to print_{integer,string}.
Renamed for consistency. Also, since print_int() and print_str() are
already defined as macros, the long name version is preferred.
2011-09-13 23:06:11 +02:00
Clément Bœsch 3fdf519e4b ffprobe: add JSON output printing format. 2011-09-13 23:03:05 +02:00
Clément Bœsch afbeb49456 ffprobe: replace fmt callback with str callback.
Having a string callback is much more simpler than a variable args
one for writers to deal with, especially when dealing with escaping.

This patch also introduces a local fast_asprintf() function which is
similar to av_asprintf() but avoids reallocating at each print (leading
to a performance issue).
2011-09-13 22:41:08 +02:00
Clément Bœsch 88fddd0bcc ffprobe: replace specific ## GNU cpp extension with __VA_ARGS__. 2011-09-09 14:40:18 +02:00
Clément Bœsch 5241bc2773 ffprobe: replace simple string printing with the appropriate helper. 2011-09-08 23:15:55 +02:00
Michael Niedermayer d2084402e6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: fix type for thread_type option
  avconv: move format to options context
  avconv: move limit_filesize to options context
  avconv: move start_time, recording_time and input_ts_offset to options context
  avconv: add a context for options.
  cmdutils: allow storing per-stream/chapter/.... options in a generic way
  cmdutils: split per-option code out of parse_options().
  cmdutils: add support for caller-provided option context.
  cmdutils: declare only one pointer type in OptionDef
  cmdutils: move grow_array() from avconv to cmdutils.
  cmdutils: move exit_program() declaration to cmdutils from avconv
  http: Consider the stream as seekable if the reply contains Accept-Ranges: bytes
  nutenc: add namespace to the api facing functions

Conflicts:
	avconv.c
	cmdutils.c
	cmdutils.h
	ffmpeg.c
	ffplay.c
	ffprobe.c
	ffserver.c
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 03:10:45 +02:00
Michael Niedermayer 1889c6724a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  AVOptions: fix av_set_string3() doxy to match reality.
  cmdutils: get rid of dummy contexts for examining AVOptions.
  lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.
  AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find().
  cpu detection: avoid a signed overflow

Conflicts:
	avconv.c
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	libavcodec/options.c
	libavcodec/version.h
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-04 04:11:53 +02:00
Clément Bœsch d5d7de7671 ffprobe: directly use va args in print fmt callbacks. 2011-09-01 22:15:06 +02:00
Clément Bœsch 0629b1ff35 ffprobe: introduce output format writers. 2011-08-30 09:28:31 +02:00
Clément Bœsch 8af9366e2f ffprobe: fix deprecated call to av_find_stream_info. 2011-08-26 14:33:28 +02:00
Stefano Sabatini 9a15146768 ffprobe: use av_get_media_type_string() in media_type_string(), simplify 2011-08-20 14:20:25 +02:00
Stefano Sabatini 7c94740b84 ffprobe: in value_string(), do not print trailing space in case of no suffix 2011-08-17 10:29:34 +02:00
Michael Niedermayer e2cc331124 NoMerge commit '4d58e4cb4ca8e04317fecea432ea3272a445877c'
* commit '4d58e4cb4ca8e04317fecea432ea3272a445877c':
  Rename ffserver to avserver.
  Rename ffprobe to avprobe.
  Rename ffplay to avplay.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-10 16:29:20 +02:00
Anton Khirnov 9e12f0bf5f Rename ffprobe to avprobe. 2011-08-09 19:56:24 +02:00
Michael Niedermayer 4095fa9038 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dnxhddec: optimise dnxhd_decode_dct_block()
  rtp: remove disabled code
  eac3enc: use different numbers of blocks per frame to allow higher bitrates
  dnxhd: add regression test for 10-bit
  dnxhd: 10-bit support
  dsputil: update per-arch init funcs for non-h264 high bit depth
  dsputil: template get_pixels() for different bit depths
  dsputil: create 16/32-bit dctcoef versions of some functions
  jfdctint: add 10-bit version
  mov: add clcp type track as Subtitle stream.
  mpeg4: add Mpeg4 Profiles names.
  mpeg4: decode Level Profile for MPEG4 Part 2.
  ffprobe: display bitstream level.
  imgconvert: remove unused glue and xglue macros

Conflicts:
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-22 12:08:52 +02:00
Thierry Foucu 364d64275c ffprobe: display bitstream level.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-21 09:32:53 -07:00
Michael Niedermayer 3602ad7ee6 Merge commit '142e76f1055de5dde44696e71a5f63f2cb11dedf'
* commit '142e76f1055de5dde44696e71a5f63f2cb11dedf':
  swscale: fix crash with dithering due incorrect offset calculation.
  matroskadec: fix stupid typo (!= -> ==)
  build: remove duplicates from order-only directory prerequisite list
  build: rework rules for things in the tools dir
  configure: fix --cpu=host with gcc 4.6
  ARM: use const macro to define constant data in asm
  bitdepth: simplify FUNC/FUNCC macros
  dsputil: remove ff_emulated_edge_mc macro used in one place
  9/10-bit: simplify clipping macros
  matroskadec: reindent
  matroskadec: defer parsing of cues element until we seek.
  lavc: add support for codec-specific defaults.
  lavc: make avcodec_alloc_context3 officially public.
  lavc: remove a half-working attempt at different defaults for audio/video codecs.
  ac3dec: add a drc_scale private option
  lavf: add avformat_find_stream_info()
  lavc: introduce avcodec_open2() as a replacement for avcodec_open().

Conflicts:
	Makefile
	libavcodec/utils.c
	libavformat/avformat.h
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-11 04:23:25 +02:00
Anton Khirnov 0b950fe240 lavc: introduce avcodec_open2() as a replacement for avcodec_open().
Adds support for decoder-private options and makes setting other options
simpler.
2011-07-10 17:06:22 +02:00
Gavin Kinsey c558122e4e Fix segmentation fault in ffprobe 2011-07-03 17:26:59 +02:00
Nicolas George 25119a7f08 ffprobe: flush stdout after each group. 2011-07-02 12:42:39 +02:00
Stefano Sabatini 46edd3a01b ffprobe: fix opt_pretty() signature
This is required after the OPT_FUNC2 removal.
2011-07-01 12:53:51 +02:00
Jeff Downs a09918335f Make all option parsing functions match the function pointer type through which they are called.
All option parsing functions now match the function pointer signature through
which they are called (int f(const char *, const char *), thereby working
reliably on all platforms.
Prefix all option processing functions with opt_
2011-06-30 11:49:48 -04:00
Michael Niedermayer 06724c5f5d ffprobe: remove duplicate avformat_alloc_context()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 14:38:58 +02:00
Gavin Kinsey df1768d0a2 Fix segmentation fault in ffprobe 2011-06-21 14:37:28 +02:00
Michael Niedermayer 2905e3ff64 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add opt_find to AVCodecContext class.
  h264: Complexify frame num gap shortening code
  intreadwrite.h: fix AV_RL32/AV_RB32 signedness.
  Fix decoding of mpegts streams with h264 video that does *NOT* have b frames
  Add minor bumps and APIChanges entries for lavf private options.
  ffmpeg: deprecate -vc and -tvstd
  ffmpeg: use new avformat_open_* API.
  ffserver: use new avformat_open_* API.
  ffprobe: use new avformat_open_* API.
  ffplay: use new avformat_open_* API.
  cmdutils: add opt_default2().
  dict: add AV_DICT_APPEND flag.
  lavf: add avformat_write_header() as a replacement for av_write_header().
  Deprecate av_open_input_* and remove their uses.
  lavf: add avformat_open_input() as a replacement for av_open_input_*
  AVOptions: add av_opt_find() as a replacement for av_find_opt.
  AVOptions: add av_opt_set_dict() mapping a dictionary struct to a context.
  ffmpeg: don't abuse a global for passing frame size from input to output
  ffmpeg: don't abuse a global for passing pixel format from input to output
  ffmpeg: initialise encoders earlier.

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/h264.c
	libavformat/avformat.h
	libavformat/utils.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-18 05:10:38 +02:00
Anton Khirnov e0518705c8 ffprobe: use new avformat_open_* API. 2011-06-16 20:24:57 +02:00
Michael Niedermayer f9ecb849ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  crypto: Use av_freep instead of av_free
  lavf: don't try to free private options if priv_data is NULL.
  swscale: fix types of assembly arguments.
  swscale: move two macros that are only used once into caller.
  swscale: remove unused function.
  options: Add missing braces around struct initializer.
  mov: Remove leftover crufty debug statement with references to a local file.
  dvbsubdec: Fix compilation of debug code.
  Remove all uses of now deprecated metadata functions.
  Move metadata API from lavf to lavu.

Conflicts:
	doc/APIchanges
	libavformat/aiffdec.c
	libavformat/asfdec.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/cafdec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/wtv.c
	libavutil/avutil.h
	libavutil/internal.h
	libswscale/swscale.c
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-09 04:47:19 +02:00
Anton Khirnov d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Stefano Sabatini cea87fb2c3 ffprobe: implement -i FILE option
Useful for mimicking the ffmpeg -i FILE syntax.
2011-06-05 13:31:47 +02:00
Stefano Sabatini 96f931adf7 cmdutils: change the signature of the function argument in parse_options()
This is required for a pending simplification.
2011-06-05 13:21:02 +02:00
Stefano Sabatini eb8bc57240 cmdutils: remove OPT_FUNC2
Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.
2011-05-28 18:23:05 +02:00
Stefano Sabatini 26513856d6 cmdutils: remove OPT_FUNC2
Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-28 09:40:19 -04:00
Stefano Sabatini 9c3f5ef663 ffprobe: tweak error message in open_input_file()
Replace "codec (id=%d)" with "codec with id %d", slightly more
readable.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 13:03:10 +02:00
Michael Niedermayer 7b376b398a Merge remote branch 'qatar/master'
* qatar/master:
  Handle unicode file names on windows
  rtp: Rename the open/close functions to alloc/free
  Lowercase all ff* program names.
  Refer to ff* tools by their lowercase names.
NOT Pulled  Replace more FFmpeg instances by Libav or ffmpeg.
  Replace `` by $() syntax in shell scripts.
  patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled  Remove stray libavcore and _g binary references.
  vorbis: Rename decoder/encoder files to follow general file naming scheme.
  aacenc: Fix whitespace after last commit.
  cook: Fix small typo in av_log_ask_for_sample message.
  aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
  Remove RDFT dependency from AAC decoder.
  Add some debug log messages to AAC extradata
  Fix mov debug (u)int64_t format strings.
  bswap: use native types for av_bwap16().
  doc: FLV muxing is supported.
  applehttp: Handle AES-128 encrypted streams
  Add a protocol handler for AES CBC decryption with PKCS7 padding
  doc: Mention that DragonFly BSD requires __BSD_VISIBLE set

Conflicts:
	ffplay.c
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24 03:41:22 +02:00
Diego Biurrun 89b503b55f Lowercase all ff* program names. 2011-04-23 19:12:24 +02:00
Michael Niedermayer efb5fa79f5 Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
  In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
  lavc: remove reference to opt.h from Makefile.
  prefer avio_check() over url_exist()
  avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
  lavu: remove misc disabled cruft
  lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED  lavu: remove FF_API_OLD_EVAL_NAMES cruft
  lavc: remove misc disabled cruft.
  lavc: remove the FF_API_INOFFICIAL cruft.
  lavc: remove the FF_API_SET_STRING_OLD cruft.
  lavc: remove the FF_API_USE_LPC cruft.
  lavc: remove the FF_API_SUBTITLE_OLD cruft.
  lavc: remove the FF_API_VIDEO_OLD cruft.
  lavc: remove the FF_API_AUDIO_OLD cruft.
  lavc: remove the FF_API_OPT_SHOW cruft.
  lavc: remove the FF_API_MM_FLAGS cruft.
  lavf: remove misc disabled cruft.
  lavf: remove FF_API_INDEX_BUILT cruft
  lavf: remove FF_API_URL_CLASS cruft.
  lavf: remove FF_API_SYMVER cruft
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Anton Khirnov 41d0eb1c81 lavc: remove the FF_API_SET_STRING_OLD cruft. 2011-04-19 18:41:00 +02:00
Stefano Sabatini 98ac192b4e ffprobe: provide format parameters to av_open_input_file()
Provide a non-NULL AVFormatParameters structure to
av_open_input_file() in open_input_file().

This is required because otherwise av_open_input_file() will allocate
and use a new format context, discarding the options set in the
provided format context.
2011-03-26 14:41:51 +01:00
Stefano Sabatini 038566a5ed ffprobe: tweak error message in open_input_file()
Replace "codec (id=%d)" with "codec with id %d", slightly more
readable.
2011-03-21 16:45:21 +01:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov 0ebf475494 lavf: add av_ prefix to dump_format()
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 610219a598)
2011-02-18 19:52:28 +01:00
Anton Khirnov 610219a598 lavf: add av_ prefix to dump_format()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 23:39:56 +00:00
Anton Khirnov 4712ed26ee Make ffprobe print stream language only once, also remove usage of the
deprecated field AVStream.language.

Patch by Anton Khirnov %name%@%surname% dot net.

Originally committed as revision 25507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 14:33:05 +00:00
Anton Khirnov a7e5a832c4 ffmpeg.c/ffprobe.c: remove all uses of av_metadata_conv()
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 13:04:27 +00:00
Michael Niedermayer 0093ebc20a User application side of Codec specific parameters.
Originally committed as revision 25266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 23:06:51 +00:00
Stefano Sabatini 6afd569e1d Make ffprobe able to set AVFormatContext options.
Originally committed as revision 25187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 01:32:02 +00:00
Stefano Sabatini 530bbe96c7 Implement ffprobe -show_packets.
Originally committed as revision 24577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-28 23:17:59 +00:00
Stefano Sabatini 7e566bbe6c Implement av_get_codec_tag_string() and use it in ffprobe.
Originally committed as revision 23421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 10:54:45 +00:00
Stefano Sabatini 441881b4f9 Reindent after the last commit.
Originally committed as revision 22984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 23:22:30 +00:00
Stefano Sabatini 8280e2bd45 Make ffprobe show sample_aspect_ratio and display_aspect_ratio only if
sample_aspect_ratio is known.

Avoid to show bogus values, which may confuse both the human and the
machine reader.

Based on a patch by Robert Krüger $(echo lsvfhfs@tjhobm7.ef | tr "b-za" "a-z").

Originally committed as revision 22983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 23:22:27 +00:00
Robert Krüger 0a6a282a51 Make ffprobe show stream->nb_frames if that info is known.
Patch by Robert Krüger $(echo kru3g3r@signal7.d3 | sed -e 's/3/e/g').

Originally committed as revision 22964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 23:35:56 +00:00
Robert Krüger d21b227818 Fix computation of the display aspect ratio.
Previously ffprobe was wrongly outputting the sample aspect ratio as
display aspect ratio.

Patch by Robert Krüger $(echo k-r-u-e-g-e-r@s-i-g-n-a-l-7.d-e | sed s/-//g).

Originally committed as revision 22880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 23:41:46 +00:00
Stefano Sabatini 72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Stefano Sabatini 4bfe67da24 Implement -convert_tags option, which converts showed tag names to the
FFmpeg generic tag names.

Originally committed as revision 22708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 10:04:10 +00:00
Stefano Sabatini efe8bb095b 10l: Initialize tag to NULL in show_stream, fix metadata showing in
streams.

Originally committed as revision 22698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 12:35:40 +00:00
Måns Rullgård 6580d5e377 Remove hacks not required since HAVE_AV_CONFIG_H was unset for the apps
Originally committed as revision 22295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:37 +00:00
Stefano Sabatini 6ce98ea4ae Add support to input devices in ffprobe.
See the thread:
Subject: [FFmpeg-devel] [PATCH] Add support to input device to ffprobe
Date: Sun, 21 Feb 2010 14:57:44 +0100

Originally committed as revision 22231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 13:06:45 +00:00
Stefano Sabatini 818636ecf1 Cosmetics: use consistent spacing in the ffprobe.c options table.
Originally committed as revision 22212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 23:35:30 +00:00
Stefano Sabatini 58621b8d5b Clarify the error message issued by ffprobe in case of more than one
file provided as input.

Originally committed as revision 22138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 23:02:56 +00:00
Stefano Sabatini b6a4185367 10l: add prefix "TAG:" to the metadata tags key showed for each stream.
This is consistent with the metadata displaying in show_format() and
with the documentation.

Originally committed as revision 22046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 00:16:43 +00:00
Stefano Sabatini 912dd63ecb Cosmetics: replace "filename" to "arg" for the name of the argument of
opt_input_file(). More consistent and more clear, as "filename" can be
easily confused with the global "input_filename".

Originally committed as revision 22045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 00:05:01 +00:00
Ramiro Polla c8c0ac6b26 FFprobe: take only one input file.
Originally committed as revision 22014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 06:14:59 +00:00
Stefano Sabatini 1be784a2cf Add support to an option -f which forces the format to use for opening
the probed multimedia resource.

Originally committed as revision 21944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 18:33:24 +00:00
Reimar Döffinger f1b267ddf7 Avoid using log2, it is not available everywhere.
Should fix compilation on FreeBSD.

Originally committed as revision 21942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 16:24:05 +00:00
Stefano Sabatini 336ce917e6 Add FFprobe tool.
This is a simplified / cleaned-up version of the SourceForge program:
http://sourceforge.net/projects/ffprobe/

Syntax / features may be different, in particular the options
-show_packets and -show_frames are not yet supported in this version.

Originally committed as revision 21936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 11:43:01 +00:00