Commit Graph

1592 Commits

Author SHA1 Message Date
Anton Khirnov
32caa7b13c lavf: pass options from AVFormatContext to avio. 2011-11-13 13:21:46 +01:00
Martin Storsjö
9d77a8faf9 avformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwards
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-13 13:20:49 +01:00
Martin Storsjö
9957cdbfd5 avformat: Use ff_check_interrupt 2011-11-13 13:08:13 +01:00
Michael Niedermayer
26ae9a5d7c pthreads: drop has_b_frames mangling, its buggy in many many ways,
not to mention race conditions and that its used for stream copy, used to determine IPB type by
applications and other things.
Fixes various frame drop/timestamp issues with frame multithreading.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-09 17:47:10 +01:00
Andrey Utkin
055a141e44 lavf: don't leak corrupted packets
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 07:30:43 +01:00
Carl Eugen Hoyos
4d7c71c364 Check for OOM after av_mallocz() in ff_interleave_add_packet().
Fixes a crash with the sample from Ubuntu bug #869125.
2011-11-08 10:35:14 +01:00
Michael Niedermayer
0bd42ae72c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Avoid a warning about mixed declarations and code
  BMV demuxer and decoder
  matroskaenc: Make sure the seekhead struct is freed even on seek failure
  mpeg12enc: Remove write-only variables.
  mpeg12enc: Don't set up run-level info for level 0.
  msmpeg4: Don't set up run-level info for level 0.
  avformat: Warn about using network functions without calling avformat_network_init
  avformat: Revise wording
  rdt: Set AVFMT_NOFILE on ff_rdt_demuxer
  rdt: Check the return value of avformat_open
  rtsp: Discard the dynamic handler, if it has an alloc function which failed
  dsputil: use cpuflags in x86 versions of vector_clip_int32()

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 02:03:14 +01:00
Martin Storsjö
1c8c41ff07 avformat: Avoid a warning about mixed declarations and code
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-08 01:02:14 +02:00
Martin Storsjö
ce145690b6 avformat: Warn about using network functions without calling avformat_network_init
This is to make developers aware of the fact that they will
start using the new init function at some point.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 19:29:33 +02: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
Anton Khirnov
eb0de71058 lavf: don't return from void av_update_cur_dts() 2011-11-06 19:13:28 +01:00
Reimar Döffinger
bb3244dee2 Replace all usage of strcasecmp/strncasecmp
All current usages of it are incompatible with localization.
For example strcasecmp("i", "I") != 0 is possible, but would
break many of the places where it is used.

Instead use our own implementations that always treat the data
as ASCII.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-06 11:52:57 +02:00
Stefano Sabatini
41ab24bad8 lavf: remove commented check in compute_pkt_fields2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 02:40:31 +01:00
Michael Niedermayer
d8cab5c26b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  http: Remove the custom function for disabling chunked posts
  rtsp: Disable chunked http post through AVOptions
  movdec: Set frame_size for AMR
  h264_weight: remove duplication functions.
  swscale: align vertical filtersize by 2 on x86.
  libavfilter: reindent.
  matroskadec: empty blocks are in fact valid.
  avfilter: don't abort() on zero-size allocations.
  h264: improve calculation of codec delay.
  movenc: Set a correct packet size for AMR-NB mode 15, "no data"
  avformat: Add functions for doing global network initialization
  avformat: Add the https protocol
  avformat: Add the tls protocol, using OpenSSL or gnutls
  avformat: Initialize gnutls in ff_tls_init()
  w32threads: Wrap the mutex functions in inline functions returning int
  configure: Allow linking to the gnutls library
  avformat: Add ff_tls_init()/deinit() that initialize OpenSSL
  configure: Allow linking to openssl
  avcodec: Allow locking and unlocking an avformat specific mutex
  avformat: Split out functions from network.h to a new file, network.c

Conflicts:
	Changelog
	configure
	doc/APIchanges
	libavcodec/internal.h
	libavcodec/version.h
	libavfilter/formats.c
	libavformat/matroskadec.c
	libavformat/mov.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 02:23:34 +01:00
Martin Storsjö
b6d08f40aa avformat: Add functions for doing global network initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:17:51 +02:00
Michael Niedermayer
bb99ae3ae9 lavf: fix null pointer dereference in rdt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-03 22:38:10 +01:00
Reimar Döffinger
96949dafcc Replace all strcasecmp/strncasecmp usages.
All current usages of it are incompatible with localization.
For example strcasecmp("i", "I") != 0 is possible, but would
break many of the places where it is used.
Instead use our own implementations that always treat the data
as ASCII.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-03 19:25:26 +01:00
Michael Niedermayer
1ed9eb5a59 lavf: Do not set cur_dts to undetermined before first_dts has been calculated as this would upset the start_time and first_dts calculation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-03 14:47:42 +01:00
Michael Niedermayer
d17e7070a0 Merge remote-tracking branch 'qatar/master'
* qatar/master: (51 commits)
  cin audio: use sign_extend() instead of casting to int16_t
  cin audio: restructure decoding loop to avoid a separate counter variable
  cin audio: use local variable for delta value
  cin audio: remove unneeded cast from void*
  cin audio: validate the channel count
  cin audio: remove unneeded AVCodecContext pointer from CinAudioContext
  dsicin: fix several audio-related fields in the CIN demuxer
  flacdec: use av_get_bytes_per_sample() to get sample size
  dca: handle errors from dca_decode_block()
  dca: return error if the frame header is invalid
  dca: return proper error codes instead of -1
  utvideo: handle empty Huffman trees
  binkaudio: change short to int16_t
  binkaudio: only decode one block at a time.
  binkaudio: store interleaved overlap samples in BinkAudioContext.
  binkaudio: pre-calculate quantization factors
  binkaudio: add some buffer overread checks.
  atrac3: support float or int16 output using request_sample_fmt
  atrac3: add CODEC_CAP_SUBFRAMES capability
  atrac3: return appropriate error codes instead of -1
  ...

Conflicts:
	libavcodec/atrac1.c
	libavcodec/dca.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-30 01:33:41 +02:00
Ronald S. Bultje
38a4be3fa7 lavf: use number of output pictures for delay checks.
This fixes false positives of has_codec_delay_been_guessed() for
streams where not every input picture generates an output picture,
such as interlaced H264.
2011-10-28 23:42:57 -07:00
Michael Niedermayer
6faf0a21e1 Merge remote-tracking branch 'qatar/master'
* qatar/master: (53 commits)
  probe: Restore identification of files with very large id3 tags and no extension.
  probe: Remove id3 tag presence as a criteria to do file extension checking.
  mpegts: MP4 SL support
  mpegts: MP4 OD support
  mpegts: Add support for Sections in PMT
  mpegts: Replace the MP4 descriptor parser with a recursive parser.
  mpegts: Add support for multiple mp4 descriptors
  mpegts: Parse mpeg2 SL descriptors.
  isom: Add MPEG4SYSTEMS dummy object type indication.
  aacdec: allow output reconfiguration on channel changes
  nellymoserenc: take float input samples instead of int16
  nellymoserdec: use dsp functions for overlap and windowing
  nellymoserdec: do not fail if there is extra data in the packet
  nellymoserdec: fail if output buffer is too small
  nellymoserdec: remove pointless buffer size check.
  lavf: add init_put_byte() to the list of visible symbols.
  seek-test: free options dictionary after use
  snow: do not draw_edge if emu_edge is set
  tools/pktdumper: update to recent avformat api
  seek-test: update to recent avformat api
  ...

Conflicts:
	doc/APIchanges
	libavcodec/mpegaudiodec.c
	libavcodec/nellymoserdec.c
	libavcodec/snow.c
	libavcodec/version.h
	libavcodec/wmadec.c
	libavformat/avformat.h
	libavformat/mpegts.c
	libavformat/mxfdec.c
	libavformat/utils.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-29 02:08:54 +02:00
Alex Converse
61856d06eb probe: Restore identification of files with very large id3 tags and no extension.
Restore behavior of identifying files with huge id3 tags as
mp3 at AVPROBE_SCORE_MAX/4. This was broken in r25378 and subsequently
removed in r25929.
2011-10-28 15:44:10 -07:00
Alex Converse
7a773d4d59 probe: Remove id3 tag presence as a criteria to do file extension checking.
This only encourages our users to put id3v2 tags on non-mp3 files to opt
into extension based probing.
2011-10-28 15:44:09 -07:00
Anton Khirnov
a2faa95151 lavf: make some seeking functions private
Specifically av_update_cur_dts(), av_seek_frame_binary() and
av_gen_search().

They are not supposed to be called outside lavf.
2011-10-28 09:23:24 +02:00
Michael Niedermayer
51bfaa21c8 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  g722dec: check output buffer size before decoding
  g722dec: cosmetics: reindent/linewrap
  g722dec: remove the use of lowres for half-rate decoding.
  tta: check for extradata allocation failure in tta demuxer
  tta: check for allocation failure of decode_buffer
  tta: use correct frame_length calculation.
  tta: add support for decoding 24-bit sample format
  cosmetics: indentation
  tta: remove pointless braces
  tta: check output buffer size after adjusting frame length for last frame
  tta: fix reading of format in TTA header.
  tta: remove useless commented-out lines
  tta: check remaining bitstream size while reading unary value
  lavf: deprecate AVStream.stream_copy
  avconc: split choose_codec() to choose_decoder/choose_encoder.
  lavf: simplify by using FFMAX/FFMIN.
  mpegenc: add preload private option.
  cosmetics: simplify latm_decode_init
  latm: avoid unnecessary reinit of the aac decoder
  aacdec: initialize sbr context only in new channel elements
  ...

Conflicts:
	avconv.c
	libavcodec/resample.c
	libavcodec/tta.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-26 02:36:07 +02:00
Anton Khirnov
a75034300f lavf: simplify by using FFMAX/FFMIN. 2011-10-25 16:28:52 +02:00
Michael Niedermayer
08d4408a90 utils: disable debuging code at the end of av_gen_search()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 22:27:02 +02:00
Michael Niedermayer
f73f68b894 utils: flush on successfull av_seek_frame_binary()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 22:26:13 +02:00
Michael Niedermayer
27f7589ab1 seek: Fix av_gen_search() so that seeks outside max/min do not successfully seek to random
points but rather seek to the min/max.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 20:45:00 +02:00
Michael Niedermayer
dd8ffc1925 Merge remote-tracking branch 'qatar/master'
* qatar/master: (47 commits)
  lavc: hide private symbols.
  lavc: deprecate img_get_alpha_info().
  lavc: use avpriv_ prefix for ff_toupper4.
  lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
  lavc: use avpriv_ prefix for ff_ac3_parse_header.
  lavc: use avpriv_ prefix for ff_frame_rate_tab.
  lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
  lavc: use avpriv_ prefix for ff_split_xiph_headers.
  lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
  lavc: use avpriv_ prefix for some dv symbols used in lavf.
  lavc: use avpriv_ prefix for some flac symbols used in lavf.
  lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
  lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
  lavc: use avpriv_ prefix for ff_aac_parse_header().
  lavf: hide private symbols.
  lavf: use avpriv_ prefix for some dv functions.
  lavf: use avpriv_ prefix for ff_new_chapter().
  avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
  avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
  avcodec: clarify documentation of CODEC_CAP_DELAY
  ...

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dv.c
	libavcodec/dvdata.c
	libavcodec/dvdata.h
	libavcodec/libspeexenc.c
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavformat/avidec.c
	libavformat/dv.c
	libavformat/dv.h
	libavformat/flvenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/oggparsespeex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 02:01:26 +02:00
Anton Khirnov
0842d58998 lavc: use avpriv_ prefix for ff_toupper4.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
1fa395e471 lavf: use avpriv_ prefix for ff_new_chapter().
It's used in libavdevice.
2011-10-20 20:57:23 +02:00
Justin Ruggles
9ef6c7977f avformat: do not require frame_size for Speex.
Having it there forces decoding of a frame in order to get frame_size, but it
is not really needed for proper demuxing or decoding.
2011-10-20 13:06:16 -04:00
Michael Niedermayer
d0492578c8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  presets: rename presets directory
  lavc: make avcodec_get_context_defaults3 "officially" public
  lavf: replace av_new_stream->avformat_new_stream part II.
  lavf,lavd: replace av_new_stream->avformat_new_stream part I.
  lavf: add avformat_new_stream as a replacement for av_new_stream.
  Use correct scaling table for bwd-pred MVs in second B-field
  Ut Video decoder
  Makefile: change presets extension to .avpreset
  lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs
  lavfi: add testsrc source
  AVOptions: add documentation.
  presets: update libx264 ffpresets

Conflicts:
	Changelog
	doc/APIchanges
	doc/ffmpeg.texi
	ffpresets/libx264-ipod320.ffpreset
	ffpresets/libx264-ipod640.ffpreset
	ffserver.c
	libavcodec/avcodec.h
	libavcodec/options.c
	libavcodec/version.h
	libavdevice/libdc1394.c
	libavfilter/avfilter.h
	libavfilter/vsrc_testsrc.c
	libavformat/flvdec.c
	libavformat/riff.c
	libavformat/version.h
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-20 02:34:51 +02:00
Anton Khirnov
569129a6dc lavf: add avformat_new_stream as a replacement for av_new_stream.
It takes a codec parameter, thus enabling codec-specific defaults.
2011-10-19 17:02:11 +02:00
Chris Kennedy
c108a4aa1e fix memleak in packet corrupt dropping code 2011-10-18 12:00:48 +02:00
Michael Niedermayer
fae714a9fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: add presets
  rtsp: Expose the flag options via private AVOptions for sdp and rtp, too
  rtsp: Make the rtsp flags avoptions set via a define
  rtpenc: Set a default video codec
  avoptions: Fix av_opt_flag_is_set
  rtp: Fix ff_rtp_get_payload_type
  doc: Update the documentation on setting options for RTSP
  rtsp: Remove the separate filter_source variable
  rtsp: Accept options via private avoptions instead of URL options
  rtsp: Simplify AVOption definitions
  rtsp: Merge the AVOption lists
  lavfi: port libmpcodecs delogo filter
  lavfi: port boxblur filter from libmpcodecs
  lavfi: add negate filter
  lavfi: add LUT (LookUp Table) generic filters
  AVOptions: don't segfault on NULL parameter in av_set_options_string()
  avio: Check for invalid buffer length.
  mpegenc/mpegtsenc: add muxrate private options.
  lavf: deprecate AVFormatContext.file_size
  mov: add support for TV metadata atoms tves, tvsn and stik

Conflicts:
	Changelog
	doc/filters.texi
	doc/protocols.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/avfilter.h
	libavfilter/formats.c
	libavfilter/internal.h
	libavfilter/vf_boxblur.c
	libavfilter/vf_delogo.c
	libavfilter/vf_lut.c
	libavformat/mpegtsenc.c
	libavformat/utils.c
	libavformat/version.h
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-18 01:54:40 +02:00
Anton Khirnov
c10731e78b lavf: deprecate AVFormatContext.file_size
It's too unreliable to be useful. avio_size() should be called instead.
2011-10-17 08:25:38 +02:00
Michael Niedermayer
91eb1b1525 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  prores: add FATE tests
  id3v2: reduce the scope of some non-globally-used symbols/structures
  id3v2: cosmetics: move some declarations before the places they are used
  shorten: remove the flush function.
  shn: do not allow seeking in the raw shn demuxer.
  avformat: add AVInputFormat flag AVFMT_NO_BYTE_SEEK.
  avformat: update AVInputFormat allowed flags
  avformat: don't unconditionally call ff_read_frame_flush() when trying to seek.
  truespeech: use sizeof() instead of hardcoded sizes
  truespeech: remove unneeded variable, 'consumed'
  truespeech: simplify truespeech_read_frame() by using get_bits()
  truespeech: decode directly to output buffer instead of a temp buffer
  truespeech: check to make sure channels == 1
  truespeech: check for large enough output buffer rather than truncating output
  truespeech: remove unneeded zero-size packet check.
  mlpdec: return meaningful error codes instead of -1
  mlpdec: remove unnecessary wrapper function
  mlpdec: only calculate output size once
  mlpdec: validate that the reported channel count matches the actual output channel count
  pcm: reduce pointer type casting
  ...

Conflicts:
	libavformat/avformat.h
	libavformat/id3v2.c
	libavformat/id3v2.h
	libavformat/utils.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-14 03:48:22 +02:00
Justin Ruggles
b631fba936 avformat: add AVInputFormat flag AVFMT_NO_BYTE_SEEK.
This will prevent seeking by bytes for formats that cannot handle this.
2011-10-13 16:31:15 -04:00
Justin Ruggles
0041cdba98 avformat: don't unconditionally call ff_read_frame_flush() when trying to seek.
This prevents flushing the packet buffer when the input format does not
support seeking.
2011-10-13 16:31:15 -04:00
Michael Niedermayer
d69fda9127 lavf: check stream_index from read_packet() for validity.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-12 01:04:12 +02:00
Michael Niedermayer
c5db8b4d09 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: fix signed overflow in avformat_find_stream_info()
  vp8: fix signed overflows
  motion_est: fix some signed overflows
  dca: fix signed overflow in shift
  aacdec: fix undefined shifts
  bink: Check for various out of bound writes
  bink: Check for out of bound writes when building tree
  put_bits: fix invalid shift by 32 in flush_put_bits()

