1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-07 11:13:41 +02:00
Commit Graph

8384 Commits

Author SHA1 Message Date
Diego Biurrun
35a6855868 Fix av_dlog invocations with wrong or missing logging context.
This fixes build failures with -DDEBUG in CPPFLAGS.
2011-09-21 09:57:32 +02:00
David Goldwich
61f4387d39 oma: support for encrypted files
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 08:33:15 +02:00
David Goldwich
7a019dffe5 id3v2: add support for non-text and GEOB type tag frames
This extends the ID3v2 parser to allow for reading of non-text (i.e.
other than T***) meta tag frames providing a ff_id3v2_read_all()
function. An additional data structure 'ID3v2ExtraMeta' is introduced
for these tags since AVDictionary is string oriented and unsuitable
for binary data.

A parser for tag frames of type GEOB is implemented, which is needed
to extract keyring information from encrypted OMA files. GEOB data
is parsed into 'ID3v2ExtraMetaGEOB' data structures.

The routine to decode characters from different encodings to UTF-8,
formerly part of the read_ttag() function, is moved to its own
function. Because some tag frames contain subparts of unknown length,
the function is now also able to read until a null character is found.
In addition, the function now takes care of allocating a buffer long
enough to hold the decoded characters.

Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 08:28:21 +02:00
Michael Niedermayer
7cb5def1f3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Don't blindly skip the 4 trailer bytes from the FLV packets
  rtmp: Handle FLV packets written in more than one write call
  rv34: Check for invalid slice offsets

