1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Commit Graph

10836 Commits

Author SHA1 Message Date
Michael Niedermayer
a80ce390df avidec: parse INFO tags at the end
Fixes Ticket1123

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 21:36:42 +02:00
Justin Ruggles
2fa57c9daf mpc8: set packet duration and stream start time instead of tracking frames
Fixes mpc8 timestamps.
2012-08-06 14:39:21 -04:00
anonymous
388243bb27 udp: do not call pthread_{mutex,cond}_destroy when not initialized.
This seems to cause a crash on Windows.

The author of that patch was a random guy on IRC who wants to stay anonymous.
2012-08-06 10:06:26 +02:00
Michael Niedermayer
7bf16ec300 mpc8: fix pts
Fixes Ticket1254

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 02:51:11 +02:00
Michael Niedermayer
e4b53d995c mov: dont clip timestamps at 0
Fixes Ticket1251

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 01:38:18 +02:00
Piotr Bandurski
68f4156f44 movenv: fix remuxing of qdm2 2012-08-06 00:37:28 +02:00
Piotr Bandurski
1b72a7e8a9 aiffenc: fix remuxing of qdm2 2012-08-06 00:08:53 +02:00
Clément Bœsch
16dc5f2050 Replace various inlined inverse AVRational with av_inv_q(). 2012-08-06 00:04:36 +02:00
Piotr Bandurski
5d2f89a23c movenc: fix remuxing of svq3 2012-08-05 23:58:10 +02:00
Martin Storsjö
6c071a2b38 lavf: Declare an AVRational struct without a struct literal
At this place, the normal way of initializing a struct works
fine, there's no need for a struct literal.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-06 00:48:58 +03:00
Reimar Döffinger
69aeba1396 oggdec: Initialize stream index to -1 in ogg_packet.
The previous method of having to initialize it outside lead
to incorrect code: even if it was initialized, it usually was
only initialized once, thus a packet that could not be matched
to any stream would just be processed with the return values
from the previous call.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-05 19:47:52 +02:00
Reimar Döffinger
a4163b2d65 oggdec: simplify start time calculation code.
Also slightly more correct behaviour in case streams_left for
some reason is 0 from the start.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-05 19:47:52 +02:00
Moritz Bunkus
fe40dc1cec matroskaenc: Implement support for ALAC 2012-08-05 18:34:28 +02:00
Michael Niedermayer
c30f53e4d8 matroskadec: prevent potential integer overflow
Iam not sure this can happen, but its safer we check.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 17:59:12 +02:00
Moritz Bunkus
bc3b422029 matroskadec: Implement support for ALAC
This patch implements support reading ALAC from Matroska files. The
only non-trivial thing about it is that only the ALAC magic cookie is
stored in Matroska's CodecPrivate element but not the "atom size",
"tag" and "tag version" fields that FFMPEG's ALAC decoder
expects. However, those are trivial to re-create.

Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 17:59:12 +02:00
Philip Langdale
3eb56e8434 movenc: Fix unfreed memory found by valgrind.
Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-05 08:27:49 -07:00
Stefano Sabatini
9bece76009 lavf/img2dec: add start_number_range option 2012-08-05 15:45:48 +02:00
Michael Niedermayer
9e1c55cfde oggdec: check stream index before using it in ogg_get_length()
Fixes crash based on a uninitialized array index read.
If the read does not crash then out of array writes based
on the same index might have been triggered afterwards.

Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 05:08:15 +02:00
Stefano Sabatini
b0d23ae208 lavf/img2doc: document options 2012-08-05 00:47:48 +02:00
Stefano Sabatini
b5c7318bd7 lavf/img2dec: improve error logging in case of find_image_range() failure 2012-08-05 00:38:17 +02:00
Stefano Sabatini
2dfee8abf1 lavf/img2dec: sort options by name 2012-08-05 00:38:16 +02:00
Stefano Sabatini
48c1d1d3fa lavf/img2dec: introduce and use FIRST_INDEX_SEARCH_RANGE macro in find_image_range 2012-08-05 00:38:16 +02:00
Stefano Sabatini
07ef7b1a30 lavf/img2dec: fix out-of-range check in find_image_range()
Take the new parameter start_index into account.
2012-08-05 00:38:05 +02:00
Stefano Sabatini
59e4e40673 lavf/img2dec: doxygen find_image_range() function 2012-08-05 00:38:05 +02:00
Stefano Sabatini
e408e329d2 lavf/img2dec: rename find_image_range() "max_start" parameter to "start_index"
The new name seems more consistent with the assumed logic.