Conflicts:
	libavcodec/bink.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-09 04:02:03 +02:00
Mans Rullgard
a31e9f68a4 lavf: fix signed overflow in avformat_find_stream_info()
On the first iteration through this code, last_dts is always
INT64_MIN (AV_NOPTS_VALUE) and the subtraction overflows in
an invalid manner.  Although the result is only used if the
input values are valid, performing the subtraction is still
not allowed in a strict environment.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:04:22 +01:00
Michael Niedermayer
63b6d5f33f update_stream_timings: Remove redundant check.
Found-by:Nicolas
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-06 00:07:03 +02:00
Michael Niedermayer
f9bd979476 generic seeking: fail if there are 1000 non keyframes found with no keyframe.
This avoids scanning through a whole file just to fail.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-05 18:23:47 +02:00
Michael Niedermayer
85ea5c6e73 lavf/utils: fix overestimation of the rational number density.
Fixes Ticket498

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-03 16:32:17 +02:00
Michael Niedermayer
ef74ab20c2 Merge remote-tracking branch 'qatar/master'
* qatar/master: (34 commits)
  dpcm: return error if packet is too small
  dpcm: use smaller data types for static tables
  dpcm: use sol_table_16 directly instead of through the DPCMContext.
  dpcm: replace short with int16_t
  dpcm: check to make sure channels is 1 or 2.
  dpcm: misc pretty-printing
  dpcm: remove unnecessary variable by using bytestream functions.
  dpcm: move codec-specific variable declarations to their corresponding decoding blocks.
  dpcm: consistently use the variable name 'n' for the next input byte.
  dpcm: output AV_SAMPLE_FMT_U8 for Sol DPCM subcodecs 1 and 2.
  dpcm: calculate and check actual output data size prior to decoding.
  dpcm: factor out the stereo flag calculation
  dpcm: cosmetics: rename channel_number to ch
  avserver: Fix a bug where the socket is IPv4, but IPv6 is autoselected for the loopback address.
  lavf: Avoid using av_malloc(0) in av_dump_format
  dxva2_h264: pass the correct 8x8 scaling lists
  dca: NEON optimised high freq VQ decoding
  avcodec: reject audio packets with NULL data and non-zero size
  dxva: Add ability to enable workaround for older ATI cards
  latmenc: Set latmBufferFullness to largest value to indicate it is not used
  ...

Conflicts:
	libavcodec/dxva2_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 02:54:46 +02:00
Michael Niedermayer
2a93f28a4b avformat_free_context: favor av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 01:29:30 +02:00
Martin Storsjö
e81e5e8ad2 lavf: Avoid using av_malloc(0) in av_dump_format
On OS X, av_malloc(0) returns pointers that cause crashes when
freed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-30 22:31:30 +03:00
Alex Converse
3b0e242825 lavf/utils: Drop old hack for implicit HE-AAC signaling.
It has not been needed since a58858d60d.

Fixes decode of implicit HE-AAC without extradata or ADTS headers.
2011-09-30 20:08:10 +02:00
Michael Niedermayer
78972a69e3 lavf/utils: ignore subtitle timestamps in timings calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 17:17: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
Nicolas George
4ca59d1948 oggdec: add support for Xiph's CELT codec
This patch also introduces CODEC_ID_CELT.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-09-26 13:51:29 +02:00
Mans Rullgard
bb416bd68c lavf: do not set codec_tag for rawvideo
If the demuxer did not set a codec_tag, there is none and
inventing one makes no sense.  This change stops the rawvideo
"decoder" over-writing user-supplied pixfmt with one derived
from the codec_tag.  The pixfmt-codec_tag-pixfmt round-trip
is lossy since several pixfmts map to the same codec_tag.

This fixes fate-lavf-pixfmt with avfilter disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-25 14:07:21 +01:00
Nicolas George
73a5287482 lavf/utils: replace deprecated url_ferror. 2011-09-25 11:18:41 +02:00
Nicolas George
86af962830 lavf/utils: use correct format string for int64_t. 2011-09-25 11:18:41 +02:00
Nicolas George
9c98af13af lavf/utils: use AV_NOWARN_DEPRECATED in compatibility code. 2011-09-25 11:18:41 +02:00
Michael Niedermayer
a7758884db Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtp: factorize  dynamic payload type fallback
  flvdec: Ignore the index if it's from a creator known to be different
  cmdutils: move grow_array out of #if CONFIG_AVFILTER
  avconv: actually set InputFile.rate_emu
  ratecontrol: update last_qscale_for sooner
  Fix unnecessary shift with 9/10bit vertical scaling
  prores: mark prores as intra-only in libavformat/utils.c:is_intra_only()
  prores: return more meaningful error values
  prores: improve error message wording
  prores: cosmetics: prettyprinting, drop useless parentheses
  prores: lowercase AVCodec name entry

Conflicts:
	cmdutils.c
	libavcodec/proresdec_lgpl.c
	tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 01:03:07 +02:00
Carl Eugen Hoyos
cab2860c8a Use a colon in the stream description, this matches how -map works now. 2011-09-23 10:16:36 +02:00
Diego Biurrun
5cc2530fc2 prores: mark prores as intra-only in libavformat/utils.c:is_intra_only() 2011-09-23 01:42:14 +02:00
Michael Niedermayer
e8d8517b16 lavf/utils: only complain about aspect missmatch when the difference is "meassureable"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-22 18:19:00 +02:00
Michael Niedermayer
65655a0499 lavf/utils: better dts wrap correction.
Fixes Ticket488

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-20 04:32:46 +02:00
Michael Niedermayer
a6186f3a00 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: fix NULL reference in mov_write_tkhd_tag
  rmdec: Reject invalid deinterleaving parameters
  rv34: Fix potential overreads
  rv34: Fix buffer size used for MC of B frames after a resolution change
  rv34: Avoid NULL dereference on corrupted bitstream
  rv10: Reject slices that does not have the same type as the first one
  vf_yadif: add an option to enable/disable deinterlacing based on src frame "interlaced" flag
  vsrc_color: set output pos values to -1
  vsrc_color: add @file doxy
  vsrc_buffer: remove duplicated file description
  eval: implement not() expression
  eval: add sqrt function for computing the square root
  rmdec: use the deinterleaving mode and not the codec when creating audio packets.
  lavf: Fix context pointer in av_open_input_stream when avformat_open_input fails

Conflicts:
	doc/eval.texi
	doc/filters.texi
	libavcodec/rv10.c
	libavfilter/vsrc_color.c
	libavformat/rmdec.c
	libavutil/avutil.h
	libavutil/eval.c
	tests/ref/fate/eval

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-19 22:45:34 +02:00
David Goldwich
63d64228a7 lavf: Fix context pointer in av_open_input_stream when avformat_open_input fails
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:03:56 +02:00
Michael Niedermayer
5c5306df96 lavf/utils: rewrite real fps calculation code.
The new code is free of biasing to the first timestamps
Fixes fraps.fps.test.zip

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-16 21:29:58 +02:00
Elvis Presley
5554de13b2 ProRes Decoder
Signed-off-by: Elvis Presley <elvis@e.p>
2011-09-15 15:58:56 +02:00
Michael Niedermayer
3ee83f4605 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf utils: Remove write-only variable
  lavf utils: Rename shadowing variable
  smacker: fix a few off by 1 errors
  Check for invalid VLC value in smacker decoder.
  Check and propagate errors when VLC trees cannot be built in smacker decoder.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-14 21:57:47 +02:00
Joakim Plate
cdced09ef6 Don't override duration from file header with bitrate duration
This is most noticable on matroska files which has duration
as part of it's header.
2011-09-14 20:08:43 +02:00
Alex Converse
940173d4d1 lavf utils: Remove write-only variable 2011-09-14 10:35:46 -07:00
Alex Converse
4439caa482 lavf utils: Rename shadowing variable 2011-09-14 10:35:42 -07:00
Michael Niedermayer
38670356f9 libavformat/utils: print ts in the "invalid dts/pts combination" case.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-13 06:42:13 +02:00
Michael Niedermayer
411cc5c46a Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  audioconvert: add explanatory comments to channel_names array
  audioconvert: K&R whitespace cosmetics
  avconv: use correct index when selecting metadata to write to.
  avconv: fix inverted variable
  doc/avconv: document option types (input/output/per-stream/...)
  doc/avtools-common-opts: write a section about stream specifiers.
  doc/avconv: remove two pointless paragraphs.
  doc/avconv: document that global options should be specified first.
  doc/avconv: remove entries for nonexistent options
  doc/avconv: remove documentation for removed 'timestamp' option
  doc: cosmetics, rename fftools-common-opts to avtools-....
  avconv: move streamid_map to options context.
  avconv: extend -vf syntax
  avconv: move top_field_first to options context.
  avconv: move inter/intra matrix to options context.
  avconv: remove -psnr option.
  avconv: remove me_threshold option.
  avconv: move video_rc_override_string to options context.
  avconv: move frame pixel format to the options context.
  avconv: move frame aspect ratio to the options context.
  ...

Conflicts:
	avconv.c
	cmdutils_common_opts.h
	doc/avconv.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 00:32:54 +02:00
Joakim Plate
6796b82407 libavformat/utils: Only require first packet to be known for all audio and video streams
It can take a long time before subtitles or data streams show up,
so we shouldn't wait for those before assuming we have all info
for streams.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 00:33:20 +02:00
Wolfram Gloger
6dcbbe34e8 av_interleave_packet_per_dts: switch noninterleaved flushing logic to max dts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-09 17:19:54 +02:00
Gavin Kinsey
d64066f6e8 Prevent double free of side_data when AVFMT_FLAG_KEEP_SIDE_DATA flag is set 2011-09-08 23:47:23 +02:00
Joseph Wecker
4c05042978 flvdec: Properly decoding in-band metadata packets as data frames. 2011-09-07 02:38:13 +02:00
Michael Niedermayer
9243454e31 libavformat/utils: only run delta_dts_min calculation code when its value is used.
This should improve speed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 00:23:18 +02:00
Michael Niedermayer
effbeff503 libavformat/utils: use FFMIN() where possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 00:13:09 +02:00
wg
37ed5df5c5 libavformat/utils: Treat subtitle streams as noninterleaved when 20 seconds have passed without a packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 00:10:44 +02:00
Diego Biurrun
aebb56e184 Replace some commented-out debug printf() / av_log() messages with av_dlog().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-01 01:31:03 +02:00
Marton Balint
dacd827b81 Rename find_program_from_stream to av_find_program_from_stream and add it to avformat.h
Also extend the functionality to use the last found program to start the search
after that program.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 22:06:09 +02:00
Michael Niedermayer
941bb552c6 Fix memory corruption in case of memory allocation failure in av_probe_input_buffer()
Reported-by: Tanami Ohad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 21:39:52 +02:00
Michael Niedermayer
bd4640375e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: Replace goto redo on decode fail with continue.
  avconv: Remove dead store.
  libx264: add 'crf_max' private option.
  libx264: add 'weightp' private option.
  libx264: add 'rc_lookahead' private option.
  libx264: add 'psy_trellis' private option.
  libx264: add 'psy_rd' private option.
  libx264: add 'aq_strength' private option.
  libx264: add 'aq_mode' private option.
  libx264: add 'cqp' private option.
  libx264: add 'crf' private option.
  lavc: remove vbv_delay option
  lavf utils: Fix bad indentation.
  avconv: use av_clip_int16 for audio clipping

Conflicts:
	libavcodec/libx264.c
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-24 20:26:48 +02:00
Alex Converse
7e6029f98a lavf utils: Fix bad indentation. 2011-08-23 09:53:23 -07:00
Nicolas George
aeba058340 lavf: warn when a parser is needed and not found. 2011-08-22 12:13:27 +02:00
Carl Eugen Hoyos
7bdc5de33d Autodetect LOAS in transport streams.
Fixes ticket 365.
2011-08-20 00:27:54 +02:00
Michael Niedermayer
27fbe31c92 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "avconv: use stream copy by default when possible."
  avconv: print stream copy information.
  avconv: use stream copy by default when possible.
  matroskaenc: vertical alignment.
  matroskaenc: implement query_codec()
  lavf: add avformat_query_codec().
  lavc: add avcodec_get_type() for mapping codec_id -> type.
  flvenc: use int64_t to store offsets
  avconv: don't segfault on 0 input files.
  Do not write ID3v1 tags by default
  mpegts: log into an AVFormatContext rather than MpegTSContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-17 14:23:20 +02:00
Anton Khirnov
48f9e457ea lavf: add avformat_query_codec().
It allows to check if a given codec can be written into a container.
2011-08-16 20:24:20 +02:00
Michael Niedermayer
1d186e9e12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."
  swscale: use 15-bit intermediates for 9/10-bit scaling.
  dct32: Add SSE2 ASM optimizations
  Correct chroma vector calculation for RealVideo 3.
  lavf: Add an option to discard corrupted frames
  mpegts: Mark wrongly-sized packets as corrupted
  mpegts: Move scan test to handle_packets
  mpegts: Mark corrupted packets
  mpegts: Reset continuity counter on seek
  mpegts: Fix for continuity counter
  mpegts: Silence "can't seek" warning on unseekable
  apichange: add an entry for AV_PKT_FLAG_CORRUPT
  avpacket: signal possibly corrupted packets
  mpeg4videodec: remove dead code that would have detected erroneous encoding
  aac: Remove some suspicious illegal memcpy()s from LTP.
  bink: Eliminate unnecessary shadow declaration.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/options.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-02 22:12:18 +02:00
Zohar Kelrich
73e8e8dbf9 lavf: Add an option to discard corrupted frames
Signed-off-by: Zohar Kelrich <lumimies@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-02 02:52:41 +02:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02:00
Alex Converse
5ef953e84f probe: Fix insane flow control.
A loop control variable was shadowed inside the loop and never updated.
2011-07-29 09:29:44 -07:00
Stefano Sabatini
fdd130a213 prefer "SAR" over "PAR" in av_dump_format()
"SAR" (Sample Aspect Ratio) is globally preferred over "PAR" (Pixel
Aspect Ratio), although the two terms share the same semantics.

For example the corresponding AVStream field is called
sample_aspect_ratio, and libavfilter has a filter named setsar.

Therefore prefer the term "SAR" over "PAR" in the
libavformat/utils.c:dump_stream_format() and avcodec_string() output
for avoiding confusion.
2011-07-28 10:24:43 +02:00
Michael Niedermayer
2962049ac3 muxer opts: fix avdict use in case of early private context alloc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-25 22:38:13 +02:00
Michael Niedermayer
78accb876c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffmpeg: fix some indentation
  ffmpeg: fix operation with --disable-avfilter
  simple_idct: remove disabled code
  motion_est: remove disabled code
  vc1: remove disabled code
  fate: separate lavf-mxf_d10 test from lavf-mxf
  cabac: Move code only used in the cabac test program to cabac.c.
  ffplay: warn that -pix_fmt is no longer working, suggest alternative
  ffplay: warn that -s is no longer working, suggest alternative
  lavf: rename enc variable in utils.c:has_codec_parameters()
  lavf: use designated initialisers for all (de)muxers.
  wav: remove a use of deprecated AV_METADATA_ macro
  rmdec: remove useless ap parameter from rm_read_header_old()
  dct-test: remove write-only variable
  des: fix #if conditional around P_shuffle
  Use LOCAL_ALIGNED in ff_check_alignment()

Conflicts:
	ffmpeg.c
	libavformat/avidec.c
	libavformat/matroskaenc.c
	libavformat/mp3enc.c
	libavformat/oggenc.c
	libavformat/utils.c
	tests/ref/lavf/mxf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-17 20:12:02 +02:00
Stefano Sabatini
25dfda7f31 lavf: rename enc variable in utils.c:has_codec_parameters()
Rename it to "avctx", the old name was confusing as the function is
used also with decoder contexts.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-17 06:58:53 +02:00
Michael Niedermayer
15285d8fc5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  arm: remove disabled function dct_unquantize_h263_inter_iwmmxt()
  Remove commented-out call to non-existing function print_pow1().
  Do not decode RV30 files if the extradata is too small
  flashsv: split flashsv_decode_block() off from flashsv_decode_frame().
  ppc: remove disabled code
  libspeexdec: Drop const qualifier to silence compiler warning.
  libopenjpeg: Drop const qualifier to silence compiler warning.
  alac: Remove unused dummy code.
  Remove unused structs and tables.
  vaapi: do not assert on value read from input bitstream
  flashsvenc: replace bitstream description by a link to the specification
  flashsvenc: drop unnecessary cast
  flashsvenc: improve some variable names and fix corresponding comments
  flashsvenc: merge two consecutive if-conditions
  flashsvenc: merge variable declarations and initializations
  flashsvenc: convert some debug av_log() to av_dlog()
  flashsvenc: whitespace cosmetics
  flashsvenc: drop some unnecessary parentheses
  flashsvenc: fix some comment typos
  aacps: skip some memcpy() if src and dst would be equal
  ...

