Commit Graph

870 Commits

Author SHA1 Message Date
Michael Niedermayer
7d727f1338 LAVFAPI: avformat_alloc_output_context() / simplify usage of muxers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-30 22:09:15 +02:00
Michael Niedermayer
a2eef3e9f5 LAVF API: remove AVOutputFormat.set_parameters() the field is unused.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-30 22:09:15 +02:00
Anssi Hannula
7c152a458d lavf: inspect more frames for fps when container time base is coarse
As per issue2629, most 23.976fps matroska H.264 files are incorrectly
detected as 24fps, as the matroska timestamps usually have only
millisecond precision.

Fix that by doubling the amount of timestamps inspected for frame rate
for streams that have coarse time base. This also fixes 29.970 detection
in matroska.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 78431098f9)

Tested with mplayer based on this report
http://thread.gmane.org/gmane.comp.video.mplayer.user/66043/focus=66063

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-29 22:46:13 +02:00
Diego Biurrun
045dd4b928 Replace some commented-out debug printf() / av_log() messages with av_dlog(). 2011-04-29 17:27:01 +02:00
Michael Niedermayer
8772156be0 Merge remote branch 'qatar/master'
* qatar/master:
  APIChanges: document git revision for CODEC_CAP_SLICE_THREADS addition.
  Introduce slice threads flag.
  FATE: allow forcing thread-type when doing threaded fate runs.
  Use av_log_ask_for_sample() where appropriate.
  error: sort, pack, and align error code and string definitions
  The stabilization period after version bumps should be one month, not one week.
  applehttp: Expose the stream bitrate via metadata
  doc: Add some initial docs on the applehttp demuxer
  Provide a fallback version of the libm function trunc
  libavdevice: Define _XOPEN_SOURCE for usleep
  lavc: provide deprecated avcodec_thread_init until next major version
  lavc: provide the opt.h header until the next bump
  error: change AVERROR_EOF value
  error: remove AVERROR_NUMEXPECTED
  error: add error code AVERROR_OPTION_NOT_FOUND, and use it in opt.c

Conflicts:
	libavcodec/h264.c
	libavutil/error.c
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-22 03:54:30 +02:00
Stefano Sabatini
79157f400b error: remove AVERROR_NUMEXPECTED
AVERROR_NUMEXPECTED is used only in the image muxer and demuxer, and
has a too much specific meaning, which is better explained through a
log message. Thus it can be replaced by AVERROR(EINVAL).

This breaks API.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-21 07:10:16 +02:00
Michael Niedermayer
10d2ae8cf7 Merge remote branch 'qatar/master'
* qatar/master:
  Makefile: Include dependencies for test tools, too
  Remove a version check in av_log made unnecessary by the big bump.
  update last major version increase dates in APIchanges
  Reduce picture size for yadif.
  oggdec: use av_freep() instead of av_free()
  avio: Fix sanity checks in ffurl_read*
  libavformat: Free AVFormatContext->streams
  libavformat: Make protocols pass URLContext as log context where available
  asf: remove commented out code in asf_read_seek
not pulled:  libpostproc: Remove crufty code disabled by the big bump.
  Reflect 0.7_beta1 release in the Changelog
not pulled:  sws: remove disabled cruft.
  lavu: remove disabled ff_random_get_seed cruft.
  lavu: remove disabled sha1 cruft.

Conflicts:
	Changelog
	libavutil/sha1.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-21 03:37:05 +02:00
Martin Storsjö
7bbb67d580 libavformat: Free AVFormatContext->streams
After switching this from a statically allocated array to a
dynamically allocated one in the major bump, this needs explicit
freeing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-20 15:42:55 +03: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
Stefano Sabatini
59d96941f0 avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
Make AVIO_FLAG_ access constants work as flags, and in particular fix
the behavior of functions (such as avio_check()) which expect them to
be flags rather than modes.