"start_index" represents the minimum accepted value as first index, and
not the maximum value as implicitely assumed by the previous name.
2012-08-05 00:37:39 +02:00
Stefano Sabatini
a30e776ff1 lavf/img2dec: fix weird start_number count logic
This seems consistent with the assumed meaning of the option.
2012-08-05 00:26:48 +02:00
Philip Langdale
7b24be557f avformat/srtdec: Write duration into packet from srt demuxer.
The current demuxer does not bother to write packet durations,
which makes it impossible to remux into a new format.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-04 12:01:24 -07:00
Philip Langdale
18175ca9b2 movenc: Handle need for extra packets to express subtitle duration.
As packet duration is not stored inherently in MPEG4 containers,
subtitles have their duration expressed by storing an additional
empty packet with a pts matching the desired end time of the real
subtitle. Additionally, it is generally expected that all streams
start at time = 0, so an empty packet needs to be inserted at the
beginning of the stream, before the first real subtitle.

Unfortunately, ffmpeg lacks a proper way to express that a subtitle
might map to multiple packets, so the muxer is the only place we
can handle this.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-04 12:01:24 -07:00
Michael Niedermayer
759901f817 mpegdemux: support MLP/AOB
Fixes issue1731

Based-on-patch-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 19:37:24 +02:00
Michael Niedermayer
ce7cf600be mpegdemux: move private stream 1 handling out of mpegps_read_pes_header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 19:37:23 +02:00
Michael Niedermayer
afa6afcc9f mpegdemux: remove redundant dvd audio code
This is almost a revert of: (the file from the report still works)

commit 80e58c6153
Author: Benoit Fouet <benoit.fouet@free.fr>
Date:   Wed Feb 11 11:09:36 2009 +0000

    Allow demuxing of audio substreams stored as 0x06 type.
    Fixes issue 725: MPEG2 PS with PCM audio.
    On behalf of Jai.

    Originally committed as revision 17150 to svn://svn.ffmpeg.org/ffmpeg/trunk

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 19:37:21 +02:00
Michael Niedermayer
3e1cf49676 compute_pkt_fields: do not attempt to calculate dts when the delay hasnt been estimated.
Fixes ticket1242

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 15:42:44 +02:00
Michael Niedermayer
2107009e7d lavf: move nb_decoded_frames out of info.
This way the variable is available outside find_stream_info

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 15:42:44 +02:00
Michael Niedermayer
b288b4c63f has_decode_delay_been_guessed: adjust value for has_b_frames=0
needed for a mkv file

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 15:42:44 +02:00
Michael Niedermayer
c91ca5b95d lavf: move has_decode_delay_been_guessed() up to make it accessible to earlier functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 15:42:44 +02:00
Michael Niedermayer
668c873bed matroskadec: check element size against stream limit in ebml_parse_elem()
Fixes Ticket1195

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 02:27:51 +02:00
Paul B Mahol
d84dd35f8e paf: fix audio packet duration
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-03 15:18:12 +00:00
Michael Niedermayer
231ffb9243 flvdec: follow packets backward until a valid last timestamp is found
Fixed Ticket981

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-03 14:50:26 +02:00
Michael Niedermayer
71a5cd7dbc flvdec: perform duration search just once
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-03 14:50:26 +02:00
Clément Bœsch
bc42682749 lavf/movenc: fix invalid free with timecode meta and tmcd data copy.
Fixes ticket 1577.
2012-08-03 14:15:39 +02:00
Michael Niedermayer
31d8261cde mpegprobe: fix misdetection of mp3
Fixes tikcet1524

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-03 02:49:50 +02:00
Michael Niedermayer
9c6e23f5d2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: fft: fix imdct_half() for AVX
  rtmppkt: Add missing libavcodec/bytestream.h include.
  rtmp: add functions for reading AMF values
  vc1dec: remove useless #include simple_idct.h
  dct-test: always link with aandcttab.o
  vp8: pack struct VP8ThreadData more efficiently
  x86: remove libmpeg2 mmx(ext) idct functions
  eamad: Use dsputils instead of a custom bswap16_buf
  Canopus Lossless decoder

Conflicts:
	Changelog
	LICENSE
	libavcodec/avcodec.h
	libavcodec/cllc.c
	libavcodec/eamad.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 23:34:01 +02:00