Conflicts:
	libavcodec/vaapi_mpeg2.c
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-16 19:43:35 +02:00
Anton Khirnov
d3bb71914b lavf/utils: drop av_ prefixes from static functions. 2011-07-15 20:27:43 +02:00
Michael Niedermayer
042f9d62ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Automatically add more flags required on symbian
  mem.h: switch doxygen parameter order to match function prototype
  doxygen: replace @sa tag by the more readable but equivalent @see
  doxygen: use Doxygen markup for authors and web links where appropriate
  doxygen: do not include license boilerplate in Doxygen documentation
  ac3enc: Mark AVClasses const
  ffserver: Replace two loops with one loop.
  ffmpeg: Fix the check for experimental codecs
  swscale: extend mmx padding.
  swscale: clip unscaled colorspace conversion path.
  doxygen: misc consistency cosmetics
  doc: remove file name from @file directive in Doxygen usage example
  doxygen: consistently place brief description
  doxygen: place empty line between brief description and detailed description
  avformat_open_input(): Add braces to shut up gcc warning.

Conflicts:
	libavcodec/8svx.c
	libavcodec/tiff.c
	libavcodec/tiff.h
	libavcodec/vaapi_h264.c
	libavcodec/vorbis.c
	libavcodec/vorbisdec.c
	libavcodec/vp6.c
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-15 17:51:09 +02:00
Diego Biurrun
5a819c5e23 avformat_open_input(): Add braces to shut up gcc warning.
libavformat/utils.c:599: warning: missing braces around initializer
libavformat/utils.c:599: warning: (near initialization for ‘ap.time_base’)
2011-07-14 20:45:26 +02:00
Michael Niedermayer
5dc6bd86f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  APIchanges: fill in missing hashes and dates.
  Add an APIChanges entry and bump minor versions for recent changes.
  ffmpeg: print the low bitrate warning after the codec is openend.
  doxygen: Move function documentation into the macro generating the function.
  doxygen: Make sure parameter names match between .c and .h files.
  h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h
  H.264: Add more x86 assembly for 10-bit H.264 predict functions
  lavf: fix invalid reads in avformat_find_stream_info()
  cmdutils: replace opt_default with opt_default2() and remove set_context_opts
  ffmpeg: use new avcodec_open2 and avformat_find_stream_info API.
  ffplay: use new avcodec_open2 and avformat_find_stream_info API.
  cmdutils: store all codec options in one dict instead of video/audio/sub
  ffmpeg: check experimental flag after codec is opened.
  ffmpeg: do not set GLOBAL_HEADER flag in the options context

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/version.h
	libavformat/version.h
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-14 20:44:58 +02:00
Anton Khirnov
e358f7ee90 lavf: fix invalid reads in avformat_find_stream_info() 2011-07-14 03:41:24 +02:00
Michael Niedermayer
80e4fe4063 Merge commit 'b5849f77095439e994b11c25e6063d443b36c228'
* commit 'b5849f77095439e994b11c25e6063d443b36c228': (21 commits)
  ac3enc: merge AC3MDCTContext with AC3EncodeContext.
  ac3enc: prefer passing AC3EncodeContext rather than AVCodecContext
  ac3enc: fix memleak
  mpeg1video: add CODEC_CAP_SLICE_THREADS.
  lavf: fix segfault in av_open_input_stream()
  mpegtsenc: set Random Access indicator on keyframe start packets
  lavf: Cleanup try_decode_frame() logic.
  Replace some gotos that lead to single return statements by direct return.
  build: move tests/seek_test.c to libavformat and reuse generic build rules
  mxfenc: include needed header for ff_iso8601_to_unix_time() prototype
  Add a check for strptime().
  lavf: factor out conversion of ISO8601 string to unix time
  wav: parse 'bext' metadata
  wav: keep parsing until EOF if the input is seekable and we know the size of the data tag
  wav: Refactor the tag checking into a switch statement
  wav: make sure neither data_size nor sample_count is negative.
  wav: refactor the 'fmt ' tag search and parsing.
  wav: add an option for writing BEXT chunk
  ffmpeg: get rid of a pointless limit on number of streams.
  ffmpeg: remove an unused define.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-14 02:24:10 +02:00
Anton Khirnov
13551ad1e3 lavf: fix segfault in av_open_input_stream()
ic is NULL in case of error.
2011-07-13 20:49:31 +02:00
Alex Converse
a58858d60d lavf: Cleanup try_decode_frame() logic.
This fixes AAC playback in ffplay.
2011-07-13 10:39:06 -07:00
Anton Khirnov
6379900c53 Add a check for strptime().
It's an XSI extension, not available on some supported systems.
2011-07-13 12:14:27 +02:00
Anton Khirnov
001d668d40 lavf: factor out conversion of ISO8601 string to unix time 2011-07-13 12:14:25 +02:00
Reimar Döffinger
896e59758a Move resetting of channels, sample_rate back to av_find_stream_info.
Resetting it on codec init would incorrectly clear the values
if av_find_stream_info was already run before, in particular
breaking ffplay.

This fixes trac tickets #213 and #262.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-07-12 19:44:59 +02: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
71a861cf40 lavc: make avcodec_alloc_context3 officially public.
Deprecate avcodec_alloc_context/2.
2011-07-10 17:09:28 +02:00
Anton Khirnov
a67c061e0f lavf: add avformat_find_stream_info()
It supports passing options to codecs.
2011-07-10 17:07:05 +02:00
Michael Niedermayer
58257ea29e Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  mp3enc: write a xing frame containing number of frames in the file
  lavf: update AVStream.nb_frames when muxing.
  ffmpeg: remove unused variables from InputStream.
  doc: update ffmpeg -ar and -ac documentation to reflect reality.
  ffmpeg: remove pointless if (nb_input_files)
  ffmpeg: merge input_files_ts_offset into input_files.
  ffmpeg: merge input_codecs into input_streams.
  ffmpeg: drop AV prefixes from struct names.
  ffmpeg: deprecate loop_input and loop_output options
  gif: add loop private option.
  img2: add loop private option.
  AVOptions: in av_opt_find() don't return named constants unless unit is specified.
  x11grab: replace undocumented nomouse hackery with a private option.
  dict: extend documentation.
  lls: whitespace cosmetics
  docs: Use proper markup for a literal command line option
  docs: Remove a remark that isn't relevant any longer
  docs: Explain how to regenerate import libraries with MSVC tools
  docs: Mention that libraries for MSVC can be built with a cross compiler
  docs: Remove old docs that mention setting up a build environment with lib.exe
  ...

Conflicts:
	doc/ffmpeg.texi
	doc/general.texi
	ffmpeg.c
	libavcodec/Makefile
	libavcodec/dnxhddata.c
	libavformat/mp3enc.c
	libavformat/utils.c
	libavutil/Makefile
	tests/copycooker.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-09 02:06:40 +02:00
Anton Khirnov
1c6d2b7df0 lavf: update AVStream.nb_frames when muxing. 2011-07-08 22:13:52 +02:00
Reimar Döffinger
4e59c8ecf1 Fix av_open_input_stream with uninitialized context pointer.
Code would allocate a new context but forget to assign it
to the pointer actually passed to avformat_open_input,
potentially causing a crash.
Even if it was initialized it would cause a memleak.
This caused crashes with e.g. mpd, see also
http://bugs.gentoo.org/show_bug.cgi?id=373423

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-07-06 20:17:43 +02:00
Michael Niedermayer
976a8b2179 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  H.264: template left MB handling
  H.264: faster fill_decode_caches
  H.264: faster write_back_*
  H.264: faster fill_filter_caches
  H.264: make filter_mb_fast support the case of unavailable top mb
  Do not include log.h in avutil.h
  Do not include pixfmt.h in avutil.h
  Do not include rational.h in avutil.h
  Do not include mathematics.h in avutil.h
  Do not include intfloat_readwrite.h in avutil.h
  Remove return statements following infinite loops without break
  RTSP: Doxygen comment cleanup
  doxygen: Escape '\' in Doxygen documentation.
  md5: cosmetics
  md5: use AV_WL32 to write result
  md5: add fate test
  md5: include correct headers
  md5: fix test program
  doxygen: Drop array size declarations from Doxygen parameter names.
  doxygen: Fix parameter names to match the function prototypes.
  ...

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavformat/flvenc.c
	libavformat/oggenc.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-04 00:45:21 +02:00
Mans Rullgard
0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Michael Niedermayer
cbfdfbe846 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6
  ARM: NEON optimised vector_clip_int32()
  swscale: disable full_chroma_int when converting to non-24/32bpp RGB.
  suggest to use av_get_bytes_per_sample() in av_get_bits_per_sample_format() doxy
  ffmpeg: use av_get_bytes_per_sample() in place of av_get_bits_per_sample_fmt()
  put_bits: remove ALT_BITSTREAM_WRITER
  put_bits: always use intreadwrite.h macros
  libavformat: Add an example how to use the metadata API
  doxygen: Prefer member groups over grouping into modules
  doxygen: be more permissive when searching for API examples
  avformat: doxify the Metadata API
  lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format.
  lavf: use the correct pointer in av_open_input_stream().
  avidec: infer absolute vs relative index from first packet

Conflicts:
	libavformat/Makefile
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-03 03:14:10 +02:00
Anton Khirnov
4f731c4429 lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format.
av_open_input_stream used to allow this, even though it makes no sense.
Make it just print a warning instead of failing, thus restoring
compatibility.

Note that avformat_open_input() will still reject this combination.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-02 08:41:57 +02:00
Anton Khirnov
5001d6ef4a lavf: use the correct pointer in av_open_input_stream(). 2011-07-02 08:41:57 +02:00
Nicolas George
b442ca69d9 lavf: add an API to get output timestamps. 2011-07-01 09:49:27 +02:00
Michael Niedermayer
721be99371 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: fix some then/than typos
  doxygen: Include libavcodec and libavformat examples into the documentation
  avutil: elaborate documentation for av_get_random_seed
  Add support for aac streams in mp4/mov without extradata.
  aes: whitespace cosmetics
  adler32: whitespace cosmetics
  swscale: fix another yuv range conversion overflow in 16bit scaling.
  Fix cpu flags test program
  opt-test: Add missing braces to silence compiler warnings.
  build: Eliminate obsolete test targets.
  udp: Fix a compilation warning
  swscale: Unbreak build with --enable-small
  base64: add fate test
  aes: improve test program and add fate test
  adler32: make test program more useful and add fate test
  swscale: fix yuv range correction when using 16-bit scaling.
  aacenc: Make chan_map const correct

Conflicts:
	Makefile
	doc/examples/muxing-example.c
	libavformat/udp.c
	libavutil/random_seed.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-01 05:35:26 +02:00
Benjamin Larsson
dafaef2fe1 Add support for aac streams in mp4/mov without extradata. 2011-06-30 10:10:26 -07:00
Michael Niedermayer
8c0cbb0848 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rational-test: Add proper main() declaration to fix gcc warnings.
  configure: Add vdpau and dxva2 to configure results output.
  Remove unused, never built libavutil/pca.[ch]
  matroskadec: forward parsing errors to caller.
  av_find_stream_info: simplify EAGAIN handling.
  aacenc: Fix determination of Mid/Side Mode.
  psymodel: Remove the single channel analysis function
  aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel.
  psymodel: Add channels and channel groups to the psymodel.
  ARM: remove check for PLD instruction
  fate: move amr[nw]b test rules into separate files
  ogg: fix double free when finding length of small chained oggs.
  swscale: implement >8bit scaling support.
  build: fix creation of tools dir with make 3.81
  build: Mark all-yes Makefile target as phony.
  pixfmt: fix YUV422/444 wrong endian comment
  build: create output directories as needed
  Add new yuv444 pixfmts to avcodec_align_dimensions2

Conflicts:
	Makefile
	configure
	libavutil/pca.c
	libavutil/pca.h
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-30 04:32:24 +02:00
Ami Fischman
59ca3955fb av_find_stream_info: simplify EAGAIN handling.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-06-29 15:27:55 -07:00
Reimar Döffinger
c956907eca Revert needless API change in 05e84c95.
When providing a custom AVIOContex for a AVFMT_NOFILE format
only print a warning instead of erroring out.
This allows the code to work with older MPlayer versions that
just always set pb out of laziness.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-06-22 21:22:25 +02:00
Michael Niedermayer
4aeb776913 dump_metadata: Fix 0xd in metadata
Fixed ticket245

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-20 01:58:18 +02:00
Michael Niedermayer
83f9bc8aee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: prevent crash in av_open_input_file() if ap == NULL.
  more Changelog additions
  lavf: add a forgotten NULL check in convert_format_parameters().
  Fix build if yasm is not available.
  H.264: Add x86 assembly for 10-bit MC Chroma H.264 functions.

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 04:02:06 +02:00
Ronald S. Bultje
dbafb0e06f lavf: prevent crash in av_open_input_file() if ap == NULL.
Needed for proper behaviour in our old API compatibility code.
2011-06-18 17:51:10 -04:00
Anton Khirnov
84bd2b4bf5 lavf: add a forgotten NULL check in convert_format_parameters(). 2011-06-18 17:42:44 +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
25de5958c8 lavf: add avformat_write_header() as a replacement for av_write_header().
It supports more convenient setting of AVOptions.
2011-06-16 20:24:56 +02:00
Anton Khirnov
603b8bc2a1 Deprecate av_open_input_* and remove their uses.
Deprecate the last remaining member of AVFormatParameters.
2011-06-16 20:24:56 +02:00
Anton Khirnov
05e84c95c7 lavf: add avformat_open_input() as a replacement for av_open_input_*
Add support for demuxer private options.
2011-06-16 20:24:56 +02:00
Michael Niedermayer
173cd695cb Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits)
  utils: Drop pointless '#if 1' preprocessor directive.
  ac3enc: remove empty ac3_float function that is never called
  ac3enc: split templated float vs. fixed functions into a separate file.
  ac3enc: dynamically allocate AC3EncodeContext fields windowed_samples and mdct
  ac3enc: use function pointer to choose between AC-3 and E-AC-3 header output functions.
  Roll back 4:4:4 H.264 for now Needs some ARM/PPC asm modifications.
  Fix SVQ3 after adding 4:4:4 H.264 support
  H.264: fix CODEC_FLAG_GRAY
  4:4:4 H.264 decoding support
  h264_parser: Fix whitespace after previous change.
  h264_parser: Fix behaviour when PARSER_FLAG_COMPLETE_FRAMES is set.
  wav: remove an invalid free().
  lavf: initialise reference_dts in av_estimate_timings_from_pts.
  h264: don't be so picky on decoding pps in extradata.
  avcodec.h: add or elaborate on some documentation comments.
  h264: change a few comments into error messages
  ac3dec: fix doxy-style for comment ("///>" should be "///<" instead).
  img2: add .dpx to the list of supported file extensions.
  ffv1: fix undefined behavior with insane widths.
  ARM: jrevdct_arm: simplify stack usage
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-14 04:56:26 +02:00
Diego Biurrun
35bdaf3d42 utils: Drop pointless '#if 1' preprocessor directive. 2011-06-13 23:02:28 +02:00
Michael Niedermayer
a8fd2f4e02 lavf: initialise reference_dts in av_estimate_timings_from_pts.
Fixes issue2437.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-13 20:46:06 +02:00
Michael Niedermayer
45fb647495 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  bitstream: Properly promote av_reverse values before shifting.
  libavutil/swscale: YUV444P10/YUV444P9 support.
  H.264: Fix high bit depth explicit biweight
  h264: Fix 10-bit H.264 x86 chroma v loopfilter asm.
  Replace DEBUG_SEEK/DEBUG_SI + av_log combinations by av_dlog.
  Update copyright year for ac3enc_opts_template.c.
  adts: Adjust frame size mask to follow the specification.
  movenc: Add RTP muxer/hinter options
  movenc: Pass the RTP AVFormatContext to the SDP generation
  rtspenc: Add RTP muxer options
  rtspenc: Add an AVClass for setting muxer specific options
  rtpenc_chain: Pass the rtpflags options through to the chained muxer
  rtpenc: Declare the rtp flags private AVOptions in rtpenc.h
  sdp: Reindent after the previous commit
  rtpenc: MP4A-LATM payload support
  avoptions: Add an av_opt_flag_is_set function for inspecting flag fields
  sdp: Allow passing an AVFormatContext to the SDP generation
  mov: Fix wrong timestamp generation for fragmented movies that have time offset caused by the first edit list entry.
  mpeg12: more advanced ffmpeg mpeg2 aspect guessing code.
  swscale: split YUYV output out of yuv2packed[12X]_c().