This breaks API.
2011-04-19 19:47:58 +02:00
Anton Khirnov
5763e63913 lavf: remove FF_API_SYMVER cruft 2011-04-19 18:28:39 +02:00
Anton Khirnov
b4c5acabb9 lavf: remove FF_API_FIRST_FORMAT cruft 2011-04-19 18:28:39 +02:00
Anton Khirnov
58d5ff0abf lavf: remove FF_API_PARSE_FRAME_PARAM cruft 2011-04-19 18:28:39 +02:00
Anton Khirnov
5048e36c99 lavf: remove FF_API_URL_SPLIT cruft 2011-04-19 18:28:38 +02:00
Anton Khirnov
61573bf1ba lavf: remove FF_API_GUESS_FORMAT cruft 2011-04-19 18:28:38 +02:00
Anton Khirnov
575c18da1b lavf: remove FF_API_OLD_METADATA cruft 2011-04-19 18:28:38 +02:00
Anton Khirnov
761ad42968 lavf: remove FF_API_MAX_STREAMS cruft 2011-04-19 18:28:38 +02:00
Nicolas George
e61b83d29e Ogg: add support for Xiph's CELT (Opus) codec.
This patch also introduces CODEC_ID_CELT.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
2011-04-19 15:49:32 +02:00
Carl Eugen Hoyos
133208ffb3 Be more verbose when printing the probe result. 2011-04-19 11:50:27 +02:00
Michael Niedermayer
c55780dcef Merge remote branch 'qatar/master'
* qatar/master: (32 commits)
  libopencore-amr, libvo-amrwbenc: Allow enabling DTX via private AVOptions
  libopencore-amr, libvo-amrwbenc: Only check the bitrate when changed
  libopencore-amr, libvo-amrwbenc: Find the closest matching bitrate
  libvo-*: Fix up the long codec names
  libavcodec: Mark AVCodec->priv_class const
  swscale: Factorize FAST_BGR2YV12 definition.
  libvo-aacenc: Only produce extradata if the global header flag is set
  lavf: postpone removal of public metadata conversion API
  lavc: postpone removal of request_channels
  lavc: postpone removal of audioconvert and sample_fmt wrappers
  lavf: postpone removal of deprecated avio functions
  libopencore-amr: Cosmetics: Rewrap and align
  libopencore-amr, libvo-amrbwenc: Rename variables and functions
  libopencore-amr: Convert commented out debug logging into av_dlog
  libopencore-amr: Remove an unused state variable
  libvo-amrwbenc: Don't explicitly store bitrate modes in the bitrate table
  libopencore-amr: Remove a useless local variable
  libopencore-amr, libvo-amrwbenc: Make the bitrate/mode mapping array static const
  libopencore-amr, libvo-amrwbenc: Return proper error codes in most places
  libopencore-amr: Don't print carriage returns in log messages
  ...

Conflicts:
	doc/developer.texi
	libavcodec/avcodec.h
	libavcodec/libvo-aacenc.c
	libavcodec/libvo-amrwbenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-14 03:21:38 +02:00
Michael Niedermayer
9891004ba9 Merge remote branch 'qatar/master'
* qatar/master:
Partially merged:flvdec: Allow parsing keyframes metadata without seeking in most cases
  Error out if vaapi is not found
  avio: undeprecate av_url_read_fseek/fpause under nicer names
  libvo-*: Don't use deprecated sample format names and enum names
DUPLICATE  flvdec: Fix support for flvtool2 "keyframes based" generated index
DUPLICATE  libavcodec: Use "const enum AVSampleFormat[]" in AVCodec initialization
  Fix the conversion of AV_SAMPLE_FMT_FLT and _DBL to AV_SAMPLE_FMT_S32.
  Convert some undefined 1<<31 shifts into 1U<<31.

Conflicts:
	configure
	libavcodec/libvo-aacenc.c
	libavcodec/libvo-amrwbenc.c
	libavformat/flvdec.c

Marged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-13 02:49:22 +02:00
Vitor Sessak
96573c0d76 lavf/utils.c: Order packets with identical PTS by stream index.
This allows for more reproducible results when using multi-threading.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-12 19:06:26 -04:00
Anton Khirnov
ff1ec0c3f8 avio: undeprecate av_url_read_fseek/fpause under nicer names
It seems their replacements won't be ready anytime soon.
2011-04-12 19:17:05 +02:00
Michael Niedermayer
d4d09329ee Merge remote branch 'qatar/master'
* qatar/master:
  lavf: bump minor and add an APIChanges entry for avformat cleanup
  lavf: get rid of ffm-specific stuff in avformat.h
