Commit Graph

9750 Commits

Author SHA1 Message Date
Andrey Utkin
3069e70f62 udp: Add option overrun_nonfatal
Optionize fail/survive on circular buffer overrun

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-12 21:50:46 +01:00
Andrey Utkin
a2eecc110b udp: remove dead code line (unused result)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-12 21:49:33 +01:00
Michael Niedermayer
b0a0e83aee Revert "flvenc: Remove apparently unneeded AAC check."
According to video_file_format_spec_v10_1.pdf flv stores AAC RAW
thanks to Baptiste Coudurier for pointing that out

thanks to Aℓex Converse for explaining:
	This can't be at the start of a non-ADTS payload. 111 is the
	EndOfFrame syntax element.

Together these proof that the check was correctly rejecting ADTS which
is not supposed to be in flv. Many players are able to play such ADTS
in flv though but its better if we conform to the spec as this should
ensure that not many but all players can play files generated by ffmpeg.

This reverts commit 3c9a86df0e.
2012-03-12 20:42:25 +01:00
Michael Niedermayer
88c76c7d22 Revert "udp: add multicast input interface selection"
This reverts commit 9abd47fe90.

Broke compilation on openbsd and others
2012-03-12 06:48:32 +01:00
Michael Niedermayer
2367b2a502 libavformat.v: add ffio_set_buf_size() for ffserver.
its inevitable with the current API

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-12 06:04:37 +01:00
Tudor.Suciu
9abd47fe90 udp: add multicast input interface selection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-12 06:01:09 +01:00
C Chatterjee
3c9a86df0e flvenc: Remove apparently unneeded AAC check.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-12 05:21:59 +01:00
Joseph Artsimovich
84b9b4aa18 Fix frame height vs field height confusion in MXF decoding.
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Reveiwed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-11 17:39:52 +01:00
Matthieu Bouron
ad029c24a6 mxfdec: add timecode to metadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-11 08:12:46 +01:00
Zalewa PL
0d2f4eedc8 mpjpeg: video streaming will no longer break and stop on Firefox
mpjpeg video streamings would break and stop on Firefox after 1 - 30
seconds.
In order to fix this, two changes were made:
1. Replaced all occurrences of '\n' character in mjpeg metadata
   with occurences of "\r\n".
2. Added "Content-length: <packet-size>" metadata entry for each
   sent frame.

The change has been tested on Google Chrome 17.0.963.78 and Firefox 10.0.2
on lubuntu 11.10 and the streaming seems to work fine now.
2012-03-10 18:32:02 +01:00
Tomas Härdin
2ff540a0fe mxf: Add DNxHD UL
Note that the old DNxHD UL is actually JPEG 2000 according to RP224. Leaving it
as-is for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-10 18:01:03 +01:00
Reimar Döffinger
b52bd2a4ab DV demuxer: Stricter check for avio_read result.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-03-10 10:43:14 +01:00
Michael Niedermayer
8e31dbc1dc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix a bunch of common typos.
  build: Skip compiling xvmc.h under the correct condition.
  configure: darwin: Change dylib install names to include major version.
  mpegts: Always honor a registration descriptor if present and there is no other codec information.
  aacdec: Fix SCE parity check.
  aacdec: Fix out of array writes (stack).
  rtsp: Only set the ttl parameter if the server actually gave a value
  udp: Set ttl for read-write streams, too, not only for write-only ones
  udp: Only bind to the multicast address if in read-only mode
  udp: Clarify the comment about binding the multicast address
  udp: Reorder comments

Conflicts:
	libavcodec/aacdec.c
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-10 01:12:08 +01:00
Michael Niedermayer
174678ff5b mpegvideo_probe: Fix misdetection of mpeg4video files.
(issue1210)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-09 22:25:32 +01:00
Diego Biurrun
ffae713a5b Fix a bunch of common typos. 2012-03-09 22:02:49 +01:00
Michael Niedermayer
ad53c7f9ec lavf: Add system to seperate relative timestamps from absolute ones.
With this we can always know if a timestamp is based on added durations
from an unknown origin or if it is based on a correct timestamp (and possibly
added durations)
This should fix some bugs where this distinction was mixed up.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-09 19:36:12 +01:00
Alex Converse
100c3fb2d1 mpegts: Always honor a registration descriptor if present and there is no other codec information. 2012-03-09 09:48:14 -08:00
Carl Eugen Hoyos
d07de6d75d Cosmetics: Remove superfluous newline. 2012-03-09 14:34:10 +01:00
Martin Storsjö
6294d708b8 rtsp: Only set the ttl parameter if the server actually gave a value
Passing ttl=0 to the rtp/udp url contexts makes packets never
leave the host machine.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-09 15:04:32 +02:00
Martin Storsjö
2bfd92b330 udp: Set ttl for read-write streams, too, not only for write-only ones
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-09 15:04:05 +02:00
Martin Storsjö
c700fdb00f udp: Only bind to the multicast address if in read-only mode
This fixes sending back RTCP RR packets if receiving RTP over
multicast.