Conflicts:
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/h264dsp_template.c
	libavcodec/mpeg12.c
	libavformat/aacdec.c
	libavformat/avidec.c
	libavformat/internal.h
	libavformat/movenc.c
	libavformat/rtpenc.c
	libavformat/rtpenc_latm.c
	libavformat/sdp.c
	libavformat/version.h
	libavutil/avutil.h
	libavutil/pixfmt.h
	libswscale/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-11 03:51:36 +02:00
Diego Biurrun
919d7a345a Replace DEBUG_SEEK/DEBUG_SI + av_log combinations by av_dlog. 2011-06-10 19:12:14 +02:00
Stefano Sabatini
996bbdbf1f lavf: make compute_pkt_fields2() return meaningful error values
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-09 23:00:11 +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
dbaba52ed2 lavf: don't try to free private options if priv_data is NULL.
This might happen if there was an error before priv_data was allocated
and result in segfault.
2011-06-08 19:51:31 +02:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Michael Niedermayer
f9569249c2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Remove some unused scripts from tools/.
  Add x86 assembly for some 10-bit H.264 intra predict functions.
  v4l2: do not force NTSC as standard
  Skip tableprint.h during 'make checkheaders'.
  Remove unnecessary LIBAVFORMAT_BUILD #ifdef.
  Drop explicit filenames from @file Doxygen tags.
  Skip generated table headers during 'make checkheaders'.
  lavf,lavc: free avoptions in a generic way.
  AVOptions: add av_opt_free convenience function.
  tableprint: Restore mistakenly deleted common.h #include for FF_ARRAY_ELEMS.
  tiff: print log in case of unknown / unsupported tag.
  tiff: fix linesize for mono-white/black formats.
  Fix build of eval-test program
  configure: Document --enable-vaapi
  ac3enc: extract all exponents for the frame at once

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-06 03:33:58 +02:00
Anton Khirnov
367732832f lavf,lavc: free avoptions in a generic way.
It's simpler and less error-prone.

Fixes some memleaks along the way.
2011-06-05 15:01:36 +02:00
Michael Niedermayer
87f40364d1 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  build: simplify commands for clean target
  swscale: split swscale.c in unscaled and generic conversion routines.
  swscale: cosmetics.
  swscale: integrate (literally) swscale_template.c in swscale.c.
  swscale: split out x86/swscale_template.c from swscale.c.
  swscale: enable hScale_altivec_real.
  swscale: split out ppc _template.c files from main swscale.c.
  swscale: remove indirections in ppc/swscale_template.c.
  swscale: split out unscaled altivec YUV converters in their own file.
  mpegvideoenc: fix multislice fate tests with threading disabled.
  mpegts: Wrap #ifdef DEBUG and av_hex_dump_log() combination in a macro.
  build: Simplify texi2html invocation through the --output option.
  Mark some variables with av_unused
  Replace avcodec_get_pix_fmt_name() by av_get_pix_fmt_name().
  svq3: Check negative mb_type to fix potential crash.
  svq3: Move svq3-specific fields to their own context.
  rawdec: initialize return value to 0.
  Remove unused get_psnr() prototype
  rawdec: don't leak option strings.
  bktr: get default framerate from video standard.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-04 06:35:17 +02:00
Mans Rullgard
5e1166b31b Mark some variables with av_unused
Most of these variables are only used in av_dlog statements, some
are required but not used by other macros.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-03 12:59:05 +01:00
Clément Bœsch
fd38a15adf Fix various bad printf format warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-30 00:03:06 +02:00
James Zern
094aa84b03 muxers: Add a flag to mark muxers that allow (non strict) monotone timestamps. 2011-05-26 22:00:40 +02:00
Anton Khirnov
9749cdf775 lavf: initialize demuxer private options. 2011-05-26 20:03:26 +02:00
Michael Niedermayer
39e4206dc6 Merge remote-tracking branch 'qatar/master'
* qatar/master: (32 commits)
  doc: create separate section for audio encoders
  swscale: Remove orphaned, commented-out function declaration.
  swscale: Eliminate rgb24toyv12_c() duplication.
  Remove h263_msmpeg4 from MpegEncContext.
  APIchanges: Fill in git hash for fps_probe_size (30315a8)
  avformat: Add fpsprobesize as an AVOption.
  avoptions: Return explicitly NAN or {0,0} if the option isn't found
  rtmp: Reindent
  rtmp: Don't try to do av_malloc(0)
  tty: replace AVFormatParameters.sample_rate abuse with a private option.
  Fix end time of last chapter in compute_chapters_end
  ffmpeg: get rid of useless AVInputStream.nb_streams.
  ffmpeg: simplify managing input files and streams
  ffmpeg: purge redundant AVInputStream.index.
  lavf: deprecate AVFormatParameters.channel.
  libdc1394: add a private option for channel.
  dv1394: add a private option for channel.
  v4l2: reindent.
  v4l2: add a private option for channel.
  lavf: deprecate AVFormatParameters.standard.
  ...

Conflicts:
	doc/APIchanges
	doc/encoders.texi
	ffmpeg.c
	libavdevice/alsa-audio.h
	libavformat/version.h
	libavutil/opt.c
	libswscale/rgb2rgb.h
	libswscale/rgb2rgb_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-26 03:28:22 +02:00
Alex Converse
30315a8d9c avformat: Add fpsprobesize as an AVOption. 2011-05-25 12:34:46 -07:00
John Stebbins
656566d7a4 Fix end time of last chapter in compute_chapters_end
Parenthesis are misplaced in calculation of max_time.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-25 15:55:48 +02:00
John Stebbins
a3da17730e Fix end time of last chapter in compute_chapters_end(). 2011-05-25 09:49:18 +02:00
Stefano Sabatini
5045786b7e lavf: fix style for avformat_alloc_output_context2()
More consistent/readable.
2011-05-22 20:04:11 +02:00
Stefano Sabatini
5ecdfd008b lavf: deprecate avformat_alloc_output_context() in favor of avformat_alloc_output_context2()
The new function accepts a slightly more intuitive order of paramters,
and returns an error code, thus allowing applications to report a
meaningful error message.
2011-05-22 20:01:31 +02:00
Michael Niedermayer
5c08c7b215 Add a flag to disable side data merging.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-21 02:31:27 +02:00
Michael Niedermayer
94eadee7ef Merge/split side data.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-21 02:31:27 +02:00
Michael Niedermayer
8529f9b36b av_find_stream_info: Print more details about max anaylize duration failures.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-19 03:45:00 +02:00
Michael Niedermayer
b4bcd1e2f1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix compilation of iirfilter-test.
  libx264: handle closed GOP codec flag
  lavf: remove duplicate assignment in avformat_alloc_context.
  lavf: use designated initializers for AVClasses.
  flvdec: clenup debug code
  asfdec: fix possible overread on broken files.
  asfdec: do not fall back to binary/generic search
  asfdec: reindent after previous commit c7bd5ed
  asfdec: fallback to binary search internally
  mpegaudio: add _fixed suffix to some names
  Modify x86util.asm to ease transitioning to 10-bit H.264 assembly.
  dct: build dct32 as separate object files
  qdm2: include correct header for rdft

Conflicts:
	ffpresets/libx264-fast.ffpreset
	ffpresets/libx264-fast_firstpass.ffpreset
	ffpresets/libx264-faster.ffpreset
	ffpresets/libx264-faster_firstpass.ffpreset
	ffpresets/libx264-medium.ffpreset
	ffpresets/libx264-medium_firstpass.ffpreset
	ffpresets/libx264-placebo.ffpreset
	ffpresets/libx264-placebo_firstpass.ffpreset
	ffpresets/libx264-slow.ffpreset
	ffpresets/libx264-slow_firstpass.ffpreset
	ffpresets/libx264-slower.ffpreset
	ffpresets/libx264-slower_firstpass.ffpreset
	ffpresets/libx264-superfast.ffpreset
	ffpresets/libx264-superfast_firstpass.ffpreset
	ffpresets/libx264-ultrafast.ffpreset
	ffpresets/libx264-ultrafast_firstpass.ffpreset
	ffpresets/libx264-veryfast.ffpreset
	ffpresets/libx264-veryfast_firstpass.ffpreset
	ffpresets/libx264-veryslow.ffpreset
	ffpresets/libx264-veryslow_firstpass.ffpreset
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-18 05:42:42 +02:00
Vladimir Pantelic
69fa23961e asfdec: do not fall back to binary/generic search
asf_read_seek() inside the asf demuxer already does the
right thing, it tries the index and if that fails it uses
binary search. If binary search is called from outside of asfdec.c
it will fail because the asf code cannot clean up after itself.
Therefore introduce AVFMT_NOBINSEARCH that prevents the seek
code to fallback to binary search and AVFMT_NOGENSEARCH that
prevents the seek code to fallback to generic search.
2011-05-17 22:06:00 +02:00
Stefano Sabatini
4ad0693edc lavf: fix function name in compute_pkt_fields2 av_dlog message
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:28 +02:00
Marton Balint
2c71581698 lavf: 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>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:27 +02:00
Marton Balint
6b35a795f8 lavf: 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>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:27 +02:00
Michael Niedermayer
4ea216e761 libavformat/utils: Only consider dvb teletext timestamps for start time when they are consistent with the rest.
This fixes Ticket51.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-12 03:40:21 +02:00
Michael Niedermayer
59eb12faff Merge remote branch 'qatar/master'
* qatar/master: (30 commits)
  AVOptions: make default_val a union, as proposed in AVOption2.
  arm/h264pred: add missing argument type.
  h264dsp_mmx: place bracket outside #if/#endif block.
  lavf/utils: fix ff_interleave_compare_dts corner case.
  fate: add 10-bit H264 tests.
  h264: do not print "too many references" warning for intra-only.
  Enable decoding of high bit depth h264.
  Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
  Add support for higher QP values in h264.
  Add the notion of pixel size in h264 related functions.
  Make the h264 loop filter bit depth aware.
  Template dsputil_template.c with respect to pixel size, etc.
  Template h264idct_template.c with respect to pixel size, etc.
  Preparatory patch for high bit depth h264 decoding support.
  Move some functions in dsputil.c into a new file dsputil_template.c.
  Move the functions in h264idct into a new file h264idct_template.c.
  Move the functions in h264pred.c into a new file h264pred_template.c.
  Preparatory patch for high bit depth h264 decoding support.
  Add pixel formats for 9- and 10-bit yuv420p.
  Choose h264 chroma dc dequant function dynamically.
  ...

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/arm/dsputil_init_neon.c
	libavcodec/arm/dsputil_iwmmxt.c
	libavcodec/arm/h264pred_init_arm.c
	libavcodec/bfin/dsputil_bfin.c
	libavcodec/dsputil.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c
	libavcodec/h264dsp.c
	libavcodec/h264idct.c
	libavcodec/h264pred.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/options.c
	libavcodec/ppc/dsputil_altivec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/h264_altivec.c
	libavcodec/ps2/dsputil_mmi.c
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.c
	libavcodec/sparc/dsputil_vis.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/dsputil_mmx.c
	libavformat/options.c
	libavformat/utils.c
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/swscale_template.c
	tests/ref/seek/lavf_avi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 05:47:02 +02:00
Vitor Sessak
ecc297308f lavf/utils: fix ff_interleave_compare_dts corner case.
This should fix behavior introduced by commit
96573c0d76. Av_rescale_rnd() is not
lossless so if two timestamps are equal after being rescaled they are
not always actually identical. This patch use av_compare_ts() to get
always a correct result.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:53:19 -04:00
Michael Niedermayer
67d441499a seeking: Favor pkt->pos for generic index building where possible.
See [FFmpeg-devel] [PATCH] Only using st->parser->pos when doing?repacking in the parser.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 03:28:42 +02:00
Reimar Döffinger
d3445a911c Remove unused variable. 2011-05-07 20:14:48 +02:00
Stefano Sabatini
ce5e49b0c2 replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_* 2011-05-02 16:41:41 +02:00
Stefano Sabatini
975a1447f7 Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +02:00
Michael Niedermayer
492026209b LAVFAPI: demuxer specific options.
(someone please add doxy)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-30 22:09:15 +02:00
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
Aurelien Jacobs
54036be11a rename LAVF_API_* defines to FF_API_* to clarify that it is not public API
Originally committed as revision 24825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-18 20:34:31 +00:00
Aurelien Jacobs
dd872bf49f add LAVF_API_OLD_METADATA define to disable the deprecated metadata API
Originally committed as revision 24818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 20:23:19 +00:00
Baptiste Coudurier
d2064fd42b Fix segv when stream copy and validate_tag fails, st->codec->codec is not set
Originally committed as revision 24782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 00:35:19 +00:00
Przemysław Sobala
ec973f45a3 Fix mem leak when trying to open a non-existing image file (issue 2126).
Patch by Przemysław Sobala, psobala wp-sa pl

Originally committed as revision 24757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-10 17:27:22 +00:00
Martin Storsjö
311baee795 Make hex_to_data a lavf internal function
This is useful for other future RTP depacketizers

Originally committed as revision 24747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-09 10:05:33 +00:00
Stefano Sabatini
126b638ea0 Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.

This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.

Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 23:12:28 +00:00
Baptiste Coudurier
9d3fdf2031 Move AVStream->codec_info_nb_frames increment after try_decode_frame
Originally committed as revision 24017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 03:15:37 +00:00
Baptiste Coudurier
ae447836af In av_find_stream_info, decode at least 4 h.264 frames to be able to guess delay.
Originally committed as revision 24014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 03:07:33 +00:00
XBMC
b0a18c2f0a Make "invalid dts/pts combination" a debug instead of a warning message.
Patch by XBMC

Originally committed as revision 23919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 23:01:44 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Eli Friedman
22d78b05b1 Fix an "assignment from incompatible pointer type" warning in av_read_frame_internal
Patch by Eli Friedman, eli dot friedman at gmail

Originally committed as revision 23842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-28 08:04:52 +00:00
Måns Rullgård
f3bfe388b5 Make ff_url_split() public
ff_url_split() is retained as an alias, as it was used by ffserver,
to avoid breaking ABI compatibility with it.

Originally committed as revision 23822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 14:16:46 +00:00
Stephen Dredge
5be5d28ced Fix failure in av_read_frame on timestamp rollover.
Patch by Stephen Dredge, sdredge A tpg com au

Originally committed as revision 23699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 08:48:28 +00:00
Martin Storsjö
a955fc5ee7 ff_url_join: Don't add any at-char if the auth is an empty string
Originally committed as revision 23650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-19 21:56:50 +00:00
Måns Rullgård
b462d13262 Add compatibility wrappers for functions moved from lavf to lavc
When symbol versioning is enabled, moving symbols from one library to
another breaks binary compatibility.  This adds wrappers with the old
version tag for the av_*packet functions recently moved to lavc.

Originally committed as revision 23611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-15 13:26:52 +00:00
Michael Niedermayer
7686ab07ac Fix muxing rgb rawvideo in avi regression.
Originally committed as revision 23500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 23:13:52 +00:00
Stefano Sabatini
b603ab8dc1 Make the error message issued in case of invalid codec tag more
informative.

Originally committed as revision 23423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 10:54:53 +00:00
Michael Niedermayer
b742a12ee2 Print an error when MAX_STREAMS is reached.
Originally committed as revision 23413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 19:49:21 +00:00
Michael Niedermayer
a5266a4789 Make sure that when the parser is feeded with frame==packet that the
packets are passed through and wont be marked as static which would
require them to be copied by av_dup_packet().

Originally committed as revision 23352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 17:11:37 +00:00
Alex Converse
74a6df59e3 Add an AVSTREAM_PARSE_FULL_ONCE parsing mode to parse headers and combine packets once and only once.
Originally committed as revision 23332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-26 04:20:32 +00:00
Jai Menon
9bbe9a0dc1 Display a more descriptive log message when probe buffer limit is
reached.

Originally committed as revision 23288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 16:42:16 +00:00
Stefano Sabatini
e1745e2f6e Make av_write_header() return AVERROR(EINVAL) rather than -1 if the
input parameters are not valid.

Originally committed as revision 23253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 21:52:06 +00:00
Stefano Sabatini
cf5b33d9fa Store in a dedicated array the format name - codec id - codec type
mapping. Simplify.