Not pulled:  avio: deprecate av_protocol_next().
  avio: add a function for iterating though protocol names.
  lavf: rename a parameter of av_sdp_create from buff->buf
  lavf: rename avf_sdp_create to av_sdp_create.
  lavf: make av_guess_image2_codec internal
  avio: make URLProtocol internal.
  avio: make URLContext internal.
  lavf: mark av_pkt_dump(_log) for remove on $next+1 bump.
  lavf: use designated initializers for all protocols
  applehttp: don't use deprecated url_ functions.
  avio: move two ff_udp_* functions from avio_internal to url.h
  asfdec: remove a forgotten declaration of nonexistent function
  avio: deprecate the typedef for URLInterruptCB

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-09 03:17:07 +02:00
Anton Khirnov
a9bf9d8e53 lavf: make av_guess_image2_codec internal
It doesn't look very useful as a public function.
2011-04-08 16:44:29 +02:00
Anton Khirnov
c5704b2b9a lavf: mark av_pkt_dump(_log) for remove on $next+1 bump. 2011-04-08 15:44:09 +02:00
Michael Niedermayer
c88caa522c Merge remote branch 'qatar/master'
* qatar/master:
  proto: include os_support.h in network.h
  matroskaenc: don't write an empty Cues element.
  lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
  avio: move extern url_interrupt_cb declaration from avio.h to url.h
  avio: make av_register_protocol2 internal.
  avio: avio_ prefix for url_set_interrupt_cb.
  avio: AVIO_ prefixes for URL_ open flags.
  proto: introduce listen option in tcp
  doc: clarify configure features
  proto: factor ff_network_wait_fd and use it on udp

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08 02:50:13 +02:00
Anton Khirnov
5cec897105 avio: move extern url_interrupt_cb declaration from avio.h to url.h 2011-04-07 18:11:24 +02:00
Anton Khirnov
f87b1b373a avio: AVIO_ prefixes for URL_ open flags. 2011-04-07 18:07:16 +02:00
Michael Niedermayer
c0e51ec9c6 Merge remote branch 'qatar/master'
* qatar/master:
  Fix parser: mark av_parser_parse() for removal on next major bump
  swscale: postpone sws_getContext removal until next major bump.
  fate: add AAC LATM test
  mmst: get rid of deprecated AVERRORs
  lxfdec: use AVERROR(ENOMEM) instead of deprecated AVERROR_NOMEM.
  Reemove remaining uses of deprecated AVERROR_NOTSUPP.
REIMPLEMENTED in 2 lines of code:  lavf: if id3v2 tag is present and all else fails, guess by file extension

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-07 03:32:26 +02:00
Anton Khirnov
56a1000917 lavf: if id3v2 tag is present and all else fails, guess by file extension 2011-04-06 14:10:08 +02:00
Michael Niedermayer
2cae9809e2 Merge remote branch 'qatar/master'
* qatar/master:
  fate: fix partial run when no samples path is specified
  ARM: NEON fixed-point forward MDCT
  ARM: NEON fixed-point FFT
  lavf: bump minor version and add an APIChanges entry for avio changes
  avio: simplify url_open_dyn_buf_internal by using avio_alloc_context()
  avio: make url_fdopen internal.
  avio: make url_open_dyn_packet_buf internal.
  avio: avio_ prefix for url_close_dyn_buf
  avio: avio_ prefix for url_open_dyn_buf
  avio: introduce an AVIOContext.seekable field
  ac3enc: use generic fixed-point mdct
  lavfi: add fade filter
  Change yadif to not use out of picture lines.
  lavc: deprecate AVCodecContext.antialias_algo
  lavc: mark mb_qmin/mb_qmax for removal on next major bump.

Conflicts:
	doc/filters.texi
	libavcodec/ac3enc_fixed.h
	libavcodec/ac3enc_float.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-04 02:15:12 +02:00
Anton Khirnov
8978fedaee avio: introduce an AVIOContext.seekable field
Use it instead of url_is_streamed and AVIOContext.is_streamed.
2011-04-03 22:46:40 +02:00
Michael Niedermayer
0b9dffc67a Improve codec_tag guessing code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 16:40:12 +02:00
Michael Niedermayer
512f973eac Fix issue2437 2011-04-03 16:40:11 +02:00
Michael Niedermayer
5b56ad03fa Reimplement stream probe try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 16:40:11 +02:00
Michael Niedermayer
15957b197a Partial rewrite stream probe code.
Fix issue2312.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 16:40:11 +02:00
Anssi Hannula
78431098f9 lavf: inspect more frames for fps when container time base is coarse
As per issue2629, most 23.976fps matroska H.264 files are incorrectly
detected as 24fps, as the matroska timestamps usually have only
millisecond precision.

