Commit Graph

100 Commits

Author SHA1 Message Date
Michael Niedermayer 8bc7fe4daf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxygen: misc consistency, spelling and wording fixes
  vcr1: drop unnecessary emms_c() calls without MMX code
  Replace all uses of av_close_input_file() with avformat_close_input().
  lavf: add avformat_close_input().
  lavf: deprecate av_close_input_stream().
  lavf doxy: add some basic demuxing documentation.
  lavf doxy: add some general lavf information.
  lavf doxy: add misc utility functions to a group.
  lavf doxy: add av_guess_codec/format to the encoding group.
  lavf doxy: add core functions to a doxy group.
  Add basic libavdevice documentation.
  lavc: convert error_recognition to err_recognition.
  avconv: update -map option help text
  x86: Require 7 registers for the cabac asm
  x86: bswap: remove test for bswap instruction
  bswap: make generic implementation more compiler-friendly
  h264: remove useless cast
  proresdec: fix decode_slice() prototype

Conflicts:
	configure
	doc/APIchanges
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/celp_math.h
	libavcodec/h264.c
	libavfilter/src_movie.c
	libavformat/anm.c
	libavformat/avformat.h
	libavformat/version.h
	libavutil/avstring.h
	libavutil/bswap.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 00:39:48 +01:00
Clément Bœsch fbe6e29646 ffprobe: print codec timecode if available. 2011-11-28 14:06:02 +01:00
Stefano Sabatini 65f24858ed ffprobe: always print int values with print_val()
In particular, make the json writer write size values, fix regression
introduced with the addition of the print_val() macro.
2011-11-25 13:25:56 +01:00
Stefano Sabatini a7e5679054 ffprobe: make writer_print_integer support long long int values
This makes possible to use writer_print_integer for printing int64_t
values.
2011-11-18 10:09:26 +01:00
Clément Bœsch 69a501e6a1 ffprobe: small align cosmetic in json writer struct init. 2011-11-16 19:37:11 +01:00
Clément Bœsch 9813af259a ffprobe: make Writers constant. 2011-11-16 19:35:23 +01:00
Stefano Sabatini f0db05008d ffprobe: apply misc cosmetics to compact writer definition 2011-11-16 18:40:09 +01:00
Stefano Sabatini 1f0d937f77 ffprobe: add csv writer 2011-11-16 18:40:03 +01:00
Stefano Sabatini 1c43713e57 ffprobe: add compact writer 2011-11-16 00:32:08 +01:00
Stefano Sabatini 0491a2a07a ffprobe: force display of missing fields, depending on writer.flags
Add flags field to Writer, and define the
WRITER_FLAG_DISPLAY_OPTIONAL_FIELDS flag which forces the display of
optional fields, for example non-available or invalid fields.

Also set the flag in the default writer.

This change is required as for some writers it is preferable to show all
fields (for example for avoiding a variable number of fields in CSV
output), while for other formats (e.g. JSON, XML) it is better to leave
invalid/unavailable fields unspecified and thus simplify the parsing
stage on the deserializer side.
2011-11-16 00:30:35 +01:00
Michael Niedermayer 985e768024 ffprobe: use av_noreturn
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 04:26:07 +01:00
Stefano Sabatini 13665c8767 ffprobe: refactor value_string() to accept an unit_value struct
The new design allows to specialize the format for continuos time values
and discrete values. In particular, allows to print integer values like
"12" rather than "12.000".

Prettify, simplify parsing for integer values.
2011-11-07 14:53:36 +01:00
Stefano Sabatini 80abfbea9d ffprobe: introduce print_val() macro, ease readability 2011-11-07 14:53:29 +01:00
Stefano Sabatini d2d6bade5c ffprobe: implement and use print_time and print_ts macros
Help readability.
2011-11-07 14:53:22 +01:00
Michael Niedermayer 13b7781ec8 Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  x86inc: use sse versions of common macros instead of sse2 when applicable
  doc/APIchanges: add missing dates and hashes
  lavf: don't return from void av_update_cur_dts()
  Changelog: add more entries.
  Changelog: update ffmpeg/avconv incompatibility list.
  avconv: remove some redundant temporary variables.
  avconv: fix broken indentation
  avconv: move copy_initial_nonkeyframes to the options context.
  avconv: use file:stream instead of file.stream in log messages.
  doc/avconv: elaborate on basic functionality.
  doc/avconv: -sample_fmts, not -help sample_fmts prints the sample formats
  openssl: Only use CRYPTO_set_id_callback on OpenSSL < 1.0.0
  Call avformat_network_init/deinit in the programs
  Remove leftover includes of strings.h
  avutil: Don't allow using strcasecmp/strncasecmp
  Replace all usage of strcasecmp/strncasecmp
  avstring: Add locale independent implementations of strcasecmp/strncasecmp
  avstring: Add locale independent implementations of toupper/tolower
  cosmetics: insert some spaces in explicit enum value assignments
  move 8SVX audio codecs to the audio codec list part on the next bump
  ...