If the multicast stream is sent on demand (set up and signalled
via RTSP), the sender might depend on getting RTCP RR packets
knowing that there are listeners, otherwise the stream can be
closed after a certain timeout.

This fixes receiving RTSP streams over multicast on unix, from
certain Axis cameras.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-09 15:03:46 +02:00
Martin Storsjö
1b89bcdd7f udp: Clarify the comment about binding the multicast address
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-09 15:03:11 +02:00
Martin Storsjö
113d3e106d udp: Reorder comments
When this code was added in 36b532815c, the new code was added
between the existing comment and the existing line of code, making
the old comment seem to refer to the new code. This makes it read
correctly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-09 15:03:10 +02:00
Piotr Bandurski
af55a9d80a iff: add support for IFF DEEP
Fixes trac #1045.

Thanks to Peter Ross for his help with this patch.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-09 01:55:45 +01:00
Michael Niedermayer
a8cedbebf1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ttadec: unbreak playback of matroska files
  vorbisdec: avoid invalid memory access
  Fix uninitialized reads on malformed ogg files.
  huffyuv: add padding to classic (v1) huffman tables.
  png: convert to bytestream2 API.
  dca: include libavutil/mathematics.h for possibly missing M_SQRT1_2
  avs: fix infinite loop on end-of-stream.
  tiffdec: Prevent illegal memory access caused by recycled pointers.
  rtpenc: Fix the AVRational used for av_rescale_q_rnd
  wma: fix off-by-one in array bounds check.

Conflicts:
	libavcodec/huffyuv.c
	libavcodec/pngdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-09 01:22:31 +01:00
Michael Niedermayer
12c65efb41 oggparseogm: Fix order or arguments.
Bug introduced by libav in 1bb3990b56

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 21:31:45 +01:00
Michael Niedermayer
4093220029 mov: Discard invalid CTTS.
Fixes Ticket385

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 21:31:45 +01:00
Dale Curtis
ef0d779706 Fix uninitialized reads on malformed ogg files.
The ogg decoder wasn't padding the input buffer with the appropriate
FF_INPUT_BUFFER_PADDING_SIZE bytes. Which led to uninitialized reads in
various pieces of parsing code when they thought they had more data than
they actually did.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-08 11:52:15 -08:00
Michael Niedermayer
bf807a5e87 Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  sbrdsp.asm: convert all instructions to float/SSE ones.
  dv: cosmetics.
  dv: check buffer size before reading profile.
  Revert "AAC SBR: group some writes."
  udp: Print an error message if bind fails
  cook: extend channel uncoupling tables so the full bit range is covered.
  roqvideo: cosmetics.
  roqvideo: convert to bytestream2 API.
  dca: don't use av_clip_uintp2().
  wmall: fix build with -DDEBUG enabled.
  smc: port to bytestream2 API.
  AAC SBR: group some writes.
  dsputil: remove shift parameter from scalarproduct_int16
  SBR DSP: unroll sum_square
  rv34: remove dead code in intra availability check
  rv34: clean a bit availability checks.
  v4l2: update documentation
  tgq: convert to bytestream2 API.
  parser: remove forward declaration of MpegEncContext
  dca: prevent accessing static arrays with invalid indexes.
  ...

Conflicts:
	doc/indevs.texi
	libavcodec/Makefile
	libavcodec/dca.c
	libavcodec/dvdata.c
	libavcodec/eatgq.c
	libavcodec/mmvideo.c
	libavcodec/roqvideodec.c
	libavcodec/smc.c
	libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 02:51:45 +01:00