Fix that by doubling the amount of timestamps inspected for frame rate
for streams that have coarse time base. This also fixes 29.970 detection
in matroska.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 03:18:06 +02:00
Michael Niedermayer
4defa68fe2 Merge remote branch 'qatar/master'
* qatar/master:
  ac3enc: ARM optimised ac3_compute_matissa_size
  ac3: armv6 optimised bit_alloc_calc_bap
  fate: simplify fft test rules
  avio: document avio_alloc_context.
  lavf: make compute_chapters_end less picky.
  sierravmd: fix Indeo3 videos
  FFT: simplify fft8()
  fate: add fixed-point fft/mdct tests
  Fixed-point support in fft-test
  ape: check that number of seektable entries is equal to number of frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-02 01:54:27 +02:00
Anton Khirnov
ab11317c1f lavf: make compute_chapters_end less picky.
In particular, now it assumes that
a) chapters are chronologically ordered
b) chapters have the same timebases
c) duration of the stream is known
and asserts if any of these is not met.

Make it properly deal with harsher conditions.

fixes issue2320
2011-04-01 19:53:55 +02:00
Stefano Sabatini
ca1a2a4711 lavf: make compute_pkt_fields2() return meaningful error values 2011-03-26 14:41:33 +01:00
Michael Niedermayer
27ef7b1bcd Merge remote-tracking branch 'newdev/master'
* newdev/master:
  mov: set audio service type for AC-3 from bitstream mode in the 'dac3' atom.
  Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser and decoder, and vice-versa for the AC-3 encoder.
  Use audio_service_type to set stream disposition.
  Add APIchanges entry for audio_service_type.
  Add audio_service_type field to AVCodecContext for encoding and reporting of the service type in the audio bitstream.
  configure: in check_ld, place new -l flags before existing ones
  support @heading, @subheading, @subsubheading, and @subsubsection in texi2pod.pl
  doc: update build system documentation
  aacenc: indentation
  aacenc: fix the side calculation in search_for_ms
  vp8.c: rename EDGE_* to VP8_EDGE_*.

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavcodec/vp8.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-26 03:06:30 +01:00
Justin Ruggles
c70a6a41dd Use audio_service_type to set stream disposition. 2011-03-25 16:58:50 -04:00
Michael Niedermayer
4fa0e24736 Merge remote-tracking branch 'newdev/master'
* newdev/master: (33 commits)
  Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size.
  Add kbdwin.o to AC3 decoder
  Detect byte-swapped AC-3 and support decoding it directly.
  cosmetics: indentation
  Always copy input data for AC3 decoder.
  ac3enc: make sym_quant() branch-free
  cosmetics: indentation
  Add a CPU flag for the Atom processor.
  id3v2: skip broken tags with invalid size
  id3v2: don't explicitly skip padding
  Make sure kbhit() is in conio.h
  fate: update wmv8-drm reference
  vc1: make P-frame deblock filter bit-exact.
  configure: Add the -D parameter to the dlltool command
  amr: Set the AVFMT_GENERIC_INDEX flag
  amr: Set the pkt->pos field properly to the start of the packet
  amr: Set the codec->bit_rate field based on the last packet
  rtsp: Specify unicast for TCP interleaved streams, too
  Set the correct target for mingw64 dlltool
  applehttp: Change the variable for stream position in seconds into int64_t
  ...

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/ac3dec.c
	libavformat/avio.h
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-23 02:42:56 +01:00
Anton Khirnov
933e90a69a avio: make av_url_read_fseek/fpause internal.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-21 14:54:52 -04: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
Stefano Sabatini
12bcfe05b4 lavf: fix function name in compute_pkt_fields2 av_dlog message 2011-03-18 17:21:48 +01:00
Michael Niedermayer
e528cdac8a Revert "replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION"
This reverts commit 29ba091136.
2011-03-17 17:26:45 +01:00
Michael Niedermayer
0cb88628fb Revert "use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_*"
This reverts commit a03be6e1ba.
2011-03-17 17:26:45 +01:00
Michael Niedermayer
0fecf2642b Merge remote-tracking branch 'newdev/master'
Conflicts:
	Changelog
	doc/APIchanges
	doc/optimization.txt
	libavformat/avio.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 17:22:52 +01:00