Originally committed as revision 23252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 21:52:02 +00:00
Stefano Sabatini
83c2707908 Prefer enum CodecID over int in ff_codec_get_tag().
Originally committed as revision 23249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 15:56:49 +00:00
Martin Storsjö
9a76125069 Add a libavformat internal function ff_write_chained
Originally committed as revision 23207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-21 07:07:57 +00:00
Francesco Lavra
698f4cc7f0 Validate AVCodecTag vs CodecID.
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 23159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:23:29 +00:00
Francesco Lavra
603a5f04b2 Factorize some code into the new function ff_toupper4().
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 23158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:16:40 +00:00
Baptiste Coudurier
58edb075f0 Change MAX_READ_SIZE message during av_find_stream_info to DEBUG level.
It is not harmful and it scares too many users.

Originally committed as revision 23139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-14 22:04:39 +00:00
Reimar Döffinger
8e2ee182fa Export av_probe_input_format2.
Originally committed as revision 23002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 13:49:35 +00:00
Stefano Sabatini
2ef6c1242a Mark av_metadata_set() as deprecated, and use av_metadata_set2()
in its place.

av_metadata_set() is going to be dropped at the next major bump.

Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 14:27:42 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Jean-Daniel Dupas
2898526d6a Do not probe when the format is known.
Patch by Jean-Daniel Dupas devlists shadowlab org

Originally committed as revision 22870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 07:25:50 +00:00
Michael Niedermayer
0f1f4816d5 Raise needed score for codec probing in CODEC_ID_PROBE before the last packet.
Fixes issue1871

Originally committed as revision 22831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 00:43:36 +00:00
Michael Niedermayer
497431a5b6 Dont try to compute AVPacket duration for possibly interlaced video codecs
when no parser is available.
This partly fixes the frame rate misdetection in issue1756.

Originally committed as revision 22824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-09 22:39:39 +00:00
Tomas Härdin
01d91b9be9 Reusing the probe buffer to rewind the ByteIOContext in ff_probe_input_buffer() instead of seeking back to the start of the file. Once exhausted, the size of the buffer is reduced.
Originally committed as revision 22821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 09:02:27 +00:00
Michael Niedermayer
0e1f78f90b Fix rounding direction for calculation of AVPacket.duration.
Fixes issue1579

Originally committed as revision 22802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 22:19:42 +00:00
Michael Niedermayer
ccf8c2944c Limit probing to probesize.
Originally committed as revision 22758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 12:09:33 +00:00
Michael Niedermayer
fe8344a276 Add AVFMT_FLAG_NOFILLIN and AVFMT_FLAG_NOPARSE.
Originally committed as revision 22745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:55:16 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Joakim Plate
46da7fa133 Probe aac codecs for CODEC_ID_PROBE.
Patch by Joakim Plate, elupus ecce se

Originally committed as revision 22742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 10:45:15 +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
Micah F. Galizia
532aa889eb Fix updating condition for the probe_size variable in the internal
loop of ff_probe_input_buffer(), making sure that probe_size is always
set to probe_max_size in the last iteration.

Also make the function return an error if we get to the max probe
length and still cannot figure out what the format is.

Patch by Micah Galizia micahgalizia A gmail D com.

Originally committed as revision 22688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 01:12:14 +00:00
Martin Storsjö
d8f9295753 Reindent
Originally committed as revision 22666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 07:14:41 +00:00
Martin Storsjö
ddbeb95447 Add a lowercase parameter to ff_data_to_hex
Originally committed as revision 22665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 07:13:20 +00:00
Stefano Sabatini
2928b83c75 Make av_open_input_file() return AVERROR_INVALIDDATA rather than
AVERROR_NOFMT if the format is unknown / cannot be recognized.

It is returned AVERROR_INVALIDDATA, in the sense that the data is
invalid within what the specific libav* binary supports.

That was the last remaining use of AVERROR_NOFMT, which is going to be
dropped at the next libavutil major bump.

Originally committed as revision 22625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 16:34:04 +00:00
Måns Rullgård
c7f625eecf Fix erroneous behaviour when format probe hits end of file
If the format probe hits end of file, do not add the error code
to the buffer position.  This is obviously wrong, and with a
small input file would cause a negative buffer overflow.

Fixes issue 1818.

Originally committed as revision 22571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:45:30 +00:00
Aurelien Jacobs
972ffe6220 rename av_read_frame_flush to ff_read_frame_flush
it is an internal function, not part of public API

Originally committed as revision 22562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:15:24 +00:00
Aurelien Jacobs
588af13fee rename av_program_add_stream_index to ff_program_add_stream_index
it is an internal function, not part of public API

Originally committed as revision 22561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:14:07 +00:00
Martin Storsjö
2dad0dcec6 Move the NTP offset definitions to internal.h
Originally committed as revision 22542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 10:36:30 +00:00
Micah F. Galizia
eadd495d06 Move the probe loop from av_open_input_file() into its own method
av_probe_input_buffer() so that it can be reused. Here are a few
differences to the original way things were probed:

- maximum probe buffer size can be specified as a parameter.

- offset within the stream to probe from can be specified as a parameter.

- instead of seeking back to the start each time a probe fails, stream
  data is appended to the reallocated buffer. This lowers the amount
  of data read from the stream (there is no repetition) and results in
  fewer closed and reopened streams (when seeking fails).

New attempt after r22296, which was revert in r22315 due to a FATE
failure.

See the thread:
Subject: [FFmpeg-devel] [PATCH] Move av_open_input_file probe loop to its own method
Date: 2010-03-05 03:23:57 GMT

Patch by Micah F. Galizia printf("%s%s@%s.%s", "micah", "galizia", "gmail", "com").

Originally committed as revision 22532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 22:40:16 +00:00
Martin Storsjö
594a9aebbe Make the ntp_time function available to other parts of libavformat, as ff_ntp_time
Originally committed as revision 22438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 22:21:39 +00:00
Michael Niedermayer
67c10de7d2 Add special case to avoid binary search when appending index entries.
Originally committed as revision 22400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:19:23 +00:00
Stefano Sabatini
f4495cdc00 Remove definition of match_ext(), which is declared under #ifdef
HAVE_AV_CONFIG_H and so not publicly declared, and currently unused.

Originally committed as revision 22353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:51:53 +00:00
Martin Storsjö
f984dcf6dd Reindent
Originally committed as revision 22322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:05:03 +00:00
Martin Storsjö
c5c6e67c28 Rename url_split to ff_url_split
Since this function isn't in the public API, it should have an ff_ prefix.

Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:03:25 +00:00
Måns Rullgård
f19341e17a Revert "Move the probe loop from av_open_input_file() into its own method"
This reverts r22296.  This change made some files to fail to open.
The patch submitter has promised to investigate next week.

Originally committed as revision 22315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 03:46:37 +00:00
Alex Converse
e7e291e960 av_find_stream_info(): Add a workaround for backwards compatible HE-AAC signaling.
The sample rate, frame size, and channel count from the container are
not reliable when backwards compatible signaling is used.

Originally committed as revision 22301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 00:00:50 +00:00
Daniel Kristjansson
663322c1b8 Fix pts->dts conversion init for non-zero initial value for pts.
Patch by Daniel Kristjansson, danielk cuymedia net

Originally committed as revision 22297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 23:10:18 +00:00
Micah F. Galizia
4245c6ec4e Move the probe loop from av_open_input_file() into its own method
av_probe_input_buffer() so that it can be reused. Here are a few
differences to the original way things were probed:

- maximum probe buffer size can be specified as a parameter.

- offset within the stream to probe from can be specified as a parameter.

- instead of seeking back to the start each time a probe fails, stream
  data is appended to the reallocated buffer. This lowers the amount
  of data read from the stream (there is no repetition) and results in
  fewer closed and reopened streams (when seeking fails).

Patch by Micah F. Galizia printf("%s%s@%s.%s", "micah", "galizia", "gmail", "com").

Originally committed as revision 22296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:42:11 +00:00
Måns Rullgård
c26e58e32c Add some missing #includes
Originally committed as revision 22258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:36 +00:00
Martin Storsjö
780d7897a9 Add a function ff_url_join for assembling URLs
Originally committed as revision 22225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:31:45 +00:00
Vitor Sessak
5301a05d3e Fix memory leak in NUT muxer
Originally committed as revision 22222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 17:26:34 +00:00
Anton Khirnov
82f50f820e Print chapter info in dump_format().
Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 22113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 18:37:09 +00:00
Michael Niedermayer
ab392695d5 Count all frames with codec_info_nb_frames not just ones with non zero
duration. I hope this breaks nothing. Its needed for my fix of issue1156

Originally committed as revision 22001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:29:57 +00:00
Michael Niedermayer
6c6e6ef5e2 Put codec_info_nb_frames back in AVStream and print its value.
This way streams with no or very few frames can be avoided during
auto selection

Originally committed as revision 21998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 15:07:18 +00:00
Michael Niedermayer
b7884740fa Make sure mp1/mp2 get their frame_size set.
Fixes issue1696

Originally committed as revision 21972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 22:05:20 +00:00
Michael Niedermayer
0e5f33f242 Make sure a set r_frame_rate is not overriden by a guess.
Also make sure we dont waste time in this case with collecting timestamps.

Originally committed as revision 21957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 10:19:46 +00:00
Anton Khirnov
ed7694d8cf Set lavf identification string globally in av_write_header(), rather
than inside the muxers. Remove special handling of "encoder" tags from
AVI and MP3 muxers.

Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 21850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 16:32:25 +00:00
Michael Niedermayer
ab5a0175f5 Add flag so muxers not needing width/height can signal this.
Add this flag to img2 (fixes -vcodec copy to image2 in some cases)

Originally committed as revision 21773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 20:35:29 +00:00
Michael Niedermayer
e6406939a8 Directly use av_rescale_rnd() instead of av_convert_ts() as this cuts the
number of calls to it down by 2.

Originally committed as revision 21676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 19:10:04 +00:00
Michael Niedermayer
e5026c36d4 Use av_compare_ts() for interleaving per dts.
Originally committed as revision 21672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 16:27:17 +00:00
Michael Niedermayer
8c3b161e9e Dont try generic seek if seek request before first index entry and backward.
Fixes issue1275

Originally committed as revision 21633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:59:48 +00:00
Michael Niedermayer
43e4d57f66 Try to open decoders in av_find_stream_info() even if no packets for the
stream are found.
Fixes issue1385

Originally committed as revision 21630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:05:58 +00:00
Michael Niedermayer
411ff3225f Increase search range if no end timestamp could be found for the duration
calculation.

Originally committed as revision 21577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 17:43:18 +00:00
Michael Niedermayer
c55806e3a2 Flag to ignore dts on frames that contain pts.
This works around common issues with mpeg-ps files with broken timestamps.
Also allows playing the broken sample from issue1024.

Originally committed as revision 21562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 22:55:12 +00:00
Michael Niedermayer
d30a8beb99 Fix duration calculation in the presence of a single wraping of the timeline.
Fixes issue1714.

Originally committed as revision 21485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 19:37:52 +00:00
Baptiste Coudurier
c3aeaa540d set average frame rate in mov demuxer
Originally committed as revision 21310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:56:04 +00:00
Tomas Härdin
094a63f1f6 Check there is a stream before writing header.
Patch by Tomas Härdin: $(name) punto hardin chez codemill dot se

Originally committed as revision 21186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 14:32:48 +00:00
Stefano Sabatini
4160069067 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for XXX_configuration() and
XXX_license() functions, consistent with the rest of FFmpeg.

Originally committed as revision 21005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 14:31:25 +00:00
Stefano Sabatini
aa13b573b4 Use av_match_ext() in place of the deprecated match_ext() function.
Originally committed as revision 21000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 23:56:09 +00:00
Stefano Sabatini
8eb631fa50 Deprecate match_ext() in favor of av_match_ext(), and mark it for
deletion at the next major bump.

Originally committed as revision 20998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 23:50:10 +00:00
Stefano Sabatini
0f52ef1a00 Use av_guess_format() in place of the deprecated guess_format().
Originally committed as revision 20994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:58:03 +00:00
Stefano Sabatini
a1f547b94a Deprecate guess_format() in favor of av_guess_format().
Originally committed as revision 20991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:46:24 +00:00
Stefano Sabatini
1642ee4337 Deprecate and mark for deletion the function guess_stream_format(),
and clone its code to ffserver_guess_format() in ffserver.c.

guess_stream_format() is hackish since it relies on some undocumented
properties of the name of the muxers (wich is currently only relevant
for the ASF muxer), and has no use outside ffserver.c.

Originally committed as revision 20987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-31 14:12:58 +00:00
Michael Niedermayer
02483df478 Make sure the Metadata: header is not printed if the only metadata will not
be displayed. (idea from ffmbc)

Originally committed as revision 20850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:39:20 +00:00
Michael Niedermayer
b298daea1a Move dump_metadata() to where it is in ffmbc, looks better.
Originally committed as revision 20849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:34:46 +00:00
Michael Niedermayer
229303d16c indent
Originally committed as revision 20848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:31:01 +00:00
Michael Niedermayer
4d9b678448 Skip dumping language twice.
This looks too ugly. Idea also from ffmbc.

Originally committed as revision 20847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:30:41 +00:00
Michael Niedermayer
2e720e11bc dump metadata for AVStreams & AVPrograms too.
Originally committed as revision 20846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:27:43 +00:00
Michael Niedermayer
8b5e5ec5d7 Factorize dump_metadata() out.
Idea from ffmbc, code not, mine is a fraction of the size due to simpler
metadata API.

Originally committed as revision 20845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:19:24 +00:00
Michael Niedermayer
cc20679a41 Try to simplify av_estimate_timings_from_pts() like in ffmbc.
Note if this breaks for some file, report it please!

Originally committed as revision 20844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 22:56:59 +00:00
Michael Niedermayer
0e500e0db2 Debug av_log() about stream probing from ffmbc.
Originally committed as revision 20842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 22:15:51 +00:00
Michael Niedermayer
02b398ef49 Add avg_frame_rate.
Originally committed as revision 20826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 15:52:11 +00:00
Michael Niedermayer
51ce8c2f87 Remove commented out code.
Originally committed as revision 20823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 15:01:09 +00:00
John Stebbins
106fa129f4 Reset pts_buffers in av_read_frame_flush().
Patch by John Stebbins, jstebbins jetheaddev com

Originally committed as revision 20806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 15:26:33 +00:00
Sean Soria
b593f7fdef Calls to url_fseek should have their return value checked in
av_seek_frame_binary, just as they do in av_seek_frame_generic.
Otherwise, function may return success even though url_fseek reported
failure.

Patch by Sean Soria, first.last at gmail

Originally committed as revision 20744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 00:03:53 +00:00
Sean Soria
6659b32ab2 Change ret type to int64_t because url_fseek returns int64_t.
This fixes seeking in files > 2gb.
Patch by Sean Soria, sean dot soria at gmail dot com.

Originally committed as revision 20693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 22:56:44 +00:00
Baptiste Coudurier
66765b5933 use AVFormatContext in av_log, better than AVCodecContext when multiple streams are present
Originally committed as revision 20689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 20:15:05 +00:00
Michael Niedermayer
77ac76a30f Print a warning if the duration is estimated from the bitrate, as this is
likely not accurate.

Originally committed as revision 20675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 22:08:22 +00:00
Diego Biurrun
c173693698 Add functions to return library license and library configuration.
Originally committed as revision 20547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 17:15:17 +00:00
Diego Biurrun
ca02d8ec97 Add '#undef fprintf' before PRINT macro that uses fprintf.
Otherwise there may be trouble when fprintf is disabled in favor of av_log.

Originally committed as revision 20515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 21:57:50 +00:00
Baptiste Coudurier
050ba6f45e print packet duration when debugging timestamps
Originally committed as revision 20420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-30 18:17:16 +00:00
Baptiste Coudurier
72017ea1dc check stream index validity in av_program_add_stream_index
Originally committed as revision 20319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 18:55:27 +00:00
Baptiste Coudurier
8425cecacc request mp3 frame_size to be set in has_codec_parameters, fix issue #1314
Originally committed as revision 20318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 18:53:32 +00:00
Baptiste Coudurier
f2c061ec0f reindent after commit
Originally committed as revision 20307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 02:20:08 +00:00
Baptiste Coudurier
7edbcfb79e In dump_format, print streams not associated with any program.
Fixes issue #1366.

Originally committed as revision 20306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 02:12:10 +00:00
Baptiste Coudurier
7857d3ccf6 fix indentation and add braces
Originally committed as revision 20289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:25:48 +00:00
Vitor Sessak
a4cb675124 Avoid segfault for empty input files
Originally committed as revision 20265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 20:37:58 +00:00
Carl Eugen Hoyos
b8c0db9981 Allow autodetection of E-AC3.
Originally committed as revision 20206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 11:56:53 +00:00
Carl Eugen Hoyos
e18027ac40 Add FIXME about low_delay vs has_b_frames.
Originally committed as revision 20161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 19:40:52 +00:00
Wallak
f4a4be3f4e H264 allows B frames without requiring a >=1 sized buffer.
Patch by wallak, wallak free fr