Alex Rønne Petersen
150adea6da rtmppkt: Add missing libavcodec/bytestream.h include.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-02 13:32:02 -04:00
Kifayat ullah
32aeba1275 mpegtsenc: Fix AC3 Sound issue with Blu-ray Players.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 16:55:17 +02:00
Nicolas George
93d428953c assdec: return EOF instead of EIO. 2012-08-02 14:39:45 +02:00
Jordi Ortiz
50468f93e3 rtmp: add functions for reading AMF values
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-02 14:06:44 +02:00
Michael Niedermayer
96cb143800 Merge remote-tracking branch 'dwbuiten/master'
* dwbuiten/master:
  Canopus Lossless decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 04:48:47 +02:00
Derek Buitenhuis
45eaac02cb Canopus Lossless decoder
At the moment it only does BGR24, but I plan to add the rest after.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-01 22:06:16 -04:00
Derek Buitenhuis
91c86d3cf8 Canopus Lossless decoder
At the moment it only does BGR24, but I plan to add the rest after.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-01 22:02:19 -04:00
Michael Niedermayer
ec7ecb8811 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dca: Switch dca_sample_rates to avpriv_ prefix; it is used across libs
  ARM: use =const syntax instead of explicit literal pools
  ARM: use standard syntax for all LDRD/STRD instructions
  fft: port FFT/IMDCT 3dnow functions to yasm, and disable on x86-64.
  dct-test: allow to compile without HAVE_INLINE_ASM.
  x86/dsputilenc: bury inline asm under HAVE_INLINE_ASM.
  dca: Move tables used outside of dcadec.c to a separate file.
  dca: Rename dca.c ---> dcadec.c
  x86: h264dsp: Remove unused variable ff_pb_3_1
  apetag: change a forgotten return to return 0

Conflicts:
	libavcodec/Makefile
	libavcodec/dca.c
	libavcodec/x86/fft_3dn.c
	libavcodec/x86/fft_3dn2.c
	libavcodec/x86/fft_mmx.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 23:33:06 +02:00
Nicolas George
ff2955a4f7 apetag: return value when required.
Should fix compilation on clang.
2012-08-01 13:33:51 +02:00
Diego Biurrun
19cf7163c1 dca: Switch dca_sample_rates to avpriv_ prefix; it is used across libs 2012-08-01 11:43:31 +02:00
Carl Eugen Hoyos
d1ebb25ac6 Skip chan tag padding.
Fixes ticket #1580
2012-08-01 08:33:18 +02:00
Paul B Mahol
c36bad3b89 xvma: remove unused variable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-01 03:15:32 +00:00
Diego Biurrun
9e4bca16f8 dca: Move tables used outside of dcadec.c to a separate file. 2012-08-01 00:17:17 +02:00
Michael Niedermayer
d1dad7c824 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpc8: return more meaningful error codes.
  mpc: return more meaningful error codes.
  wv,mpc8: don't return apetag data in packets.
  rtmp: do not warn about receiving metadata packets
  x86: h264dsp: Adjust YASM #ifdefs
  x86: yadif: Mark mmxext optimizations as such
  h264: convert loop filter strength dsp function to yasm.
  Improve descriptiveness of a number of codec and container long names

Conflicts:
	libavcodec/flvdec.c
	libavcodec/libopenjpegdec.c
	libavformat/apetag.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-31 22:41:00 +02:00
Anton Khirnov
921063877e apetag: change a forgotten return to return 0 2012-07-31 21:32:25 +02:00
Anton Khirnov
f2ed006c90 mpc8: return more meaningful error codes. 2012-07-31 20:54:22 +02:00
Anton Khirnov
263dbe9d95 mpc: return more meaningful error codes. 2012-07-31 20:54:17 +02:00
Anton Khirnov
782e64fbe1 wv,mpc8: don't return apetag data in packets. 2012-07-31 20:53:54 +02:00
Samuel Pitoiset
9c9c21eaa1 rtmp: do not warn about receiving metadata packets
They are managed in get_packet()

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-31 14:52:25 +02:00
Michael Niedermayer
00ddf62078 mpegdemux: Fix probing of unrecognized_mpeg_video.mpg
Fixes Ticket1586

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-31 03:59:29 +02:00
Michael Niedermayer
b5da7d4c1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Drop pointless "format" from container long names
  swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.
  wv: K&R formatting cosmetics
  configure: Add missing descriptions to help output
  h264_ps: declare array of colorspace strings on its own line.
  fate: amix: specify f32 sample format for comparison
  tiny_psnr: support 32-bit float samples
  eamad/eatgq/eatqi: call special EA IDCT directly
  eamad: remove use of MpegEncContext
  mpegvideo: remove unnecessary inclusions of faandct.h
  af_asyncts: avoid overflow in out_size with large delta values
  af_asyncts: add first_pts option