Martin Storsjö
f1f60f5252 lavf: Make make_absolute_url a lavf internal function
This is shared by both applehttp demuxer and protocol.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-17 12:28:37 +01:00
Stefano Sabatini
68d875addc lavf: make av_interleave_packet() return meaningful error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c5dcb3d493)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-17 07:30:09 +01:00
Stefano Sabatini
70abc32314 lavf: enable av_dlog message in av_interleaved_write_frame()
Help debugging timestamp issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d541c8b468)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-17 07:29:57 +01:00
Stefano Sabatini
79f43a8cb6 lavf: enable av_dlog() in compute_pkt_fields2()
Turns a comment into an av_dlog() instruction, also add a commented
issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 77f21ce464)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-17 07:29:47 +01:00
Anton Khirnov
59f65d9579 avio: make url_setbufsize internal.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:59:38 -04:00
Stefano Sabatini
c5dcb3d493 lavf: make av_interleave_packet() return meaningful error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 01:35:08 +01:00
Stefano Sabatini
77f21ce464 lavf: enable av_dlog() in compute_pkt_fields2()
Turns a comment into an av_dlog() instruction, also add a commented
issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 01:35:08 +01:00
Stefano Sabatini
d541c8b468 lavf: enable av_dlog message in av_interleaved_write_frame()
Help debugging timestamp issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 01:35:08 +01:00
Janne Grunau
a03be6e1ba use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_* 2011-03-16 21:54:39 +01:00
Janne Grunau
29ba091136 replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Michael Niedermayer
6947b0c42e Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-15 16:48:42 +01:00
Nicolas George
c76374c6db Use AVERROR_EXIT with url_interrupt_cb.
Functions interrupted by url_interrupt_cb should not be restarted.
Therefore using AVERROR(EINTR) was wrong, as it did not allow to distinguish
when the underlying system call was interrupted and actually needed to be
restarted.

This fixes roundup issues 2657 and 2659 (ffplay not exiting for streamed
content).

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-15 08:09:19 -04:00
Anton Khirnov
75b9ed04b9 lavf/utils: dont't explicitly check AVIOContext.error
The error should be caught in write_packet()/write_trailer()

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-15 08:04:10 -04:00
Marton Balint
5126a8ecbb Fix av_find_best_stream when providing a wanted stream
In the main loop, stream_number is incremented after checking the stream type,
so the search usually will not find the wanted stream.

This patch eliminates the useless stream_number variable and introduces a new
one, called real_stream_index to store the real stream index of the current
stream, no matter if we are looping through all the streams or only the streams
of a program.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-11 13:05:46 +01:00
Marton Balint
fa14610df5 Fix av_find_best_stream when decoder_ret is given and using a related stream
Yet another fix for the code originally designed for use without related_stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-11 13:03:43 +01:00
Anton Khirnov
f8bc86d47e avio: move ff_rewind_with_probe_data from avio.h to avio_internal.h
also change its prefix to ffio

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f1ef2cd9ed)
2011-03-08 02:09:34 +01:00
Anton Khirnov
db44ea960d avio: avio_ prefix for url_fsize
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 76aa876e69)
2011-03-08 02:09:21 +01:00
Anton Khirnov
f1ef2cd9ed avio: move ff_rewind_with_probe_data from avio.h to avio_internal.h
also change its prefix to ffio

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 12:25:36 -05:00
Anton Khirnov
76aa876e69 avio: avio_ prefix for url_fsize
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 11:03:39 -05:00
Anton Khirnov
384c9c2fa7 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit a2704c9712)
2011-03-05 02:29:31 +01:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Martin Storsjö
08ad81cbff libavformat: Add av_pkt_dump{, _log}2, taking an AVStream parameter
This removes a fixme issue, by allowing the av_pkt_dump functions
to use the correct time base.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 863c471638)
2011-03-03 14:15:10 +01:00
Anton Khirnov
f59d8ff8cd avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b4aa5dac8)
2011-03-03 14:15:03 +01:00
Martin Storsjö
863c471638 libavformat: Add av_pkt_dump{, _log}2, taking an AVStream parameter
This removes a fixme issue, by allowing the av_pkt_dump functions
to use the correct time base.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-02 11:29:38 +01:00
Anton Khirnov
6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov
ebb92e0768 avio: rename url_fopen/fclose -> avio_open/close.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 22a3212e32)
2011-02-23 18:22:03 +01:00
Anton Khirnov
22a3212e32 avio: rename url_fopen/fclose -> avio_open/close.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 10:18:55 -05:00
Anton Khirnov
e63a362857 avio: avio_ prefixes for get_* functions
In the name of consistency:
get_byte           -> avio_r8
get_<type>         -> avio_r<type>
get_buffer         -> avio_read

