Commit Graph

9207 Commits

Author SHA1 Message Date
Diego Biurrun
9a5d6c23c5 tests/tools/examples: Replace direct exit() calls by return. 2011-12-08 01:00:58 +01:00
Michael Niedermayer
8e2bab5d4b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  drawtext: remove typo
  pcm-mpeg: implement new audio decoding api
  w32thread: port fixes to pthread_cond_broadcast() from x264.
  doc: add editor configuration section with Vim and Emacs settings
  dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
  avformat/utils: Drop unused goto label.
  doxygen: Replace '\' by '@' in Doxygen markup tags.
  cosmetics: drop some completely pointless parentheses
  cljr: simplify CLJRContext
  drawtext: introduce rand(min, max)
  drawtext: introduce explicit draw/hide variable
  rtmp: Use nb_invokes for all invoke commands

Conflicts:
	libavcodec/mpegvideo.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 00:23:37 +01:00
Tomas Härdin
e5f9c8927b mxfdec: Parse ThisPartition 2011-12-07 17:43:36 +01:00
Tomas Härdin
dcd30b83b4 mxfdec: Speed up metadata and index parsing
Specifically, this means parsing as before until we run into essence.
At that point we seek to the footer and parse until EOF. After that we start
seeking backward to the previous partition and parse that until we run into
essence or the next partition. This procedure is repeated until we encounter
the last partition we parsed in the forward direction.

The end result of all this is that large essence containers aren't needlessly
parsed. This speeds up parsing large files a lot.
2011-12-07 17:22:02 +01:00
Tomas Härdin
e1914b5a2f mxfdec: Make sure DataDefinition is consistent between material track and source track
This fixes 0001GL.MXF.V1.mxf_opatom.mxf and 0001GL00.MXF.A1.mxf_opatom.mxf
getting two streams each due to both using the same SourcePackageID.
2011-12-07 16:26:09 +01:00
Tomas Härdin
1170749b39 mxfdec: Add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxf 2011-12-07 16:26:09 +01:00
Matthieu Bouron
070a40f1b7 gxfenc: support timecode option
Reviewed-by: Baptiste Coudurier
2011-12-07 15:29:26 +01:00
Diego Biurrun
c7e8187d9d avformat/utils: Drop unused goto label.
libavformat/utils.c:2165:2: warning: label ‘fail’ defined but not used
2011-12-07 15:29:14 +01:00
Martin Storsjö
1eef08f98c rtmp: Use nb_invokes for all invoke commands
704af3e29c broke publishing
of rtmp streams, at least publishing to Wowza servers.

This changes all invoke commands to use nb_invokes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-07 09:01:55 +02:00
Michael Niedermayer
901af94b69 movenc: Always write EDTS when we are able to.
Inspired by a patch from Michael Root
Idea-by: Baptiste Coudurier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 05:21:37 +01:00
Michael Niedermayer
76d7d1b0bd img2: 10l typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 03:19:42 +01:00
Carl Eugen Hoyos
c1e2ca1e31 Allow auto-detection of ljpg images. 2011-12-07 02:32:59 +01:00
Michael Niedermayer
e1ccc9216b movdec: remove redundant size<=8 check.
Its checked a few lines below too.
The only difference is that empty atoms with size=0 will now get parsed too.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 17:42:10 +01:00
Michael Niedermayer
7d90bc9f2a movdec: Read extended 64bit size before the debug av_log() and only when there
was enough space to read the 32bit size.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 17:35:52 +01:00
Mihnea Balta
fef2da6a22 movdec: Fix bad computed size for atoms with size 0 in MOV files
The computed size doesn't contain the header size because it's already
skipped by incrementing total_size, but then it's skipped again in the
last line. The atom comes out 8 bytes short and the function
mov_read_chan() aborts the whole parsing process. I think the computed
size should be atom.size - total_size + 8.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 17:31:17 +01:00
Michael Niedermayer
f0d0ae3b1e mov: increase total_size only when it actually increases.
This is just cosmetic as the if() is always true.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 17:21:05 +01:00
Michael Niedermayer
15130b94fc movenc: support spliting fragments based on bytesize instead of duration.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 16:28:36 +01:00
Michael Niedermayer
cf8ec019ab movenc: fragment support
Reviewed-by: Baptiste Coudurier
Tested-with-QT: Baptiste Coudurier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 16:15:35 +01:00
Michael Niedermayer
b404ab9e74 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov: Don't av_malloc(0).
  avconv: only allocate 1 AVFrame per input stream
  avconv: fix memleaks due to not freeing the AVFrame for audio
  h264-fate: remove -strict 1 except where necessary (mr4/5-tandberg).
  misc Doxygen markup improvements
  doxygen: eliminate Qt-style doxygen syntax
  g722: Add a regression test for muxing/demuxing in wav
  g722: Change bits per sample to 4
  g722dec: Signal skipping the lower bits via AVOptions instead of bits_per_coded_sample
  api-example: update to use avcodec_decode_audio4()
  avplay: use avcodec_decode_audio4()
  avplay: use a separate buffer for playing silence
  avformat: use avcodec_decode_audio4() in avformat_find_stream_info()
  avconv: use avcodec_decode_audio4() instead of avcodec_decode_audio3()
  mov: Allow empty stts atom.
  doc: document preferred Doxygen syntax and make patcheck detect it

Conflicts:
	avconv.c
	ffplay.c
	libavcodec/mlpdec.c
	libavcodec/version.h
	libavformat/mov.c
	tests/codec-regression.sh
	tests/fate/h264.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 01:37:27 +01:00
Carl Eugen Hoyos
a448a5d1c4 Do not fail fatally if chan atom is too short. 2011-12-06 00:16:22 +01:00
Michael Niedermayer
b27ac355b7 movdec: Fix parsing of a very last empty atom of size 8.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 21:13:45 +01:00
Alex Converse
52401b82bd mov: Don't av_malloc(0).
malloc() is allowed to return NULL when zero is the argument. This
causes us to think malloc has failed and return AVERROR(ENOMEM). In
addition OS X malloc() returns an unfreeable non-NULL pointer for size
zero when alignment is greater than 16.
2011-12-05 09:51:35 -08:00
Diego Biurrun
e873c03ac7 misc Doxygen markup improvements 2011-12-05 13:06:58 +01:00
Diego Biurrun
c68fafe0d2 doxygen: eliminate Qt-style doxygen syntax 2011-12-05 13:06:58 +01:00
Justin Ruggles
f08e54e83d avformat: use avcodec_decode_audio4() in avformat_find_stream_info() 2011-12-04 18:29:51 -05:00
Alex Converse
6d23d19729 mov: Allow empty stts atom.
Fixes regressions caused by 30c3d976
2011-12-04 15:20:48 -08:00
Michael Niedermayer
707138593a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adpcmenc: cosmetics: pretty-printing
  ac3dec: cosmetics: pretty-printing
  yuv4mpeg: cosmetics: pretty-printing
  shorten: remove dead initialization
  roqvideodec: set AVFrame reference before reget_buffer.
  bmp: fix some 1bit samples.
  latmdec: add fate test for audio config change
  oma: PCM support
  oma: better format detection with small probe buffer
  oma: clearify ambiguous if condition
  wavpack: Properly clip samples during lossy decode
  Code clean-up for crc.c, lfg.c, log.c, random_see.d, rational.c and tree.c.
  Cleaned pixdesc.c file in libavutil
  zmbv.c: coding style clean-up.
  xan.c: coding style clean-up.
  mpegvideo.c: code cleanup - first 500 lines.

Conflicts:
	Changelog
	libavcodec/adpcmenc.c
	libavcodec/bmp.c
	libavcodec/zmbv.c
	libavutil/log.c
	libavutil/pixdesc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 00:11:57 +01:00
Chris Berov
a4e21baa74 yuv4mpeg: cosmetics: pretty-printing
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 15:58:40 -05:00
Peter Ross
ba8410cb44 Microsoft Windows ICO demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-04 16:44:20 +01:00
David Goldwich
c8b27a0ec4 oma: PCM support
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 15:21:06 +01:00
David Goldwich
8ae5eb75df oma: better format detection with small probe buffer
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 15:20:10 +01:00
David Goldwich
e96070074d oma: clearify ambiguous if condition
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 15:19:51 +01:00
Michael Niedermayer
ff53c79d0a flvdec: Stop searching for streams once a audio & a video stream has been found
instead of when the 2nd stream has been found.
This isnt ideal as we will likely still like before miss a data stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 21:39:53 +01:00
Carl Eugen Hoyos
8dcd2a41ec Allow last mov chunk to have an arbitrary number of samples.
Fixes ticket #673.
2011-12-03 12:29:41 +01:00
Michael Niedermayer
a930cd0d19 oma: Fix out of array read.
Input: 01-Untitled-partial.oma
ZZUF params: zzuf[s=7157,r=0.001]

Bug-found-by: darkshikari
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 05:27:04 +01:00
Michael Niedermayer
aedd30b63a id3v2: Fix null ptr crash in get_extra_meta_func()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 05:12:56 +01:00
Clément Bœsch
215b7724e7 lavf: rename remaining av_set_pts_info() to avpriv_set_pts_info(). 2011-12-03 03:24:32 +01:00
Michael Niedermayer
e4de71677f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac_latm: reconfigure decoder on audio specific config changes
  latmdec: fix audio specific config parsing
  Add avcodec_decode_audio4().
  avcodec: change number of plane pointers from 4 to 8 at next major bump.
  Update developers documentation with coding conventions.
  svq1dec: avoid undefined get_bits(0) call
  ARM: h264dsp_neon cosmetics
  ARM: make some NEON macros reusable
  Do not memcpy raw video frames when using null muxer
  fate: update asf seektest
  vp8: flush buffers on size changes.
  doc: improve general documentation for MacOSX
  asf: use packet dts as approximation of pts
  asf: do not call av_read_frame
  rtsp: Initialize the media_type_mask in the rtp guessing demuxer
  Cleaned up alacenc.c

Conflicts:
	doc/APIchanges
	doc/developer.texi
	libavcodec/8svx.c
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/nellymoserdec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmadec.c
	libavformat/asfdec.c
	tests/ref/seek/lavf_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:30 +01:00
Janne Grunau
fd095539d1 latmdec: fix audio specific config parsing
Pass the correct size in bits to mpeg4audio_get_config and add a flag
to disable parsing of the sync extension when the size is not known.