Conflicts:
	configure
	libavcodec/eamad.c
	libavcodec/h264_ps.c
	libavformat/crcenc.c
	libavformat/ffmdec.c
	libavformat/ffmenc.c
	libavformat/framecrcenc.c
	libavformat/md5enc.c
	libavformat/nutdec.c
	libavformat/rawenc.c
	libavformat/yuv4mpeg.c
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 23:28:31 +02:00
Diego Biurrun
0177b7d23a Improve descriptiveness of a number of codec and container long names 2012-07-30 20:46:55 +02:00
Diego Biurrun
6774247a9d avformat: Drop pointless "format" from container long names 2012-07-30 13:59:06 +02:00
Paul B Mahol
8a6d673eff flacdec: fix memleaks
While here refactor code.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-30 02:45:21 +00:00
jamal
938e4470ae options: Fix warning about incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 03:48:46 +02:00
Michael Niedermayer
7d1918affe Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flvdec: remove spurious use of stream id
  lavf: deprecate r_frame_rate.
  lavf: round estimated average fps to a "standard" fps.

Conflicts:
	ffmpeg.c
	ffprobe.c
	libavformat/avformat.h
	libavformat/electronicarts.c
	libavformat/flvdec.c
	libavformat/rawdec.c
	libavformat/utils.c
	tests/ref/fate/iv8-demux

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 00:56:33 +02:00
Anton Khirnov
29d70274ec wv: K&R formatting cosmetics 2012-07-30 00:42:20 +02:00
Michael Niedermayer
7c26761b81 Merge commit 'fe1c1198e670242f3cf9e3e1eef27cff77f3ee23'
* commit 'fe1c1198e670242f3cf9e3e1eef27cff77f3ee23':
  lavf: use dts difference instead of AVPacket.duration in find_stream_info()
  avf: introduce nobuffer option
  fate: make yadif tests consistent across systems
  vf_hqdn3d: support 9 and 10bit colordepth
  vf_hqdn3d: reduce intermediate precision
  vf_hqdn3d: simplify and optimize
  factor identical ff_inplace_start_frame out of two filters
  vf_hqdn3d: cosmetics
  avprobe/avconv: fix tentative declaration compile errors on MSVS.

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffprobe.c
	libavformat/avformat.h
	libavformat/options_table.h
	libavformat/utils.c
	libavformat/version.h
	tests/fate/filter.mak
	tests/ref/fate/filter-yadif-mode0
	tests/ref/fate/filter-yadif-mode1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-29 23:04:49 +02:00
Luca Barbato
41f43202cf flvdec: remove spurious use of stream id
We match streams by codec id now.
2012-07-29 17:18:03 +02:00
Anton Khirnov
aba232cfa9 lavf: deprecate r_frame_rate.
According to its description, it is supposed to be the LCM of all the
frame durations. The usability of such a thing is vanishingly small,
especially since we cannot determine it with any amount of reliability.
Therefore get rid of it after the next bump.

Replace it with the average framerate where it makes sense.

FATE results for the wtv and xmv demux tests change. In the wtv case
this is caused by the file being corrupted (or possibly badly cut) and
containing invalid timestamps. This results in lavf estimating the
framerate wrong and making up wrong frame durations.
In the xmv case the file contains pts jumps, so again the estimated
framerate is far from anything sane and lavf again makes up different
frame durations.

In some other tests lavf starts making up frame durations from different
frame.
2012-07-29 08:06:30 +02:00
Anton Khirnov
f66eeff1c8 lavf: round estimated average fps to a "standard" fps. 2012-07-29 08:05:46 +02:00
Anton Khirnov
fe1c1198e6 lavf: use dts difference instead of AVPacket.duration in find_stream_info()
AVPacket.duration is mostly made up and thus completely useless, this is
especially true for video streams.
Therefore use dts difference for framerate estimation and
the max_analyze_duration check.

The asyncts test now needs -analyzeduration, because the default is 5
seconds and the audio stream in the sample appears at ~10 seconds.
2012-07-29 08:04:42 +02:00
Luca Barbato
681ed00099 avf: introduce nobuffer option
Useful in cases where a significant analyzeduration is
still needed, while minimizing buffering before output.

An example is processing low-latency streams where all
media types won't necessarily come in if the
analyzeduration is small.