get_partial_buffer will be made private later

get_strz is left out becase I want to change it later to return
something useful.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b7effd4e83)
2011-02-22 02:44:37 +01:00
Anton Khirnov
b7effd4e83 avio: avio_ prefixes for get_* functions
In the name of consistency:
get_byte           -> avio_r8
get_<type>         -> avio_r<type>
get_buffer         -> avio_read

get_partial_buffer will be made private later

get_strz is left out becase I want to change it later to return
something useful.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 11:23:22 -05:00
Anton Khirnov
471fe57e1a avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ae628ec1fd)
2011-02-20 19:05:47 +01:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Anton Khirnov
1b98107c8d Move find_info_tag to lavu and add av_ prefix to it
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit ab0287fcbd)
2011-02-18 19:52:33 +01:00
Stefano Sabatini
40c3fe2c08 Deprecate parse_date() in favor of av_parse_time().
The new av_parse_time() is created in libavutil/parseutils.h, all the
internal functions used by parse_date are moved to
libavutil/parseutils.c and made static.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit f6c7375a17)
2011-02-18 19:52:30 +01: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
ab0287fcbd Move find_info_tag to lavu and add av_ prefix to it
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-17 15:35:18 +01:00
Stefano Sabatini
f6c7375a17 Deprecate parse_date() in favor of av_parse_time().
The new av_parse_time() is created in libavutil/parseutils.h, all the
internal functions used by parse_date are moved to
libavutil/parseutils.c and made static.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 23:39:56 +00: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
Balint Marton
33af787d8a Fix av_find_best_stream when using a program
The current implementation has a bug, it is returning the stream index
in the found program, and not the stream index in the list of all
streams. The attached patch fixes this issue.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 22ec6b738f)
2011-02-16 23:00:50 +01:00
Reinhard Tartler
7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01:00
Balint Marton
22ec6b738f Fix av_find_best_stream when using a program
The current implementation has a bug, it is returning the stream index
in the found program, and not the stream index in the list of all
streams. The attached patch fixes this issue.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 11:47:42 +00:00
Anssi Hannula
2ea7e1f011 lavf: add AV_DISPOSITION_CLEAN_EFFECTS flag
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 24a83bd10a)
2011-02-15 16:32:31 +01:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Michael Niedermayer
e24c05cd53 Better threshold for the gcd based r_frame_rate calculation.
Fixes Gilmore Girls_Net 5_2011_01_08_16_10_53.wtv and RTL GP- WK Superbike - Qatar_RTL7_2009_03_14_15_49_23.wtv.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-15 04:19:31 +01:00
Anssi Hannula
24a83bd10a lavf: add AV_DISPOSITION_CLEAN_EFFECTS flag
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 23:16:32 +00:00
Anssi Hannula
709946b34c lavf: print stream disposition in dump_stream_format
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 3c33c0e263)
2011-02-14 23:58:19 +01:00
Anssi Hannula
3c33c0e263 lavf: print stream disposition in dump_stream_format
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-13 15:21:11 +01:00
Peter Ross
d43d2197c2 make av_find_best_stream() ignore streams marked with AV_DISPOSITION_*_IMPAIRED
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 5209149157)
2011-02-11 02:54:10 +01:00
Alexander Strange
b38f008ea6 Frame-based multithreading framework using pthreads
See doc/multithreading.txt for details on use in codecs.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-11 02:53:58 +01:00
Peter Ross
5209149157 make av_find_best_stream() ignore streams marked with AV_DISPOSITION_*_IMPAIRED
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-10 22:55:17 +01:00
Alexander Strange
37b00b47cb Frame-based multithreading framework using pthreads
See doc/multithreading.txt for details on use in codecs.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 09:17:28 -05:00
Anssi Hannula
070e5ba560 lavf: rename ff_probe_input_buffer to make it public
It is useful for applications that hand input data directly to lavf via
a ByteIOContext.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 3940caad02)
2011-02-09 03:33:55 +01:00
Anssi Hannula
e74c01db7e lavf: simplify pb parameter of ff_probe_input_buffer
There is no need to pass the ByteIOContext via a pointer to a pointer
anymore.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit aad216fd7e)
2011-02-09 03:33:55 +01:00
Reimar Döffinger
2f35beae4d Make av_set_pts_info keep previous time base if new one is invalid.
Fixes issue 2475.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b3190529df)
2011-02-09 03:31:17 +01:00
Anssi Hannula
3940caad02 lavf: rename ff_probe_input_buffer to make it public
It is useful for applications that hand input data directly to lavf via
a ByteIOContext.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-08 18:25:12 -05:00
Anssi Hannula
aad216fd7e lavf: simplify pb parameter of ff_probe_input_buffer
There is no need to pass the ByteIOContext via a pointer to a pointer
anymore.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-08 18:25:11 -05:00
Reimar Döffinger
b3190529df Make av_set_pts_info keep previous time base if new one is invalid.
Fixes issue 2475.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 16:12:15 -05:00
Martin Storsjö
4ed68fdfdc libavformat: Add a function for freeing an AVFormatContext
This function is useful for freeing data structures allocated by
muxers, which currently have to be freed manually by the caller.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f124b087ee)
2011-02-06 20:31:44 +01:00
Peter Ross
2d9fd1810b add ff_index_search_timestamp and ff_add_index_entry
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e6fb5a4f78)
2011-02-06 20:31:42 +01:00
Martin Storsjö
f124b087ee libavformat: Add a function for freeing an AVFormatContext
This function is useful for freeing data structures allocated by
muxers, which currently have to be freed manually by the caller.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:29:41 -05:00
Peter Ross
e6fb5a4f78 add ff_index_search_timestamp and ff_add_index_entry
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-03 21:50:54 -05:00
Diego Elio Pettenò
d20d1449e0 Make ff_interleave_compare_dts static to utils.c.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 101e1f6ff9)
2011-01-26 03:43:31 +01:00
Diego Elio Pettenò
101e1f6ff9 Make ff_interleave_compare_dts static to utils.c.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-25 21:48:03 +01:00
Stefano Sabatini
440d761e40 Clarify timestamps related error messages in compute_pkt_fields2().
Originally committed as revision 26308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-11 12:17:27 +00:00
Daniel Kang
6cbce63650 Fix assertion fail on audio files with invalid sample rates,
fixes issue 2475.