Latm with AudioMuxVersion 0 does not specify the size of the audio
specific config. Data after the audio specific config can be
misinterpreted as sync extension resulting in random and wrong configs.
2011-12-03 00:42:48 +01:00
Mans Rullgard
150ddbc148 Do not memcpy raw video frames when using null muxer
Commit 035af99 made avconv always call an encoder when using the
null muxer.  While useful for 2-pass encodes, it inadvertently
caused an extra memcpy of raw frames when decoding only.

This hack restores the old behaviour when only decoding while
allowing use of the null muxer with encoded streams as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 18:49:50 +00:00
John Stebbins
b88eb87630 asf: use packet dts as approximation of pts
Having a somehow off seeking is better than having none at all.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-02 11:11:47 +01:00
Luca Barbato
73f027c17b asf: do not call av_read_frame
The asf_read_pts should read the bitstream directly.
2011-12-02 11:11:47 +01:00
Martin Storsjö
30266038bd rtsp: Initialize the media_type_mask in the rtp guessing demuxer
The media_type_mask is initialized via AVOptions for the
rtsp and sdp demuxers, but it isn't available as an option
for the rtp guessing demuxer (since it doesn't really make
sense there). Therefore, it must be manually initialized
instead, since a zero value means no media types at all
are accepted.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-02 11:52:47 +02:00
Michael Niedermayer
7b0b10ce41 Merge remote-tracking branch 'qatar/master'
* qatar/master: (25 commits)
  rtpenc: Add support for G726 audio
  rtpdec: Interpret the different G726 names as bits_per_coded_sample
  rtpenc: Change rtp_send_samples to handle sample sizes other than even bytes
  rtpenc: Cast a rescaling parameter to int64_t
  h264: cap max has_b_frames at MAX_DELAYED_PIC_COUNT - 1.
  ARM: fix indentation in ff_dsputil_init_neon()
  ARM: NEON put/avg_pixels8/16 cosmetics
  ARM: add remaining NEON avg_pixels8/16 functions
  ARM: clean up NEON put/avg_pixels macros
  fate: split acodec-pcm into individual tests
  swscale: #include "libavutil/mathematics.h"
  pmpdec: don't use deprecated av_set_pts_info.
  rv34: align temporary block of "dct" coefs
  Add PlayStation Portable PMP format demuxer
  proto: Realign struct initializers
  proto: Use .priv_data_size to allocate the private context
  mmsh: Properly clean up if the second ffurl_alloc failed
  rtmp: Clean up properly if the handshake failed
  md5proto: Remove the get_file_handle function
  applehttpproto: Use the close function if the open function fails
  ...

Conflicts:
	libavcodec/vble.c
	libavformat/mmsh.c
	libavformat/pmpdec.c
	libavformat/udp.c
	tests/ref/acodec/pcm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-02 00:51:11 +01:00
Adrian Drzewiecki
dd7453a24e Fix id3v2 extended header handling.
When skipping over the extended header, take into account
that the size field has already been read. The extended header
also takes up space, so adjust total header length accordingly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 23:27:41 +01:00
Martin Storsjö
04403ec2e4 rtpenc: Add support for G726 audio
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 23:19:25 +02:00
Martin Storsjö
fa6dce4c57 rtpdec: Interpret the different G726 names as bits_per_coded_sample
For the standardized 8 kHz sample rate, this works exactly the same.
For nonstandard sample rates, the different predefined G726
names (G726-16, G726-24, G726-32, G726-40) are interpreted as an
indication of the bits per coded sample, even though their
actual bitrates aren't what the name specifies.

This feels more sane than using free-form names for nonstandard
sample rate/bitrate combinations, e.g like G726-22, G726-33
for 11025 Hz.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 23:19:24 +02:00
Martin Storsjö
77e0c7584b rtpenc: Change rtp_send_samples to handle sample sizes other than even bytes
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 23:19:22 +02:00
Martin Storsjö
2d31d890bf rtpenc: Cast a rescaling parameter to int64_t
This avoids overflow if frame_size is over 2147, since both
frame_size and AV_TIME_BASE are plain integers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 23:19:14 +02:00
Anton Khirnov
74e96eb77e pmpdec: don't use deprecated av_set_pts_info. 2011-12-01 17:28:36 +01:00
Paul B Mahol
30961a8dd5 rpl: enable escape130 codec 2011-12-01 15:32:20 +00:00
Reimar Döffinger
f28070a123 Add PlayStation Portable PMP format demuxer
Not yet complete, for demuxing AAC the AAC header must be generated
manually.
Possibly the decoder could accept the header as extradata to simplify
this.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-01 13:54:43 +01:00
Martin Storsjö
c3b05d2159 proto: Realign struct initializers
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 13:47:28 +02:00
Martin Storsjö
7e58050590 proto: Use .priv_data_size to allocate the private context
This simplifies the open functions by avoiding one function
call that needs error checking, reducing the amount of
extra bulk code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 13:47:26 +02:00
Martin Storsjö
9c6777bd93 mmsh: Properly clean up if the second ffurl_alloc failed
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 13:47:26 +02:00
Martin Storsjö
02490bf358 rtmp: Clean up properly if the handshake failed
This prevents memory leaks if this function returns an error.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 13:47:25 +02:00
Martin Storsjö
6af354436c md5proto: Remove the get_file_handle function
The private data pointer isn't a file handle, this protocol
doesn't have any file handle to return.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 13:47:24 +02:00
Martin Storsjö
1ca87d600b applehttpproto: Use the close function if the open function fails
This should clean up leaked memory.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 13:47:23 +02:00
Martin Storsjö
abe20c59b9 http: Make sure proxyauth is initialized
This string will be passed to ff_http_auth_create_response
even if no proxy is used, resulting in reading uninitialized
memory. The other auth string is always initialized by
av_url_split.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 12:05:14 +02:00
Michael Niedermayer
ec20fc1581 lavf: allow grouping packets in chunks of a user specified size and duration.
This is similar to MP4Boxs -inter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 03:53:13 +01:00
Michael Niedermayer
31f9032b78 lavf: add audio_preload option, this allows interleaving audio earlier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 03:53:07 +01:00
Michael Niedermayer
9d76cf0b18 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Templatize the code for different g726 bitrate variants
  rv40: move loop filter to rv34dsp context
  lavf: make av_set_pts_info private.
  rtpdec: Add support for G726 audio
  rtpdec: Add an init function that can do custom codec context initialization
  avconv: make copy_tb on by default.
  matroskadec: don't set codec timebase.
  rmdec: don't set codec timebase.
  avconv: compute next_pts from input packet duration when possible.
  lavf: estimate frame duration from r_frame_rate.
  avconv: update InputStream.pts in the streamcopy case.

Conflicts:
	avconv.c
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/fbdev.c
	libavdevice/libdc1394.c
	libavdevice/oss_audio.c
	libavdevice/v4l.c
	libavdevice/v4l2.c
	libavdevice/vfwcap.c
	libavdevice/x11grab.c
	libavformat/au.c
	libavformat/eacdata.c
	libavformat/flvdec.c
	libavformat/mpegts.c
	libavformat/mxfenc.c
	libavformat/rtpdec_g726.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 02:54:24 +01:00
Michael Niedermayer
c863d3751f movenc: replace cluster memset by zeroing only the needed field.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 23:11:49 +01:00
Martin Storsjö
c8f0e88b20 rtpdec: Templatize the code for different g726 bitrate variants
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-30 23:20:07 +02:00
Michael Niedermayer
957a593cd9 flvdemux: export flags for nellymoser through side data.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 21:16:33 +01:00
Anton Khirnov
c3f9ebf743 lavf: make av_set_pts_info private.
It's supposed to be called only from (de)muxers.
2011-11-30 20:34:45 +01:00
Michael Niedermayer
8d5078c10b ac3probe: Change threshold from 500 to 200 to keep in sync with mp3.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 18:08:23 +01:00
Michael Niedermayer
b51eaf3b8c mp3probe: Detect mp3 stronger with just 200 frames, this should speed up detection
on mp3 streams.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 18:07:20 +01:00
Miroslav Slugeň
06d7325ab1 rtpdec: Add support for G726 audio
This requires using a separate init function, since there
isn't necessarily any fmtp lines for this codec, so
parse_sdp_a_line won't be called. Incorporating it with the
alloc function wouldn't do either, since it is called before
the full rtpmap line is parsed (where the sample rate is
extracted).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-30 17:39:32 +02:00
Martin Storsjö
2583660664 rtpdec: Add an init function that can do custom codec context initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-30 17:32:18 +02:00
Michael Niedermayer
4710993800 movenc: memset(0) new cluster elements after realloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 15:23:34 +01:00
Anton Khirnov
c98c1f434e matroskadec: don't set codec timebase.
It's not supposed to be set outside of lavc.
2011-11-30 07:47:43 +01:00
Anton Khirnov
d3e3ffa501 rmdec: don't set codec timebase.
It's not supposed to be set outside of lavc.
Set r_frame_rate instead.
2011-11-30 07:47:43 +01:00
Anton Khirnov
2092232581 lavf: estimate frame duration from r_frame_rate.
If r_frame_rate is set, it should be more reliable for this than either
codec or stream timebase.
2011-11-30 07:47:43 +01:00
Joseph Wecker
b55dd10d62 Fix typeo in some rarely used memoization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 05:28:08 +01:00
Joseph Wecker
d31c68a7ed removes spurious warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 05:28:07 +01:00
Geek.Song
9cdf048ad2 movenc: Remove unneeded chunkSize field from MOVIentry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-29 16:50:25 +01:00
Michael Niedermayer
fc09bf57a6 movenc: Write file with minimal number of chunks for the given interleaving.
Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-29 04:51:47 +01:00
Michael Niedermayer
4dcd1a3145 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adtsenc: Check frame size.
  txd: Fix order of operations.
  APIchanges: fill in some blanks
  timer: fix misspelling of "decicycles"
  Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.
  indeo3: cosmetics
  md5proto: Fix order of operations.
  dca: Replace oversized unused get_bits() with skip_bits_long().

Conflicts:
	doc/APIchanges
	libavformat/mmsh.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-29 00:20:29 +01:00