Conflicts:
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-21 01:05:36 +02:00
Michael Niedermayer
c83442b057 mp3demux: pass on error code on packet read.
Reported-by: Tanami, Ohad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-21 00:51:53 +02:00
Martin Storsjö
847052db34 rtspdec: Require TCP-interleaved RTP packets to be at least 11 bytes, instead of 12.
(A minimal RTP packet is 12 bytes, but a minimal RTCP packet can be
much smaller, at least as small as 8 bytes.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-20 21:58:15 +02:00
Martin Storsjö
3ffe32eb96 rtmp: Don't blindly skip the 4 trailer bytes from the FLV packets
If not enough bytes are available, keep track of them and skip
them on next call.

In practice, if these trailer bytes are written in a separate
call, there is no other data written in this call, making it
fall into the "FLV packet too small" case currently - working,
but not as intended.

This patch makes the code more robust, handling all cases
except for having the FLV packet header split over multiple
write calls.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-20 16:23:48 +03:00
Chiranjeevi Melam
a14c784210 rtmp: Handle FLV packets written in more than one write call
If the FLV packet is larger than the AVIO buffer, a partial
FLV packet will be flushed to the RTMP protocol.

This commit handles the most common cases of FLV packets
being written in more than one call.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-20 16:23:46 +03:00
Michael Niedermayer
cadbe4ecd1 mov: Fix grayscale Cinepak in mov
Fixes Ticket165

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-20 06:19:25 +02:00
Michael Niedermayer
65655a0499 lavf/utils: better dts wrap correction.
Fixes Ticket488

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

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-19 22:45:34 +02:00
Anton Khirnov
c92a2a4eb8 movenc: fix NULL reference in mov_write_tkhd_tag
st may be NULL when there are more mov streams than AVStreams, e.g. when
chapters are present.
2011-09-19 16:44:42 +02:00
Laurent Aimar
f06068bbd6 rmdec: Reject invalid deinterleaving parameters
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19 15:45:22 +03:00
Laurent Aimar
3e033da847 rmdec: use the deinterleaving mode and not the codec when creating audio packets.
It prevents crashes due to non initialized fields.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:37:31 +02:00
Carl Eugen Hoyos
4a9b069b67 Support 3IVD in isom, produced by 3ivx DivX Doctor.
Fixes ticket #486.
2011-09-19 12:20:42 +02:00
David Goldwich
63d64228a7 lavf: Fix context pointer in av_open_input_stream when avformat_open_input fails
Signed-off-by: David Goldwich <david.goldwich@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:03:56 +02:00
Joakim Plate
8e4c10003a Set AV_PKT_FLAG_KEY based on nupplevideo header
Based from lipbmpdemux/nupplevideo.h and from myth NuppelVideoRecorder.cpp
2011-09-18 18:25:44 +02:00
Joakim Plate
7768f6b1b9 add support for generic seeking by reading timestamps in nuv 2011-09-18 18:16:37 +02:00
Chiranjeevi Melam
07631deeee rtmpproto.c: Fixed RTMP Stream output issue
Original code had the assumption of only one FLV packet per RTMP packet. But that assumption is incorrect for higher bit rates. Made changes to the code to accommodate more than one FLV packet per RTMP
+packet.
2011-09-18 06:32:05 +02:00
Arne de Bruijn
b2f230e23d mpegpsdec: fix reading first mpegps packet 2011-09-18 01:57:56 +02:00
Michael Niedermayer
9a9ceb8776 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: add select filter
  oggdec: fix out of bound write in the ogg demuxer
  movenc: create an alternate group for each media type
  lavd: add libcdio-paranoia input device for audio CD grabbing
  rawdec: refactor private option for raw video demuxers
  pcmdec: use unique classes for all pcm demuxers.
  rawdec: g722 is always 1 channel/16kHz

Conflicts:
	Changelog
	configure
	doc/filters.texi
	libavdevice/avdevice.h
	libavfilter/avfilter.h
	libavfilter/vf_select.c
	tests/ref/lavf/mov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-17 22:36:43 +02:00
Laurent Aimar
0e7efb9d23 oggdec: fix out of bound write in the ogg demuxer
Between ogg_save() and ogg_restore() calls, the number of streams
could have been reduced.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-09-17 09:41:02 -07:00
Laurent Aimar
4907f81358 Reject audio tracks with invalid interleaver parameters in RM demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-17 18:26:53 +02:00
Anton Khirnov
7574cacbd5 movenc: create an alternate group for each media type
Partially fixes bug 44.
2011-09-17 08:42:30 +02:00
Anton Khirnov
85d982f1e2 rawdec: refactor private option for raw video demuxers
pixel_format/video_size only apply to 'rawvideo' (==uncompressed) demuxer
and make no sense for the other raw (== containerless) demuxers. Keep
only the framerate option for those.

Also use unique classes for all raw video demuxers
2011-09-17 06:43:09 +02:00
Anton Khirnov
34d2bf30a0 pcmdec: use unique classes for all pcm demuxers. 2011-09-17 06:42:32 +02:00
Anton Khirnov
d906f49aa8 rawdec: g722 is always 1 channel/16kHz 2011-09-17 06:42:17 +02:00
Michael Niedermayer
5c5306df96 lavf/utils: rewrite real fps calculation code.
The new code is free of biasing to the first timestamps
Fixes fraps.fps.test.zip

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-16 21:29:58 +02:00
Daniel Kristjansson
4460b81f9e mxfenc: Add support for MPEG-2 MP@HL-14 in mxf container
Support Main Profile at High 1440 Level in MXF container,
using essence coding label from SMPTE RDD 9, table 6.
2011-09-16 18:16:30 +02:00
Peter Ross
07a70caba7 Binary text decoder
Decoder and demuxer for various binary text formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-16 05:53:14 +02:00
Michael Niedermayer
62101030c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: fix byte overreads in SSE-optimized hscale().
  matroskadec: fix typo.
  matroskadec: bail on parsing of incorrect seek index segments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-15 23:10:26 +02:00
Michael Niedermayer
e78d1a594a mpegts: make sure the "standard" code doesnt override the probing with NONE/DATA.
Fixes video stream detection in vid_0x80.ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-15 23:01:04 +02:00
Laurent Aimar
b59efc9434 Fixed size given to init_get_bits().
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-09-15 13:23:04 -07:00
Ingo Brückl
5d305c9398 Correct determination of file size and frames in VBRI headers
The fields "Number of Bytes" and "Number of Frames" are mixed up. "Bytes"
come first, "Frames" behind.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-15 20:16:55 +02:00
Elvis Presley
5554de13b2 ProRes Decoder
Signed-off-by: Elvis Presley <elvis@e.p>
2011-09-15 15:58:56 +02:00
Dustin Brody
d7d2f0e63c matroskadec: fix typo.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-15 09:34:38 +02:00
Dustin Brody
4a9628f276 matroskadec: bail on parsing of incorrect seek index segments
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-15 09:34:16 +02:00
Michael Niedermayer
3ee83f4605 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf utils: Remove write-only variable
  lavf utils: Rename shadowing variable
  smacker: fix a few off by 1 errors
  Check for invalid VLC value in smacker decoder.
  Check and propagate errors when VLC trees cannot be built in smacker decoder.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-14 21:57:47 +02:00
Joakim Plate
cdced09ef6 Don't override duration from file header with bitrate duration
This is most noticable on matroska files which has duration
as part of it's header.
2011-09-14 20:08:43 +02:00
Joakim Plate
5d70536804 [yop] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
7bcd81299a [wtv] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
d9d7174d70 [tta] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
fc12f54ea9 [tmv] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
425907809b [r3d] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
e22155ef0e [nsv] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
a3f4fc813d [mxfdec] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
88ad79415c [mpc8] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:45 +02:00
Joakim Plate
833358172b [jvd] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:53:39 +02:00
Joakim Plate
58540d7bd3 [filmstrip] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:51:07 +02:00
Joakim Plate
928cfc7e4f [ffmdec] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:51:07 +02:00
Joakim Plate
1df00ac80f [dv] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:51:07 +02:00
Joakim Plate
75f418064e [cafdec] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:51:07 +02:00
Joakim Plate
598cc84fbf [bink] Check return value of avio_seek and avoid modifying state if it fails 2011-09-14 19:51:07 +02:00
Alex Converse
940173d4d1 lavf utils: Remove write-only variable 2011-09-14 10:35:46 -07:00
Alex Converse
4439caa482 lavf utils: Rename shadowing variable 2011-09-14 10:35:42 -07:00
elupus
9fa47cb773 make mpegts_get_pcr resync if it's not on a valid mpegts packet 2011-09-14 17:11:23 +02:00
elupus
6214266362 cosmetic reindent of mpegts_get_pcr 2011-09-14 17:11:07 +02:00
elupus
0a90b6a43e check return value of url_fseek in mpegts_get_pcr 2011-09-14 17:10:40 +02:00
elupus
880e83827f respect the maximum position mpegts_get_pcr is allowed to seek to 2011-09-14 17:09:56 +02:00
elupus
2130d2f594 remove unused code in mpegts_get_pcr 2011-09-14 17:08:43 +02:00
Michael Niedermayer
6a507ccfe5 wtvenc: add some asserts because iam paranoid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-14 01:08:01 +02:00
zhentan feng
438debd095 WTV muxer (2_wtvenc.patch, 3_add_wtv_muxer.patch) 2011-09-14 00:41:25 +02:00
Michael Niedermayer
38670356f9 libavformat/utils: print ts in the "invalid dts/pts combination" case.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-13 06:42:13 +02:00
Laurent Aimar
a92d0fa5d2 Fixed off by one packet size allocation in the smacker demuxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-12 23:44:51 +03:00
Laurent Aimar
e055932f56 Check for invalid packet size in the smacker demuxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-12 23:43:52 +03:00
Joakim Plate
6c9a24636b asf: only try to read asf index once
This avoid retrying to read ASF index in files for every
attempt to seek. This makes a big difference to protocols
with slow seeking (for example http)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 22:12:14 +02:00
Laurent Aimar
c58d45e004 segafilm: Fix potential division by 0 on corrupted segafilm streams in the demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 21:45:23 +02:00
Laurent Aimar
7cbe025758 segafilm: Check for memory allocation failures in segafilm demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 21:45:07 +02:00
Laurent Aimar
273aab99bf ape demuxer: fix segfault on memory allocation failure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-12 21:12:31 +02:00
Michael Niedermayer
9765caec1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adpcm: split ADPCM encoders and decoders into separate files.
  doc/avconv: fix typo.
  rv34: check that subsequent slices have the same type as first one.
  smacker demuxer: handle possible av_realloc() failure.
  lavfi: add split filter from soc.
  lavfi: add showinfo filter
  libxavs: add private options corresponding to deprecated global options

Conflicts:
	Changelog
	libavcodec/adpcm.c
	libavfilter/avfilter.h
	libavfilter/vf_showinfo.c
	libavfilter/vf_split.c
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 21:01:12 +02:00
Philip de Nier
47886e3644 mxfdec: skip to end of structural sets This fixes reading of partition packs. The code stops reading after the operational pattern and should skip the array of essence container labels that follow 2011-09-12 18:17:49 +02:00
Kostya Shishkov
47a8589f7b smacker demuxer: handle possible av_realloc() failure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-12 15:51:21 +02:00
Joakim Plate
7e4111cfe2 rmdec: Check return value of more avio_seek calls
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 04:39:13 +02:00
Joakim Plate
f9e083a156 avidec: Check return value of more avio_seek calls
The move of avio_seek in avi_read_seek is to avoiding modifying
state if the seek would fail.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 04:39:12 +02:00
Joakim Plate
ac1d489320 asf: Check return value of more avio_seek calls
This reduces problems when underlying protocol is not
seekable even if marked as such or if the file has been
cut short.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 04:39:12 +02:00
Laurent Aimar
bc851a2946 Fix writes out of bounds in the ogg demuxer.
Between ogg_save() and ogg_restore() calls, the number of streams
could have been reduced.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 04:39:12 +02:00
Michael Niedermayer
411cc5c46a Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  audioconvert: add explanatory comments to channel_names array
  audioconvert: K&R whitespace cosmetics
  avconv: use correct index when selecting metadata to write to.
  avconv: fix inverted variable
  doc/avconv: document option types (input/output/per-stream/...)
  doc/avtools-common-opts: write a section about stream specifiers.
  doc/avconv: remove two pointless paragraphs.
  doc/avconv: document that global options should be specified first.
  doc/avconv: remove entries for nonexistent options
  doc/avconv: remove documentation for removed 'timestamp' option
  doc: cosmetics, rename fftools-common-opts to avtools-....
  avconv: move streamid_map to options context.
  avconv: extend -vf syntax
  avconv: move top_field_first to options context.
  avconv: move inter/intra matrix to options context.
  avconv: remove -psnr option.
  avconv: remove me_threshold option.
  avconv: move video_rc_override_string to options context.
  avconv: move frame pixel format to the options context.
  avconv: move frame aspect ratio to the options context.
  ...

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 00:32:54 +02:00
Laurent Aimar
d0121e8d96 Fixed segfault on corrupted smacker streams in the demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 21:19:45 +02:00
Laurent Aimar
1632a576e6 Fixed segfault on memory allocation failure in ape demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 21:19:45 +02:00
Joakim Plate
c8ce2b0a1d mpegts: When playing mpegts over rtp/rtsp/sdp, lavf must still read PAT/SDT to get available streams
The code path using for mpegts over rtp doesn't open the demuxer using
mpegts_read_header,
so it never starts listening for PAT/SDT, only uses auto_guess

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 20:21:47 +02:00
Joakim Plate
53f8f0a70e Fix for some non interleaved avi files that gets played twice or won't end
This changes so we assume EOF when we can't find the next
streams index entry for non interleaved file.

http://trac.xbmc.org/ticket/5585

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 18:21:07 +02:00
Joakim Plate
e42a3dd123 Allow reading of growing avi files (ie currently being written)
This uses the RIFF header stored size to figure out the expected AVI file size, instead
of the actual file. To work fully it requires handling failed avio_seek() instead
of assuming they always succeed.

Some fate file has been cut off and contains half a frame at the end which previously
was not output during demuxing. This frame is now output to encoder, thus fate
diff update.
2011-09-11 17:44:20 +02:00
Georgi Chorbadzhiyski
f1f15c3c1a mpegts: improve error reporting
When reporting continuity error show pid, expected and received cc.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-09-11 09:27:13 -04:00
Aviad Rozenhek
162f1fbc14 mpegts: on seek, reset the cc for all PIDs
Prevent false positive continuity counter error logs.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-09-11 09:26:21 -04:00
Michael Niedermayer
cb66db8010 mpegts: update comment to match code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 00:55:16 +02:00
Joakim Plate
6796b82407 libavformat/utils: Only require first packet to be known for all audio and video streams
It can take a long time before subtitles or data streams show up,
so we shouldn't wait for those before assuming we have all info
for streams.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 00:33:20 +02:00
Joakim Plate
6d40f88cab mpegts: Some additional HDMV types and reg descriptors for mpegts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-10 22:10:00 +02:00
chinshou
b10ba1175d avisynth: Fix upside down bug 2011-09-10 05:24:39 +02:00
chinshou
4f123a7d7c avisynth: Remove wrong pts calculation.
Fixes Ticket428
2011-09-10 05:24:26 +02:00
Laurent Aimar
e5e0580b93 Fixed size given to init_get_bits().
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-10 00:26:48 +02:00
Wolfram Gloger
6dcbbe34e8 av_interleave_packet_per_dts: switch noninterleaved flushing logic to max dts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-09 17:19:54 +02:00
Chiranjeevi Melam
8096b7c67f asfenc: fix assert failure on long ffserver runs 2011-09-09 03:34:27 +02:00
Gavin Kinsey
d64066f6e8 Prevent double free of side_data when AVFMT_FLAG_KEEP_SIDE_DATA flag is set 2011-09-08 23:47:23 +02:00
Michael Niedermayer
78d7d8fe91 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Employ FF_ARRAY_ELEMS instead of manually calculating array length.
  Fixed invalid access in wavpack decoder on corrupted bitstream.
  Fixed invalid writes in wavpack decoder on corrupted bitstreams.
  Fixed invalid access in wavpack decoder on corrupted extra bits sub-blocks.
  rtpdec_asf: Fix integer underflow that could allow remote code execution

Conflicts:
	libavformat/rtpdec_asf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-08 22:37:31 +02:00
Yan Jing
8ba987bff3 ffmdec: set avio buffer to ffm->packet_size, avoid dirty reads 2011-09-08 20:53:44 +02:00
Michael Niedermayer
0b99e858d1 ffmdec: fix seeking for non indexed files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-08 20:53:37 +02:00
Yan Jing
59810f8388 ffmdec: handle wrapped file in ffm_seek 2011-09-08 20:09:40 +02:00
Diego Biurrun
6376362d15 Employ FF_ARRAY_ELEMS instead of manually calculating array length. 2011-09-08 15:57:14 +02:00
Carl Eugen Hoyos
f6e99bf514 Add loas as an extension for LOAS/LATM. 2011-09-08 08:24:17 +02:00
Carl Eugen Hoyos
c1fcd7e1ab Support remuxing aac_latm. 2011-09-08 08:22:50 +02:00
zhentan feng
42d4df06e1 WTV muxer (1_extract_wtv_common_code.patch) 2011-09-08 01:55:07 +02:00
Asad Mehmood
bcc531f04a flvdec: Remove AVFMTCTX_NOHEADER if both flags and metadata claim 1 stream
If there is only 1 stream in an flv avformat_find_stream_info will continually
read until probesize is reached. This should stop it reading if the metadata
also claims there to be 1 stream.
2011-09-08 00:26:28 +02:00
Michael Niedermayer
f1b5693027 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add LATM muxer
  v210enc: clip values according to specifications
  v210enc: switch to PIX_FMT_422P10
  v210dec: switch to PIX_FMT_422P10
  AVOptions: remove AVOption.offset <= 0 checks
  AVOptions: deprecate av_opt_set_defaults2
  AVOptions: move doxy for av_opt_set_defaults() from opt.c to opt.h
  libx264: fix setting some more parameters
  libx264: fix setting the H.264 level
  libx264: add 'direct-pred' private option
  libx264: add 'partitions' private option

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/libx264.c
	libavcodec/v210enc.c
	libavfilter/src_movie.c
	libavformat/version.h
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 22:58:39 +02:00
Michael Niedermayer
5ea091fb5a rtpdec_asf: Fix integer underflow that could allow remote code execution
Fixes MSVR-11-0088.
Credit:  Jeong Wook Oh of Microsoft and Microsoft Vulnerability Research (MSVR)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-07 23:33:53 +03:00
Michael Niedermayer
a2b66a366d rtpdec_asf: fix memleak
Based on a suggestion by Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 16:48:49 +02:00
Michael Niedermayer
ba9a7e0d71 rtp: Fix integer underflow that could allow remote code execution.
Fixes MSVR-11-0088
Credit:  Jeong Wook Oh of Microsoft and Microsoft Vulnerability Research (MSVR)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 14:59:39 +02:00
Kieran Kunhya
0ca36b4de7 Add LATM muxer
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-07 12:57:55 +02:00
Anton Khirnov
9c684feadc libx264: add 'direct-pred' private option
Deprecate AVCodecContext.directpred
2011-09-07 07:27:55 +02:00
Anton Khirnov
0635a8aa21 libx264: add 'partitions' private option
Deprecate AVCodecContext.partitions.
2011-09-07 07:27:18 +02:00
Joseph Wecker
0078430e30 flvdec: A little bit of cleanup 2011-09-07 02:38:57 +02:00
Joseph Wecker
4ee53d7e86 flvenc: Correctly encode data stream into in-band metadata frames. 2011-09-07 02:38:15 +02:00
Joseph Wecker
4c05042978 flvdec: Properly decoding in-band metadata packets as data frames. 2011-09-07 02:38:13 +02:00
Joseph Wecker
c054f11606 flvdec: Started to remove most of the "only 1-audio+1-video" assumptions 2011-09-07 02:36:42 +02:00
Joseph Wecker
30bcd6a945 flv: Ammon's changes migrated from 0.6.0 - I believe for the android broadcaster. 2011-09-07 02:02:03 +02:00
Carl Eugen Hoyos
b5d4c0e26e Support Speex in isom.
Adobe Flash Media Server produces such files although the f4v
specification does not allow Speex (nor Nellymoser).
2011-09-07 01:10:14 +02:00
Michael Niedermayer
9243454e31 libavformat/utils: only run delta_dts_min calculation code when its value is used.
This should improve speed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 00:23:18 +02:00
Michael Niedermayer
effbeff503 libavformat/utils: use FFMIN() where possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 00:13:09 +02:00
wg
37ed5df5c5 libavformat/utils: Treat subtitle streams as noninterleaved when 20 seconds have passed without a packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 00:10:44 +02:00
Michael Niedermayer
d2084402e6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: fix type for thread_type option
  avconv: move format to options context
  avconv: move limit_filesize to options context
  avconv: move start_time, recording_time and input_ts_offset to options context
  avconv: add a context for options.
  cmdutils: allow storing per-stream/chapter/.... options in a generic way
  cmdutils: split per-option code out of parse_options().
  cmdutils: add support for caller-provided option context.
  cmdutils: declare only one pointer type in OptionDef
  cmdutils: move grow_array() from avconv to cmdutils.
  cmdutils: move exit_program() declaration to cmdutils from avconv
  http: Consider the stream as seekable if the reply contains Accept-Ranges: bytes
  nutenc: add namespace to the api facing functions

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 03:10:45 +02:00
Stefan Fritsch
346ea9e222 http: Consider the stream as seekable if the reply contains Accept-Ranges: bytes
The initial request contains "Range: 0-", which servers normally
have responded with "HTTP/1.1 206 Partial Content" reply with
a Content-Range header, which was used as indicator for seekability.

Apache, since 2.2.20, responds with "HTTP/1.1 200 OK" for these
requests, which is more friendly to caches and proxies, but the
seekability still is indicated via the Accept-Ranges: bytes header.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-04 11:28:53 +02:00
Luca Barbato
5ee5dc4e9a nutenc: add namespace to the api facing functions
Rename write_{header,packet,trailer} to nut_write_{header,packet,trailer}
in order to make easier debugging them.
2011-09-04 11:09:06 +02:00
Michael Niedermayer
1889c6724a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  AVOptions: fix av_set_string3() doxy to match reality.
  cmdutils: get rid of dummy contexts for examining AVOptions.
  lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.
  AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find().
  cpu detection: avoid a signed overflow

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-04 04:11:53 +02:00
Stefan Fritsch
31dfc49598 http: Fix decetion of range support in HTTP servers
currently libavformat only allows seeking if a request with "Range:
0-" results in a 206 reply from the HTTP server which includes a
Content-Range header. But according to RFC 2616, the server may also
reply with a normal 200 reply (which is more efficient for a request
for the whole file). In fact Apache HTTPD 2.2.20 has changed the
behaviour in this way and it looks like this change will be kept in
future versions. The fix for libavformat is easy: Also look at the
Accept-Ranges header.
2011-09-03 22:29:07 +02:00
Anton Khirnov
fb4ca26bdb lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions. 2011-09-03 20:53:35 +02:00
Anton Khirnov
c11fb8288d AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find().
It allows to search for options only with AVClass, without allocating
the corresponding context.
2011-09-03 20:52:21 +02:00
Tomas Härdin
9289eada91 Parse MXF partitions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-02 20:40:54 +02:00
Clément Bœsch
3dd2c8bbbc wav: init st to NULL to avoid a false-positive warning.
If st is NULL, it means no 'fmt ' tag is found, but 'data' tag (which
needs a previous 'fmt ' tag to be parsed correctly and st initialized)
check will make sure st is never dereferenced in that case.
2011-09-01 20:23:40 +02:00
Diego Biurrun
aebb56e184 Replace some commented-out debug printf() / av_log() messages with av_dlog().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-01 01:31:03 +02:00
Carl Eugen Hoyos
a9424d27c4 Support speex in avi. 2011-08-30 23:45:39 +02:00
Carl Eugen Hoyos
c41bf905f4 Only autodetect loas in transport streams.
The Makito encoder sets stream type 0x11 for AAC.
This patch should be reverted if it breaks decoding valid streams (and
the problem can't be fixed in the probe function).
2011-08-30 10:46:51 +02:00
Carl Eugen Hoyos
75a225217c Support Nellymoser in isom. 2011-08-30 10:46:51 +02:00
Baptiste Coudurier
f33be93b1b mov: read tmcd tag and set timecode drop flag accordingly. 2011-08-30 09:14:05 +02:00
Michael Niedermayer
db5effe1a4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "h264: Properly set coded_{width, height} when parsing H.264."
  isom: add missing AVC-Intra tags, rearrange list and update comments
  avconv: remove stubs of crop* and pad* options
  avconv: re-add nb_streams to InputFile.

Conflicts:
	avconv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 22:24:01 +02:00
Tomas Härdin
8b7222979c isom: add missing AVC-Intra tags, rearrange list and update comments
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-29 16:48:39 +02:00
Carl Eugen Hoyos
312645e030 Do not set codec_tag property for matroska muxers.
Fixes ticket #8.
2011-08-28 23:13:17 +02:00
Carl Eugen Hoyos
262ab1c59a Do not assume timestamps for mp2 format. 2011-08-28 21:43:04 +02:00
Michael Niedermayer
3dd44e5075 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Use deinterleavers for demangling audio packets in RealMedia.
  vf_scale: don't leak SWS context.
  doxygen: drop another pointless star from pointer variable name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-28 00:15:05 +02:00
Fredrik Axelsson
09a858da7d Add support for BDAV/m2ts-mode muxing
Signed-off-by: Fredrik Axelsson <fraxbe@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 23:57:24 +02:00
Reimar Döffinger
056c13fd17 vocdec: Take channel count into account when calculating bit rate.
Fixes trac issue #343.

Carl Eugen Hoyos actually made a patch first, but I missed it because
trac does not send notification emails when an attachment is added.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-08-27 22:12:51 +02:00
Marton Balint
dacd827b81 Rename find_program_from_stream to av_find_program_from_stream and add it to avformat.h
Also extend the functionality to use the last found program to start the search
after that program.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 22:06:09 +02:00
Michael Niedermayer
941bb552c6 Fix memory corruption in case of memory allocation failure in av_probe_input_buffer()
Reported-by: Tanami Ohad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 21:39:52 +02:00
Kostya Shishkov
10397215aa Use deinterleavers for demangling audio packets in RealMedia.
Unlike other containers RealMedia stores its audio packets in scrambled form,
with interleaver ID preceeding audio codec ID. Currently deinterleaving
decision is tied to the codec while it's possible to have non-default
deinterleaver with audio codec (like Int0 deinterleaver instead of specific
one for Sipro).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-27 17:23:45 +02:00
Michael Niedermayer
094a496818 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fifo: add FIFO API test program, and fate test
  fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
  postprocess.c: filter name needs to be double 0 terminated
  doxygen: fix wrong comment syntax, //< vs. ///<
  doxygen: drop pointless star from pointer variable names
  Replace deprecated av_find_stream_info() by avformat_find_stream_info().
  xmv: eliminate superfluous zeroing of zero data
  configure: fix typo in avconv dependency list

Conflicts:
	configure
	doc/APIchanges
	libavutil/Makefile
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-26 23:18:54 +02:00
Stefano Sabatini
f2011ed234 fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
The new function provides a more generic interface than av_fifo_peek()
for peeking at a FIFO buffer data.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-26 20:53:02 +02:00
Diego Biurrun
c960e67ad0 Replace deprecated av_find_stream_info() by avformat_find_stream_info(). 2011-08-26 17:40:07 +02:00
Sven Hesse
5f677aac76 xmv: eliminate superfluous zeroing of zero data
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-26 16:26:57 +02:00
Michael Niedermayer
876d1d796b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
  mpeg12: propagate chunk decode errors and fix conditional indentation
  vc1: fix VC-1 Pulldown handling.
  VC1: Fix first/last row checks with slices
  mp4: Handle non-trivial ES Descriptors.
  vc1: properly zero coded_block[] edges on new slice entry.

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-26 01:29:40 +02:00
Michael Niedermayer
7c4e4c6a06 udp: fix circular buffer error handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-25 21:43:30 +02:00
Michael Niedermayer
20f0bf8cfb udp: buffer datagrams in circular buffer instead of a bytestream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-25 21:33:54 +02:00
Alex Converse
ad6c7c1b52 mp4: Handle non-trivial ES Descriptors. 2011-08-25 11:53:21 -07:00