Originally committed as revision 20160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 19:30:09 +00:00
Michael Niedermayer
e9b0681610 Only use *ic_ptr when it has been initialized.
Originally committed as revision 19911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 13:19:13 +00:00
Baptiste Coudurier
db46c4e14d print at debug level the score at which codec probing succedeed
Originally committed as revision 19899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:46:50 +00:00
Michael Niedermayer
1bc8c36125 Print a warning if a format has been detected with a low score.
Originally committed as revision 19890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:44:26 +00:00
Michael Niedermayer
c36823fd3d Print at debug level the score with which probing succeeded.
Originally committed as revision 19889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:23:04 +00:00
Michael Niedermayer
8a6c7a5286 Fix indention after last commit.
Originally committed as revision 19888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:06:48 +00:00
Michael Niedermayer
e07b882b4d Improve amortized worst case speed of the muxers packet interleaving code
from O(packets_in_the_file) to O(num_of_streams).

Originally committed as revision 19887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:04:04 +00:00
Michael Niedermayer
657eca1f8b Upgrade a few important messages to AV_LOG_WARNING.
Originally committed as revision 19872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 01:47:54 +00:00
Michael Niedermayer
0355537605 Fix indention after previous commit.
Originally committed as revision 19871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 01:17:39 +00:00
Michael Niedermayer
ddce56efc5 Make packet interleaving in the muxer not scan through the whole
buffer when simply appending at the end works.
Much faster if one stream ends prematurely.
Fixes issue1379.

Originally committed as revision 19870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 00:59:15 +00:00
Michael Niedermayer
42831b46ef Also reset *_end in flush_packet_queue().
Originally committed as revision 19869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 00:56:31 +00:00
Justin Ruggles
1d07029fea Add frame_size as a codec parameter requirement for Speex in
av_find_stream_info().  It forces decoding of a packet when there is no
Speex header in order to determine the correct frame size.

Originally committed as revision 19760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 21:38:45 +00:00
Ivan Schreter
101036adb9 Support for generic multi-stream key frame finding for new seek API.
Originally committed as revision 19680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-22 16:05:43 +00:00
Peter Ross
c0b88f1920 Moves the display of metadata to dump_format()
Originally committed as revision 19632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-12 13:17:39 +00:00
Art Clarke
ebb82604b0 Only free '*ic_ptr' when a caller has pre-allocated a context and passed it in
(wherein av_open_input_file assumes memory ownership).
Patch by Art Clarke a<surname> xuggle com

Originally committed as revision 19436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 10:00:16 +00:00
Art Clarke
56c6cf287b Fix mem leak when user preallocates an AVFormatContext, passes it to
av_open_input_file(), but the file does not exist.
Patch by Art Clarke a$(surname) xuggle com

Originally committed as revision 19370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 08:26:57 +00:00
Michael Niedermayer
e7e5d1e990 If either of num or den is 0 make both 0 in av_set_pts_info().
Originally committed as revision 19326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-02 12:47:58 +00:00
Michael Niedermayer
d218a86a0d Make sure av_set_pts_info() does not set the fields of a timebase to
negative values.

Originally committed as revision 19325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 20:52:48 +00:00
Michael Niedermayer
dec14949a6 Make arguments of av_set_pts_info() unsigned.
Fixes issue1240/mpeg1/smclockmpeg1.avi.3.1

Originally committed as revision 19319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 18:50:31 +00:00
Baptiste Coudurier
57011a13d6 use AVFormatContext->probesize in av_find_stream_info and raise default to 5M
Originally committed as revision 19274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 19:10:27 +00:00
Baptiste Coudurier
af122d6a80 limit raw packet buffer size used for codec probing
Originally committed as revision 19272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 18:48:57 +00:00
Daniel Verkamp
1a40491ef2 Add ff_ prefixes to exported symbols in libavformat/riff.h.
patch by Daniel Verkamp, aniel drv nu

Originally committed as revision 19254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 23:09:34 +00:00
Michael Niedermayer
71ee651559 Print why av_find_stream_info() failed, this is a rather common question
during debugging ...

Originally committed as revision 19217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-18 00:22:08 +00:00
Baptiste Coudurier
818062f2f3 if b frames are parsed, set codec->has_b_frames
Originally committed as revision 19147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 04:30:05 +00:00
Baptiste Coudurier
e695906ec7 use dts codec probing
Originally committed as revision 19014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:13:25 +00:00
Baptiste Coudurier
86cb7e33cc fix codec probing, stop after MAX_PROBE_PACKETS and return all packets
Originally committed as revision 19000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 00:24:06 +00:00
Baptiste Coudurier
db5dc02bd7 cast size to int64_t to avoid overflow
Originally committed as revision 18991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 04:08:43 +00:00
Baptiste Coudurier
1bd280f730 Set frame defaults in try_decode_frame.
Fix:
==22211== Conditional jump or move depends on uninitialised value(s)
==22211==    at 0x811E692: ff_print_debug_info (mpegvideo.c:1137)
==22211==    by 0x82E6A7B: decode_frame (h264.c:7897)
==22211==    by 0x80F2823: avcodec_decode_video2 (utils.c:564)
[...]
==22211==  Uninitialised value was created by a stack allocation
==22211==    at 0x8064AA3: try_decode_frame (utils.c:1845)

Originally committed as revision 18483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:38:55 +00:00
Baptiste Coudurier
e472ea34c4 reindent
Originally committed as revision 18480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:32:02 +00:00
Reimar Döffinger
d2e63e8b05 Simplify packet duplication code in ff_interleave_add_packet.
Behaviour only changes if pkt->destuct neither av_destruct_packet,
av_destruct_packet_nofree nor NULL, in which case the new code avoids a double free.

Originally committed as revision 18452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 22:38:00 +00:00
Reimar Döffinger
80d403fc19 Get rid of av_destruct_packet_nofree and use NULL instead.
It is still used in comparisons to keep ABI compatibility.

Originally committed as revision 18431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 12:42:29 +00:00
Thilo Borgmann
655d47c2cb Make try_decode_frame() use the new avcodec_decode_* API.
Patch by Thilo Borgmann thilo.borgmann AT g00glemail dot com.

Originally committed as revision 18408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:03:06 +00:00
Reimar Döffinger
feb993e579 Add av_shrink_packet function for use in av_get_packet that reduces pkt->size
and ensures the following padding is correctly initialized to 0.

Originally committed as revision 18378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:19:12 +00:00
Thilo Borgmann
cdd8930e6a Move av_packet_*() functions from libavformat/ to libavcodec/, where the
AVPacket structure now resides also.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see the mailinglist
thread "Google Summer of Code participation" for additional discussion.

Originally committed as revision 18353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 18:31:14 +00:00
Baptiste Coudurier
3a5601885b move max analyze duration check before considering new packet
Originally committed as revision 18051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:54:34 +00:00
Reimar Döffinger
74f5ae847d Add AVFMT_GENERIC_INDEX support also for formats that do not use a parser.
Originally committed as revision 17965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 21:46:00 +00:00
Michael Niedermayer
85b4230f68 Do not lose user flags when passing calls from the new to the old seeking API.
Originally committed as revision 17959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 16:30:51 +00:00
Michael Niedermayer
32d885926d add avformat_seek_file()
Originally committed as revision 17956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 15:51:46 +00:00
Reimar Döffinger
3a4f91f5ed 100l, to start reading from the first frame we must seek to data_offset,
not 0 in av_seek_frame_generic.

Originally committed as revision 17905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 12:06:31 +00:00
Diego Biurrun
e658657528 Mark pos_min and pos_max variables as av_uninit to work around false
positive uninitialized variable warnings.

Originally committed as revision 17826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 19:15:14 +00:00
Ivan Schreter
61c23c155c Pass packet position to the parser, so frame's AVPacket.pos is computed correctly.
Originally committed as revision 17824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 07:36:16 +00:00
Diego Biurrun
c04920978e cosmetics: Fix indentation.
Originally committed as revision 17756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 12:57:07 +00:00
Aurelien Jacobs
827f7e285b deprecate old metadata API
Originally committed as revision 17690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 16:35:25 +00:00
Aurelien Jacobs
012867f05b use new metadata API in libavformat/utils.c
Originally committed as revision 17687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 15:38:06 +00:00
Michael Niedermayer
9e6c124a87 Disable MPEG-1/2 style timestamp calculation for H264. It still randomizes
the timestamps because delay is not known for the first few frames.

Originally committed as revision 17674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 03:17:24 +00:00
Måns Rullgård
f166f2f435 Revert "Improve frame rate guessing for streams with two fields per frame."
This reverts r17656, which broke many tests.  Further investigation
is necessary.

Originally committed as revision 17658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 15:15:54 +00:00
Ivan Schreter
5fa61b26f7 Improve frame rate guessing for streams with two fields per frame.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 13:14:46 +00:00
Reimar Döffinger
fe02d9e719 Do not allow standard-frame-rate detection to increase the value of
r_frame_rate by more than 1% over a previously set/detected value.

Originally committed as revision 17641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 14:13:15 +00:00
Reimar Döffinger
8514272472 Detect the case when the time base is exact but far finer than necessary to
represent the time stamps, as e.g. for ipmovie.c and set a better r_frame_rate.

Originally committed as revision 17631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 07:56:24 +00:00
Michael Niedermayer
3797c74ba5 Add ticks_per_frame, this should hopefully fix the regressions caused
by the time_base change.

Originally committed as revision 17630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 23:47:32 +00:00
Ivan Schreter
27ca0a79c9 Add timestamp computation if values are exported by decoder.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 22:19:09 +00:00
Ivan Schreter
810c451b02 Change duration computation to use time_base instead of TB/2.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 20:17:02 +00:00
Michael Niedermayer
7f123e7f8a Add CODEC_ID_H264 to tb_unreliable(), it belongs there for the same
reason as mpeg2. (telecine amongth others)

Originally committed as revision 17551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 13:35:54 +00:00
Michael Niedermayer
1d14361dec Allow av_find_stream_info() to be aborted.
Based on a patch by netgem.

Originally committed as revision 17538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 02:38:45 +00:00
Michael Niedermayer
c132938d52 Waste less space for printing timebases.
Originally committed as revision 17505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-21 23:00:07 +00:00
Michael Niedermayer
fa0e036d7f Print all timebases (idea from netgem)
Originally committed as revision 17502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-21 21:30:44 +00:00
Ivan Schreter
346db3ef7f Use context variable repeat_pict for frame duration computation and
document this new use.

Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-21 20:11:47 +00:00
Michael Niedermayer
73d65a96ae Be less noisy with invalid pts/dts.
Originally committed as revision 17482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-21 17:29:25 +00:00
Ivan Schreter
b1fa494205 Add convergence_duration to AVCodecParserContext.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 23:35:59 +00:00
Ivan Schreter
6363af44da Add key_frame to AVCodecParserContext, used in libavformat.
Initialized to -1 in parser.c for backward compatibility.

Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 23:46:05 +00:00
Art Clarke
d5cce0a434 Add a warning log when trying to encode into a container requiring global
headers in extradata and the codec is not set correctly.
Patch by Art Clarke aclarke xuggle com

Originally committed as revision 17177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 08:10:43 +00:00
Aurelien Jacobs
949cd9783b remove now useless av_set_program_name() function
Originally committed as revision 17113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-10 00:27:42 +00:00
Francesco Cosoleto
ced06bd8fe Add the ability to set the timestamp to the current time by specifying 'now'
as the time

Patch by Francesco Cosoleto ( cosoleto gmail com )

Originally committed as revision 17076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-08 22:03:54 +00:00
Stefano Sabatini
8e2fd8e1d4 Replace the calls to the deprecated av_alloc_format_context() with
corresponding calls to avformat_alloc_context().

Originally committed as revision 17048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-08 08:27:26 +00:00
Baptiste Coudurier
4f0f9bddac let packet pass through when no timestamps
Originally committed as revision 16982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-03 23:18:12 +00:00
Baptiste Coudurier
ccf0071dee split av_interleave_per_dts, to avoid code duplication
Originally committed as revision 16884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-31 06:01:58 +00:00
Michael Niedermayer
3a41c2f769 Move av_read_frame/parser related buffer variables from AVFormatContext
to AVStream, this is required if we want to allow the user to pull frames
from specific streams at some point in the future.

Originally committed as revision 16724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-22 23:35:31 +00:00
Baptiste Coudurier
082491c473 print stream sar if present and different than codec sar
Originally committed as revision 16720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-22 19:45:53 +00:00
Michael Niedermayer
cda6902d36 Handle av_read_frame() EAGAIN return.
Originally committed as revision 16718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-22 12:06:02 +00:00
Baptiste Coudurier
aa91562501 jpeg2k is intra only codec
Originally committed as revision 16663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 00:47:46 +00:00
Baptiste Coudurier
2323ac0154 match format in names list separated by commas
Originally committed as revision 16659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 21:40:27 +00:00
Aurelien Jacobs
2bb6eba21d remove ff_get_fourcc() and use AV_RL32() instead
Originally committed as revision 16654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 12:21:01 +00:00
Aurelien Jacobs
9ce6c13879 export gcd function as av_gcd()
Originally committed as revision 16653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 11:13:33 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Stefano Sabatini
708ec8fb31 Move the AVFormatContext options definition to a dedicated file,
reduce the utils.c clutter.

Originally committed as revision 16516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-10 09:56:07 +00:00
Luca Abeni
65007a4fa0 Do not assume that if pkt->destruct != av_destruct_packet then it is not
necessary to call the destruct method

Originally committed as revision 16506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-09 20:10:13 +00:00
Aurelien Jacobs
5ce0043367 rename ff_metadata_sync_compat to ff_metadata_mux_compat
Originally committed as revision 16501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-09 00:01:42 +00:00
Aurelien Jacobs
e99f76ab79 Add a second metadata compatibility layer, so that metadata that gets
demuxed with new API is automatically converted to the old API,
allowing old applications to stay functional.

Originally committed as revision 16499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-08 23:24:51 +00:00
Michael Niedermayer
9f06bd9e96 Do not try to duplicate packets that have data==NULL.
Originally committed as revision 16483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 20:44:23 +00:00
Aurelien Jacobs
094d9df72e free all allocated metadata structures
Originally committed as revision 16457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 22:11:04 +00:00
Aurelien Jacobs
176aee8282 Add a metadata compatibility layer, so that when a user application set
metadata using old API, it is automatically converted to new API before
muxing.

Originally committed as revision 16447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-06 00:09:23 +00:00
Aurelien Jacobs
bc1d2afb37 rename AVMetaData to AVMetadata and meta_data to metadata
Originally committed as revision 16430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-04 23:31:31 +00:00
Michael Niedermayer
06a7bd9a2e 10l format include path for metadata.h
Originally committed as revision 16426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-04 19:00:35 +00:00
Michael Niedermayer
47146dfbf6 Generic metadata API.
avi is updated as example.
No version bump, the API still might change slightly ...
No update to ffmpeg.c as requested by aurel.

Originally committed as revision 16424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-04 18:48:37 +00:00
Stefano Sabatini
1ca9133fb4 Drop the deprecated parse_image_size() and parse_frame_rate() functions
at the next libavformat major version bump.

Originally committed as revision 16420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-04 11:04:02 +00:00
Stefano Sabatini
15545a095a Fix argument constness for the av_codec_get_id() and
av_codec_get_tag() functions, making them take in input a constant
array, since they're not supposed to change it. Fix some warnings.

Originally committed as revision 15795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-08 18:37:03 +00:00
Baptiste Coudurier
b774fdd7a4 dnxhd codec is intra only
Originally committed as revision 15672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-23 17:30:36 +00:00
Aurelien Jacobs
37d3e0667a uses FF_ARRAY_ELEMS() where appropriate
Originally committed as revision 15662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-21 21:40:24 +00:00
Michael Niedermayer
9806f846c0 Check for pts==dts on I/P frames in the presence of non low delay decoding and
discard these invalid timestamps.
fixes issue171.

Originally committed as revision 15641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-19 01:02:48 +00:00
Michael Niedermayer
f781f748b9 Move code setting delay and presentation_delayed a little up so
that the variables are available sooner.

Originally committed as revision 15640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-18 22:41:21 +00:00
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Diego Biurrun
fff5e687a1 Move doxygen comments for av_gettime from utils.c to avformat.h.
Originally committed as revision 15439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-27 17:37:22 +00:00
Michael Niedermayer
0354ddb71c Ensure that muxer and encoder aspect ratios match. So no
invalid files are generated.

Originally committed as revision 15367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-19 12:37:38 +00:00
Baptiste Coudurier
bf912a482b set block align in av_write_header if not set, fix issue #489
Originally committed as revision 15277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 19:37:22 +00:00
Luca Abeni
dd1c8f3e6e Bump Major version, this commit is almost just renaming bits_per_sample to
bits_per_coded_sample but that cannot be done seperately.
Patch by Luca Abeni
Also reset the minor version and fix the forgotton change to libfaad.
Note: The API/ABI should not be considered stable yet, there still may
be a change done here or there if some developer has some cleanup ideas and
patches!