Additional changes by Josh Allmann <joshua.allmann@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-29 07:58:00 +02:00
Paul B Mahol
e4f3a9693d lavf/apetag: move common stuff between writer and reader to single file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-29 02:31:27 +00:00
Paul B Mahol
29ba3aacb1 lavf/smacker: remove bogus video from .long_name
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-29 02:22:09 +00:00
Paul B Mahol
c25dc1f9c7 wvenc: support for ape tags
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-29 01:28:12 +00:00
Paul B Mahol
bd93f96540 APE tag writer 2012-07-29 01:28:12 +00:00
Paul B Mahol
a3a0774be8 WavPack muxer 2012-07-29 01:28:12 +00:00
Michael Niedermayer
706bd8ea19 Merge remote-tracking branch 'qatar/master'
* qatar/master: (35 commits)
  h264_idct_10bit: port x86 assembly to cpuflags.
  x86inc: clip num_args to 7 on x86-32.
  x86inc: sync to latest version from x264.
  fft: rename "z" to "zc" to prevent name collision.
  wv: return meaningful error codes.
  wv: return AVERROR_EOF on EOF, not EIO.
  mp3dec: forward errors for av_get_packet().
  mp3dec: remove a pointless local variable.
  mp3dec: remove commented out cruft.
  lavfi: bump minor to mark stabilizing the ABI.
  FATE: add tests for yadif.
  FATE: add a test for delogo video filter.
  FATE: add a test for amix audio filter.
  audiogen: allow specifying random seed as a commandline parameter.
  vc1dec: Override invalid macroblock quantizer
  vc1: avoid reading beyond the last line in vc1_draw_sprites()
  vc1dec: check that coded slice positions and interlacing match.
  vc1dec: Do not ignore ff_vc1_parse_frame_header_adv return value
  configure: Move parts that should not be user-selectable to CONFIG_EXTRA
  lavf: remove commented out cruft in avformat_find_stream_info()
  ...

Conflicts:
	Makefile
	configure
	libavcodec/vc1dec.c
	libavcodec/x86/h264_deblock.asm
	libavcodec/x86/h264_deblock_10bit.asm
	libavcodec/x86/h264dsp_mmx.c
	libavfilter/version.h
	libavformat/mp3dec.c
	libavformat/utils.c
	libavformat/wv.c
	libavutil/x86/x86inc.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-29 02:16:26 +02:00
Anton Khirnov
c1d865d563 wv: return meaningful error codes. 2012-07-28 14:37:16 +02:00
Anton Khirnov
ccc10acb5b wv: return AVERROR_EOF on EOF, not EIO. 2012-07-28 14:37:12 +02:00
Anton Khirnov
f73e3938ac mp3dec: forward errors for av_get_packet().
Don't invent a bogus EIO error.

The code now doesn't check for ret == 0, but that check is redundant,
av_get_packet() never returns 0.
2012-07-28 14:37:00 +02:00
Anton Khirnov
67b1156fe8 mp3dec: remove a pointless local variable. 2012-07-28 14:36:55 +02:00
Anton Khirnov
61f8bb74f3 mp3dec: remove commented out cruft. 2012-07-28 14:36:51 +02:00
Anton Khirnov
efd34918ba lavf: remove commented out cruft in avformat_find_stream_info() 2012-07-28 10:00:38 +02:00
Anton Khirnov
c4ef6a3e4b Add missing libavutil/time.h includes. 2012-07-28 09:02:07 +02:00
Michael Niedermayer
55cdd45446 avio: Document that write_packet() is not allowed to change its input
Found-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-28 01:16:09 +02:00
Martin Storsjö
8ebacfb598 hls: Proceed to the next segment at any error code
Previously, we returned any error code except AVERROR_EOF to the
caller - only if AVERROR_EOF or 0 was returned, we proceeded to
the next segment.

With some setups of web servers, using Connection: close in https
and GnuTLS, we don't get a clean error code at the end of segments.
In those cases, just proceed to the next segment.

Tested-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-28 01:21:32 +03:00
Martin Storsjö
41ecbbc7aa tls: Return AVERROR_EOF if the TLS_read/write functions return 0
OpenSSL returns 0 when the peer has closed the connection. GnuTLS
doesn't return that though, but returns
GNUTLS_E_UNEXPECTED_PACKET_LENGTH if the connection simply is closed
without a clean close notify packet.