Alex Converse
ac47e014bb adtsenc: Check frame size.
Inspired by work from: Michael Niedermayer <michaelni@gmx.at>.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-28 11:22:40 -08:00
Diego Biurrun
c88ebdb42c Eliminate pointless 0/NULL initializers in AVCodec and similar declarations. 2011-11-28 10:01:50 +01:00
Carl
2cf4bd7751 sdp: Fix null pointer dereference with aac and ffserver.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 04:29:47 +01:00
Alex Converse
2b45222b6a md5proto: Fix order of operations. 2011-11-27 16:16:44 -08:00
Michael Niedermayer
1e19927f12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1: use an enum for Frame Coding Mode
  doc: cleanup filter section
  indeo3: error out if no motion vector is set.
  x86inc: Flag shufps as an floating-point instruction for the AVX emulation code.
  mpegaudio: do not use init_static_data() for initializing tables.
  musepack: fix signed shift overflow in mpc_read_packet()
  mov: Make format string match variable type.
  wmavoice: Make format string match variable type.
  vc1: select interlaced scan table by FCM element
  Generalize RIFF INFO tag support; support reading INFO tag in wav
  pthread: track thread existence in a separate variable.

Conflicts:
	doc/filters.texi
	libavcodec/pthread.c
	libavformat/avi.c
	libavformat/riff.c
	libavformat/riff.h
	libavformat/wav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 01:07:11 +01:00
Michael Niedermayer
e99c4bbdf3 img2: update first file only when -updatefirst is specified
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 16:39:40 +01:00
Michael Niedermayer
b7c7eae7d9 tta: better check for totalframes.
Avoids crash, Fixes Ticket 690

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 15:37:15 +01:00
Michael Niedermayer
102a2463d3 img2: Allow writing multiple files onto the same output file.
Fixes Ticket687

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 15:07:49 +01:00
Mans Rullgard
d9ba767d61 musepack: fix signed shift overflow in mpc_read_packet()
Using an unsigned variable avoids problems with overflows.
There is further no need for a 64-bit intermediate here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-27 10:30:16 +00:00
Alex Converse
028a2375e2 mov: Make format string match variable type. 2011-11-26 19:41:54 -08:00
Victor Vasiliev
12bc20502a Generalize RIFF INFO tag support; support reading INFO tag in wav
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 17:14:13 -08:00
Michael Niedermayer
5c15b78e4a Merge remote-tracking branch 'qatar/master'
* qatar/master: (42 commits)
  swscale: fix signed overflow in yuv2mono_X_c_template
  snow: fix integer overflows
  svq1enc: remove stale altivec-related hack
  snow: fix signed overflow in byte to 32-bit replication
  adx: rename ff_adx_decode_header() to avpriv_adx_decode_header()
  avformat: add CRI ADX format demuxer
  adx: add an ADX parser.
  adx: move header decoding to ADX common code
  adx: calculate the number of blocks in a packet
  adx: define and use 2 new macro constants BLOCK_SIZE and BLOCK_SAMPLES
  adx: check for unsupported ADX formats
  adx: simplify encoding by using put_sbits()
  adx: calculate correct LPC coeffs
  adx: use 12-bit coefficients instead of 14-bit to avoid integer overflow
  adx: simplify adx_decode() by using get_sbits() to read residual samples
  adx: fix the data offset parsing in adx_decode_header()
  adx: remove unneeded post-decode channel interleaving
  adx: validate header values
  adx: cosmetics: general pretty-printing and comment clean-up
  adx: remove useless comments
  ...

Conflicts:
	Changelog
	libavcodec/cook.c
	libavcodec/fraps.c
	libavcodec/nuv.c
	libavcodec/pthread.c
	libavcodec/version.h
	libavformat/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 00:30:13 +01:00
Justin Ruggles
9d2dd356c2 adx: rename ff_adx_decode_header() to avpriv_adx_decode_header()
It is used by the ADX decoder, and therefore needs to be exported in order to
work with shared libs.
2011-11-26 17:00:00 -05:00
Justin Ruggles
a17c3c7d15 avformat: add CRI ADX format demuxer 2011-11-26 16:25:07 -05:00
Justin Ruggles
27360ccc5e adx: add an ADX parser.
This simplifies the decoder so it doesn't have to process an in-packet header
or handle arbitrary-sized packets. It also fixes decoding of files with large
headers.
2011-11-26 16:25:07 -05:00
Mans Rullgard
3d1af11df4 sol: use AV_RL32 instead of raw pointer cast
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Michael Niedermayer
022f8d27dd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Readd #define _SVID_SOURCE
  Fix av_get_channel_layout_string() for positions >31
  configure: Store vda lib flags in extralibs instead of ldflags
  Make channel layout masks unsigned
  dca: ARMv6 optimised decode_blockcode()
  nullenc: drop AVFMT_RAWPICTURE from the flags
  frame-mt: return consumed packet size in ff_thread_decode_frame
  aacdec: add more fate tests covering SBR and PS
  MK(BE)TAG: avoid undefined shifts

Conflicts:
	configure
	libavcodec/arm/dca.h
	libavcodec/dca.c
	libavcodec/mlp_parser.c
	libavcodec/version.h
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/defaults.c
	libavutil/audioconvert.c
	libavutil/avutil.h
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 01:12:08 +01:00
Luca Barbato
035af998ad nullenc: drop AVFMT_RAWPICTURE from the flags
This makes the two pass encoding with x264 working with -f null - as
first pass.
2011-11-25 13:16:01 +01:00
Carl Eugen Hoyos
3880b4541a Do not claim that every unknown rm stream is a video stream.
Also reduce verbosity for the unsupported stream message, use
an AVFormatContext for av_log and and print the tag of the
unknown stream.

Improves ticket #672.
2011-11-25 00:06:19 +01:00
Michael Niedermayer
58030fc6c8 avio: Fix handling of filenames that contain :
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 15:03:27 +01:00
Michael Niedermayer
8e576d5830 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libavutil: add utility functions to simplify allocation of audio buffers.
  libavutil: add planar sample formats and av_sample_fmt_is_planar()
  avconv: fix segfault at EOF with delayed pictures
  pcmdec: remove unneeded resetting of samples pointer
  avconv: remove a now unused parameter from output_packet().
  avconv: formatting fixes in output_packet()
  avconv: declare some variables in blocks where they are used
  avconv: use the same behavior when decoding audio/video/subs
  bethsoftvideo: return proper consumed size for palette packets.
  cdg: skip packets that don't contain a cdg command.
  crcenc: add flags
  avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.
  tiffenc: add a private option for selecting compression algorithm
  md5enc: add flags
  ARM: remove needless .text/.align directives

Conflicts:
	doc/APIchanges
	libavcodec/tiffenc.c
	libavutil/avutil.h
	libavutil/samplefmt.c
	libavutil/samplefmt.h
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cdgraphics
	tests/ref/fate/film-cvid-pcm-stereo-8bit
	tests/ref/fate/mpeg2-field-enc
	tests/ref/fate/nuv
	tests/ref/fate/tiertex-seq
	tests/ref/fate/tscc-32bit
	tests/ref/fate/vmnc-32bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 03:32:24 +01:00
Justin Ruggles
5872c78122 cdg: skip packets that don't contain a cdg command.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-23 21:58:10 +01:00
Michael Niedermayer
98d1e9f915 lavf: give more weight to the extension during probing if there is a id3
tag that is larger than the probe buffer.
Fixes Ticket336

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 21:56:16 +01:00
Michael Niedermayer
6a3a54f5e3 lavf: minor cleanup of av_probe_input_format3()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 21:55:25 +01:00
Anton Khirnov
0844b57c11 crcenc: add flags
AVFMT_NOTIMESTAMPS for crc, as it ignores the timestamps.
AVFMT_VARIABLE_FPS for framecrc, as it prints dts.

Many FATE changes, because avconv is no longer duplicating frames in
those tests.
Also added -vsync 0 for some tests to prevent avconv from dropping
frames until it can be fixed more properly.
2011-11-23 21:43:46 +01:00
Anton Khirnov
50efd3cad8 md5enc: add flags
AVFMT_NOTIMESTAMPS for md5, as it ignores the timestamps.
AVFMT_VARIABLE_FPS for framemd5, as it prints dts.

-vsync 0 for the vp8 test is needed because with vsync 2 the timestamp
guessing code gets confused by an altref frame that is never displayed
and drops a frame later.
2011-11-23 20:19:26 +01:00
Michael Niedermayer
0b9a69f244 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  aacdec: Fix PS in ADTS.
  avconv: Consistently use PIX_FMT_NONE.
  dsputil: use cpuflags in x86 emu_edge_core
  dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
  wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
  mov: Remove some redundant and obsolete comments.
  Add libavutil/mathematics.h #includes for INFINITY
  doxy: structure libavformat groups
  doxy: introduce an empty structure in libavcodec
  doxy: provide a start page and document libavutil
  doxy: cleanup pixfmt.h
  regtest: split video encode/decode tests into individual targets
  ARM: add explicit .arch and .fpu directives to asm.S
  pthread: do not touch has_b_frames
  avconv: cleanup the transcoding loop in output_packet().
  avconv: split subtitle transcoding out of output_packet().
  avconv: split video transcoding out of output_packet().
  avconv: split audio transcoding out of output_packet().
  avconv: reindent.
  avconv: move streamcopy-only code out of decoding loop.
  ...

Conflicts:
	avconv.c
	libavcodec/aaccoder.c
	libavcodec/pthread.c
	libavcodec/version.h
	libavutil/audioconvert.h
	libavutil/avutil.h
	libavutil/mem.h
	tests/ref/vsynth1/dv
	tests/ref/vsynth1/mpeg2thread
	tests/ref/vsynth2/dv
	tests/ref/vsynth2/mpeg2thread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 04:02:17 +01:00
Michael Niedermayer
6161c41817 avio: Support private options in URLProtocols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-22 20:54:51 +01:00
Michael Niedermayer
c12e1bd1bc avio: allow any chars in protocols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-22 18:57:01 +01:00
Clément Bœsch
2bb1c713cc http: add user_agent option.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-22 18:57:01 +01:00
Alex Converse
9f8c190bb0 mov: Remove some redundant and obsolete comments. 2011-11-22 09:39:45 -08:00
Luca Barbato
e361b5089a doxy: structure libavformat groups 2011-11-22 17:16:02 +01:00
Janne Grunau
0945eddec0 pthread: do not touch has_b_frames
Adding the thread count in frame level multithreading to has_b_frames
as an additional delay causes more problems than it solves.
For example inconsistent behaviour during timestamp calculation in
libavformat.
Thread count and frame level multithreading are both set by the user.
If the additional delay caused by frame level multithreading needs
to be considered in the calling code it has all information to take
it into account.
Should it become necessary to calculate a maximum delay inside
libavcodec it should be exported as its own field and not reusing
an existing field.