Michael Niedermayer
4cda8aa1c5 avformat_new_stream: fix initial last_dts value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 00:45:22 +01:00
Tomas Härdin
f6daa9f4f6 mxfdec: Add intra_only flag to MXFTrack
This allows future assumptions to be made without affecting non-intra files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 00:39:56 +01:00
Tomas Härdin
8c7721e709 mxfdec: Fix Avid AirSpeed files being misinterpreted as OP1a
The "ECs != 1 -> OP1a" assumption was wrong. Luckily, the file that triggered
that behavior had two ECs, not zero. Hence distinguishing between them is
simple in this case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 00:39:56 +01:00
Tomas Härdin
bf2290a80c mxfdec: Truncate packets that extend past the next edit unit
This fixes rare cases where OPAtom may be treated as OP1a, causing all essence
to be read into RAM.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-08 00:39:56 +01:00
Martin Storsjö
94f1b11a6f rtpenc: Fix the AVRational used for av_rescale_q_rnd
The current one has a zero denominator - this is what was
intended in 14aecc50fa.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-08 01:15:28 +02:00
Martin Storsjö
a887c87c23 udp: Print an error message if bind fails
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-07 21:52:19 +02:00
Ronald S. Bultje
a93b572ae4 smacker: error out if palette copy-with-offset overruns palette size.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-07 09:35:03 -08:00
Carl Eugen Hoyos
a294a7a1b3 mov: Allow last chunk to have an arbitrary number of samples.
Fixes ticket #673.
(cherry picked from commit 8dcd2a41ec)

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-03-06 15:25:34 -08:00
Michael Niedermayer
f095391a14 Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  cdxl demux: do not create packets with uninitialized data at EOF.
  Replace computations of remaining bits with calls to get_bits_left().
  amrnb/amrwb: Remove get_bits usage.
  cosmetics: reindent
  avformat: do not require a pixel/sample format if there is no decoder
  avformat: do not fill-in audio packet duration in compute_pkt_fields()
  lavf: Use av_get_audio_frame_duration() in get_audio_frame_size()
  dca_parser: parse the sample rate and frame durations
  libspeexdec: do not set AVCodecContext.frame_size
  libopencore-amr: do not set AVCodecContext.frame_size
  alsdec: do not set AVCodecContext.frame_size
  siff: do not set AVCodecContext.frame_size
  amr demuxer: do not set AVCodecContext.frame_size.
  aiffdec: do not set AVCodecContext.frame_size
  mov: do not set AVCodecContext.frame_size
  ape: do not set AVCodecContext.frame_size.
  rdt: remove workaround for infinite loop with aac
  avformat: do not require frame_size in avformat_find_stream_info() for CELT
  avformat: do not require frame_size in avformat_find_stream_info() for MP1/2/3
  avformat: do not require frame_size in avformat_find_stream_info() for AAC
  ...

Conflicts:
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/h264_ps.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/dsputil_mmx.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-06 06:03:32 +01:00
Reimar Döffinger
632eb1bbae cdxl demux: do not create packets with uninitialized data at EOF.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-05 16:27:31 -05:00
Derek Buitenhuis
01606d10e6 libutvideo: Add Ut Video encoder wrapper
All colorspaces are supported.

Renamed libutvideo.cpp to libutvideodec.cpp.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-05 22:25:49 +01:00
Justin Ruggles
94cf64b81f cosmetics: reindent 2012-03-05 13:08:19 -05:00
Justin Ruggles
8c1d6ac66a avformat: do not require a pixel/sample format if there is no decoder
Also, do not keep trying to find and open a decoder in try_decode_frame() if
we already tried and failed once.

Fixes always searching until max_analyze_duration in
avformat_find_stream_info() when demuxing codecs without a decoder.
2012-03-05 13:08:18 -05:00
Justin Ruggles
a7fa75684d avformat: do not fill-in audio packet duration in compute_pkt_fields()
Use the estimated duration only to calculate missing timestamps if needed.
2012-03-05 13:08:18 -05:00
Justin Ruggles
6c65cf58fd lavf: Use av_get_audio_frame_duration() in get_audio_frame_size()
Also, do not give AVCodecContext.frame_size priority for muxing.

Updated 2 FATE references:
dxa-feeble - adds 1 audio frame that is still within 2 seconds as specified
             by -t 2 in the FATE test
wmv8-drm-nodec - durations are not needed. previously they were estimated
                 using the packet size and average bit rate.
2012-03-05 13:08:18 -05:00
Justin Ruggles
f1e73100d9 siff: do not set AVCodecContext.frame_size
also, properly set AVCodecContext.bits_per_coded_sample, AVStreasm.start_time,
and AVPacket.duration.
2012-03-05 13:08:17 -05:00
Justin Ruggles
ec2e767bf3 amr demuxer: do not set AVCodecContext.frame_size.
it is not necessary.
2012-03-05 13:08:17 -05:00
Justin Ruggles
8d1a20aa7c aiffdec: do not set AVCodecContext.frame_size
It is unnecessary. Also, for some codecs we're reading more than 1 frame per
packet. Instead we use a private context variable to calculate the bit rate,
stream duration, and packet durations.

Updated FATE seek test, which has slightly different timestamps due to a
more accurate bit rate calculation.
2012-03-05 13:08:17 -05:00
Justin Ruggles
237a855caf mov: do not set AVCodecContext.frame_size
It is not necessary.
2012-03-05 13:08:17 -05:00
Justin Ruggles
9727264220 ape: do not set AVCodecContext.frame_size.
prevents lavf from setting incorrect packet durations.
2012-03-05 13:08:17 -05:00
Justin Ruggles
2dd18d4435 rdt: remove workaround for infinite loop with aac
avformat_find_stream_info() no longer hangs while waiting for AAC frame_size
2012-03-05 13:08:16 -05:00