Patch by Daniel Kang, daniel.d.kang at gmail

Originally committed as revision 26240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 03:30:19 +00:00
Stefano Sabatini
6bbdba08c2 Revert previous commit, as it was not meant to be pushed.
Originally committed as revision 26239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 01:11:57 +00:00
Stefano Sabatini
7820147e6f Issue more explicit error messages in compute_pkt_fields2().
Originally committed as revision 26238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 01:01:21 +00:00
Stefano Sabatini
81bd411965 In av_close_input_stream(), flush the packet queue before to actually
close the stream.

This way the flushed packets can still reference the still unclosed
format context.

In particular this fixes a spurious error issued when closing the
video4linux2 buffer in mmap_release_buffer(), which tries to access
the file descriptor of an already closed file.

Originally committed as revision 26237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-06 01:01:14 +00:00
Anssi Hannula
cf99e4aa00 Add AVOption support for muxers.
Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 10:52:34 +00:00
Nicolas George
9128ae08b3 Implement av_find_best_stream.
Originally committed as revision 26104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 09:08:20 +00:00
Anton Khirnov
bb62d5c1f0 Allow output formats without any streams.
Required for future metadata format.

Originally committed as revision 26100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 07:46:44 +00:00
Peter Ross
141de5a9c1 add ff_find_stream_index
Originally committed as revision 26092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-26 01:24:51 +00:00
David Czech
9100d4d632 Fix crash if invalid bit-rate was read from file.
Fixes issue 2426.

Patch by David Czech, davidczech510 gmail

Originally committed as revision 26061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-20 09:58:27 +00:00
Aurelien Jacobs
118ccae030 add subtitle codec autodetection
Originally committed as revision 25884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 14:46:13 +00:00
Baptiste Coudurier
581ba2cee1 In av_find_stream_info, decode more h264 to get correct delay, issue #2020
Originally committed as revision 25824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-25 02:19:03 +00:00
Reimar Döffinger
6bfc268305 Add av_append_packet function, to be used in code that merges packets
to allow palette handling without using PaletteControl.