Based on a patch by Michael Niedermayer.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-22 09:50:33 +01:00
ami_stuff
cf14c82227 [PATCH] IFF Amiga Continuous Bitmap (ACBM)decoder
Some sample IFF ACBM files can be found here:

http://aminet.net/package/dev/basic/ABdemos

Thanks to Peter Ross for his help with this patch.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 23:06:53 +01:00
Clément Bœsch
2f0f9a87d0 Fix various if parenthesis misplacements. 2011-11-21 19:35:33 +01:00
Michael Niedermayer
34465bbcb4 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall: (24 commits)
  Clean-up
  dump_int_buffer() to dump samples from a buffer
  Implement revert_cdlms()
  Doxy for reset_codec()
  Store transient state and position of transient area
  Implement use_high_update_speed() and use_normal_update_speed()
  Initialize num_logged_tiles and remove unnecessary codes
  Log index for each line of output
  Log tile size
  Output decoded residues
  Replace placeholders with actual calls to clear_codec_buffers() and reset_codec()
  Implement lms_update()
  Implement lms_predict()
  Implement reset_codec()
  Add missing syntax elements to WmallDecodeCtx
  Add .recent syntax element to cdlms struct
  Implement clear_codec_buffers()
  Add buffers to context necessary for reverting cdmls and mclms filter
  Use avpriv_copy_bits() instead of ff_copy_bits()
  Cosmetics
  ...

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-20 15:43:19 +01:00
Martin Storsjö
66e9c0b6ab httpproxy: Specify the object files needed in the Makefile
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-20 09:41:43 +02:00
Michael Niedermayer
328a3545c6 udp: update to new interrupt callback API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 02:14:28 +01:00
Michael Niedermayer
e161b079de Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  configure: add check for w32threads to enable it automatically
  rtmp: do not hardcode invoke numbers
  cinepack: return non-generic errors
  fate-lavf-ts: use -mpegts_transport_stream_id option.
  Add an APIchanges entry and a minor bump for avio changes.
  avio: Mark the old interrupt callback mechanism as deprecated
  avplay: Set the new interrupt callback
  avconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere
  cinepak: remove redundant coordinate checks
  cinepak: check strip_size
  cinepak, simplify, use AV_RB24()
  cinepak: simplify, use FFMIN()
  cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0
  applehttp: Fix seeking in streams not starting at DTS=0
  http: Don't use the normal http proxy mechanism for https
  tls: Handle connection via a http proxy
  http: Reorder two code blocks
  http: Add a new protocol for opening connections via http proxies
  http: Split out the non-chunked buffer reading part from http_read
  segafilm: add support for raw videos
  ...

Conflicts:
	avconv.c
	configure
	doc/APIchanges
	libavcodec/cinepak.c
	libavformat/applehttp.c
	libavformat/version.h
	tests/lavf-regression.sh
	tests/ref/lavf/ts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 02:00:06 +01:00
Michael Niedermayer
36a60fad62 lavf: cdg has large non keyframe segments and should thus be exempt from the non keyframe check in seeking.
Improves seeking for cdg files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 01:15:40 +01:00
Michael Niedermayer
fca85ce5ec rawdec: use a default sample rate if none is specified.
Fixes "ffmpeg -f s16le -i /dev/zero"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-18 22:34:41 +01:00
Tomas Härdin
fd1cea6549 mxfdec: Add hack that adjusts the n_delta calculation when system items are present
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-18 15:33:44 +01:00
Tomas Härdin
7ddb0607f3 mxfdec: Parse IndexTableSegments and convert them into AVIndexEntry arrays
Based on work by Georg Lippitsch <georg.lippitsch@gmx.at>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-18 15:33:36 +01:00
Josh Allmann
704af3e29c rtmp: do not hardcode invoke numbers
Note: FCPublish/FCUnpublish are adobe server specific and not described
in the rtmp specification. Some servers might not cope with them at
all.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-11-18 13:57:44 +01:00
Martin Storsjö
45f511ece7 avio: Mark the old interrupt callback mechanism as deprecated
Prepare for removing it at an upcoming major bump.
2011-11-18 11:01:16 +01:00
Panagiotis H.M. Issaris
795d9594cf applehttp: Fix seeking in streams not starting at DTS=0
The Apple HTTP Live Streaming demuxer's implementation of
seeking searches for the MPEG TS segment which contains the
requested timestamp.  In its current implementation it assumes
that the first segment will start from 0.

But, MPEG TS streams do not necessarily start with timestamp
(near) 0, causing seeking to fail for those streams.

This also occurs when using live streaming of HTTP Live Streams.
In this case sliding playlists may be used, which means that in
that case only the last x encoded segments are stored, the earlier
segments get deleted from disk and removed from the playlist.
Because of this, when starting playback of a stream in the middle
of such a broadcast, the initial segment fetched after parsing
the m3u8 playlist will not start from timestamp (near) 0, causing
(the admittedly limited live) seeking to fail.

This patch changes this demuxers seeking implementation to use
the initial DTS as an offset for searching the segments containing
the requested timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:33:44 +02:00
Martin Storsjö
dbc2424baa http: Don't use the normal http proxy mechanism for https
The tls protocol handles connections via proxies internally.

With TLS/SSL, the peer verification requires that the client
speaks directly with the server, since the proxy doesn't have
the remote server's private key.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
2565dbeb3e tls: Handle connection via a http proxy
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
f5c5d57b57 http: Reorder two code blocks
This is in preparation for a later commit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
9f1dae944e http: Add a new protocol for opening connections via http proxies
This opens a plain TCP connection through the proxy via the
CONNECT HTTP method. Normally, this is allowed for connections
on port 443, but can in general be used to allow connections
to any port (depending on proxy configuration), and could thus
be used to tunnel any TCP connection via a HTTP proxy.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
bf7723a640 http: Split out the non-chunked buffer reading part from http_read
This is in preparation for a later commit, where this function
is reused.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:16 +02:00
Matthew Hoops
ddf9b510e7 segafilm: add support for raw videos
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:54:44 +02:00
John Brooks
525c5b08fb rtpdec: only use RTCP for PTS when synchronizing multiple streams
RTCP timestamps are only necessary to synchronize time between
multiple streams. For a single stream, the RTP packet timestamp
provides more reliable timing. As a result, single-stream RTP
sessions should now have accurate and monotonic PTS.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:47:28 +02:00
John Brooks
12348ca25e rtpdec: unwrap RTP timestamps for PTS calculation
The timestamp field in RTPDemuxContext was unused before this.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:31:17 +02:00
Michael Niedermayer
95d6e5bdd5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vp5: Fix illegal read.
  vp6: Fix illegal read.
  tls: Use TLSv1_client_method for OpenSSL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-18 02:55:32 +01:00