Tested-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-28 01:21:16 +03:00
Michael Niedermayer
c6963a220d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresdsp: port x86 assembly to cpuflags.
  lavr: x86: improve non-SSE4 version of S16_TO_S32_SX macro
  lavfi: better channel layout negotiation
  alac: check for truncated packets
  alac: reverse lpc coeff order, simplify filter
  lavr: add x86-optimized mixing functions
  x86: add support for fmaddps fma4 instruction with abstraction to avx/sse
  tscc2: fix typo in array index
  build: use COMPILE template for HOSTOBJS
  build: do full flag handling for all compiler-type tools
  eval: fix printing of NaN in eval fate test.
  build: Rename aandct component to more descriptive aandcttables
  mpegaudio: bury inline asm under HAVE_INLINE_ASM.
  x86inc: automatically insert vzeroupper for YMM functions.
  rtmp: Check the buffer length of ping packets
  rtmp: Allow having more unknown data at the end of a chunk size packet without failing
  rtmp: Prevent reading outside of an allocate buffer when receiving server bandwidth packets

Conflicts:
	Makefile
	configure
	libavcodec/x86/proresdsp.asm
	libavutil/eval.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 23:42:19 +02:00
Carl Eugen Hoyos
4f2549e3d0 Fix aiff demuxer dependencies. 2012-07-27 20:42:35 +02:00
Marton Balint
3be02afb56 mxfdec: fix off by one error in d10 aes3 decoding
Without this fix the last sample was missing from the packet.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 13:36:43 +02:00
jamal
c49e0d2cdd aviobuf: Fix warning about discarded qualifier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 12:46:51 +02:00
Clément Bœsch
316f8db2c2 SubViewer demuxer and decoder. 2012-07-26 22:22:54 +02:00
Samuel Pitoiset
8ea1459bc3 rtmp: Check the buffer length of ping packets
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-26 22:57:15 +03:00
Samuel Pitoiset
e49e6b6451 rtmp: Allow having more unknown data at the end of a chunk size packet without failing
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-26 22:56:54 +03:00
Samuel Pitoiset
2357f60687 rtmp: Prevent reading outside of an allocate buffer when receiving server bandwidth packets
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-26 22:56:54 +03:00
Michael Niedermayer
7333798c85 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: support YUV and deep RGB pixel formats
  Fix typo in v410 decoder.
  vf_yadif: unset cur_buf on the input link.
  vf_overlay: ensure the overlay frame does not get leaked.
  vf_overlay: prevent premature freeing of cur_buf
  Support urlencoded http authentication credentials
  rtmp: Return an error when the client bandwidth is incorrect
  rtmp: Return proper error code in handle_server_bw
  rtmp: Return proper error code in handle_client_bw
  rtmp: Return proper error codes in handle_chunk_size
  lavr: x86: add missing vzeroupper in ff_mix_1_to_2_fltp_flt()
  vp8: Replace x*155/100 by x*101581>>16.
  vp3: don't use calls to inline asm in yasm code.
  x86/dsputil: put inline asm under HAVE_INLINE_ASM.
  dsputil_mmx: fix incorrect assembly code
  rtmp: Factorize the code by adding handle_invoke
  rtmp: Factorize the code by adding handle_chunk_size
  rtmp: Factorize the code by adding handle_ping
  rtmp: Factorize the code by adding handle_client_bw
  rtmp: Factorize the code by adding handle_server_bw

Conflicts:
	libavcodec/libopenjpegdec.c
	libavcodec/x86/dsputil_mmx.c
	libavfilter/vf_overlay.c
	libavformat/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 21:37:15 +02:00
Michael Niedermayer
97c0d5357d omadec: switch to AVSTREAM_PARSE_FULL_RAW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 03:30:35 +02:00
Michael Niedermayer
9c83f3e659 loasdec: switch to AVSTREAM_PARSE_FULL_RAW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 03:30:20 +02:00
Michael Niedermayer
e083a62e9d aacdec: switch to AVSTREAM_PARSE_FULL_RAW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 03:29:59 +02:00
Michael Niedermayer
6f6182372c hls: replace probsize=0 by noheader flag removial.
This fixes h264 timestamps in hls
Fixes ticket1572

Tested-by: crtmpserver
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 03:05:31 +02:00
Michael Niedermayer
12d1ee6a5e ff_add_index_entry: reject AV_NOPTS_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 03:05:31 +02:00
Michael Niedermayer
2cd491a47c lavf: move generic index generation code to a later point
By moving it to a later point relative and unknown timestamps
are more likely to have been corrected