Originally committed as revision 15262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 14:24:59 +00:00
Michael Niedermayer
a2636c0fd5 Add AVPacket.convergence_duration.
Originally committed as revision 15179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 14:44:54 +00:00
Michael Niedermayer
74aa41bae4 Fix detection of MPEG4 in MPEG-PS.
Fixes issue568.

Originally committed as revision 15152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-02 15:33:57 +00:00
Baptiste Coudurier
ca9c5a4d37 make has_codec_parameters not returning true when sample_fmt is not set
Originally committed as revision 15043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 22:13:22 +00:00
Michael Niedermayer
f0aaa16fdf Do not truncate timestamps before the muxer as it makes simple
things like last_pts - pts rather tricky and is not good for anything.
Timestamps should be truncated just before storing when needed.

Originally committed as revision 15015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-29 01:43:27 +00:00
Ronald S. Bultje
452d3edb37 Change implementation for ff_data_to_hex(), this is faster. See discussion on
mailinglist in "Realmedia patch" thread.

Originally committed as revision 15006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-28 12:00:58 +00:00
Ronald S. Bultje
f1c80e3578 Export data_to_hex() as private API in lavf, rename to ff_data_to_hex() and
move it from sdp.c into utils.c. Also add new header internal.h specifically
for lavf-specific internal API. See discussion in "Realmedia patch" thread
on mailinglist.

Originally committed as revision 15002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 23:43:28 +00:00
Aurelien Jacobs
d63f529df7 remove useless assignment (st is never read after this line)
Originally committed as revision 14985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-26 20:38:04 +00:00
Andreas Öman
f1588ed525 When setting codec_id during codec probe we must also set codec_type.
Originally committed as revision 14966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 15:39:43 +00:00
Reimar Döffinger
aecf157ed0 Mark several libavformat arrays const
Originally committed as revision 14950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 17:24:34 +00:00
Aurelien Jacobs
c30a4489b4 export sample_aspect_ratio read by the demuxer in a separate field
that the one read by the decoder.

Originally committed as revision 14932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 23:13:58 +00:00
Michael Niedermayer
3c9769a008 Do not fill the pts reordering buffer with guessed dts.
These values should not matter at all in principle because they
do not correspond to the time of display of any frame but it seems
ffmpeg becomes confused by them if they are far off and its not
strictly correct to set them to guessed values.
Fixes video_stalls_at_start.wmv

Originally committed as revision 14746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 03:24:58 +00:00
Aurelien Jacobs
ea452b54f0 strcasecmp() requires #include <strings.h>
Originally committed as revision 14728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 17:22:53 +00:00
Baptiste Coudurier
cb5b96cde0 Prevent dts generation code to be executed when delay is > MAX_REORDER_DELAY,
this fixes overflow in AVStream->pts_buffer.

Originally committed as revision 14714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 17:26:36 +00:00
Stefano Sabatini
8163c870b0 Cosmetics: move at the beginning of the file the av_frac_* functions, avoid
the forward declarations.

Originally committed as revision 14677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-10 00:28:56 +00:00
Stefano Sabatini
c97429e22b Implement avformat_version().
Originally committed as revision 14667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-08 18:40:50 +00:00
Måns Rullgård
5c5b1731b7 Maintain pointer to end of AVFormatContext.packet_buffer list
This changes add_to_pktbuf() to maintain a pointer to the last entry
in the list, avoiding a linear walk-through on each call.  Before this
change, add_to_pktbuf() could take a significant amount of time (10%
of total decoding time), even with input files of several minutes.
After the change, the time spent in this function is barely measurable
with oprofile.

Originally committed as revision 14654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-06 22:17:38 +00:00
Baptiste Coudurier
aaec4e03e9 check url_fseek return value, update seek reg tests
Originally committed as revision 14489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-31 18:02:55 +00:00
Erik Hovland
be390a4e2e Fix a mem leak in av_find_stream_info().
Patch by Erik Hovland erik hovland org

Originally committed as revision 14276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-18 07:13:56 +00:00
Michael Niedermayer
744b4c02c2 Move the codec_id overriding at a slightly better place.
Originally committed as revision 14234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-14 20:31:17 +00:00
Michael Niedermayer
283c061936 Remove common factors from timebase in av_set_pts_info().
Should fix issue313

Originally committed as revision 14232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-14 19:11:09 +00:00
Michael Niedermayer
dd57251cb0 Remove old hackish codec probe system.
Originally committed as revision 14193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 20:40:47 +00:00
Michael Niedermayer
2a72e494c3 Use strcmp() instead of strncmp() in set_codec_from_probe_data().
Originally committed as revision 14190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 20:01:23 +00:00
Michael Niedermayer
25d3fb7374 indent
Originally committed as revision 14189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 19:57:57 +00:00
Michael Niedermayer
942de2f4fa Only try to probe the codec when the available data has roughly doubled
relative to the last attempt.

Originally committed as revision 14188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 19:57:30 +00:00
Michael Niedermayer
312d24d5e9 Add mpegvideo and H.264 to the codec probe.
Originally committed as revision 14187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 19:56:25 +00:00
Michael Niedermayer
55823964dc indent
Originally committed as revision 14185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 18:43:02 +00:00
Michael Niedermayer
0bef08e516 New codec probing system try #1.
Originally committed as revision 14184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 18:42:00 +00:00
Michael Niedermayer
9d3b9f2cce Move add_to_pktbuf() before av_read_packet(). My future work on codec identification
cleanup will need this.

Originally committed as revision 14181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 14:28:27 +00:00
Michael Niedermayer
64cd3108df Move set_codec_from_probe_data() up to where the other probe functions are.
Originally committed as revision 14180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 13:25:26 +00:00
Michael Niedermayer
3179da621a Pass AVPacketList instead of the whole context to add_to_pktbuf as that is
all that is needed.

Originally committed as revision 14179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-12 13:15:00 +00:00
Michael Niedermayer
cdb5af79e3 indent
Originally committed as revision 14133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-08 23:26:26 +00:00
Michael Niedermayer
7efeb73a5a 10000l for myself, my last change was incomplete.
This one also reverts the libav mpeg ts regression test score change.

Originally committed as revision 14132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-08 23:25:01 +00:00
Michael Niedermayer
6d77d9acf7 Set cur_dts to 0 only during creating new streams and not every time cur_dts happens
to be AV_NOPTS_VALUE.

Originally committed as revision 14118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-08 14:07:37 +00:00
Ronald S. Bultje
1e2802c5cf Reindent after r14059, see "[PATCH] allow empty params for
av_open_input_stream()".

Originally committed as revision 14060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-03 12:12:03 +00:00
Ronald S. Bultje
e145ce2027 Allow NULL for read_header in AVInputFormat. See discussion in "[PATCH] allow
empty params for av_open_input_stream()".

Originally committed as revision 14059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-03 12:10:54 +00:00
Baptiste Coudurier
150611474e give context to av_log
Originally committed as revision 14012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-27 19:00:04 +00:00
Michael Niedermayer
3041a4a13d Also print flags with FF_FDEBUG_TS.
Originally committed as revision 13987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-26 11:28:24 +00:00
Baptiste Coudurier
f3b5a1a260 make av_find_stream_info find frame_size for aac too
Originally committed as revision 13976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 19:30:48 +00:00
Michael Niedermayer
4d35bf74f9 Make av_find_stream_info() find the frame_size for vorbis.
Originally committed as revision 13972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 18:36:41 +00:00
Michael Niedermayer
6e1aa0f383 Fill missing pts in during muxing when we know that they are equal to dts.
Originally committed as revision 13970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 18:31:48 +00:00
Michael Niedermayer
c924ca78b6 We cannot calculate the duration of vorbis packets even if we do know the
"minimal" frame_size.

Originally committed as revision 13969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-25 18:15:04 +00:00
Michael Niedermayer
796d200a77 Prevent duration calculation code from generating random durations for
vorbis in ogg.

Originally committed as revision 13958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-24 23:56:16 +00:00
Baptiste Coudurier
ade8d8b939 uniformize AVStream->priv_data freeing in av_close_input_stream
Originally committed as revision 13838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-20 17:22:56 +00:00
Baptiste Coudurier
ccafd47251 factorize read_header failure freeing code
Originally committed as revision 13837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-20 17:16:56 +00:00
Art Clarke
6919e54c00 Check if there is at least a stream before writing trailer.
Patch by Art Clarke: aclarke vlideshow com

Originally committed as revision 13836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-20 07:27:44 +00:00
Michael Niedermayer
45b2b05f8e Make timestamp debugging work nicer.
Originally committed as revision 13728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-09 13:38:56 +00:00
Ramiro Polla
fc9c2d53c3 Merge declaration and initialization.
Originally committed as revision 13672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-06 16:53:01 +00:00
Aurelien Jacobs
ca162a5004 Ensure the first audio stream is selected as the default stream
when no video stream is present.

Originally committed as revision 13648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 15:19:43 +00:00
Michael Niedermayer
820ad60cd9 Make update_initial_durations() also work if a dts occured before a
sequence header (that is a few known dts/pts but no known durations
previously)
cnnts1.mpg is one sample affected by this.

Originally committed as revision 13640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 00:50:22 +00:00
Michael Niedermayer
5853423c3f Do not set pts in update_initial_durations() if stream has b frames.
Originally committed as revision 13639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 00:43:56 +00:00
Andreas Öman
1686cce6e6 Audio channels and sample rate must be set in order to skip
additional probing of a stream.

Originally committed as revision 13619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 09:15:04 +00:00
Baptiste Coudurier
c5577c403f rename last_frame_offset to next_frame_offset, due to r13615
Originally committed as revision 13618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 04:08:30 +00:00
Michael Niedermayer
5e5c908691 redundant check--
Originally committed as revision 13474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-27 21:44:42 +00:00
Michael Niedermayer
406a0fdcab Do not use the pts/dts calculation code which needs a parser, when no parser
is available.

Originally committed as revision 13470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-27 18:43:25 +00:00
Aurelien Jacobs
c2c3dedf6e compute the end of all chapters when end is not specified in the container
Originally committed as revision 13363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-24 21:44:29 +00:00
Aurelien Jacobs
ebea1d7668 cosmetics: indentation
Originally committed as revision 13280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-24 12:56:05 +00:00
Aurelien Jacobs
570745cc51 remove useless title check
Originally committed as revision 13279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-24 12:55:36 +00:00
Michael Niedermayer
abd2256dbe Pass time_base as argument to new_chapter() as well.
This fixes the wrong timebase the matroska demuxer had after my previous commits.
Maybe we should reduce new_chapter() to just (AVFormatContext, int id) ?

Originally committed as revision 13266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 18:15:13 +00:00
Michael Niedermayer
b18a4ab2ae Warn user about invalid timestamps.
Originally committed as revision 13264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 17:52:42 +00:00
Michael Niedermayer
5c37f43a0d Make ff_new_chapter() return AVChapter instead of int so its consistant with
av_new_program() and its simpler to set other fields in AVChapter which arent
set by ff_new_chapter().

Originally committed as revision 13262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 13:14:11 +00:00
Michael Niedermayer
7c8202cc92 s/num_chapters/nb_chapters/ all other similar variables are called nb_*.
Originally committed as revision 13260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 13:07:58 +00:00
Michael Niedermayer
747fb6c60c vertical align
Originally committed as revision 13259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 13:04:12 +00:00
Michael Niedermayer
42720ee4d0 indent
Originally committed as revision 13258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 13:03:52 +00:00
Michael Niedermayer
0dac708e2d remove useless title check
Originally committed as revision 13257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 13:03:32 +00:00
Michael Niedermayer
6b43e2c7d3 indent
Originally committed as revision 13256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 13:03:04 +00:00
Michael Niedermayer
7a2a3e8e40 Add id to AVChapter, untested (where do i find matroska files with chapters?).
Originally committed as revision 13255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 13:02:27 +00:00
Aurelien Jacobs
842ffee386 cosmetics: indentation
Originally committed as revision 13248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 11:46:05 +00:00
Aurelien Jacobs
1ba056b689 allows adding chapters with NULL title
Originally committed as revision 13247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-23 11:45:30 +00:00
Anton Khirnov
79d7836a5e add support for chapters definition in lavf
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

Originally committed as revision 13240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-22 22:00:21 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Diego Biurrun
ccd425e799 Remove unnecessary parentheses from return calls.
Originally committed as revision 13069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-06 09:16:36 +00:00
Michael Niedermayer
ceedda75ea minor memleak
Originally committed as revision 12945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-24 23:09:28 +00:00
Diego Biurrun
d965c3e7bc Print duration with higher precision.
patch from Hervé Flores, herve.flores free fr

Originally committed as revision 12847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-16 06:46:54 +00:00
Michael Niedermayer
4b3cca3630 Do not detect a format if another has the same score.
Originally committed as revision 12837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-15 13:50:02 +00:00
Reimar Döffinger
ee794d1e49 Do not call update_initial_durations if pkt->duration is 0.
Fixes and assertion crash when playing amv files, e.g.
http://samples.mplayerhq.hu/amv/Shakira - Hips Don't Lie.amv

Originally committed as revision 12797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-13 08:55:02 +00:00
Diego Biurrun
d952638699 typo: occured --> occurred
Originally committed as revision 12549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-22 01:06:57 +00:00
Diego Biurrun
bd10713636 typo fixes
Originally committed as revision 12449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-15 16:15:47 +00:00
Ramiro Polla
ab8ab30c3d Introduce max_picture_buffer variable in AVFormatContext,
set by rtbufsize option.

Originally committed as revision 12383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-08 21:59:11 +00:00
Baptiste Coudurier
4c7981ba7c do not reset duration_error for all streams, only reset current stream, fix wrong_fps.gxf
Originally committed as revision 12353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-06 17:44:42 +00:00
Michael Niedermayer
ac6f133027 Set indexmem to a saner default.
Originally committed as revision 12190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-24 16:28:35 +00:00
Michael Niedermayer
635fbcb17f revert 12156
Log:
Make timestamp interpolation work with mpeg2 field pictures.
Cleaner/simpler solutions are welcome.
----
A IMHO cleaner solution has been implemented.

Originally committed as revision 12162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-20 20:24:38 +00:00
Michael Niedermayer
91acf9a8bc Get rid of a fake timestamp discontinuity at the begin of V.VOB.
This solution is not really correct but it is quite simple. Correct would
be to do a second pass over the packets after all the headers have been
collected.

Originally committed as revision 12157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-20 03:40:07 +00:00
Michael Niedermayer
ff2635b273 Make timestamp interpolation work with mpeg2 field pictures.
Cleaner/simpler solutions are welcome.

Originally committed as revision 12156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-20 03:20:06 +00:00
Michael Niedermayer
83a9db42a3 Fix timestamps and durations if the first packets have no durations nor timestamps,
and the information needed to guess the duration only becomes known at a later packet.

Originally committed as revision 11963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 20:32:32 +00:00
Michael Niedermayer
dc29622385 Remove incorrect casts that should have never been there.
Originally committed as revision 11824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 22:55:58 +00:00
Evgeniy Stepanov
f8d7c9d373 Add support for Matroska attachments.
patch by eugeni _dot_ stepanov _at_ gmail.com and myself