Michael Niedermayer
30ca700ba1 ac3probe: Detect Sonic Foundry Soft Encode AC3 as raw AC3.
Our ac3 code chain can handle it fine.
More ideal would be to write a demuxer that actually extracts what can be from the additional
headers and uses it for whatever it can be used for.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-17 20:29:55 +01:00
Carl Eugen Hoyos
d50122eafa Do not try to read total disc or track number if data atom is too short.
Fixes ticket #659.
2011-11-17 14:12:34 +01:00
Martin Storsjö
92db95e9ca tls: Use TLSv1_client_method for OpenSSL
TLSv1 is compatible with SSLv3, so this doesn't change much
in terms of compatibility. By explicitly using TLSv1, OpenSSL
sends the server name indication (SNI) header, which we
already set using SSL_set_tlsext_host_name (earlier, this
didn't have any effect).

SNI allows servers to serve SSL content for different host
names with separate certificates on one single port (vhosts).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-17 15:11:38 +02:00
Michael Niedermayer
1d23e5246c mjpeg: support mpo
Fixes stereoscopic_photo.mpo

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-17 03:13:50 +01:00
Michael Niedermayer
8709ba907a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegaudiodec: Don't use a nonexistent log context for av_dlog
  avformat: Accept the ISO8601 separate format as input, too
  avformat: Interpret times in ff_iso8601_to_unix_time as UTC
  avutil: Add av_timegm as a public function
  cinepak: Add another special case so that it can handle the following file:
  lagarith: add some RGBA decoding support
  lagarith: Add correct line prediction for RGB

Conflicts:
	doc/APIchanges
	libavcodec/cinepak.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-17 02:44:33 +01:00
Martin Storsjö
18579f08e7 avformat: Accept the ISO8601 separate format as input, too
This makes the function accept the format of creation_time
as output by demuxers (e.g. the mov demuxer), making the
creation timestamp stay intact if transcoding.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 11:22:43 +02:00
Martin Storsjö
4a83541650 avformat: Interpret times in ff_iso8601_to_unix_time as UTC
This function is used in muxers for parsing the 'creation_time'
metadata key, for converting it to a time value.

This makes it match the behaviour of the exported 'creation_time'
metadata from demuxers, where it is in UTC, too.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 11:22:42 +02:00
Clément Bœsch
4da45aff28 cleanup: remove various double end ';' all over the code. 2011-11-16 07:48:23 +01:00
Michael Niedermayer
cd6851c5ef lavf: if timestamps are invalid (pts=dts) only drop dts.
Because if we drop both we have no timestamps at all for some files.
Fixes Ticket344

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-16 01:25:42 +01:00
Mans Rullgard
52767d891c lavf: fix multiplication overflow in avformat_find_stream_info()
Converting to double before the multiplication rather than after
avoids an integer overflow in some cases.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-15 23:41:04 +00:00
Panagiotis H.M. Issaris
6f20921dee Fix seeking when using Apple HTTP Live Streaming
The Apple HTTP Live Streaming demuxer's implementation of seeking searches for
the MPEG TS segment which contains the requested timestamp.  In its current
implementation it assumes that the first segment will start from 0.

But, MPEG TS streams do not necessarily start with timestamp (near) 0, causing
seeking to fail for those streams.

This also occurs when using live streaming of HTTP Live Streams. In this case
sliding playlists may be used, which means that in that case only the last x
encoded segments are stored, the earlier segments get deleted from disk and
removed from the playlist. Because of this, when starting playback of a stream
in the middle of such a broadcast, the initial segment fetched after parsing
the m3u8 playlist will not start from timestamp (near) 0, causing (the
admittedly limited live) seeking to fail.

This patch changes this demuxers seeking implementation to use the initial DTS
as an offset for searching the segments containing the requested timestamp.
2011-11-15 18:35:03 +01:00
Michael Niedermayer
53cb0de25b asfdec: mark only ts1 as av_unused
Idea-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 13:06:36 +01:00
Michael Niedermayer
7ea3963817 mpegts: Completely ignore H222 spec and consider reserved adaption
fields to be perfectly fine mpeg TS.
Fixes Ticket580

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 04:15:34 +01:00
Michael Niedermayer
a72580fc9e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  binkvideo: simplify and remove invalid shifts
  pulse: compute frame_duration once and fix it
  lavf: simplify format_child_class_next()
  hwaccel: OS X Video Decoder Acceleration (VDA) support.
  doc: add support for an optional navigation bar in texi2html pages

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/vda.c
	libavcodec/vda.h
	libavcodec/vda_h264.c
	libavcodec/vda_internal.h
	libavcodec/version.h
	libavformat/options.c
	libavutil/avutil.h
	libavutil/pixfmt.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 03:13:42 +01:00
Michael Niedermayer
6760bd0a19 asfdec: avoid unused variable warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 01:58:13 +01:00
Michael Niedermayer
ba7f18876c asfdec: use dts for seeking.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 01:08:04 +01:00
Michael Niedermayer
bb4eabacea asfdec: restore timestamp reading code
This reverts part of:
	commit e65ab9d94f
	Author: Mans Rullgard <mans@mansr.com>
	Date:   Wed Jun 1 17:26:27 2011 +0100

	    Remove unused variables
2011-11-15 00:57:08 +01:00
Michael Niedermayer
40176fc314 mp3enc: Try to use a matching bitrate in the xing header.
Might Fix Ticket431

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 20:59:28 +01:00
Michael Niedermayer
1fea432b7a mp3enc: simplify mp3_write_xing()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 20:52:42 +01:00
Luca Barbato
caf27e37b6 lavf: simplify format_child_class_next()
And fix the error introduced when adding private option to avio.
See 32caa7b13c
2011-11-14 16:16:32 +01:00
Clément Bœsch
07c7ffc04b Rename remaining get_le32 to avio_rl32. 2011-11-14 07:22:31 +01:00
Clément Bœsch
c142e2a00f Rename remaining get_le16 to avio_rl16. 2011-11-14 07:22:31 +01:00
Clément Bœsch
49651063da Use AVIOContext.seekable instead of deprecated url_is_streamed. 2011-11-14 07:22:31 +01:00
Clément Bœsch
7b79305a47 Rename remaining url_fskip to avio_skip. 2011-11-14 07:22:31 +01:00
Clément Bœsch
b04ee90043 Rename remaining av_metadata_set2 to av_dict_set. 2011-11-14 07:22:31 +01:00
Clément Bœsch
63b796b0dd Rename remaining url_ftell to avio_tell. 2011-11-14 07:22:31 +01:00
Clément Bœsch
055cda8acc Rename remaining get_byte to avio_r8. 2011-11-14 07:22:31 +01:00
Clément Bœsch
f3c47e4100 Rename remaining url_fsize to avio_size. 2011-11-14 07:22:31 +01:00
Clément Bœsch
53d70a334a Rename remaining get_buffer to avio_read. 2011-11-14 07:22:30 +01:00
Clément Bœsch
39edfcc9e8 Rename remaining url_fseek to avio_seek. 2011-11-14 07:22:30 +01:00
Clément Bœsch
eef3ea8c71 Rename remaining ByteIOContext to AVIOContext. 2011-11-14 07:22:30 +01:00
Michael Niedermayer
5f268ca5c5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: pass options from AVFormatContext to avio.
  avformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwards
  avio: add avio_open2, taking an interrupt callback and options
  avio: add support for passing options to protocols.
  avio: add and use ffurl_protocol_next().
  avformat: Pass the interrupt callback on to chained muxers/demuxers
  avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc
  avformat: Use ff_check_interrupt
  avio: Add an internal utility function for checking the new interrupt callback
  avio: Add AVIOInterruptCB
  texi2html: remove stray \n
  doc: prettyfy the texi2html documentation
  swscale: handle unaligned buffers in yuv2plane1

Conflicts:
	libavformat/avformat.h
	libavformat/avio.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 00:33:39 +01:00
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ö
1dee0aca74 avio: add avio_open2, taking an interrupt callback and options
The interrupt callback has to be passed in during opening (setting it
after opening isn't enough), since a blocking open couldn't be
interrupted otherwise.

Options are passed down to procotols and also need to be available
during open() in most cases.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-13 13:17:04 +01:00
Anton Khirnov
ddffc2fdc3 avio: add support for passing options to protocols.
Not used anywhere yet, support for passing options from avio_open() will
follow.
2011-11-13 13:14:39 +01:00
Anton Khirnov
163a31136d avio: add and use ffurl_protocol_next(). 2011-11-13 13:14:14 +01:00
Martin Storsjö
6ef350c16b avformat: Pass the interrupt callback on to chained muxers/demuxers
There are a few more cases of chained demuxers, but they
only use custom IO which don't do any blocking IO and thus
don't need the callback.
2011-11-13 13:13:57 +01:00
Martin Storsjö
6f1b7b3944 avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc
Change all uses of these function to pass the relevant
callback on.
2011-11-13 13:12:17 +01:00
Martin Storsjö
9957cdbfd5 avformat: Use ff_check_interrupt 2011-11-13 13:08:13 +01:00
Martin Storsjö
c4a090ddb5 avio: Add an internal utility function for checking the new interrupt callback
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-13 13:07:48 +01:00
Martin Storsjö
6aa0b98fb2 avio: Add AVIOInterruptCB
This is a better io interrupt callback function, which has an
opaque parameter, which is given to the interrupt callback.

This allows callers to precisely cancel IO for one single
AVFormatContext, without interrupt other ones in the same
process.

Note, it's not needed in AVIOContext, at the moment.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-13 12:59:56 +01:00
Michael Niedermayer
46eae15567 mkvtimestamp v2 muxer: rename so as to avoid confusion with SMPTE timecodes.
Requested-by: Baptiste Coudurier
Approved-by: David Conrad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 05:19:28 +01:00
Michael Niedermayer
17c95361e9 mkvtimestamp v2 muxer: remove unneeded prefixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 05:16:54 +01:00
Michael Niedermayer
29582df797 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vble: remove vble_error_close
  VBLE Decoder
  tta: use an integer instead of a pointer to iterate output samples
  shorten: do not modify samples pointer when interleaving
  mpc7: only support stereo input.
  dpcm: do not try to decode empty packets
  dpcm: remove unneeded buf_size==0 check.
  twinvq: add SSE/AVX optimized sum/difference stereo interleaving
  vqf/twinvq: pass vqf COMM chunk info in extradata
  vqf: do not set bits_per_coded_sample for TwinVQ.
  twinvq: check for allocation failure in init_mdct_win()
  swscale: add padding to conversion buffer.
  rtpdec: Simplify finalize_packet
  http: Handle proxy authentication
  http: Print an error message for Authorization Required, too
  AVOptions: don't return an invalid option when option list is empty
  AIFF: add 'twos' FourCC for the mux/demuxer (big endian PCM audio)

Conflicts:
	libavcodec/avcodec.h
	libavcodec/tta.c
	libavcodec/vble.c
	libavcodec/version.h
	libavutil/opt.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 02:50:25 +01:00
Derek Buitenhuis
0c251257b5 VBLE Decoder
Add a decoder for the VBLE Lossless Codec, which
still has a cult following. Used to be popular
several years ago on doom9.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 01:21:01 +01:00
Carl Eugen Hoyos
5f36065ca6 Use AC-3 as default codec for wtv. 2011-11-12 00:15:03 +01:00
ami_stuff
ef4f403159 Never use MP3 as default audio codec for asf.
Some Windows versions do not ship an appropriate MP3 decoder.
2011-11-11 23:49:30 +01:00
Derek Buitenhuis
c433a3f9a5 VBLE Decoder
Add a decoder for the VBLE Lossless Codec, which
still has a cult following. Used to be popular
several years ago on doom9.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-11 22:46:47 +02:00
Justin Ruggles
7b966566da vqf/twinvq: pass vqf COMM chunk info in extradata
This is needed because the twinvq decoder cannot rely on bit_rate to be set.
The API documentation says that bit_rate is set by libavcodec, not by the
user.
2011-11-11 14:06:14 -05:00
Justin Ruggles
ca482ce420 vqf: do not set bits_per_coded_sample for TwinVQ.
It is a lossy codec with varying quantization, so bits_per_coded_sample is
not applicable.
2011-11-11 14:06:14 -05:00
ami_stuff
e2adce3b8e asfenc: Use wmav2 audio codec by default. 2011-11-11 18:40:19 +01:00
John Brooks
b8a1b880ee rtpdec: Simplify finalize_packet
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-11 14:26:37 +02:00
Martin Storsjö
b911518d1c http: Handle proxy authentication
Tested with both Basic and Digest authentication, and tested with
both proxy authentication and authentication for the requested
resource at the same time.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-11 14:07:57 +02:00
Martin Storsjö
b01f5ba207 http: Print an error message for Authorization Required, too
The error was hidden before, to avoid showing an error on the
first request where no auth has been provided, when the server
indicates which authentication method to use.

Now the error is printed if an authentication method was used,
but failed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-11 14:07:48 +02:00
Mike Melanson
45fcb86cf8 AIFF: add 'twos' FourCC for the mux/demuxer (big endian PCM audio)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-11 08:27:16 +01:00
Michael Niedermayer
6d91045d83 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  doc: update libavfilter documentation
  tls: Use the URLContext as logging context
  aes: Avoid illegal read and don't generate more key than we use.
  mpc7: Fix memset call in mpc7_decode_frame function
  atrac1: use correct context for av_log()
  apedec: consume the whole packet when copying to the decoder buffer.
  apedec: do not needlessly copy s->samples to nblocks.
  apedec: check output buffer size after calculating actual output size
  apedec: remove unneeded entropy decoder normalization.
  truespeech: use memmove() in truespeech_update_filters()
  vorbisdec: remove AVCODEC_MAX_AUDIO_FRAME_SIZE check
  vorbisdec: remove unneeded buf_size==0 check
  vorbisdec: return proper error codes instead of made-up ones
  http: Don't add a Range: bytes=0- header for POST
  sunrast: Check for invalid/corrupted bitstream
  http: Change the chunksize AVOption into chunked_post
  http: Add encoding/decoding flags to the AVOptions
  avconv: remove some codec-specific hacks
  crypto: add decoding flag to options.
  tls: use AVIO_FLAG_NONBLOCK instead of deprecated URL_FLAG_NONBLOCK
  ...

Conflicts:
	doc/libavfilter.texi
	libavcodec/atrac1.c
	libavcodec/sunrast.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 02:50:35 +01:00
Martin Storsjö
371d15ec36 tls: Use the URLContext as logging context
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 23:23:10 +02:00
Martin Storsjö
f2d0015531 http: Don't add a Range: bytes=0- header for POST
That header simply doesn't make sense in that context.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 14:13:40 +02:00
Martin Storsjö
6149485f6c http: Change the chunksize AVOption into chunked_post
The chunksize internal variable has two different uses - for
reading, it's the amount of data left of the current chunk
(or -1 if the server doesn't send data in chunked mode), where
it's only an internal state variable. For writing, it's used
to decide whether to enable chunked encoding (by default), by
using the value 0, or disable chunked encoding (value -1).

This, while consistent, doesn't make much sense to expose
as an AVOption. This splits the usage of the internal variable
into two variables, chunksize which is used for reading (as
before), and chunked_post which is the user-settable option,
with the values 0 and 1, where 1 is default.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 13:21:26 +02:00
Anton Khirnov
a251928060 http: Add encoding/decoding flags to the AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 13:21:18 +02:00
Anton Khirnov
dc86ca1ab5 crypto: add decoding flag to options. 2011-11-10 11:37:38 +01:00
Anton Khirnov
34ff0e2915 tls: use AVIO_FLAG_NONBLOCK instead of deprecated URL_FLAG_NONBLOCK 2011-11-10 11:36:49 +01:00
Anton Khirnov
3b384502f2 http: use different classes for http and https. 2011-11-10 11:36:45 +01:00
Martin Storsjö
8ef79f42ca http: Change an error log message to a warning
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 10:51:57 +02:00
Martin Storsjö
7590061eb7 http: Remove the now unused ff_http_set_headers custom function
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 10:51:50 +02:00
Martin Storsjö
27fad11b5b mms: Set http custom headers via the AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 10:51:43 +02:00
Martin Storsjö
196bf28c5d rtsp: Set http custom headers via the AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 10:51:35 +02:00
Martin Storsjö
10da1e913b http: Make custom headers settable via an AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 10:51:26 +02:00
Martin Storsjö
eaa8c1f9fe crypto: Don't manually free memory allocated via AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 10:51:13 +02:00
Martin Storsjö
d10361b658 avio: Free URLContext private data allocated via AVOptions
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-10 10:51:06 +02:00
John Brooks
6c643e0705 avc: fix memory errors when encoding invalid h264 codecdata
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-09 21:37:13 -08:00
Michael Niedermayer
afc0a24d7d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: add support for planar signed 8-bit PCM.
  ra144enc: add sample_fmts list to ff_ra_144_encoder
  smackaud: use uint8_t* for 8-bit output buffer type
  smackaud: clip output samples
  smackaud: use sign_extend() for difference value instead of casting
  sipr: use a function pointer to select the decode_frame function
  sipr: set mode based on block_align instead of bit_rate
  sipr: do not needlessly set *data_size to 0 when returning an error
  ra288: fix formatting of LOCAL_ALIGNED_16
  udp: Allow specifying the local IP address
  VC1: Add bottom field offset to block_index[] to avoid rewriting (+10L)
  vc1dec: move an if() block.
  vc1dec: use correct hybrid prediction threshold.
  vc1dec: Partial rewrite of vc1_pred_mv()
  vc1dec: take ME precision into account while scaling MV predictors.
  lavf: don't leak corrupted packets

Conflicts:
	libavcodec/8svx.c
	libavcodec/ra288.c
	libavcodec/version.h
	libavformat/iff.c
	libavformat/udp.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-10 03:45:23 +01:00
Justin Ruggles
f1f6d3615f avcodec: add support for planar signed 8-bit PCM.
It is found in some 8svx files (e.g. ones created by SoX).
Currently the decoder reuses the 8svx functions because we already have
handling of a single large planar packet for the compressed 8svx codecs.
2011-11-09 17:48:54 -05:00
Martin Storsjö
65ac51373b udp: Allow specifying the local IP address
This is useful if sending multicast data on a host with
multiple interfaces.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-09 20:19:39 +02: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
Michael Niedermayer
b2bdca1b4a udp: simplify 7a032cb97f
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-09 03:51:08 +01:00
Andrey Utkin
7a032cb97f Fix segfault on UDP reading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-09 03:43:52 +01:00
Michael Niedermayer
4354788a89 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  tls: Use ERR_get_error() in do_tls_poll
  indeo3: Fix a fencepost error.
  mxfdec: Fix comparison of unsigned expression < 0.
  mpegts: set stream id on just created stream, not an unrelated variable
  ra288: return error if input buffer is too small
  ra288: utilize DSPContext.vector_fmul()
  ra288: use memcpy() to copy decoded samples to output
  mace: only calculate output buffer size once
  Remove redundant filename self-references inside files.
  indeo3data: add missing config.h #include for HAVE_BIGENDIAN
  x86: drop pointless ARCH_X86 #ifdef from files in x86 subdirectory
  avplay: reset rdft when closing stream.
  doc/git-howto: expand format-patch and send-email notes.
  lavf: expand doxy for some AVFormatContext fields.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-09 02:59:49 +01:00
Michael Niedermayer
bf0ac7aa69 mpegvideo_probe: reduce score for invalid streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 23:54:25 +01:00
Martin Storsjö
f38f3b88a5 tls: Use ERR_get_error() in do_tls_poll
The return value ret isn't an error code that can be passed
to ERR_error_string().

This makes the error messages printed actually contain useful
information.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-08 22:58:54 +02:00
Michael Niedermayer
4e38d4ef0e mpegvideo_probe: Getting rid of the use of GCC language extensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 21:12:42 +01:00
Michael Niedermayer
0643ff1712 mpegvideo_probe: dont be too picky on spec compliance and the lack of system startcodes.
Fixes Ticket620

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 20:29:39 +01:00
Michael Niedermayer
b52f2d88fe mpegvideo_probe: count video and audio pes seperately
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 20:29:06 +01:00
Michael Niedermayer
26d7eb40fd mpegvideo probe: fix slice counting
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 20:27:17 +01:00
Alex Converse
735e601be1 mxfdec: Fix comparison of unsigned expression < 0.
'size' is populated by functions returning int64_t and int that return
negative error codes.
2011-11-08 10:59:52 -08:00
Anton Khirnov
3110ad8329 mpegts: set stream id on just created stream, not an unrelated variable
Bug introduced in 84ad31ff18.
Thanks to Uoti Urpala for finding it.
2011-11-08 18:56:39 +01:00
Michael Niedermayer
4b7ef5a1e6 flv: Skip invalid index
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 17:39:39 +01:00
Anton Khirnov
83daced0a3 lavf: expand doxy for some AVFormatContext fields. 2011-11-08 14:25:24 +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
Carl Eugen Hoyos
8a3f976498 Support decoding "m1v " mpeg1video in mov.
Fixes ticket #579 at least for ffplay.
2011-11-08 10:33:21 +01:00
Carl Eugen Hoyos
6aaf6db253 Support decoding transport streams from Sony NXCAM.
Fixes ticket #617.
2011-11-08 10:30:37 +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
Michael Niedermayer
4717e29796 flvdec: skip duplicate indexes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 00:09:44 +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
Kostya Shishkov
f545e00677 BMV demuxer and decoder
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-08 00:36:45 +02:00
Miroslav Slugeň
df9c1cfb48 libavformat: add support for G726 audio decoder in RTP and RTSP streams
Fixes Ticket611

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-07 21:55:34 +01:00
Martin Storsjö
44729bc020 matroskaenc: Make sure the seekhead struct is freed even on seek failure
The caller expects the seekhead struct to be freed when calling
matroska_write_seekhead. Currently, the structure is leaked if the
seek fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 22:23:17 +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
Martin Storsjö
87892ef8a6 avformat: Revise wording
It might make sense not to make the function completely mandatory
immediately at the next bump, which might be quite soon after
the function was introduced.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 19:29:32 +02:00
Martin Storsjö
0882689116 rdt: Set AVFMT_NOFILE on ff_rdt_demuxer
This makes rdt work again, which has been broken since
603b8bc2a1. This commit made
opening a demuxer without a file (or in this case, with a filename
which can't be opened) fail, unless the demuxer actually declared
AVFMT_NOFILE.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 11:24:10 +02:00
Martin Storsjö
ed307e2659 rdt: Check the return value of avformat_open
If it failed, return NULL. This avoids trying to use an
half-initialized RDTDemuxContext.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 11:23:57 +02:00
Martin Storsjö
4b3dc857e4 rtsp: Discard the dynamic handler, if it has an alloc function which failed
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 11:23:56 +02:00
Michael Niedermayer
728e6d979b avio: print a warning from ffurl_alloc() if no protocols are allocated.
Fixes Ticket618

Based on code by teratorn
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-07 04:24:49 +01:00
Michael Niedermayer
13b7781ec8 Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  x86inc: use sse versions of common macros instead of sse2 when applicable
  doc/APIchanges: add missing dates and hashes
  lavf: don't return from void av_update_cur_dts()
  Changelog: add more entries.
  Changelog: update ffmpeg/avconv incompatibility list.
  avconv: remove some redundant temporary variables.
  avconv: fix broken indentation
  avconv: move copy_initial_nonkeyframes to the options context.
  avconv: use file:stream instead of file.stream in log messages.
  doc/avconv: elaborate on basic functionality.
  doc/avconv: -sample_fmts, not -help sample_fmts prints the sample formats
  openssl: Only use CRYPTO_set_id_callback on OpenSSL < 1.0.0
  Call avformat_network_init/deinit in the programs
  Remove leftover includes of strings.h
  avutil: Don't allow using strcasecmp/strncasecmp
  Replace all usage of strcasecmp/strncasecmp
  avstring: Add locale independent implementations of strcasecmp/strncasecmp
  avstring: Add locale independent implementations of toupper/tolower
  cosmetics: insert some spaces in explicit enum value assignments
  move 8SVX audio codecs to the audio codec list part on the next bump
  ...

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-07 03:01:43 +01:00
Anton Khirnov
eb0de71058 lavf: don't return from void av_update_cur_dts() 2011-11-06 19:13:28 +01:00
Martin Storsjö
2461284630 openssl: Only use CRYPTO_set_id_callback on OpenSSL < 1.0.0
Since 1.0.0, this function is deprecated. A new function,
CRYPTO_THREADID_set_callback is available, but if not set at all,
it uses the address of errno as thread id, which should be
sufficient for most systems.

On windows, it never was necessary to use this function even
before 1.0.0, it used the right win32 API function for this
by default.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-06 18:31:44 +02:00
Martin Storsjö
3607ed70d5 Remove leftover includes of strings.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-06 11:53:05 +02: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
Peter Ross
b372723f6a wtvenc: ensure fat tables are padded to the sector boundary
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 02:40:31 +01: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
Peter Ross
3b4798a873 wtvdec: ignore another known guid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 01:53:46 +01:00
Michael Niedermayer
ea83b032af matroskaenc: base default duration on avg_frame_rate if possible.
Fixed Ticket432

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 00:10:28 +01:00
Peter Ross
42b5a6f634 wtvenc: use ff_put_guid and remove local copy of this function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-05 16:51:26 +01:00
Peter Ross
b7c9512fca asfenc: rename put_guid to ff_put_guid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-05 16:51:25 +01:00
Peter Ross
1efe4ff91d wtvenc: add @file comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-05 16:51:25 +01:00
Peter Ross
3852c29fd4 fix whitespace nits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-05 16:51:25 +01:00
Martin Storsjö
18ae362640 http: Remove the custom function for disabling chunked posts
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 16:54:39 +02:00
Martin Storsjö
d450cc4f4a rtsp: Disable chunked http post through AVOptions
This avoids having to use a private function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 16:53:58 +02:00
Carl Eugen Hoyos
237f13290b movdec: Set frame_size for AMR
Earlier, sc->samples_per_frame was used for setting the frame size,
but all files don't have that set properly. The frame size is a
known constant for these codecs.

If frame_size isn't set, the mov/3gp muxer refuses to mux it.

This fixes stream copy of audio from
https://roundup.libav.org/file1248/Video_With_AMR-NB_Audio.3gp
to another 3gp file (roundup issue 2468).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 16:30:18 +02:00
Clément Bœsch
0e5ecd806e Replace remaining av_new_stream() with avformat_new_stream(). 2011-11-05 15:07:19 +01:00
Ronald S. Bultje
d31fb1a9e7 matroskadec: empty blocks are in fact valid. 2011-11-05 06:59:27 -07:00
Carl Eugen Hoyos
ed669c9bec movenc: Set a correct packet size for AMR-NB mode 15, "no data"
These packets are valid packets, and consist of 1 byte (which
contains the mode bits).

This had been analyzed and reported by Igor Levin, igor d levin comverse com.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:35:34 +02: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
Martin Storsjö
183baeadca avformat: Add the https protocol
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:36 +02:00
Martin Storsjö
558d192d23 avformat: Add the tls protocol, using OpenSSL or gnutls
Note, this protocol doesn't yet check verify the server
certificate against a local database of trusted CA root
certificates.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:30 +02:00
Martin Storsjö
1606e551ff avformat: Initialize gnutls in ff_tls_init()
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:27 +02:00
Martin Storsjö
48e59ad8e7 avformat: Add ff_tls_init()/deinit() that initialize OpenSSL
If the application hasn't set up mutex callbacks, we set up
our own using pthreads (or w32pthreads).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:08:59 +02:00
Martin Storsjö
f6d3710096 avformat: Split out functions from network.h to a new file, network.c
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:08:47 +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
Michael Niedermayer
b3f4ff2876 id3v2enc: av_strcasecmp()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-03 20:21:01 +01:00
Carl Eugen Hoyos
a487378ef5 Set frame_size for AMR_NB in mov.
This copies the behaviour of the amr demuxer.
2011-11-03 20:22:10 +01:00
Carl Eugen Hoyos
4eb86d348f Do not use strcpy for "strings" starting with \0. 2011-11-03 20:22: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
Carl Eugen Hoyos
d6af8e68c4 Cosmetics: Reindent after last commit. 2011-11-03 14:30:00 +01:00
Carl Eugen Hoyos
80af00b4b2 Support new ALAC magic cookie in caf files. 2011-11-03 14:27:54 +01:00
Michael Niedermayer
988f585fcb Merge remote-tracking branch 'qatar/master'
* qatar/master: (44 commits)
  replacement Indeo 3 decoder
  gsm demuxer: do not allocate packet twice.
  flvenc: use first packet delay as global delay.
  ac3enc: doxygen update.
  imc: return error codes instead of 0 for error conditions.
  imc: return meaningful error codes instead of -1
  imc: do not set channel layout for stereo
  imc: validate channel count
  imc: check for ff_fft_init() failure
  imc: check output buffer size before decoding
  imc: use DSPContext.bswap16_buf() to byte-swap packet data
  rtsp: add allowed_media_types option
  libgsm: add flush function to reset the decoder state when seeking
  libgsm: simplify decoding by using a loop
  gsm: log error message when packet is too small
  libgsmdec: do not needlessly set *data_size to 0
  gsmdec: do not needlessly set *data_size to 0
  gsmdec: add flush function to reset the decoder state when seeking
  libgsmdec: check output buffer size before decoding
  gsmdec: log error message when output buffer is too small.
  ...

Conflicts:
	Changelog
	ffplay.c
	libavcodec/indeo3.c
	libavcodec/mjpeg_parser.c
	libavcodec/vp3.c
	libavformat/cutils.c
	libavformat/id3v2.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-03 02:16:26 +01:00
Justin Ruggles
894bc1d322 gsm demuxer: do not allocate packet twice.
fixes memleak with raw gsm demuxing.
2011-11-02 19:36:04 -04:00
Justin Ruggles
905de11907 flvenc: use first packet delay as global delay.
This keeps the streams sychronized. The packets must be interleaved per-DTS.
2011-11-02 19:26:44 -04:00
Mean
f68742bf5b mpegtsenc: EAC3 support
Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-02 20:41:24 +01:00
John Brooks
f011fcd67e rtsp: add allowed_media_types option
Streams from RTSP or SDP that do not match an allowed type will
be skipped entirely, which allows video-only or audio-only
streaming from servers that provide both.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-02 21:37:46 +02:00
Justin Ruggles
87c57d807f Create separate functions for the raw GSM demuxer.
Put the new raw GSM demuxer in its own file.
Fixes raw GSM demuxing.
2011-11-02 14:41:16 -04:00
Michael Niedermayer
ce451c6b3a id3v2enc: include strings.h for strcasecmp()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-02 19:10:49 +01:00
Tobias Rapp
f2e7ee9bf9 id3v2enc: add support for year and day/month tags when writing id3v2 version 3 metadata
Adds support for year (TYER) and day/month (TDAT) tags when writing
id3v2 version 3 metadata by splitting the "date" tag. The date tag
should have a format of "YYYY-MM-DD" or "YYYY".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-02 14:33:55 +01:00
Diego Biurrun
c6cd0e17f3 Replace vendor string in Ogg and FLAC muxers. 2011-11-02 10:43:39 +01:00
Diego Biurrun
2f5df0b12c Replace ffmpeg references with more accurate libav* references. 2011-11-02 10:42:55 +01:00
Diego Biurrun
20566eb0f0 Replace outdated references to ffmpeg tool with avconv. 2011-11-02 10:42:54 +01:00
Diego Biurrun
124e28847b Remove some stray unnecessary ffmpeg references. 2011-11-02 10:42:54 +01:00
Anton Khirnov
ec22979a1d id3v2: fix type of ID3v2EMFunc.free() 2011-11-02 10:32:37 +01:00
Justin Ruggles
6ac34eed54 g726: use bits_per_coded_sample instead of bitrate to determine mode
This requires some workarounds in the WAV muxer and demuxer. We need to write
the correct bits_per_coded_sample and block_align in the muxer. In the
demuxer, we cannot rely on the bits_per_coded_sample value, so we use the bit
rate and sample rate to determine the value.

This avoids having the decoder rely on AVCodecContext.bit_rate, which is not
required to be set by the user for decoding according to our API.
2011-11-01 21:23:03 -04:00
Matthieu Bouron
2264afa1c2 gxf: add timecode information to metadata
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-01 18:41:46 +01:00
Michael Niedermayer
26b64550d6 mmsh: add return value for mmsh_open()
Found-by: cptspiff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-01 12:59:15 +01:00
Michael Niedermayer
8af4ac5272 mmsh: do not try to seek to negative tiimestamps, it does not work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-01 00:47:25 +01:00
Tobias Rapp
0f39fa0279 mp3enc: avoid truncating id3v1 tags by one byte
Avoid writing the trailing null-byte for id3v1 tags if length reaches max length.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-01 00:46:41 +01:00
Michael Niedermayer
33789862aa mmsh_read_seek: skip header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-31 22:59:56 +01:00
Michael Niedermayer
237bcaa275 mmsh:_implement a minimal mmsh_seek() so the stream position can be found out.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-31 22:43:38 +01:00
Michael Niedermayer
60fcc19bff asfdec: Check packet_replic_size earlier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-31 22:42:45 +01:00
Michael Niedermayer
8475ec190c mmsh: mmsh_read_seek()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-31 20:50:04 +01:00
Michael Niedermayer
86a4e55e66 mmsh: split out mmsh_open_internal()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-31 20:49:23 +01:00
Michael Niedermayer
aedb87c57e mmsh: move location storage into context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-31 20:45:12 +01:00
Vladimir Voroshilov
02fa529539 Fix deprecated warnings in .bit (de)muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-30 15:39:26 +01:00
Anssi Hannula
ab9c00b992 spdifenc: use special alignment for DTS-HD length_code
Align IEC 61937 length_code for DTS-HD so that
(length_code & 0xf) == 0x8. This is reportedly needed with some
receivers.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2011-10-30 15:43:19 +02: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
Carl Eugen Hoyos
86931dc930 Bump libavformat minor version for the G.729 raw demuxer. 2011-10-30 00:03:00 +02:00
Justin Ruggles
44d2a982ac dsicin: fix several audio-related fields in the CIN demuxer
bits_per_coded_sample should be 8.
block_align is calculated incorrectly, but it is not needed anyway.
packet pts should be calculated in samples.
packet duration can be set.
2011-10-29 16:43:40 -04:00
Vladimir Voroshilov
0fd59f1d45 Minimal patch for G.729 demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-29 22:08:25 +02:00
Benjamin Larsson
69e7ad8dbc mov: Avoid divide by zero in edit list dts handling
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-29 07:59:05 -07:00
Hendrik Leppkes
8689d87ac6 Revert "matroskadec: forward parsing errors to caller."
This reverts commit 5dd514af93.
Silently ignoring errors allows some broken files to simply be played, instead of failing.
(cherry picked from commit 7804b0693375c1a7ba1046f7a3579e9f63c2b15a)

The intended goal (as confirmed with its author) of fixing a crash has been
fixed differently prior to the application of this patch and this patch does
notsucessfully propagate parse errors either.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-29 15:57:26 +02:00
Reimar Döffinger
eac778deb3 Some minor spelling fixes.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-10-29 14:51:31 +02:00
Carl Eugen Hoyos
7e05542aea Add Vladimir Voroshilov's copyright header to bit.c. 2011-10-29 13:16:47 +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
Alex Converse
ca65932bbf mpegts: MP4 SL support 2011-10-28 14:54:14 -07:00
Alex Converse
c530267024 mpegts: MP4 OD support 2011-10-28 14:54:14 -07:00
Alex Converse
4682a1dc3a mpegts: Add support for Sections in PMT 2011-10-28 14:54:14 -07:00
Alex Converse
fec2836483 mpegts: Replace the MP4 descriptor parser with a recursive parser. 2011-10-28 14:54:14 -07:00
Alex Converse
c3bc6096f2 mpegts: Add support for multiple mp4 descriptors 2011-10-28 14:54:13 -07:00
Alex Converse
476d04a56a mpegts: Parse mpeg2 SL descriptors. 2011-10-28 14:54:13 -07:00
Alex Converse
77b5c82b49 isom: Add MPEG4SYSTEMS dummy object type indication. 2011-10-28 14:54:13 -07:00
Anton Khirnov
ed1aa89217 lavf: add init_put_byte() to the list of visible symbols.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-28 21:46:30 +02:00
Anton Khirnov
854eadccb6 lavf: add init_put_byte() to the list of visible symbols. 2011-10-28 20:06:34 +02:00
Janne Grunau
c12ef64d69 seek-test: free options dictionary after use 2011-10-28 19:50:44 +02:00
Janne Grunau
d88e9f1c07 seek-test: update to recent avformat api 2011-10-28 19:08:37 +02:00
Anton Khirnov
9a174562e4 lavf: move private fields in AVStream to the end at next bump. 2011-10-28 09:25:26 +02:00
Anton Khirnov
df968050ab lavf: move private fields in AVFormatContext to the end at next bump. 2011-10-28 09:24:14 +02: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
8d4e44993a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: remove "legacy" mpegvideo decoder.
  iv8: assemble packets to return complete frames
  pulse: documentation
  pulse: introduce pulseaudio input
  remove the zork pcm seek test

Conflicts:
	configure
	libavdevice/Makefile
	libavdevice/alldevices.c
	libavdevice/avdevice.h
	libavdevice/pulse.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-28 03:05:16 +02:00
Stefano Sabatini
aa638b4600 rawdec: add check on sample_rate
Prevent error condition in case sample_rate is unset or set to a negative
value. In particular, fix divide-by-zero error occurring in ffmpeg due to
sample_rate set to 0 in output_packet(), in code:

                ist->next_pts += ((int64_t)AV_TIME_BASE * ist->st->codec->frame_size) /
                    ist->st->codec->sample_rate;

Fix trac ticket #324.
2011-10-28 02:06:50 +02:00
Hendrik Leppkes
b76bc01034 Implement parsing of the "HandlerName" from th MP4 HDLR atom.
This atom typically is used for a track title.
(cherry picked from commit a356137816b4ea20a892d1fb203b11dbfedbc543)

Reviewed-by: Baptiste Coudurier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-28 01:37:50 +02:00
Yusuke Nakamura
05e417aa63 mov: Support empty first edit + normal second edit.
(cherry picked from commit df342c91e6cfceb2537c2d1b2442dd685381a0ca)

Reviewed-by: Baptiste Coudurier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-28 01:37:50 +02:00
Michael Niedermayer
c643ba8128 mpegts: Fix detection of some raw AAC
Fixes Ticket577

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-27 21:40:05 +02:00
Janne Grunau
cf543c6574 iv8: assemble packets to return complete frames 2011-10-27 18:47:34 +02:00
David Conrad
1c5670dbb2 Timecode v2 muxer
(cherry picked from commit 79ca161498744330ac940ae773dda3f1796ce955)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-27 01:03:22 +02:00
Michael Niedermayer
742d218bf1 avidec: Return correct error code from avi_sync() in case of IO error.
Found-by: Tanami, Ohad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-26 23:37:37 +02:00
Michael Niedermayer
3a56169fec movenc: reserved_moov_size, which allows placing moov at the begin of the file.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-26 22:18:01 +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
Justin Ruggles
f540ca22c5 tta: check for extradata allocation failure in tta demuxer 2011-10-25 11:22:02 -04:00
Anton Khirnov
3d813e4c54 lavf: deprecate AVStream.stream_copy
It's only used in avconv, so it properly belongs to OutputStream struct
there.
2011-10-25 16:30:00 +02:00
Anton Khirnov
a75034300f lavf: simplify by using FFMAX/FFMIN. 2011-10-25 16:28:52 +02:00
Anton Khirnov
f172132f82 mpegenc: add preload private option.
Deprecate AVFormatContext.preload.
2011-10-25 16:27:48 +02:00
Nicolas George
cf88cf17d0 Remove CELT / Opus confusion in labels, doc and comments.
The situation was not clear when support was added but it is now:
CELT and Opus are really two different codecs.
The current code supports CELT via libcelt, not Opus.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-25 15:04:51 +02:00
Hendrik Leppkes
d1ee98c94b mpegts: add BDMV secondary audio stream types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-24 18:47:21 +02:00
Hendrik Leppkes
463c8d8621 mpegts: fix null-pointer dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-24 18:12:54 +02:00
Michael Niedermayer
2b0cdb7364 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Move id3v2 tag writing to a separate file.
  swscale: add missing colons to x86 assembly yuv2planeX.
  g722: split decoder and encoder into separate files
  cosmetics: remove extra spaces before end-of-statement semi-colons
  vorbisdec: check output buffer size before writing output
  wavpack: calculate bpp using av_get_bytes_per_sample()
  ac3enc: Set max value for mode options correctly
  lavc: move get_b_cbp() from h263.h to mpeg4videoenc.c
  mpeg12: move closed_gop from MpegEncContext to Mpeg1Context
  mpeg12: move full_pel from MpegEncContext to Mpeg1Context
  mpeg12: move Mpeg1Context from mpeg12.c to mpeg12.h
  mpegvideo: remove some unused variables from MpegEncContext.

Conflicts:
	libavcodec/mpeg12.c
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-24 01:01:21 +02:00
Michael Karcher
16ad77b357 Move id3v2 tag writing to a separate file.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-23 19:17:53 +02:00
Michael Niedermayer
f97faf6751 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  id3v2: fix doxy comment - 'machine byte order' makes no sense on char arrays
  VC1: restore mistakenly removed code
  twinvq: check output buffer size before decoding
  twinvq: return an error when the packet size is too small
  lavf: export some forgotten symbols with non-av prefixes.
  swscale: update altivec yuv2planeX asm to new per-plane API.
  swscale: make yuv2yuvX_10_sse2/avx 8/9/16-bits aware.
  yuv2planeX10 SIMD
  swscale: decide whether to use yuv2plane1/X on a per-plane basis.
  swscale: reintroduce full precision in 16-bit output.
  Split up yuv2yuvX functions
  Split out yuv2yuv1 luma and chroma in order to make them generic DSP functions
  lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
  lavc: translate non-flag-based er options into flag-based ef options at codec open
  add -err_filter AVOptions to access flag-based error recognition
  h264_weight: initialize "height" function argument properly.
  presets: spelling error in libvpx 1080p50_60
  avplay: fix fullscreen behaviour with SDL 1.2.14 on Mac OS X

Conflicts:
	ffplay.c
	libavformat/libavformat.v
	libswscale/swscale.c
	libswscale/x86/swscale_template.c
	tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-23 05:13:56 +02:00
Carl Eugen Hoyos
9e8dff90ef Revert "mov: do not misreport empty stts"
Fixes ticket #578.

This reverts commit 30c3d976f1.
2011-10-23 00:54:56 +02:00
Michael Karcher
e71ebb1972 id3v2: fix doxy comment - 'machine byte order' makes no sense on char arrays
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-22 22:52:18 +02:00
Anton Khirnov
07e1256456 lavf: export some forgotten symbols with non-av prefixes. 2011-10-22 21:08:31 +02:00
Carl Eugen Hoyos
415f3ceac1 Fix comment: Enhanced AC-3 in mov is defined in ETSI TS 102 366. 2011-10-22 02:23:56 +02:00
Michael Niedermayer
aedc908601 Merge remote-tracking branch 'qatar/master'
* qatar/master: (35 commits)
  flvdec: Do not call parse_keyframes_index with a NULL stream
  libspeexdec: include system headers before local headers
  libspeexdec: return meaningful error codes
  libspeexdec: cosmetics: reindent
  libspeexdec: decode one frame at a time.
  swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables()
  Move timefilter code from lavf to lavd.
  mov: add support for hdvd and pgapmetadata atoms
  mov: rename function _stik, some indentation cosmetics
  mov: rename function _int8 to remove ambiguity, some indentation cosmetics
  mov: parse the gnre atom
  mp3on4: check for allocation failures in decode_init_mp3on4()
  mp3on4: create a separate flush function for MP3onMP4.
  mp3on4: ensure that the frame channel count does not exceed the codec channel count.
  mp3on4: set channel layout
  mp3on4: fix the output channel order
  mp3on4: allocate temp buffer with av_malloc() instead of on the stack.
  mp3on4: copy MPADSPContext from first context to all contexts.
  fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm
  fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm
  ...

Conflicts:
	libavcodec/arm/h264dsp_init_arm.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_ps.c
	libavcodec/h264dsp_template.c
	libavcodec/h264idct_template.c
	libavcodec/h264pred.c
	libavcodec/h264pred_template.c
	libavcodec/x86/h264dsp_mmx.c
	libavdevice/Makefile
	libavdevice/jack_audio.c
	libavformat/Makefile
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavutil/pixfmt.h
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-22 01:16:41 +02:00