Conflicts:
	avprobe.c
	doc/APIchanges
	ffplay.c
	ffserver.c
	libavcodec/avcodec.h
	libavdevice/bktr.c
	libavdevice/v4l.c
	libavdevice/v4l2.c
	libavformat/matroskaenc.c
	libavformat/wtv.c
	libavutil/avstring.c
	libavutil/avstring.h
	libavutil/avutil.h
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-07 03:01:43 +01:00
Clément Bœsch 434db5719e ffprobe: use avio_size() instead of deprecated file_size attribute. 2011-11-05 15:07:19 +01:00
Clément Bœsch 1e4027747a ffprobe: fix const compiler warning. 2011-11-05 15:07:19 +01:00
Michael Niedermayer 16f793571d ffprobe: Print format specific variables of codecs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-04 17:25:28 +01:00
Clément Bœsch 2f468826ee ffprobe: prefer av_freep() over av_free() for global print_format option.
It could be re-used for instance in case ffprobe would support multiple
input files.
2011-10-18 19:11:05 +02:00
Stefano Sabatini f4eeb000bf ffprobe: fix weird align 2011-10-18 18:58:32 +02:00
Stefano Sabatini b874e2d0a0 ffprobe: prefer av_strtok() over av_get_token() for parsing print_format string
Simplify, and avoid the need for multiple escaping levels.
2011-10-18 18:21:03 +02:00
Stefano Sabatini 88bdf7471f ffprobe: move up ESCAPE_CHECK_SIZE and ESCAPE_REALLOC_BUF macros
So they can be used by other escaping routines.
2011-10-18 18:21:03 +02:00
Stefano Sabatini 2f3b028c71 ffprobe: redesign json_escape_str(), to make use of a global buffer
The new code avoids to call av_malloc/av_free when escaping is needed
(possibly faster), avoids an integer overflow in case of a huge
string, and provides feedback when a string cannot be escaped.

When a string cannot be escaped, a special string is printed instead.
2011-10-18 18:21:03 +02:00
Stefano Sabatini 1d0afec8fc ffprobe: add AVClass to writers
It is useful for logging messages from a writer context.
2011-10-15 00:54:22 +02:00
Michael Niedermayer f884ef00de Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  tiffenc: initialize forgotten avctx.
  avplay: free the active audio packet at exit.
  avplay: free rdft data used for spectrogram analysis.
  log.h: make AVClass a named struct
  fix ac3 encoder documentation
  vc1: more prettyprinting cosmetics
  vc1: prettyprint some tables
  vc1: K&R formatting cosmetics
  AVOptions: bump minor and add APIchanges entry.
  cmdutils/avtools: simplify show_help() by using av_opt_child_class_next()
  AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
  Remove all uses of deprecated AVOptions API.
  AVOptions: add av_opt_next, deprecate av_next_option.
  AVOptions: add functions for evaluating option strings.
  AVOptions: split get_number().
  AVOptions: add av_opt_get*, deprecate av_get*.
  AVOptions: add av_opt_set*().
  AVOptions: add new API for enumerating children.
  rv34: move inverse transform functions to DSP context
  flvenc: Write the right metadata entry count
  ...

Conflicts:
	avconv.c
	cmdutils.c
	doc/APIchanges
	ffplay.c
	ffprobe.c
	libavcodec/ac3dec.c
	libavcodec/h264.c
	libavcodec/libvpxenc.c
	libavcodec/libx264.c
	libavcodec/mpeg12enc.c
	libavcodec/options.c
	libavdevice/libdc1394.c
	libavdevice/v4l2.c
	libavfilter/vf_drawtext.c
	libavformat/flvdec.c
	libavformat/mpegtsenc.c
	libavformat/options.c
	libavutil/avutil.h
	libavutil/opt.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 06:00:03 +02:00
Stefano Sabatini 4edcdf5c44 ffprobe: show sample_fmt in the stream section 2011-10-12 14:55:28 +02:00
Stefano Sabatini fbb8468f20 ffprobe: prefer lowercase section names over uppercase ones
This is consistent with chapter names. The default writer section names
are converted to uppercase for keeping backward compatibility.
2011-10-11 00:24:27 +02:00
Stefano Sabatini cb50ada4f8 ffprobe: parse arguments for -print_format writer
This allows -print_format to accept string of the form WRITER=OPTIONS,
as required by the pending compact writer patch.
2011-10-09 16:03:13 +02:00
Stefano Sabatini eff7684b50 ffprobe: extend writers API, and move the writers up in the file
The new provided API is more flexible and is decoupled from the
application level code, so it is easier to maintain.
2011-10-09 16:02:52 +02:00
Clément Bœsch f9d8a3423f ffprobe: fix trailing '=' in stream id. 2011-09-28 17:57:22 +02:00
Michael Niedermayer 7c1aba4f01 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  fate: allow testing with libavfilter disabled
  x86: XOP/FMA4 CPU detection support
  ws_snd: misc cosmetic clean-ups
  ws_snd: remove the 2-bit ADPCM table and just subtract 2 instead.
  ws_snd: use memcpy() and memset() instead of loops
  ws_snd: use samples pointer for loop termination instead of a separate iterator variable.
  ws_snd: make sure number of channels is 1
  ws_snd: add some checks to prevent buffer overread or overwrite.
  ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
  flacdec: fix buffer size checking in get_metadata_size()
  rtp: Simplify ff_rtp_get_payload_type
  rtpenc: Add a payload type private option
  rtp: Correct ff_rtp_get_payload_type documentation
  avconv: replace all fprintf() by av_log().
  avconv: change av_log verbosity from ERROR to FATAL for fatal errors.
  cmdutils: replace fprintf() by av_log()
  avtools: parse loglevel before all the other options.
  oggdec: add support for Xiph's CELT codec
  sol: return error if av_get_packet() fails.
  cosmetics: reindent and pretty-print
  ...

Conflicts:
	avconv.c
	cmdutils.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/oggparsecelt.c
	libavformat/utils.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 02:14:37 +02:00
Clément Bœsch 00320ac0dd ffprobe: remove misplaced and pointless comment. 2011-09-22 00:22:53 +02:00
Clément Bœsch b70fd6fa8b ffprobe: use av_get_pix_fmt_name() instead of accessing av_pix_fmt_descriptors. 2011-09-22 00:22:53 +02:00
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