similar patch reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	libavformat/utils.c
2012-07-26 03:04:49 +02:00
Michael Niedermayer
2880c31660 parse_packet: use pkt.pos always instead of the avparser offset.
This is more correct and will be needed when the code is moved to
a later point.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 02:20:59 +02:00
Michael Niedermayer
4e7f9ebdc2 wav: switch to AVSTREAM_PARSE_FULL_RAW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 02:12:56 +02:00
Michael Niedermayer
fdc371114f ff_raw_audio_read_header: mark as AVSTREAM_PARSE_FULL_RAW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 02:11:21 +02:00
Michael Niedermayer
5ea4ee7bcb flacdec: mark as AVSTREAM_PARSE_FULL_RAW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 02:03:58 +02:00
Michael Niedermayer
ea8c12c90f mp3dec: mark as AVSTREAM_PARSE_FULL_RAW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 02:03:56 +02:00
Piotr Bandurski
c5f23df2dd movenc: fix remuxing of yuv2
Attached patch fixes remuxing of yuv2 in mov (and does not break remuxing of yuvs)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 01:37:46 +02:00
Michael Niedermayer
9054f6b66b probe_codec: fix memory corruption
Found-by: Tanami Ohad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 01:10:55 +02:00
Antti Seppälä
5423e908c9 Support urlencoded http authentication credentials
It should be possible to specify usernames in http requests containing
urlencoded characters. This patch adds support for decoding the auth
strings.

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-26 00:18:32 +03:00
Samuel Pitoiset
abf77a247b rtmp: Return an error when the client bandwidth is incorrect
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 23:57:01 +03:00
Samuel Pitoiset
be8f949219 rtmp: Return proper error code in handle_server_bw
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 23:57:00 +03:00
Samuel Pitoiset
088a82bb33 rtmp: Return proper error code in handle_client_bw
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 23:57:00 +03:00
Samuel Pitoiset
e7ea6883bf rtmp: Return proper error codes in handle_chunk_size
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 23:57:00 +03:00
Michael Niedermayer
f7d4e26c6a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add a new option 'rtmp_pageurl'
  doc: Update the description of the rtmp_tcurl option
  rtmp: Make the description of the rtmp_tcurl option more generic
  libfdk-aacenc: add LATM/LOAS encapsulation support
  sctp: add port missing error message
  tcp: add port missing error message
  avfilter: Fix printf format string conversion specifier

Conflicts:
	libavcodec/version.h
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 22:00:06 +02:00
Samuel Pitoiset
6d1c9945dd rtmp: Factorize the code by adding handle_invoke
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 21:08:24 +03:00
Samuel Pitoiset
7be2a7d8ff rtmp: Factorize the code by adding handle_chunk_size
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 21:08:22 +03:00
Samuel Pitoiset
0ffd5161c4 rtmp: Factorize the code by adding handle_ping
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 21:08:20 +03:00
Samuel Pitoiset
912ecc9a19 rtmp: Factorize the code by adding handle_client_bw
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 21:08:18 +03:00
Samuel Pitoiset
9b498148ca rtmp: Factorize the code by adding handle_server_bw
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 21:08:09 +03:00
Samuel Pitoiset
758377a2b7 rtmp: Add a new option 'rtmp_pageurl'
This option specifies the URL of the web page in which the media
was embedded.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:33:13 +03:00
Samuel Pitoiset
63ffa154e9 rtmp: Make the description of the rtmp_tcurl option more generic
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:33:10 +03:00
Jordi Ortiz
ecfff0e992 sctp: add port missing error message
Without this patch a user a bit absent-minded may not notice that
the connection doesn't work because the port is missing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:31:16 +03:00
Jordi Ortiz
f9a9a14862 tcp: add port missing error message
Without this patch a user a bit absent-minded may not notice that
the connection doesn't work because the port is missing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:30:39 +03:00
Michael Niedermayer
3005122485 hls: call avformat_find_stream_info()
This is needed to correctly demux h264 in ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 17:40:33 +02:00
Michael Niedermayer
da62b4326b av_find_stream_info: skip flushing codecs and estimating timings if probe_size==0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 17:39:25 +02:00
Stefano Sabatini
9b42d6ed1f lavf/avformat.h: fix verb person for av_guess_sample_aspect_ratio()
Prefer impersonal form over third person, consistent with the rest of
docs.
2012-07-25 10:04:57 +02:00
Carl Eugen Hoyos
20e88d8618 Fix avui stream-copy.
The native decoder and MPlayer's binary decoder only need the
APRG atom, QuickTime at least requires also the ARES atom and
four additional 0 bytes padding at the end of stsd.
2012-07-25 09:26:17 +02:00
Michael Niedermayer
1c2beff04a lavf: Set pos for all packets of AVSTREAM_PARSE_FULL_RAW files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 01:57:25 +02:00
Piotr Bandurski
23bb85b069 riff: make the G723.1 in wav output compatible with WMP/msacm codec
Attached patch (together with demuxing patch) allows WMP/msacm G723.1 codec decode files encoded by FFmpeg.