Originally committed as revision 11635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-27 15:43:17 +00:00
Aurelien Jacobs
7f938dd32b ensure av_rescale_q() can be calculated (won't divide by zero)
Originally committed as revision 11592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-21 23:43:25 +00:00
Diego Biurrun
a85736f21d misc spelling/grammar fixes
Originally committed as revision 11542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-16 22:14:26 +00:00
Paul Kelly
3dea63bd7e user specifyable maximum amount of memory to use for the index.
patch by Paul Kelly  paul stjohnspoint co uk
with some changes by me

Originally committed as revision 11521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-13 13:33:37 +00:00
Michael Niedermayer
5cc9253f35 indent
Originally committed as revision 11348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-29 16:34:51 +00:00
Michael Niedermayer
7ef55085f0 Try to fix url_split() so that the ?foobar part is in the path and only the path.
Originally committed as revision 11347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-29 16:13:03 +00:00
Michael Niedermayer
945208caea Fix detected fps for old divx/xvid.
Originally committed as revision 11323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-27 00:16:48 +00:00
Reimar Döffinger
88b0072390 100l, av_read_packet must check for read_packet error, in case of
error pkt->stream_index could be invalid and must not be used.
Fixes a crash with http://www.cs.berkeley.edu/~dmolnar/2-snippet3.wav

Originally committed as revision 11307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-23 13:16:55 +00:00
Aurelien Jacobs
fd2982a0a0 remove double check of pb->read_seek
Originally committed as revision 11278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-20 00:25:18 +00:00
Aurelien Jacobs
ceeacce68b use proper url_is_streamed() API
instead of messing with ByteIOContext internal is_streamed field

Originally committed as revision 11276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-19 23:26:18 +00:00
Michael Niedermayer
502bdf6893 Merge recently added and still unused play and pause functions.
Originally committed as revision 11273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-19 20:57:13 +00:00
Reimar Döffinger
2506fd5467 Add a av_close_input_stream function
Originally committed as revision 11269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-19 14:07:13 +00:00
Michael Niedermayer
626004690c Allow overriding codec_ids.
Originally committed as revision 11266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-19 10:56:17 +00:00
Reimar Döffinger
ca75a92325 Simplify av_close_input_file similarly to av_open_input_file previously
Originally committed as revision 11254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-17 19:12:43 +00:00
Reimar Döffinger
17acc63a32 Simplify av_open_input_file
Originally committed as revision 11253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-17 19:08:17 +00:00
Reimar Döffinger
841f39a7f3 Add FF_OPT_TYPE_BINARY and use it to add a cryptokey option
Originally committed as revision 11250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-17 17:41:24 +00:00
Björn Axelsson
fa13095a5d Enable av_read_pause(), av_read_play() and the ASF demuxer's av_read_seek()
to use the protocol-native functionality if available.
Patch by Björn Axelsson: bjorn point axelsson at intinor dot se
Original thread: [FFmpeg-devel] [PATCH][4/4] Enable use of the extended API
Date: Thu Nov 22 16:01:06 CET 2007

Originally committed as revision 11248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-17 09:28:46 +00:00
Michael Niedermayer
84be6e7239 av_*_next() API for libavformat
Originally committed as revision 11206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-12 19:01:58 +00:00
Luca Abeni
e8acf0edea Suppress the "redirector hack" from libavformat/utils.c:av_open_input_stream(),
and implement the redirector format more properly.

Originally committed as revision 11112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-29 08:35:05 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Michael Niedermayer
5fba300d02 rename fps(frame per second) to tb(time base) to prevent
confusion with the average fps and hopefully stop these "wrong framerate"
bug reports

Originally committed as revision 11007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-13 23:43:18 +00:00
Nico Sabbi
f473666f51 print newline after program id even when the name is missing
Originally committed as revision 10864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-26 20:02:11 +00:00
Diego Biurrun
63bb42fb36 Remove unused variable, fixes warning:
utils.c: In function 'dump_format':
utils.c:2542: warning: unused variable 'flags'

Originally committed as revision 10858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-25 10:11:15 +00:00
Jeff Downs
3a1d358825 Move setting of key frame flag for intra-only codecs, ignoring key frame
flag of parser for such codecs as intra-only parsers don't set key frame
flag. Corrects lack of key frame marking in mjpeg, possibly others.

Original thread: Key Frame Marking, Fri, 12 Oct 2007 03:35:57

Originally committed as revision 10850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-24 04:54:44 +00:00
Baptiste Coudurier
4e745a3b28 100l, fix dump_format, declare buf in dump_stream_format, sizeof(buf) is 4 because buf is char* since r10818
Originally committed as revision 10832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-21 23:10:15 +00:00
Nico Sabbi
526efa1053 API extension: AVProgram now has an array (stream_index) containing the indexes of the streams in AVFormatContext
Originally committed as revision 10819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-20 08:25:13 +00:00
Nico Sabbi
fad0e03043 cosmetics: moved to a separate function the code to print the characteristics of an AVStream
Originally committed as revision 10818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-20 08:17:01 +00:00
Ronald S. Bultje
c5be140c9a Make url_split() strip url options (?opt=var) from the returned hostname or
location. This fixes a regression introduced by the rewrite of
url_split() in r10605.

Patch by Ronald S. Bultje: rsbultje gmail com
Original thread: [FFmpeg-devel] [PATCH] Make RTP work with IPv6 enabled
Date: 10/12/2007 08:19 PM

Originally committed as revision 10775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-18 09:50:53 +00:00
Benoit Fouet
0f652a8ee3 Re-enable DEBUG_SEEK flag.
Originally committed as revision 10758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-16 19:50:08 +00:00
Thorsten Jordan
c7be25856a Undefine DEBUG_SEEK.
Patch by Thorsten Jordan: tjordan macrosystem de

Originally committed as revision 10742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-15 18:03:28 +00:00
Ronald S. Bultje
3303926c2f Add checking for codecid to has_codec_parameters().
patch by Ronald S. Bultje, rsbultje gmail com
Date: Sat, 29 Sep 2007 09:25:52 -0400
Subject: [FFmpeg-devel] [PATCH] has_codec_parameters() addition

Originally committed as revision 10636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-01 22:11:10 +00:00
Ronald S. Bultje
f8f88a42cf Add IPv6 support to url_split()
patch by: Ronald S. Bultje rsbultje a gmail d com
thread: "[PATCH] url_split() ipv6 support" at 2007/Sep/23 18:43

Originally committed as revision 10615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-29 14:35:52 +00:00
Ronald S. Bultje
7e1e297ee3 refactor url_split(), preparing for IPv6 support
patch by: Ronald S. Bultje rsbultje a gmail d com
thread: "[PATCH] url_split() ipv6 support" at 09/23/07 18:43

Originally committed as revision 10605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-27 19:18:07 +00:00
Nico Sabbi
15afa396e4 Added definition and utility functions to handle AVProgram(s) in AVFormatContext
Originally committed as revision 10579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-25 20:45:46 +00:00
Stefano Sabatini
f94361612a Make parse_date return INT64_MIN in case of unparsable input.
Patch by Stefano Sabatini: [stefano sabatini-lala poste it]
Original thread:
[FFmpeg-devel] [PATCH] Enhace documentation forlibavformat/utils.c:parse_date
Date: 08/17/2007 09:40 PM

Originally committed as revision 10533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-19 12:38:07 +00:00
Stefano Sabatini
a8f70d72c3 Add explanatory comments to the parse_date function.
patch by Stefano Sabatini, stefano.sabatini-lala poste it

Originally committed as revision 10525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-18 08:26:10 +00:00
Aurelien Jacobs
6369638bf0 loosen dependencies over allformats.h
Originally committed as revision 10513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-16 23:00:44 +00:00
Aurelien Jacobs
7241a6bb50 move unrelated functions declarations out of allformats.h
Originally committed as revision 10475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-11 09:27:46 +00:00
Neil Brown
c1e8b67869 Make sure that if a stream has a duration but the container doesn't
then the container duration is set from the stream duration.

patch by Neil Brown: [ neilb suse de]
original thread: [FFmpeg-devel] [patch 3/3] Make timing calculations
less dependant on start_time being defined.
date: 08/16/2007 08:27 AM

Originally committed as revision 10408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 16:47:48 +00:00
Wolfram Gloger
cc5297e871 Correct initial timestamp
Patch by Wolfram Gloger: [wmglo $ dent med uni-muenchen de]
Original thread:
[FFmpeg-devel] [PATCH] av_estimate_timings_from_pts corrupt timestamps
date: 08/25/2007 09:51 PM

Originally committed as revision 10405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 14:11:33 +00:00
Neil Brown
9fcbcca60a If a stream has no start time, but the first packet has a 'pts', use that
pts to set the start_time.
patch by Neil Brown: [neilb suse de]
original thread: [FFmpeg-devel] [patch 3/3] Make timing calculations less
dependant on start_time being defined.
date: 08/16/2007 08:27 AM

Originally committed as revision 10285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-03 07:56:26 +00:00
Wolfram Gloger
9be5181587 fix probe buffer issue. patch by Wolfram Gloger {wmglo at dent.med.uni-muenchen.de}.
[FFmpeg-devel] [PATCH] ac3_probe input buffer overrun
Aug 28, 2007

Originally committed as revision 10281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-03 05:19:59 +00:00
Neil Brown
9f32041d89 Do not butcher start_time in av_estimate_timings_from_bit_rate().
from a patch by neilb suse de

Originally committed as revision 10140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-18 01:26:06 +00:00
Neil Brown
d6a0906ad1 When looking for the last packet in each
stream, so as to calculate the duration, don't stop
as soon as all streams have seen at least one packet.
Otherwise the duration will be shorter than it
should be.  We must keep reading to the end-of-file.
patch by neilb suse de

Originally committed as revision 10139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-18 00:52:05 +00:00
Neil Brown
bf494092b0 There is no guarantee that every stream will
have a start_time found (though it is likely),
so check that the start_time is defined before
calculating a duration.
 (patch by neilb suse de)

Originally committed as revision 10138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-18 00:45:44 +00:00
Michael Niedermayer
df886e7e02 fix cur_dts at the end of av_estimate_timings_from_pts()
Originally committed as revision 10137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-18 00:44:14 +00:00
Michael Niedermayer
c7385375bc ensure that the codec_id detection in av_find_stream_info() does not
destroy the first dts values

Originally committed as revision 9965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-06 21:14:29 +00:00
Michael Niedermayer
48a59dfe8e set a more reasonable start_time if the first timestamps are AV_NOPTS_VALUE
Originally committed as revision 9918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 22:54:46 +00:00
Michael Niedermayer
8258354849 correct initial timestamps which have AV_NOPTS_VALUE
Originally committed as revision 9917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 22:46:13 +00:00
Michael Niedermayer
02b15cc811 move code which adds a AVPacket into the packet buffer into its own function
Originally committed as revision 9871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-03 08:56:00 +00:00
Michael Niedermayer
10a7571b09 deal with the case where one of pts,dts has wrapped but the other has not
Originally committed as revision 9839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-31 15:06:27 +00:00
Michael Niedermayer
90f66438a5 kill antiwrapping code, i do not think this did anything good
fixes decoding of rete4.ps
closes issue44

Originally committed as revision 9835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-30 18:57:47 +00:00
Michael Niedermayer
41415d2856 try exact match before case insensitive match in codec_get_id
Originally committed as revision 9808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-27 11:36:17 +00:00
Michael Niedermayer
e0c850a8c4 Avoid misdetecting acelp in ASF as MP3.
fixes 2001-04-11.asf

Originally committed as revision 9799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-25 20:39:43 +00:00
Panagiotis Issaris
85565db0f8 Replace all occurrences of AVERROR_NOTSUPP with AVERROR(ENOSYS).
Originally committed as revision 9763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:38:33 +00:00
Panagiotis Issaris
6f3e0b2174 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:23:32 +00:00
Panagiotis Issaris
769e10f068 Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
Originally committed as revision 9759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:21:30 +00:00
Ramiro Polla
82e4ac2c97 Move av_gettime() back to lavf/utils.c
Originally committed as revision 9706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-16 20:28:43 +00:00
Måns Rullgård
b3fc092548 avoid division by zero in av_find_stream_info() when no time base is set
Originally committed as revision 9637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-14 12:42:57 +00:00
Aurelien Jacobs
45da8124a0 Move public API functions av_codec_get_tag() and av_codec_get_id()
into a file which is compiled un-conditionally (utils.c).

Originally committed as revision 9590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-11 12:45:14 +00:00
Måns Rullgård
14d194d5d8 remove unused functions
Originally committed as revision 9520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-07 13:46:25 +00:00
Måns Rullgård
75e61b0e88 use new string functions
based on patch by Reimar Döffinger

Originally committed as revision 9401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-23 23:10:32 +00:00
Diego Biurrun
90b5b51eab misc typo fixes
Originally committed as revision 9291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 18:50:50 +00:00
Diego Biurrun
755bfeabcc misc spelling fixes
Originally committed as revision 9289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 09:29:25 +00:00
Stefano Sabatini
26ef3220cf Move the video size and rate abbreviations system from libavformat to libavcodec
patch by Stefano Sabatini: [stefano dot sabatini minus lala poste dot it]
original thread:
[FFmpeg-devel] [PATCH] Redesign the video size and rateabbreviations system
date: 06/02/2007 05:30 PM

Originally committed as revision 9288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-12 08:06:54 +00:00
Ronald S. Bultje
19ecf88288 Add a bounds check on AVProbeData input.
patch by Ronald S. Bultje, rbultje ronald.bitfreak net
thread:
Date: Sat, 09 Jun 2007 19:22:17 -0400
Subject: [FFmpeg-devel] lavf probing

Originally committed as revision 9275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-10 20:35:01 +00:00
Ramiro Polla
659596f002 Export av_init_packet
Originally committed as revision 9211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-04 16:52:02 +00:00
Benoit Fouet
0ba0c8debb Use url_fopen error code when opening input file
handle the AVERROR_NOENT error case in print_error

Originally committed as revision 8977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-10 13:25:33 +00:00
Daniel Cardenas
711737af8e give the position offset of the file in the packet
update seek regression test reference file accordingly
patch by Daniel Cardenas: Daniel Car cox net
original thread: [Ffmpeg-devel] [PATCH] Debug help for file position
date: 05/01/2007 02:42 AM

Originally committed as revision 8871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 13:36:45 +00:00
Benoit Fouet
efd5fc538e return right format in set_codec_from_probe_data
Originally committed as revision 8867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-02 09:18:41 +00:00
Alex Beregszaszi
e7047005cb properly compile code for REDIR_DEMUXER
Originally committed as revision 8840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 23:40:36 +00:00
Luca Abeni
578688fad5 Fix reading PTSs and DTSs in libavformat, by reverting r8465.
Such commit introduced some regressions (see the "Possible bug in reading
PTS/DTS" and "[BUG] no video transcoding" threads on ffmpeg-devel).

Originally committed as revision 8826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-26 10:49:48 +00:00
Benoit Fouet
7d88b5ca02 more format abbreviations
Originally committed as revision 8798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-24 11:45:13 +00:00
Michael Niedermayer
db2a0e229f dont assert(0) due to buggy rm demuxer
Originally committed as revision 8790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-22 18:48:07 +00:00
Michael Niedermayer
b5a3541da1 fix av_seek_frame_generic() so that it doesnt fail if the
requested timestamp is after the last with backward flag

Originally committed as revision 8783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-22 16:23:44 +00:00
Michael Niedermayer
b237eb800d init packet before calling the demuxer
fixed random/uninitalized AVPacket->pos

Originally committed as revision 8781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-22 11:07:35 +00:00
Alex Beregszaszi
61bc79ec9c remove possibly broken wince cruft
Originally committed as revision 8763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-20 23:45:53 +00:00
Aurelien Jacobs
57004ff1d7 add an enum for need_parsing
Originally committed as revision 8742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-15 13:51:57 +00:00
Joakim Plate
a74008a4c3 timestamps generation improvement when parsing avi
patch by Joakim \ elupus chez ecce dot se /
original thread:
date: 03/19/2007 01:47 AM
subject: [Ffmpeg-devel] [RFC] Improvement for the odd timestamp generation when parser is in use.

Originally committed as revision 8725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-13 07:50:04 +00:00
John Donaghy
6fea687ec1 DVR-MS probe audio format
patch by John Donaghy \ johnfdonaghy chez gmail dot com /
Original thread:
date: 03/13/2007 04:56 PM
subject: [Ffmpeg-devel] [PATCH] DVR-MS probe audio format - was DVR-MS bug (MP2 decoding)

Originally committed as revision 8715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-12 08:11:33 +00:00
Michael Niedermayer
87e8788680 allocate 32 extra bytes at the end of the probe buffer and remove most probe buf_size checks
Originally committed as revision 8677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 11:34:15 +00:00
Víctor Paesa
e19fbbec95 Add some help for the analyzeduration option.
patch by Víctor Paesa, wzrlpy arsystel com

Originally committed as revision 8631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-06 09:43:32 +00:00
Michael Niedermayer
6cc65ab3c6 analyze end condition must match r_fps selection condition
fixes fps for Channel\ 4\ News_Channel\ 4_20_10_2006_19_00_01.dvr-ms

Originally committed as revision 8557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-30 15:05:09 +00:00
Michael Niedermayer
7975048628 require at least a score of AVPROBE_SCORE_MAX/4 or reaching of PROBE_BUF_MAX
to detect a container
fixes probing of mpeg_probe_fail.mpg

Originally committed as revision 8535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-27 19:28:40 +00:00
Wolfram Gloger
df7625ed62 av_estimate_timings_from_pts() flushes the packet queue but doesn't
reset the streams' cur_dts values.  This can lead to a fatal "error,
non monotone timestamps ..." message later, because the out-of-date
cur_dts values are used to compute some packet's dts.

Fix this by calling av_read_frame_flush() and eliminate code
duplication in the process.

The additional hunk gives more detailed error messages.

patch by Wolfram Gloger, wmglo dent.med.uni-muenchen de

Originally committed as revision 8465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-21 10:48:10 +00:00
Michael Niedermayer
028d6f3e71 revert r8428, the check was not that useless
should fix constant pts=0 with broken demuxers

Originally committed as revision 8454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-20 13:59:59 +00:00
Michael Niedermayer
a843d1ff32 i think this is more correct
Originally committed as revision 8452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-20 13:01:39 +00:00
Michael Niedermayer
bc4efe42dd remove incorrect special case for audio
Originally committed as revision 8433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-17 14:44:22 +00:00