Originally committed as revision 25777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 10:24:48 +00:00
Aurelien Jacobs
b3c0fc7673 av_find_stream_info(): set subtitle codec time_base
Originally committed as revision 25758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-16 23:50:18 +00:00
Aurelien Jacobs
cb2c971d91 allow passing subtitles header between decoder and encoder
Originally committed as revision 25745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-13 13:57:49 +00:00
Anton Khirnov
273231466c lavf/utils: use av_{i/o}format_next() instead of first_{i/o}format
Originally committed as revision 25738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-13 08:55:15 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Anton Khirnov
d60a9f52eb lavf: simplify setting the encoder ident tag.
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 13:07:20 +00:00
Aurelien Jacobs
13728334e8 add FF_API_SYMVER define to disable symver compatibility functions
Originally committed as revision 25491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 18:25:01 +00:00
Aurelien Jacobs
114c9a5925 add FF_API_FIRST_FORMAT define to drop deprecated first_?format from public api
Originally committed as revision 25489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 14:25:36 +00:00
Aurelien Jacobs
d87a521cde add FF_API_PARSE_FRAME_PARAM define to disable the deprecated
parse_image_size() and parse_frame_rate() public functions

Originally committed as revision 25485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 13:33:23 +00:00
Aurelien Jacobs
88e44314ea add FF_API_URL_SPLIT define to disable the deprecated ff_url_split() function
Originally committed as revision 25482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 12:54:12 +00:00
Aurelien Jacobs
198ac67fe8 add FF_API_GUESS_FORMAT define to disable the deprecated guess_format()
and guess_stream_format() public functions

Originally committed as revision 25480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 12:45:14 +00:00
Aurelien Jacobs
fd0368e7ca move av_find_stream_info() info struct to AVStream to avoid messy (re)allocation
Originally committed as revision 25418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 22:01:19 +00:00
Aurelien Jacobs
e99179de9b remove useless local variable
Originally committed as revision 25394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 19:10:51 +00:00
Aurelien Jacobs
3e4318bf4a remove useless local allocated start_time array
Originally committed as revision 25393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 19:05:31 +00:00
Aurelien Jacobs
61138c43e0 properly check for FF_API_MAX_STREAMS instead of LIBAVFORMAT_VERSION_MAJOR
Originally committed as revision 25382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 21:43:46 +00:00
Aurelien Jacobs
38aab35f47 add new streams API without MAX_STREAMS limit
(disabled until next major bump)

Originally committed as revision 25381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 20:56:14 +00:00
Aurelien Jacobs
feb2440c38 dynamically use nb_streams instead of static use of MAX_STREAMS
Originally committed as revision 25380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 20:52:26 +00:00
Reimar Döffinger
6612d8cf31 Move handling of ID3v2 to common utils.c code, reducing code duplication
and supporting it for more formats, fixing issue 2258.

Originally committed as revision 25378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 20:21:07 +00:00
Martin Storsjö
eb99f179fa find_info_tag: Make sure the output buffer is null terminated
Originally committed as revision 25353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 19:33:56 +00:00
Benjamin Larsson
62784e3733 Add the CODEC_CAP_CHANNEL_CONF capability code and add
that flag to the dca codec. This capability when set
will make sure the codec will initialize the channel
configuration instead of trusting the container. This
fixes issue 2137 and issue 850.

Originally committed as revision 25320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 22:18:02 +00:00
Michael Chinen
59cb40b921 Fix index_entries pos:
It was being set wrong for files with data_offset > 0

Patch by Michael Chinen, mchinen gmail

Originally committed as revision 25239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 22:17:58 +00:00
Michael Niedermayer
6ed040408b Move AVOptions from libavcodec to libavutil
Originally committed as revision 25210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 14:25:22 +00:00
Christian d'Heureuse
b163078fe3 Fix formatting for negative start times (issue 2139).
Patch by Christian d'Heureuse, chdh inventec ch

Originally committed as revision 25063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:06:21 +00:00
Aurelien Jacobs
b004207df4 move stream info arrays into a struct to ease future dynamic allocation
Originally committed as revision 25045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-05 22:25:45 +00:00
Måns Rullgård
668338c573 avformat: free decryption key in av_close_input_stream()
Originally committed as revision 24899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:08:53 +00:00
Martin Storsjö
f9c399c4fd Make parse_key_value from httpauth a common lavf internal function
Originally committed as revision 24832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-19 14:49:53 +00:00