Tested with both 6400 and 5333 mode

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 00:50:40 +02:00
Michael Niedermayer
e2fd18d40d lavf: factor AVStream st out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 00:45:17 +02:00
Michael Niedermayer
6b38101df5 parse_packet: reset pkt->pos after it has been used
This should have no effect as it was not used in this case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 00:42:50 +02:00
Michael Niedermayer
93342de1d8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add credit/copyright to librtmp authors for parts of the RTMPE code
  rtmp: Move the CONFIG_ condition into the if conditions
  aac: Mention abbreviation as well in long_name
  build: Skip compiling rtmpdh.h if ffrtmpcrypt protocol is not enabled
  doc: Add Git configuration section
  configure: Add a dependency on https for rtmpts
  rtp: Only choose static payload types if the sample rate and channels are right

Conflicts:
	doc/git-howto.texi
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 21:15:57 +02:00
Piotr Bandurski
b9c129be0f riff: fix remuxing of G723_1 in wav
Attached patch fixes remuxing of G723.1 in wav, so the output is playable by WMP.
(It's still not enough for encoding - probably some extradata should be added to the output file
to make it playable by WMP/win codec)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 18:53:53 +02:00
Martin Storsjö
6a433fdba8 rtmp: Add credit/copyright to librtmp authors for parts of the RTMPE code
Our implementation of RTMPE is heavily based on librtmp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-24 18:13:26 +03:00
Michael Niedermayer
01272e7662 Revert "lavf: count skipped samples for initial timestamps."
This reverts commit 885fc05865.
This commit caused timestamps in case of generic seeking to become
inconsistent.
2012-07-24 17:10:38 +02:00
Samuel Pitoiset
f7bfb126cd rtmp: Move the CONFIG_ condition into the if conditions
This makes sure these calls are removed by dead code elimination
even if optimization is disabled. This fixes building without
crypto libraries without optimization.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-24 15:54:10 +03:00
Diego Biurrun
6b80142144 build: Skip compiling rtmpdh.h if ffrtmpcrypt protocol is not enabled
The ffrtmpcrypt protocol depends on external libraries, which are
also required to compile the header file.
2012-07-24 00:21:39 +02:00
Michael Niedermayer
dc31b84cbf rtmpproto: fix compilation without optimizations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 00:11:14 +02:00
Paul B Mahol
3933782735 cosmetics: iff: split very long line
Also while here sort chunk ids.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-23 21:46:28 +00:00
Adriano Pallavicino
999c63e4ca rtp: Only choose static payload types if the sample rate and channels are right
If using a different sample rate or number of channels, use a dynamic
payload type instead, where the parameters are passed in the SDP.

G722 is a special case where the normal rules don't apply.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-24 00:42:58 +03:00
Michael Niedermayer
2cb4d51654 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  v410dec: Implement explode mode support
  zerocodec: fix direct rendering.
  wav: init st to NULL to avoid a false-positive warning.
  wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
  h264: refactor NAL decode loop
  RTMPTE protocol support
  RTMPE protocol support
  rtmp: Add ff_rtmp_calc_digest_pos()
  rtmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global
  swscale: add missing HAVE_INLINE_ASM check.
  lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
  vc1: Add a test for interlaced field pictures
  swscale: Mark all init functions as av_cold
  swscale: x86: Drop pointless _mmx suffix from filenames
  lavf: use conditional notation for default codec in muxer declarations.
  swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.
  dsputil: ppc: cosmetics: pretty-print
  dsputil: x86: add SHUFFLE_MASK_W macro
  configure: respect CC_O setting in check_cc

Conflicts:
	Changelog
	configure
	libavcodec/v410dec.c
	libavcodec/zerocodec.c
	libavformat/asfenc.c
	libavformat/version.h
	libswscale/utils.c
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 21:25:09 +02:00
Clément Bœsch
61884b9d1b 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.

Fixes warning:
    libavformat/wav.c: In function ‘wav_read_header’:
    libavformat/wav.c:499:44: warning: ‘st’ may be used uninitialized in this function [-Wmaybe-uninitialized]

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-23 11:34:08 -04:00
Samuel Pitoiset
08cd95e8a3 RTMPTE protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-23 16:32:09 +03:00
Samuel Pitoiset
acd554c103 RTMPE protocol support
This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPE protocol implementation uses ffrtmpcrypt:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-23 16:32:07 +03:00
Samuel Pitoiset
0e31088b6c rtmp: Add ff_rtmp_calc_digest_pos()
This function is used for calculating digest position for RTMP handshake
packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-23 16:32:05 +03:00