Compare commits

..

7841 Commits

Author SHA1 Message Date
Michael Niedermayer
2e00dd4d62 Update for 1.1.5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:59:36 +02:00
Michael Niedermayer
91138821fb gifdec: check that the last keyframe exists and has been successfully parsed.
Prevents inconsistent state and null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 46cb61819d)

Conflicts:

	libavcodec/gifdec.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:58:49 +02:00
Michael Niedermayer
a4681d1043 gifdec: reset previous Graphic Control Extension disposal type
This fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d23b8462b5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7ee5e97c46)

Conflicts:

	libavcodec/gifdec.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:46:27 +02:00
Michael Niedermayer
151c2ca8c7 avcodec/cdgraphics: check buffer size before use
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ad002e1a13)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:45:21 +02:00
Michael Niedermayer
dafd8228bc sanm: Check dimensions before use
Fixes integer overflow and out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9dd04f6d8c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:45:16 +02:00
Clément Bœsch
d9ab7c6292 cmdutils: avtool -> fftool
(cherry picked from commit 7d8ad6c1fa)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:45:09 +02:00
Michael Niedermayer
426715ccbd avutil/intfloat_readwrite: include common.h for isinf()
Solution based on rational.c, which uses isinf() too

This should fix compilation with msvc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c25224737c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:45:02 +02:00
Michael Niedermayer
a4e3bb0106 avutil/intfloat_readwrite: avoid comparission with INFINITY, use isinf()
Should fix pgc warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cc6f848dba)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:44:56 +02:00
Michael Niedermayer
cd2d8aca84 avutil/log: Fix context pointer used for get_category()
Fixes calling a random pointer

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7edb984dd0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:44:52 +02:00
Michael Niedermayer
e9d9fd1137 vmdav: Try to fix unpack_rle()
This fixes out of array accesses
The code prior to this commit could not have worked, thus obviously
was untested. I was also not able to find a valid sample that uses this
code.
This fix is thus only based on the description of the format

If someone has a sample that uses unpack_rle(), please mail me.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c1f2c4c3b4)

Conflicts:

	libavcodec/vmdav.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0baa0a5a02)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:44:44 +02:00
Michael Niedermayer
e4bae0a140 mmvideo/mm_decode_intra: check horizontal coordinate too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ae2132ac90)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:44:27 +02:00
Michael Niedermayer
520c3d2303 mmvideo/mm_decode_inter: check horizontal coordinate too
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8d3c99e825)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:44:22 +02:00
Michael Niedermayer
82a627c2c3 mjpegdec: fix overlapping memcpy with upscale_v
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b39fd7d63648442c20671c3e4b357268ec5c49f2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:44:12 +02:00
Michael Niedermayer
0cb4887b83 avcodec/mpegvideo: Fix edge emu with lowres
Fixes a few green artifacts at the top
Fixes rest of Ticket 2535

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c67bca2b5a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:43:04 +02:00
Michael Niedermayer
4a45535836 avcodec/mpegvideo: Fix block height for lowres 3 interlaced blocks
Fixes green trash
Fixes part of Ticket2535

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bca50e5cd5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:42:33 +02:00
Michael Niedermayer
4427e96bb1 src_movie: fix scanf string
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit adaa7743f5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:35:04 +02:00
Michael Niedermayer
731f4bb6fd xbmdec: fix off by one error in scanf()
Fixes out of array access

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:35:04 +02:00
Michael Niedermayer
898ce4d6e2 Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  update Changelog
  af_asyncts: fix offset calculation
  oma: properly forward errors in oma_read_packet
  indeo3: use unaligned reads on reference blocks.

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 14:39:09 +02:00
Michael Niedermayer
93f80cf2cc Merge commit '1ab4578c88dc3e1407da15471bd323ba40c3ebbb' into release/1.1
* commit '1ab4578c88dc3e1407da15471bd323ba40c3ebbb':
  lavc: Fix assignments in if() when calling ff_af_queue_add
  wav: Always seek to an even offset
  swscale: Use alpha from the right row in yuva2rgba_c
  Prepare for 9.6 Release

Conflicts:
	RELEASE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 14:31:59 +02:00
Michael Niedermayer
204c8798a8 Merge commit '0662967d2bbdbe90540eaa8c847f521fa4b75aab' into release/1.1
* commit '0662967d2bbdbe90540eaa8c847f521fa4b75aab':
  hls, segment: fix splitting for audio-only streams.
  afifo: fix request_samples on the last frame in certain cases
  id3v2: check for end of file while unescaping tags
  indeo3: fix off by one in MV validity check

Conflicts:
	libavformat/id3v2.c
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 14:25:50 +02:00
Michael Niedermayer
9767d7513c Merge commit '46fd6e4f2ebbcd5a00847cdb05fe416466d06d37' into release/1.1
* commit '46fd6e4f2ebbcd5a00847cdb05fe416466d06d37':
  aac: check the maximum number of channels
  update Changelog
  riff: check for eof if chunk size and code are 0
  oggdec: fix faulty cleanup prototype

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 14:11:03 +02:00
Michael Niedermayer
d2b9da2f37 Merge commit 'c8462bd17f35f435192281a2ea4ce8008a7398d3' into release/1.1
* commit 'c8462bd17f35f435192281a2ea4ce8008a7398d3':
  mp3dec: fallback to generic seeking when a TOC is not present
  svq1dec: clip motion vectors to the frame size.
  svq1dec: check that the reference frame has the same dimensions as the current one
  qdm2: check that the FFT size is a power of 2

Conflicts:
	libavcodec/svq1dec.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 13:55:06 +02:00
Michael Niedermayer
395538e073 Merge commit '95db1624ef98ccc4ba7ff70d50c4b4d0f8ffed54' into release/1.1
* commit '95db1624ef98ccc4ba7ff70d50c4b4d0f8ffed54':
  indeo3: switch parsing the header to bytestream2
  indeo3: check motion vectors.
  rv10: check that extradata is large enough
  indeo3: fix data size check

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 13:44:08 +02:00
Michael Niedermayer
a367ab657f Merge commit '8f558c3e101859aec9adcb4b4b270ae1ef8f88b5' into release/1.1
* commit '8f558c3e101859aec9adcb4b4b270ae1ef8f88b5':
  af_channelmap: sanity check input channel indices in all cases.
  id3v2: pad the APIC packets as required by lavc.
  lavf: make sure stream probe data gets freed.
  dfa: check for invalid access in decode_wdlt().

Conflicts:
	libavformat/id3v2.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 13:35:30 +02:00
Michael Niedermayer
63235b8d41 Merge commit '858864d350320dd807e349bda017026e61a47fe0' into release/1.1
* commit '858864d350320dd807e349bda017026e61a47fe0':
  xmv: check audio track parameters validity.
  bmv: check for len being valid in bmv_decode_frame().
  xmv: do not leak memory in the error paths in xmv_read_header()
  matroska: pass the lace size to the matroska_parse_rm_audio

Conflicts:
	libavformat/matroskadec.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 13:19:54 +02:00
Michael Niedermayer
5353bd0285 Merge commit 'b90816d94b0b5c01f451ff98cfbf1d5ddec9c3c1' into release/1.1
* commit 'b90816d94b0b5c01f451ff98cfbf1d5ddec9c3c1':
  matroska: Update the available size after lace parsing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 13:09:24 +02:00
Michael Niedermayer
065996b984 Merge commit '05015d03da1d745bb92915b5cea92dec16af719f' into release/1.1
* commit '05015d03da1d745bb92915b5cea92dec16af719f':
  matroska: fix a corner case in ebml-lace parsing
  avfiltergraph: check for sws opts being non-NULL before using them.
  configure: Enable hwaccels without external dependencies by default.
  oma: Validate sample rates

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/graphparser.c
	libavformat/oma.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 12:49:36 +02:00
Michael Niedermayer
1ace588f4a Merge commit 'fc6825ebb6585138e8ee2bb3484a04542c5d8b6a' into release/1.1
* commit 'fc6825ebb6585138e8ee2bb3484a04542c5d8b6a':
  vp8: Fix pthread_cond and pthread_mutex leaks
  configure: Refactor dxva2api.h dependency declarations
  flvdec: read audio sample size and channels metadata
  flvdec: use the correct audio codec id when parsing metadata

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 12:41:03 +02:00
Michael Niedermayer
50a3442120 Merge commit '2e06758479650f6e2a8820c7105f2d193a701175' into release/1.1
* commit '2e06758479650f6e2a8820c7105f2d193a701175':
  Prepare for 9.5 Release
  update Changelog
  add missed CVE reference in 9.2 release
  fate: fetch samples that match the release series

Conflicts:
	Changelog
	RELEASE
	tests/Makefile

The rsync change is not merged
We need to maintain the ability to checkout and test old revissions
from master. This implies that the default sample repository has the
needed samples for both older and newer revissions. Thus there is no
need for a seperate one for each release.
Comments & Suggestions of course welcome

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 12:13:09 +02:00
Michael Niedermayer
008ae91bcc Merge commit '31a77177ff323ef83944c60a8654891213ab6691' into release/1.1
* commit '31a77177ff323ef83944c60a8654891213ab6691':
  iff: validate CMAP palette size

Conflicts:
	libavformat/iff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 11:21:41 +02:00
Reinhard Tartler
d2d38531d6 update Changelog 2013-05-11 12:00:54 +02:00
Anton Khirnov
600bc1deba af_asyncts: fix offset calculation
delta is in samples, not bytes. Also the sample format is not guaranteed
to be planar.

CC:libav-stable@libav.org
(cherry picked from commit 16a4a18db0)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-05-11 12:00:54 +02:00
Luca Barbato
77a2f4cbcf oma: properly forward errors in oma_read_packet
Prevent spurios EIO on EOF.

CC:libav-stable@libav.org
(cherry picked from commit db9aee6ccf)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-05-11 12:00:54 +02:00
Anton Khirnov
7f8b55b560 indeo3: use unaligned reads on reference blocks.
They are not guaranteed to be aligned.
Fixes Bug 503.

CC:libav-stable@libav.org
(cherry picked from commit a97d8cc16e)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-05-11 12:00:54 +02:00
Michael Niedermayer
1ab4578c88 lavc: Fix assignments in if() when calling ff_af_queue_add
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 1d7ffd06e4)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-08 19:05:21 +02:00
Luca Barbato
52ab9e8984 wav: Always seek to an even offset
RIFF chunks are aligned to 16bit according to the specification.

Bug-Id:500
CC:libav-stable@libav.org
(cherry picked from commit ac87eaf856)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-05-07 21:32:09 +02:00
Reimar Döffinger
2922ab7e6f matroska: set "done" only during resync fail.
Fixes playback of test7.mkv validation test file.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
(cherry picked from commit 762d4335ae)
2013-05-07 10:55:11 +02:00
Martin Storsjö
5772cbb343 swscale: Use alpha from the right row in yuva2rgba_c
Every other pixel had the alpha channel taken from the wrong
row.

This fixes bug 504.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 6e293d111f)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-06 17:44:24 +03:00
Carl Eugen Hoyos
46e1d05991 Fix type of shared flac table ff_flac_blocksize_table[].
Fixes ticket #2533.
(cherry picked from commit a07ac1f788)
2013-05-05 20:39:53 +02:00
Reinhard Tartler
a6f7fc8f3b Prepare for 9.6 Release 2013-05-04 10:54:29 +02:00
Anton Khirnov
0662967d2b hls, segment: fix splitting for audio-only streams.
CC:libav-stable@libav.org
(cherry picked from commit cf679b9476)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-05-04 10:53:18 +02:00
Anton Khirnov
ddeb6eeeb1 afifo: fix request_samples on the last frame in certain cases
The current code can fail to return the last frame if it contains
exactly the requested number of samples.

Fixes the join filter test, which previously did not include the last
408 samples in most cases.

CC:libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
(cherry picked from commit 9bfc6e02ba)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>

Conflicts:
	libavfilter/fifo.c
	tests/fate/filter-audio.mak
2013-05-04 10:44:51 +02:00
Luca Barbato
5aac081110 id3v2: check for end of file while unescaping tags
Prevent an out of buffer bound write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit af4cc2605c)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-03 19:22:07 +02:00
Anton Khirnov
d8745de6ae indeo3: fix off by one in MV validity check
CC:libav-stable@libav.org
(cherry picked from commit 95220be1fa)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-03 19:21:45 +02:00
Luca Barbato
46fd6e4f2e aac: check the maximum number of channels
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.

CC:libav-stable@libav.org
(cherry picked from commit a943a132f3)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-28 00:43:43 +02:00
Reinhard Tartler
6cad940989 update Changelog 2013-04-21 22:46:41 +02:00
Luca Barbato
c046890191 riff: check for eof if chunk size and code are 0
Prevent an infinite loop.

Inspired by a patch from Michael Niedermayer

CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
(cherry picked from commit 8e329dba37)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-21 22:46:41 +02:00
Luca Barbato
d70bad04de oggdec: fix faulty cleanup prototype
(cherry picked from commit fba8e5b608)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-21 18:51:25 +02:00
Michael Niedermayer
c8462bd17f mp3dec: fallback to generic seeking when a TOC is not present
Fixes seeking without a Xing/Info header.

CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 505642f182)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-19 20:26:56 +02:00
Anton Khirnov
a3410b5a1f svq1dec: clip motion vectors to the frame size.
Fixes invalid reads for corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit ecff5acb5a)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-18 22:06:09 +02:00
Anton Khirnov
43039f9386 svq1dec: check that the reference frame has the same dimensions as the current one
They can be different if the last keyframe failed to decode correctly.
Fixes possible invalid reads in such a case.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit b1bb8fb860)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-18 22:05:55 +02:00
Anton Khirnov
d0c4d61c8b qdm2: check that the FFT size is a power of 2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit 34f87a5853)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-18 22:05:20 +02:00
Anton Khirnov
95db1624ef indeo3: switch parsing the header to bytestream2
Also add an additional sanity check to the alt_quant table.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit 66531d634e)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-18 22:05:09 +02:00
Anton Khirnov
b0b33ce148 indeo3: check motion vectors.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit a0a872d073)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-18 22:04:53 +02:00
Anton Khirnov
fa4192e31f rv10: check that extradata is large enough
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org

(cherry picked from commit 01d376f598)

Conflicts:

	libavcodec/rv10.c
2013-04-18 22:03:32 +02:00
Anton Khirnov
4c412580fd indeo3: fix data size check
The data offsets are relative to the bistream header, which is 16 bytes
after the start of the data.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit 34e6af9e20)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-18 22:01:24 +02:00
Anton Khirnov
8f558c3e10 af_channelmap: sanity check input channel indices in all cases.
Fixes invalid reads from non-existing channels.

CC:libav-stable@libav.org
(cherry picked from commit aafed1175d)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-18 21:59:28 +02:00
Anton Khirnov
5ebdfbe893 id3v2: pad the APIC packets as required by lavc.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-08 22:25:27 +02:00
Anton Khirnov
094a35aeef lavf: make sure stream probe data gets freed.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit dbb1425811)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:48:10 +02:00
Anton Khirnov
62f9253781 dfa: check for invalid access in decode_wdlt().
This can happen when the number of skipped lines is not consistent with
the number of coded lines.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit 3623589edc)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:47:56 +02:00
Anton Khirnov
858864d350 xmv: check audio track parameters validity.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit d1016dccdc)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:47:41 +02:00
Anton Khirnov
ba31b72f46 bmv: check for len being valid in bmv_decode_frame().
It can be 0 or -1 for invalid files, which may result in invalid memory
access.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit b88f902125)

Conflicts:

	libavcodec/bmv.c
2013-04-06 11:47:01 +02:00
Anton Khirnov
7594868296 xmv: do not leak memory in the error paths in xmv_read_header()
CC: libav-stable@libav.org
(cherry picked from commit f8080bd13b)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:40:20 +02:00
Luca Barbato
09e391abd8 matroska: pass the lace size to the matroska_parse_rm_audio
Each lace must be independent according to the specification.

Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

Stricter check than fc43c19a56

CC: libav-stable@libav.org
(cherry picked from commit 25a80a931a)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:40:05 +02:00
Dale Curtis
b90816d94b matroska: Update the available size after lace parsing
Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit fc43c19a56)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:39:39 +02:00
Luca Barbato
05015d03da matroska: fix a corner case in ebml-lace parsing
Make sure we notice when the lace_size[n] is a negative value.

CC: libav-stable@libav.org
(cherry picked from commit 8a96df7b70)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:39:28 +02:00
Anton Khirnov
34ecaf6e88 avfiltergraph: check for sws opts being non-NULL before using them.
Avoid snprintfing a NULL pointer.

CC: libav-stable@libav.org
(cherry picked from commit 6e3c13a559)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-04-06 11:39:11 +02:00
Carl Eugen Hoyos
bb46240cbb Skip padding in an id3 tag in aiff files.
Fixes ticket #2430.

Reviewed-by: Matthieu Bouron
(cherry picked from commit db2d3a9082)
2013-04-03 23:24:23 +02:00
Paul B Mahol
5ee539f69d smacker: fix off by one error
Regression since a93b572ae4.

Fixes #2426.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit e3cc92a623)
2013-04-03 15:17:11 +02:00
Carl Eugen Hoyos
8ba3198549 Write broken aac frames to mov files instead of skipping them.
Fixes decoding with picky media players.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b448c0a68d)
2013-04-02 12:50:16 +02:00
Diego Biurrun
8355383802 configure: Enable hwaccels without external dependencies by default.
(cherry picked from commit 2e2ec66741)

This is a fixup for f074618 to reenable auto-detection of dxva in the
build environment.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-31 18:08:19 +02:00
Luca Barbato
c0f7df9662 oma: Validate sample rates
The sample rate index is 3 bits even if currently index 5, 6 and 7 are
not supported.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit 0933fd1533)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-31 18:07:31 +02:00
Matt Wolenetz
fc6825ebb6 vp8: Fix pthread_cond and pthread_mutex leaks
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 1d6e618939)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-31 10:38:22 +02:00
Diego Biurrun
f074618a9f configure: Refactor dxva2api.h dependency declarations
(cherry picked from commit 215cdd35ef)

Fixes Bug: #482
2013-03-31 10:38:22 +02:00
Justin Ruggles
c6dce25967 flvdec: read audio sample size and channels metadata
This is needed in order for the FLV demuxer not to detect a codec change when
using the "flv_metadata" option.
(cherry picked from commit e46a2a7309)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-31 10:38:22 +02:00
Justin Ruggles
aba56c03b9 flvdec: use the correct audio codec id when parsing metadata
(cherry picked from commit c3d0157753)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-31 10:38:20 +02:00
Reinhard Tartler
2e06758479 Prepare for 9.5 Release 2013-03-31 10:38:19 +02:00
Carl Eugen Hoyos
fc7071cb53 Only test the first frame for missing aac_adtstoasc bistream filter.
Many players ignore broken aac frames, so don't abort mov or flv
muxing when encountering one, just print a warning instead.

Fixes ticket #2380.
(cherry picked from commit 1741fece70)
2013-03-27 00:52:39 +01:00
Reinhard Tartler
2dfe3a7b4d update Changelog 2013-03-23 14:45:10 +01:00
Reinhard Tartler
9d5f16f6fe add missed CVE reference in 9.2 release 2013-03-23 14:45:10 +01:00
Reinhard Tartler
dc794d7096 fate: fetch samples that match the release series
The idea is to ensure that 'make fate-rsync' always fetches the fate
samples that work with this release.
2013-03-23 14:45:01 +01:00
Kostya Shishkov
31a77177ff iff: validate CMAP palette size
Fixes CVE-2013-2495

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
(cherry picked from commit 50c449ac24)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-18 20:23:37 +01:00
Michael Niedermayer
9b0d0fd3c4 MAINTAINERS: mention that people are welcome to pick up and maintain older releases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7e1efeb570)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 03:35:47 +01:00
Michael Niedermayer
9925dca119 MAINTAINERS: update for 1.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 80f91a70be)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 03:35:36 +01:00
Michael Niedermayer
3d5323a351 dnxhddec: return the correct number of bytes from decode_frame
Fixes Ticket2022

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dae38a66eb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 03:34:25 +01:00
ArnoB
69659389a3 dpxenc: fix data offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 361319d0f4)

Conflicts:

	tests/ref/lavf/dpx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 03:27:33 +01:00
Michael Niedermayer
731902bd19 rmdec: flush audio packet on seeking
Fixes Ticket1605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 519ebb5ee5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 03:17:28 +01:00
Michael Niedermayer
85a685ac0a Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  hqdn3d: Fix out of array read in LOWPASS
  vf_gradfun: fix uninitialized variable use

Conflicts:
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 03:11:58 +01:00
Michael Niedermayer
bd593a98dc Merge commit 'c50241080d7599c90fc8b4e74c5f8d62a4caae52' into release/1.1
* commit 'c50241080d7599c90fc8b4e74c5f8d62a4caae52':
  vf_hqdn3d: fix uninitialized variable use
  lzo: fix overflow checking in copy_backptr()
  flacdec: simplify bounds checking in flac_probe()
  atrac3: avoid oversized shifting in decode_bytes()
  shorten: use the unsigned type where needed
  shorten: report meaningful errors
  shorten: K&R formatting cosmetics
  shorten: set invalid channels count to 0

Conflicts:
	libavcodec/shorten.c
	libavformat/flacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 03:05:36 +01:00
Carl Eugen Hoyos
6f787aa79b Do not (re-)set libx264 parameter b_tff if interlaced encoding was not requested.
Reconfiguring can break x264 lossless encoding.

Fixes ticket #2165.
(cherry picked from commit 75c7e4583f)
2013-03-18 02:13:34 +01:00
Loren Merritt
1e7f825a9b hqdn3d: Fix out of array read in LOWPASS
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 5b3c1aecb2)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-16 07:58:07 +01:00
Anton Khirnov
c50241080d vf_hqdn3d: fix uninitialized variable use
CC:libav-stable@libav.org
(cherry picked from commit d0a863ac89)

Conflicts:

	libavfilter/vf_hqdn3d.c
2013-03-16 07:58:07 +01:00
Anton Khirnov
a0361a6c30 vf_gradfun: fix uninitialized variable use
CC:libav-stable@libav.org
(cherry picked from commit 887d31d455)

Conflicts:

	libavfilter/vf_gradfun.c
2013-03-16 07:58:07 +01:00
Xi Wang
22c27e1f4a lzo: fix overflow checking in copy_backptr()
The check `src > dst' in the form `&c->out[-back] > c->out' invokes
pointer overflow, which is undefined behavior in C.

Remove the check.  Also replace `&c->out[-back] < c->out_start' with
a safe form `c->out - c->out_start < back' to avoid overflow.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

(cherry picked from commit ca6c3f2c53)
2013-03-15 13:21:15 +01:00
Xi Wang
9d4355d90a flacdec: simplify bounds checking in flac_probe()
Simplify `p->buf > p->buf + p->buf_size - 4' as `p->buf_size < 4'.
Avoid a possible out-of-bounds pointer, which is undefined behavior
in C.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

(cherry picked from commit 8425d693ee)
2013-03-15 13:21:07 +01:00
Xi Wang
0b0e87bb54 atrac3: avoid oversized shifting in decode_bytes()
When `off' is 0, `0x537F6103 << 32' in the following expression invokes
undefined behavior, the result of which is not necessarily 0.

    (0x537F6103 >> (off * 8)) | (0x537F6103 << (32 - (off * 8)))

Avoid oversized shifting.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

(cherry picked from commit eba1ff3130)
2013-03-15 13:20:55 +01:00
Michael Niedermayer
4fb6fa477e update for 1.1.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 17:39:57 +01:00
Michael Niedermayer
c8557235fd jpegdec: be less picky on padding
Fixes Ticket2353

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3c24fbbf65)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 17:37:19 +01:00
Michael Niedermayer
f719e6566c iff: fix integer overflow
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3dbc0ff9c3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 04:59:03 +01:00
Michael Niedermayer
b9a1efa6f4 msrledec: fix output_end checks
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e398990eb8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 04:58:54 +01:00
Michael Niedermayer
3ee967c1d8 msrledec: merge switches
More speedup and fixes 'may be used uninitialized in this function' warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d2e0a276d5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 04:58:01 +01:00
Michael Niedermayer
e44f89371c msrledec: move loop into switch
speeds up code and allows more simplifications

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dbaae33c2c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 04:57:44 +01:00
Michael Niedermayer
e586e4d93b msrledec: move output pointer test up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c2992b7053)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 04:57:36 +01:00
Michael Niedermayer
f156dc54f8 mpegaudio_parser: fix off by 1 error
See:
commit 29d8cd265a
Author: Alexander Kojevnikov <alexander@kojevnikov.com>
Date:   Tue Feb 26 21:47:11 2013 -0800

    mp3dec: Fix VBR bit rate parsing

    When parsing the Xing/Info tag, don't set the bit rate if it's an Info tag.

    When parsing the stream, don't override the bit rate if it's already set,
    otherwise calculate the mean bit rate from parsed frames. This way, the bit
    rate will be set correctly both for CBR and VBR streams.

    Signed-off-by: Alexander Kojevnikov <alexander@kojevnikov.com>
    Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 04:42:08 +01:00
Michael Niedermayer
685f50b374 Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  eamad: allocate a dummy reference frame when the real one is missing
  libmp3lame: use the correct remaining buffer size when flushing
  png: use av_mallocz_array() for the zlib zalloc function
  wmaprodec: require block_align to be set.
  ffv1: fix calculating slice dimensions for version 2
  xxan: fix invalid memory access in xan_decode_frame_type0()
  wmadec: require block_align to be set.
  ivi_common: do not call MC for intra frames when dc_transform is unset

Conflicts:
	libavcodec/ffv1dec.c
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 04:27:35 +01:00
Michael Niedermayer
6086a4d74d Merge commit '747fbe0c212b81952bb27ec7b99fa709081e2d63' into release/1.1
* commit '747fbe0c212b81952bb27ec7b99fa709081e2d63':
  roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
  mp3dec: Fix VBR bit rate parsing
  wmaprodec: return an error, not 0, when the input is too small.
  vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
  h264: check for luma and chroma bit dept being equal
  Prepare for 9.4 Release

Conflicts:
	RELEASE
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 02:49:31 +01:00
Luca Barbato
88089eecfd shorten: use the unsigned type where needed
get_uint returns an unsigned value, use an unsigned to store
blocksize to make sure the comparison logic is correct and report
correctly the error for the channel count not supported.

CC: libav-stable@libav.org

(cherry picked from commit 5cf7c72757)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 13:37:10 +01:00
Luca Barbato
0daf1428e8 shorten: report meaningful errors
(cherry picked from commit 4c364eb2b8)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 13:37:10 +01:00
Luca Barbato
97cc2f286f shorten: K&R formatting cosmetics
(cherry picked from commit a2ad554def)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 13:37:10 +01:00
Michael Niedermayer
21d568be17 shorten: set invalid channels count to 0
Prevent the loop shorten_decode_close from writing and freeing out of
the array boundary.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org

(cherry picked from commit c10da30d84)
2013-03-12 13:36:50 +01:00
Michael Niedermayer
d84c51904c mpegts: clear avprograms only for removed programs
Fixes Ticket2186

Requested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 806a66fd08)
2013-03-10 10:06:09 +01:00
Anton Khirnov
0cb3cab343 eamad: allocate a dummy reference frame when the real one is missing
Fixes invalid reads when the first frame is not an I-frame.

CC:libav-stable@libav.org
(cherry picked from commit 7b89cd20d8)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-09 19:05:42 +01:00
Justin Ruggles
b77d9cbbd5 libmp3lame: use the correct remaining buffer size when flushing
CC:libav-stable@libav.org
(cherry picked from commit e984f47873)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:10:16 +01:00
Justin Ruggles
905f5c8a1e png: use av_mallocz_array() for the zlib zalloc function
Fixes valgrind uninitialized memory errors when decoding png.

CC:libav-stable@libav.org
(cherry picked from commit 486f0b0cfc)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:10:16 +01:00
Anton Khirnov
20373a66ec wmaprodec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.

CC:libav-stable@libav.org
(cherry picked from commit cacad1c058)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:10:16 +01:00
Anton Khirnov
d48da91373 ffv1: fix calculating slice dimensions for version 2
It got broken in 0f13cd3187.

CC:libav-stable@libav.org
(cherry picked from commit d243896987)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:10:16 +01:00
Anton Khirnov
62a657de16 xxan: fix invalid memory access in xan_decode_frame_type0()
The loop a few lines below the xan_unpack() call accesses up to
dec_size * 2 bytes into y_buffer, so dec_size must be limited to
buffer_size / 2.

CC:libav-stable@libav.org
(cherry picked from commit 8a49d2bcbe)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:10:16 +01:00
Anton Khirnov
747fbe0c21 roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
When there is just 1 byte remanining in the buffer, nothing will be read
and the loop will continue forever. Check that there are at least 8
bytes, which are always read at the beginning.

CC:libav-stable@libav.org
(cherry picked from commit 3e2f200237)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:01:09 +01:00
Anton Khirnov
c1f479e8df wmadec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.

CC:libav-stable@libav.org
(cherry picked from commit ea1136baaf)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:01:09 +01:00
Alexander Kojevnikov
d3b40af01f mp3dec: Fix VBR bit rate parsing
When parsing the Xing/Info tag, don't set the bit rate if it's an Info tag.

When parsing the stream, don't override the bit rate if it's already set,
otherwise calculate the mean bit rate from parsed frames. This way, the bit
rate will be set correctly both for CBR and VBR streams.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit eae0879d96)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:01:09 +01:00
Anton Khirnov
74880e78d8 ivi_common: do not call MC for intra frames when dc_transform is unset
CC:libav-stable@libav.org
(cherry picked from commit 3ba40ebb6c)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:01:09 +01:00
Anton Khirnov
60dd8b5733 wmaprodec: return an error, not 0, when the input is too small.
Returning 0 may result in an infinite loop in valid calling programs. A
decoder should never return 0 without producing any output.

CC:libav-stable@libav.org
(cherry picked from commit 4c0080b7e7)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:01:09 +01:00
Anton Khirnov
77cf052e39 vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
CC:libav-stable@libav.org
(cherry picked from commit f86d66bcfa)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-09 18:01:09 +01:00
Luca Barbato
146eac0a0c h264: check for luma and chroma bit dept being equal
The decoder assumes a single bit depth for all the planes
while the specification allows different bit depths for luma
and chroma.

Avoid the possible problems described in CVE-2013-2277

CC: libav-stable@libav.org
(cherry picked from commit 4987faee78)

Conflicts:

	libavcodec/h264.c
2013-03-09 18:01:09 +01:00
Reinhard Tartler
4852b3aabd Prepare for 9.4 Release 2013-03-09 18:01:05 +01:00
Michael Niedermayer
41313bdcc5 aacsbr: Check for envelope scalefactors overflowing
This prevents various values from becoming stuck at NAN and
output to become silent
If someone knows a cleaner solution, thats welcome!

Fixes Ticket2335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8978c743fb)
2013-03-08 20:03:42 +01:00
Michael Niedermayer
088ba9bc3e psymodel: dont apply lowpass filters with a cutoff close to the nyquist
The IIR filter numerically diverges in such cases, this could easily be
fixed but would make the filter slower on some platforms

Fixes Ticket2246

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fee5da6b0a)
2013-03-07 19:58:05 +01:00
Michael Niedermayer
b642e45d8c avformat: Fix apics with aac
Fixes Ticket2318

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cada996528)
2013-03-07 14:57:09 +01:00
Michael Niedermayer
a8fc0bb608 hls: fix timebase
Fixes Ticket1733

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a12a618aa9)
2013-03-07 14:56:57 +01:00
Michael Niedermayer
7c8beec48c buildsys: only include log2_tab per library for shared builds
Fix linking failures with -all_load due to multiple log2_tabs

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
(cherry picked from commit 03148fd174)
2013-03-05 01:17:55 +01:00
Michael Niedermayer
992957ac30 Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  update Changelog
  h264: set ref_count to 0 for intra slices.
  h264: on reference overflow, reset the reference count to 0, not 1.
  flvdec: Check the return value of a malloc

Conflicts:
	Changelog
	libavcodec/h264.c
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 12:15:14 +01:00
Michael Niedermayer
b3c8fd1f0e Merge commit '1b0082eabcc98e079d33c61da4d30ded89de68a9' into release/1.1
* commit '1b0082eabcc98e079d33c61da4d30ded89de68a9':
  flvdec: Don't read the VP6 header byte when setting codec type based on metadata
  vorbisdec: Accept 0 amplitude_bits
  vorbisdec: Error on bark_map_size equal to 0.
  vorbisdec: Add missing checks
  ac3dec: validate channel output mode against channel count

Conflicts:
	libavcodec/ac3dec.c
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 11:56:42 +01:00
Michael Niedermayer
7327505883 rtmpproto: Check APP_MAX_LENGTH
Fixes Ticket2292

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 02ac3398eb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-03 11:53:29 +01:00
Reinhard Tartler
a3b3096772 update Changelog 2013-03-02 11:27:05 +01:00
Anton Khirnov
704952fee5 h264: set ref_count to 0 for intra slices.
CC:libav-stable@libav.org
(cherry picked from commit 437211ae73)

Fixes deadlocks waiting for non-existing references with some fuzzed files.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-02 11:20:59 +01:00
Anton Khirnov
b6f5a1ca58 h264: on reference overflow, reset the reference count to 0, not 1.
Since decode_slice_header() returns before the reference lists are
constructed, there are zero valid references.

CC:libav-stable@libav.org
(cherry picked from commit 668e16a0dd)

Conflicts:

	libavcodec/h264.c
2013-03-02 11:20:59 +01:00
Martin Storsjö
efa8603518 flvdec: Check the return value of a malloc
The callers of this function can't report errors sanely. If this
one malloc fails, don't write the extradata byte, make sure we
try to malloc it the next time we're called instead, and make sure
we still consume the input data byte.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit c5a738ca4e)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-02 09:55:33 +01:00
Martin Storsjö
1b0082eabc flvdec: Don't read the VP6 header byte when setting codec type based on metadata
This header byte is only present when actually reading a VP6 frame,
not when reading the codec type field in the metadata. This
potential bug has been present since 5b54a90c.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit c91c63b538)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-03-02 09:55:21 +01:00
Carl Eugen Hoyos
78dbb1a7e1 Require at least three frames to autodetect loas.
(cherry picked from commit a60530e3ee)
2013-03-02 02:04:55 +01:00
Nicolas George
4f3f2fe14b lavf/avio: check for : in filenames for protocols.
If the first "special" character in a filename is a comma,
it can introduce protocol options, but only if there is a
colon at the end. Otherwise, it is just a filename with a
comma.

Fix trac ticket #2303.
(cherry picked from commit d9fad53f4b)
2013-03-01 08:52:59 +01:00
Michael Niedermayer
cdbaaa4f00 doc/ffmpeg: remove non ascii char
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 16:16:04 +01:00
David Favor
d4d1f32e48 Slight bug building ffmpeg-1.1.3 on OSX + patch to fix
Two instances of non-ascii characters have crept into file
doc/filters.texi which causes pod2man to error out and
break the build.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-27 16:16:03 +01:00
Luca Barbato
c6c4dc6935 vorbisdec: Accept 0 amplitude_bits
The specification does not prevent an encoder to write the amplitude 0
as 0 amplitude_bits.

Our get_bits() implementation might not support a zero sized read
properly, thus the additional branch.
(cherry picked from commit 23bd9ef4b2)

Conflicts:

	libavcodec/vorbisdec.c
2013-02-26 20:21:01 +01:00
Michael Niedermayer
494ddd377a vorbisdec: Error on bark_map_size equal to 0.
The value is used to calculate output LSP curve and a division by zero
and out of array accesses would occur.

CVE-2013-0894

CC: libav-stable@libav.org

Reported-by: Dale Curtis <dalecurtis@chromium.org>
Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 11dcecfcca)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-26 20:21:01 +01:00
Luca Barbato
37e99e384e vorbisdec: Add missing checks
Rate and order must not be 0 even if the specification does not say that
explicitly.
(cherry picked from commit 5b47c19bfd)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-26 20:21:01 +01:00
Justin Ruggles
73d6f4651e ac3dec: validate channel output mode against channel count
Damaged frames can lead to a mismatch, which can cause a segfault
due to using an incorrect channel mapping.

CC:libav-stable@libav.org
(cherry picked from commit d7c450436f)

Conflicts:

	libavcodec/ac3dec.c
2013-02-26 20:21:01 +01:00
Michael Niedermayer
50ebb524cd doc/APIchanges: List merge commit hashes and version numbers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 03:39:44 +01:00
Michael Niedermayer
98e96652f1 apichanges: fix 2 wrong hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2f3bc51228)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 03:39:44 +01:00
Michael Niedermayer
4bde8c1369 apichanges: Use , instead of / to seperate multiple hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 33d6330652)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 03:39:44 +01:00
Michael Niedermayer
ece16d91ee apichanges: fix date
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ad6802f975)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 03:39:44 +01:00
Michael Niedermayer
3348e66e2e doc/APIchanges: fix odd .01 versions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9f16cb9e50)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 03:39:44 +01:00
Michael Niedermayer
6e8ed38fab aac: reconfigure output on pop
Fixes Ticket1918

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6f77122bf5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 03:39:44 +01:00
Michael Niedermayer
f64e4a8c9a Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  doc: developer: Allow tabs in the vim configuration for Automake files
  doc: filters: Correct BNF FILTER description
  Prepare for 9.3 Release
  update Changelog
  cavs: initialize various context tables to 0
  4xm: check the return value of read_huffman_tables().
  qtrle: add more checks against pixel_ptr being negative.
  mlpdec: do not try to allocate a zero-sized output buffer.
  av_memcpy_backptr: avoid an infinite loop for back = 0
  flicvideo: avoid an infinite loop in byte run compression
  lagarith: avoid infinite loop in lag_rac_refill()
  mov: use the format context for logging.
  loco: check that there is data left after decoding a plane.
  update Changelog
  x86: h264: Don't use redzone in AVX h264_deblock on Win64

Conflicts:
	Changelog
	RELEASE
	libavcodec/4xm.c
	libavcodec/loco.c
	libavcodec/qtrle.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 03:09:41 +01:00
James Almer
d92a7870d7 lavc/bink: Chech for malloc failure
Based on commit 8ab2173ed1
2013-02-25 05:53:20 -03:00
James Almer
5fb5ac7148 doc/Makefile: Fix make docclean
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4f8b73129b)
2013-02-25 05:52:17 -03:00
James Almer
8d3bc52acd latmenc: Check for LOAS sync word
Write the packet unaltered if found.

Fixes ticket #1917

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b454c64e03)
2013-02-25 05:52:16 -03:00
Diego Biurrun
dc745b76aa doc: developer: Allow tabs in the vim configuration for Automake files
While we do not use Automake in libav, this allows our config to be
used more globally without introducing unwanted breakage.
(cherry picked from commit 040c565e51)

Conflicts:

	doc/developer.texi
2013-02-24 18:42:02 +01:00
Vicente Jimenez Aguilar
b6ae41e7f4 doc: filters: Correct BNF FILTER description
Signed-off-by: Diego Biurrun <diego@biurrun.de>
(cherry picked from commit b5ad422bf4)
2013-02-24 18:42:02 +01:00
Reinhard Tartler
670128ff13 Prepare for 9.3 Release 2013-02-24 09:29:17 +01:00
Michael Niedermayer
1f9073f41b vf_mp: Set pseudo pal
Fixes ticket2140
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 73fce258b7)
2013-02-23 22:18:38 +01:00
Reinhard Tartler
a991c0673f update Changelog 2013-02-23 14:49:16 +01:00
Anton Khirnov
77493bfd97 cavs: initialize various context tables to 0
Avoids crashes with corrupted files.

CC:libav-stable@libav.org
(cherry picked from commit 4f3b058c84)

Conflicts:

	libavcodec/cavs.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:46:54 +01:00
Anton Khirnov
bb3f1cad17 4xm: check the return value of read_huffman_tables().
CC:libav-stable@libav.org
(cherry picked from commit 8097fc9a2d)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:41:24 +01:00
Anton Khirnov
a6403a3b69 qtrle: add more checks against pixel_ptr being negative.
CC:libav-stable@libav.org
(cherry picked from commit e106592447)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:41:10 +01:00
Anton Khirnov
e2cf32ca5f mlpdec: do not try to allocate a zero-sized output buffer.
CC:libav-stable@libav.org
(cherry picked from commit 0dff40bfb9)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:40:48 +01:00
Anton Khirnov
48fd461977 av_memcpy_backptr: avoid an infinite loop for back = 0
CC:libav-stable@libav.org
(cherry picked from commit f935aca44c)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:40:30 +01:00
Anton Khirnov
612b28194b flicvideo: avoid an infinite loop in byte run compression
When byte_run is 0, pixel_countdown is not touched and the loop will run
forever.

CC:libav-stable@libav.org
(cherry picked from commit ddfe1246d9)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:40:13 +01:00
Anton Khirnov
8bce2c60b8 lagarith: avoid infinite loop in lag_rac_refill()
range == 0 happens with corrupted files

CC:libav-stable@libav.org
(cherry picked from commit de6dfa2bb8)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:40:04 +01:00
Anton Khirnov
488ffb8135 mov: use the format context for logging.
CC:libav-stable@libav.org
(cherry picked from commit 56daf10e03)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:39:52 +01:00
Anton Khirnov
b786ddc0f2 loco: check that there is data left after decoding a plane.
CC:libav-stable@libav.org
(cherry picked from commit 067432c1c9)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-23 14:39:19 +01:00
Reinhard Tartler
88ae77cea4 update Changelog 2013-02-23 08:15:10 +01:00
Matt Wolenetz
5bed920971 Fix Win64 AVX h264_deblock by not using redzone on Win64
Thanks-to: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 82a4a4e7ca)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-23 01:47:05 +01:00
Michael Niedermayer
705e89d75f update for 1.1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 22:53:53 +01:00
Andrea3000
ef688e7425 matroska: fix missing ,
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8d8c59480e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 22:53:11 +01:00
Michael Niedermayer
02d1efdd5b h264: check that luma and chroma depth match
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bdeb61ccc6)

Conflicts:

	libavcodec/h264_ps.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 22:53:11 +01:00
Michael Niedermayer
469cb61193 avcodec_decode_audio4: check got_frame_ptr before handling initial skip
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8a6449167a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 22:53:11 +01:00
Michael Niedermayer
a642be972d h264: ensure that get_format() is called when changing format but not otherwise.
Fixes Ticket2288

Tested-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 04220b473e)

Conflicts:

	libavcodec/h264.c
2013-02-22 22:53:11 +01:00
Matt Wolenetz
bc9d341be8 x86: h264: Don't use redzone in AVX h264_deblock on Win64
This fixes crashes in chromium on win64 on machines with AVX
(crashes that apparently aren't triggered by fate).

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 311443f6c7)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-22 23:48:35 +02:00
Michael Niedermayer
80ddf7889e Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  doc: Fix some obsolete references to av* tools as ff* tools
  vqavideo: check chunk sizes before reading chunks
  roqvideodec: check dimensions validity
  qdm2: check array index before use, fix out of array accesses
  mpegvideo: Do REBASE_PICTURE with byte pointers

Conflicts:
	libavcodec/qdm2.c
	libavcodec/roqvideodec.c
	libavcodec/vqavideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-22 22:44:15 +01:00
Carl Eugen Hoyos
4be63111d1 Fix bits_per_coded_sample when encoding png with frame-level multithreading.
Fixes ticket #2290.
(cherry picked from commit c4dc6c4c86)
2013-02-21 09:04:05 +01:00
Vicente Jimenez Aguilar
6626a7df53 doc: Fix some obsolete references to av* tools as ff* tools
Signed-off-by: Diego Biurrun <diego@biurrun.de>

CC: libav-stable@libav.org
(cherry picked from commit 202b5f6deb)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-19 08:11:11 +01:00
Michael Niedermayer
ab434bf0d0 vqavideo: check chunk sizes before reading chunks
Fixes out of array writes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ab6c9332bf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 13093f9767)

CC: libav-stable@libav.org

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit f7d18deb73)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-19 08:10:24 +01:00
Michael Niedermayer
52b18c1fde roqvideodec: check dimensions validity
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3ae6104511)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fee26d352a)

CC: libav-stable@libav.org

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit 488f87be87)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-19 08:10:03 +01:00
Michael Niedermayer
0b2b8ab979 qdm2: check array index before use, fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

(cherry picked from commit a7ee6281f7)

CC: libav-stable@libav.org

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit 39bec05ed4)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-19 08:09:48 +01:00
Martin Storsjö
65bf4c9c45 mpegvideo: Do REBASE_PICTURE with byte pointers
REBASE_PICTURE (more specifically, this half of it) takes a Picture
pointer that points into one larger struct, finds the offset of
that Picture within the struct and finds the corresponding field
within another instance of a similar struct.

The pointer difference "pic - (Picture*)old_ctx" is a value given
in sizeof(Picture) units, and when applied back on
(Picture*)new_ctx gets multiplied back with sizeof(Picture). Many
compilers seem to optimize out this division/multiplication, but
not all do.

GCC 4.2 on OS X doesn't seem to remove the division/multiplication,
therefore the new pointer didn't turn out to point to exactly
the right place in the new struct since it only had sizeof(Picture)
granularity (and the Picture is not aligned on a sizeof(Picture)
boundary within the encompassing struct). This bug has been present
before 47318953d as well - with H264, pointers to h->ref_list[0][0]
pointed to 88 bytes before h->ref_list[0][0] after the rebase. After
shrinking Picture, the difference ended up even larger, making
writes via such a Picture pointer overwrite other fields at random
in H264Context, ending up in crashes later.

This fixes H264 multithreaded decoding on OS X with GCC 4.2.

Fixes Bug: #439

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit a65f965c04)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-19 08:09:08 +01:00
Michael Niedermayer
7c40a0449b swr: check channel layouts before using them.
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 21cd905cd4)

Conflicts:

	libswresample/swresample.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:31:25 +01:00
Michael Niedermayer
811a504c6b shorten: dont leave invalid channel counts in the context.
Fixes freeing invalid addresses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4f1279154e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:28:52 +01:00
Michael Niedermayer
75211f2b8c tiff: Check buffer allocation and pointer increment more carefully in shorts2str() and double2str()
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e1219cdaf9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:28:46 +01:00
Michael Niedermayer
f6687bbb64 pngdec/filter: dont access out of array elements at the end
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1ac0fa50ef)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:28:41 +01:00
Michael Niedermayer
1400f1a1e4 sanm: Use the correct height variable in the decoded_size checks
Fixes integer overflow and out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5260edee7e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:28:35 +01:00
Michael Niedermayer
1ea5bbc594 sanm: add forgotten check for decoded_size in old_codec37()
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 365270aec5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:28:30 +01:00
Michael Niedermayer
f5955d9f6f targa: Fix y check in advance_line
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 796012af6c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:28:24 +01:00
Hendrik Leppkes
e14564b926 lavfi/kerndeint: use av_pix_fmt_desc_get instead of directly accessing the table
Fixes FATE in MSVC DLL builds.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5ad43af9a6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:25:44 +01:00
Michael Niedermayer
0f5a0a4155 Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  svq3: unbreak decoding
  build: make audio_frame_queue a stand-alone component
  build: The libopencore-amrnb encoder depends on audio_frame_queue
  libopencore-amrwb: Make AMR-WB ifdeffery more precise
  libopencore-amr: Conditionally compile decoder and encoder bits
  libopencore-amrnb: cosmetics: Group all encoder-related code together

Conflicts:
	configure
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 01:19:31 +01:00
Diego Biurrun
7acfa7758c configure: Make warnings from -Wreturn-type fatal errors
These warnings have no false positives and point to serious bugs.
(cherry picked from commit 99853cb8d4)

Conflicts:

	configure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 00:52:44 +01:00
Michael Niedermayer
56b6909b39 movenc: hotfix, dont store fiel for h264 / mpeg4-asp / dnxhd
Other software does not store it in this case, and the information
is provided by the codec stream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 405cc0d905)

Conflicts:

	tests/ref/lavf/mov
2013-02-18 18:22:04 +01:00
Michael Niedermayer
c6f59b95c5 h264: avoid calling get_format() multiple times
Some applications do not like that.
Fixes VDA
Reduces noise for VDPAU

Tested-by: Guillaume POIRIER <poirierg@gmail.com>
Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dece584a63)

Conflicts:

	libavcodec/h264.c
2013-02-18 18:14:11 +01:00
Matti Hamalainen
d61c6ebccf svq3: unbreak decoding
a7d2861d36 removed necessary braces.
2013-02-18 02:49:45 +01:00
Luca Barbato
b9a287f237 build: make audio_frame_queue a stand-alone component
Encoders requiring it have the dependency expressed in the configure.
2013-02-17 22:38:37 +01:00
Carl Eugen Hoyos
6407800521 Revert "swfenc: use av_get_audio_frame_duration() instead of AVCodecContext.frame_size"
This reverts commit 620b88a302.

Fixes ticket #2272.

Conflicts:
	libavformat/swfenc.c
(cherry picked from commit 8d0757e107)
2013-02-17 20:27:19 +01:00
Diego Biurrun
6c62098827 build: The libopencore-amrnb encoder depends on audio_frame_queue
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit d0fd1dd559b8362bdbca3405f739e0cc202d62e7)
2013-02-16 23:41:31 +01:00
Diego Biurrun
a23d6ea1e4 libopencore-amrwb: Make AMR-WB ifdeffery more precise
The library might provide an encoder in the future, so it's better to
check for the presence of the decoder rather than just the library.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit ed89cad6aa04bbd692b3eb21c0e0bb56aca77130)
2013-02-16 23:41:31 +01:00
Diego Biurrun
e492818d89 libopencore-amr: Conditionally compile decoder and encoder bits
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit f6ad3ca159edcd2e48634bf39b9cd4a85af29cb1)
2013-02-16 23:41:31 +01:00
Diego Biurrun
1ca25bc387 libopencore-amrnb: cosmetics: Group all encoder-related code together
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 81ae57a269782fbfc9e11548d1e6605f13d65c9b)
2013-02-16 23:41:31 +01:00
Carl Eugen Hoyos
057051b848 Write the fiel atom to mov files independently of the used video coded.
The QuickTime specification does not contain any hint that the atom
must not be written in some cases and both the QuickTime and the
AVID decoders do not fail if the atom is present.

This change allows to signal (visually) interlaced streams with
a codec different from uncompressed video.

As a side-effect, this fixes ticket #2202
(cherry picked from commit 7d0e3b197c)

Conflicts:
	tests/ref/lavf/mov
2013-02-14 15:18:55 +01:00
Michael Niedermayer
71fee2ab1e sws: dont write out of array on bigendian
Fixes Ticket2229

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4e2c63685e)
2013-02-14 14:17:21 +01:00
Michael Niedermayer
7d3e217623 Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
  doc/platform: Fix 10l typo
  xxan: properly handle odd heights.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 13:50:08 +01:00
Michael Niedermayer
2ac6b573a4 h264: Reset last_pocs in case of reference or frame number inconsistencies
This prevents faulty increasing of has_b_frames
Should fix Ticket 2062

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c230af9bcc)
2013-02-14 13:33:44 +01:00
Michael Niedermayer
7f8846405e Merge commit 'b7765d00f911fe0f8fcda21b93a540f27d2ba2f5' into release/1.1
* commit 'b7765d00f911fe0f8fcda21b93a540f27d2ba2f5':
  msrledec: check bounds before constructing a possibly invalid pointer,
  qtrle: fix the topmost line for 1bit
  aasc: fix output for msrle compression.

Conflicts:
	tests/ref/fate/aasc
	tests/ref/fate/qtrle-1bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 13:14:54 +01:00
Michael Niedermayer
81bcf9454e Merge commit '108ca6fad1e0e9af8d6337f908bfd23807b7fbd6' into release/1.1
* commit '108ca6fad1e0e9af8d6337f908bfd23807b7fbd6':
  yop: check for input overreads.
  yop: check that extradata is large enough.
  fraps: fix off-by one bug for version 1.

Conflicts:
	libavcodec/fraps.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 12:57:14 +01:00
Michael Niedermayer
5a3c8f95d5 Merge commit '5bee21d724dc47d115faae3f5065a6db74e1594a' into release/1.1
* commit '5bee21d724dc47d115faae3f5065a6db74e1594a':
  vf_delogo: fix copying the input frame.
  vf_delogo: fix an uninitialized read.
  dnxhdenc: fix invalid reads in dnxhd_mb_var_thread().
  atrac3: use correct loop variable in add_tonal_components()

Conflicts:
	libavfilter/vf_delogo.c
	tests/ref/vsynth/vsynth1-dnxhd-1080i
	tests/ref/vsynth/vsynth2-dnxhd-1080i

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 12:27:48 +01:00
Michael Niedermayer
358e4081ed mlp: fix channel order.
This fixes a regression introduced with todays merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6747b0be9b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 12:13:15 +01:00
Michael Niedermayer
6baaaa0174 Merge commit '5af78cc98d807f3b43510410dad46e1840c5c99f' into release/1.1
* commit '5af78cc98d807f3b43510410dad46e1840c5c99f':
  mlp: store the channel layout for each substream.
  mlpdec: TrueHD: use Libav channel order.
  mlpdec: set the channel layout.
  x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly

Conflicts:
	libavcodec/mlp_parser.c
	libavcodec/mlpdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 12:03:59 +01:00
Michael Niedermayer
9e3e11a348 Merge commit '1fd2deedcc6400e08b31566a547a5fac3b38cefb'
* commit '1fd2deedcc6400e08b31566a547a5fac3b38cefb':
  mlpdec: set the channel layout.

Conflicts:
	libavcodec/mlpdec.c

(cherry picked from commit 1cf6f6f3da)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 11:53:39 +01:00
Michael Niedermayer
1d20d975aa Merge commit '3ffcccb4fbaae4d5ad775506f1f2761f2029affa'
* commit '3ffcccb4fbaae4d5ad775506f1f2761f2029affa':
  mlpdec: TrueHD: use Libav channel order.

(cherry picked from commit cd6a8618b1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 11:53:26 +01:00
Michael Niedermayer
e67491a2a4 Merge commit '99ccd2ba10eac2b282c272ad9e75f082123c765a'
* commit '99ccd2ba10eac2b282c272ad9e75f082123c765a':
  mlp: store the channel layout for each substream.

Conflicts:
	libavcodec/mlp_parser.c
	libavcodec/mlpdec.c

(cherry picked from commit fa36270c4c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 11:52:23 +01:00
Michael Niedermayer
e1a86b1433 mlpdec: dont leave a invalid huff_lsb in the context.
Fix assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4aed4f5846)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-14 11:48:25 +01:00
Martin Storsjö
5310da7e83 arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
On recent android versions, /proc/self/auxw is unreadable
(unless the process is running running under the shell uid or
in debuggable mode, which makes it hard to notice). See
http://b.android.com/43055 and
https://android-review.googlesource.com/51271 for more information
about the issue.

This makes sure e.g. neon optimizations are enabled at runtime in
android apps even when built in release mode, if configured to
use the runtime detection.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit ab8f1a6989)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-14 10:39:23 +02:00
Derek Buitenhuis
4eede1fca2 doc/platform: Fix 10l typo
This error was somehow missed for months.

(cherry picked from commit 130cefc9dc)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-13 21:35:10 -05:00
Anton Khirnov
b7765d00f9 msrledec: check bounds before constructing a possibly invalid pointer,
CC:libav-stable@libav.org
(cherry picked from commit 9bd6375d5f)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:57 +01:00
Kostya Shishkov
5479e08cc4 xxan: properly handle odd heights.
Duplicate the last one or two chroma lines.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
CC:libav-stable@libav.org
(cherry picked from commit 685e6f2e39)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:57 +01:00
Kostya Shishkov
d0249f1c2e qtrle: fix the topmost line for 1bit
Signed-off-by: Anton Khirnov <anton@khirnov.net>
CC:libav-stable@libav.org
(cherry picked from commit 89f11f498b)

Conflicts:

	cmdutils.c
2013-02-07 07:18:57 +01:00
Anton Khirnov
108ca6fad1 yop: check for input overreads.
CC:libav-stable@libav.org
(cherry picked from commit 8136f23444)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:56 +01:00
Anton Khirnov
5bee21d724 vf_delogo: fix copying the input frame.
CC:libav-stable@libav.org
(cherry picked from commit 7194330bcd)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:56 +01:00
Anton Khirnov
1f8bf163e4 aasc: fix output for msrle compression.
The bottom line was invalid before.

CC:libav-stable@libav.org
(cherry picked from commit da7baaaae7)

Conflicts:

	cmdutils.c
2013-02-07 07:18:56 +01:00
Anton Khirnov
7e35c50b81 yop: check that extradata is large enough.
CC:libav-stable@libav.org
(cherry picked from commit 06cf597c35)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:56 +01:00
Anton Khirnov
e835ce83e2 vf_delogo: fix an uninitialized read.
CC:libav-stable@libav.org
(cherry picked from commit f81c37e40f)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:56 +01:00
Anton Khirnov
00bf66785f fraps: fix off-by one bug for version 1.
CC:libav-stable@libav.org
(cherry picked from commit 2cd4068071)

Conflicts:

	cmdutils.c
	libavcodec/fraps.c
2013-02-07 07:18:56 +01:00
Anton Khirnov
e0e4250421 dnxhdenc: fix invalid reads in dnxhd_mb_var_thread().
Do not assume that frame dimensions are mod16 (or that height is mod32
for interlaced).

CC:libav-stable@libav.org
(cherry picked from commit 69c25c9284)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:56 +01:00
Michael Karcher
901682ff78 atrac3: use correct loop variable in add_tonal_components()
Signed-off-by: Michael Karcher <ffmpeg@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
(cherry picked from commit 0e3afacd4d)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:18:56 +01:00
Tim Walker
5af78cc98d mlp: store the channel layout for each substream.
Also stop storing the channel arrangement in the header info, as it's unused outside of ff_mlp_read_major_sync.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
(cherry picked from commit 99ccd2ba10)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:15:01 +01:00
Tim Walker
59f22ef91a mlpdec: TrueHD: use Libav channel order.
Fixes bug 208.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
(cherry picked from commit 3ffcccb4fb)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:15:01 +01:00
Tim Walker
5393a5600d mlpdec: set the channel layout.
Fixes bug 401.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>

CC:libav-stable@libav.org
(cherry picked from commit 1fd2deedcc)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:15:01 +01:00
Diego Biurrun
077beee465 x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
CC: libav-stable@libav.org
(cherry picked from commit 4f56e773fe)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-02-07 07:15:01 +01:00
Matthieu Bouron
02d3ad8609 lavf/mov: skip version and flags attributes in mov_read_chan function
Fixes ticket #1764.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 59d40fc7e6)
2013-02-06 23:24:19 +01:00
Michael Niedermayer
b48cf5412b ffmpeg: do not call exit from exit_program()
This should fix  Ticket2116

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 127ff88639)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 04:15:48 +01:00
Michael Niedermayer
5f3fa5f930 ffmpeg: dont allow -flags to override -pass
Fixes Ticket2154

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ccf9dd00da)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 02:03:05 +01:00
Michael Niedermayer
0e1bb99f26 update for 1.1.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-06 02:02:35 +01:00
Michael Niedermayer
d2c1a8dc2d ljpegenc: allocate needed scratch-buffer
Fixes null pointer dereference
Fixes Ticket2207

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c2dd5a18b2)
2013-02-06 00:11:11 +01:00
Michael Niedermayer
5a97a5291a riff: fix infinite loop
Fixes Ticket2241

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a8343bfb6a)
2013-02-06 00:10:05 +01:00
Michael Niedermayer
f6b50924a5 dvenc: dont fail hard if the timecode is invalid
Instead just dont store the timecode
Fixes Ticket2187

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f0eacbc760)
2013-02-06 00:09:03 +01:00
Michael Niedermayer
a55c274f51 movtextenc: fix pointer messup and out of array accesses
Fixes Ticket2213

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b0635e2fcf)
2013-02-06 00:07:02 +01:00
Michael Niedermayer
eaa9d2cd6b h264: skip error concealment when SPS and slices are mismatching
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 695af8eed6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:53:12 +01:00
Michael Niedermayer
d3bec24739 h264: Only apply error concealment if theres a frame
Without any correctly decoded slices, there can be no frame.

Fixes out of array reads

Found-by: Rafaël Carré
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 60af6c3138)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:53:03 +01:00
Michael Niedermayer
3ef1538121 h264: check the pixel format directly and force a reinit on mismatches.
The existing checks are insufficient to detect a pixel format
changes in case of some damaged streams.
Fixes inconsistency and later out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 11c99c78ba)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:50:52 +01:00
Michael Niedermayer
47e462eecc aacdec: check channel count
Prevent out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 96f452ac64)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:48:04 +01:00
Michael Niedermayer
f3d1670606 vqavideo: check chunk sizes before reading chunks
Fixes out of array writes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ab6c9332bf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:47:59 +01:00
Michael Niedermayer
9547034f91 gifdec: gif_copy_img_rect: Fix end pointer
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c10350358d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:47:53 +01:00
Michael Niedermayer
62c9beda0c sanm: Check decoded_size.
This prevents a buffer overflow in rle_decode()

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7357ca900e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:47:41 +01:00
Diego Biurrun
0e68b6ddce Use proper "" quotes for local header #includes
(cherry picked from commit 6c1a7d07eb)

Conflicts:

	libavcodec/kbdwin.c
2013-02-05 16:35:28 +01:00
Michael Niedermayer
75e88db330 huffyuvdec: Skip len==0 cases
Fixes vlc decoding for hypothetical files that would contain such cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0dfc01c2bb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:33:37 +01:00
Michael Niedermayer
6baa549249 huffyuvdec: Check init_vlc() return codes.
Prevents out of array writes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f67a0d1152)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:33:37 +01:00
Piotr Bandurski
22561bc0e9 aasc: fix 16bpp on big-endian
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:33:37 +01:00
Michael Niedermayer
8a4464514f Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
  Prepare for 9.2 Release
  lavr: call mix_function_init() in ff_audio_mix_set_matrix()
  rtpenc_chain: Use the original AVFormatContext for getting payload type
  rtp: Make sure the output format pointer is set

Conflicts:
	RELEASE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:28:36 +01:00
Michael Niedermayer
85e94a30ee Merge commit '62de693a17f9b107be7867d822d5accacd4be544' into release/1.1
* commit '62de693a17f9b107be7867d822d5accacd4be544':
  rtp: Make sure priv_data is set before reading it
  videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
  get_bits: change the failure condition in init_get_bits
  mpegvideo: fix loop condition in draw_line()

Conflicts:
	libavcodec/get_bits.h
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 16:19:17 +01:00
Carl Eugen Hoyos
3445bec6fc Do not change codec in flv streams if the user has forced a codec.
Fixes ticket #2218.
(cherry picked from commit 6a50e8a190)
2013-02-01 23:37:48 +01:00
Matthieu Bouron
c8dace2728 ffmpeg: fix broken channel_layout option
Fixes ticket #2163.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5a67e30b1c)
2013-02-01 23:09:50 +01:00
Carl Eugen Hoyos
9bcb84810f doc/muxers.texi: Fix mp3 picture attachment documentation.
(cherry picked from commit 99eedfc400)
2013-02-01 17:57:12 +01:00
Peter Ross
54e19092fd wtvdec: demux thumbnail picture to AVStream.attached_pic
Fixes ticket #2133.

(cherry picked from commit 508836932f)
2013-01-30 09:49:59 +01:00
Martin Storsjö
3d67f52f9d arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
This makes the plain-armv6 version use the same registers as the
armv6t2 version above.

This fixes fate-vp8 on plain-armv6 devices.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 2026eb1408)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-28 22:57:07 +02:00
Michael Niedermayer
bfd586577c movenc: check that fps for tmcd is within encodable range.
The fps is stored as a 8 bit value thus 255 is the maximum encodable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 55d66b2790)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 02:04:38 +01:00
Michael Niedermayer
5589549c1d movenc: Calculate fps for tmcd without intermediate step.
Fixes part of Ticket2045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9362f31b55)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 02:04:37 +01:00
Michael Niedermayer
5c316acaa0 ffmpeg: copy tmcd track timebase parameters
Fixes part of Ticket2045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bee044d7c2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 02:04:36 +01:00
Michael Niedermayer
f4fb841ad1 sanm: check image dimensions before using them
Avoids integer overflows and out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 49b729d3af)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 01:57:39 +01:00
Xi Wang
c2d11275f7 rtmp: fix buffer overflows in ff_amf_tag_contents()
A negative `size' will bypass FFMIN().  In the subsequent memcpy() call,
`size' will be considered as a large positive value, leading to a buffer
overflow.

Change the type of `size' to unsigned int to avoid buffer overflow, and
simplify overflow checks accordingly.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4e692374f7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 01:57:39 +01:00
Xi Wang
b54c155f5b rtmp: fix multiple broken overflow checks
Sanity checks like `data + size >= data_end || data + size < data' are
broken, because `data + size < data' assumes pointer overflow, which is
undefined behavior in C.  Many compilers such as gcc/clang optimize such
checks away.

Use `size < 0 || size >= data_end - data' instead.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 902cfe2f74)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 01:57:39 +01:00
Xi Wang
ea2d44503f rtpenc: fix overflow checking in avc_mp4_find_startcode()
The check `start + res < start' is broken since pointer overflow is
undefined behavior in C.  Many compilers such as gcc/clang optimize
away this check.

Use `res > end - start' instead.  Also change `res' to unsigned int
to avoid signed left-shift overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2f014567cf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 01:57:39 +01:00
Michael Niedermayer
59f7d583a3 mpeg1enc: Disable threads for resolutions too large for multi-threading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0c6b0409af)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-28 01:57:39 +01:00
Clément Bœsch
fb876e4572 lavf/srtdec: do not try to queue empty subtitle chunks.
Regression since 3af3a30.
Fixes Ticket2167.
(cherry picked from commit f2b6aabd3d)
2013-01-27 16:32:57 +01:00
Paul B Mahol
c2d2bf1d6b lavc/iff: ilbm: unbreak decoding on big endian
Fixes ticket #2192.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit 25c75525bf)
2013-01-26 15:10:02 +01:00
Michael Karcher
302094e1d2 Fix atrac3 decoder broken in e55d53905f
Signed-off-by: Michael Karcher <ffmpeg@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dcbb920f15)
2013-01-26 03:36:18 +01:00
Reinhard Tartler
8d55c2441c Prepare for 9.2 Release 2013-01-24 12:02:57 +01:00
Justin Ruggles
d7e7e12abc lavr: call mix_function_init() in ff_audio_mix_set_matrix()
This is needed if a custom matrix is set by the user after opening the
AVAudioResampleContext because the matrix channel count can change if
different mixing coefficients are used.

CC:libav-stable@libav.org
(cherry picked from commit f07ef2d9c9)

Conflicts:

	libavresample/audio_mix.c
2013-01-24 12:00:08 +01:00
Martin Storsjö
a856623e87 rtpenc_chain: Use the original AVFormatContext for getting payload type
In ff_rtp_get_payload_type, the AVFormatContext is used for checking
whether the payload_type or rtpflags options are set. In rtpenc_chain,
the rtpctx struct is a newly initialized struct where no options have
been set yet, so no options can be fetched from there.

All muxers that internally chain rtp muxers have the "rtpflags" field
that allows passing such options on (which is how this worked before
8034130e06), so this works just as intended.

This makes it possible to produce H263 in RFC2190 format with chained
RTP muxers.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 4a4a7e138c)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 11:58:09 +02:00
Martin Storsjö
348cd84fc8 rtp: Make sure the output format pointer is set
Not sure if this actually happens, but we do the same check when
checking payload_type further above in the function, so it might
be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 932117171f)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 11:57:29 +02:00
Martin Storsjö
62de693a17 rtp: Make sure priv_data is set before reading it
This fixes crashes with muxing H263 into RTSP.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit e90820d4f8)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-24 11:56:43 +02:00
Carl Eugen Hoyos
33769e908d matroskaenc: add codec_tag lists back.
This reverts 312645e :
"Do not set codec_tag property for matroska muxers."

Also adds dummy codec_tag lists with codecs
supported in mkv but not in wav / avi.

Fixes ticket #2169.
(cherry picked from commit df39c3ce38)
2013-01-24 02:30:40 +01:00
Janne Grunau
1a28948eb3 videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
libavutil/arm/asm.S sets '.arch' depending on HAVE_ARMV5TE so that
assembling armv5te code will always succeed even if the default -march
flag does not support it. HAVE_ARMV5TE_EXTERNAL tests assembling code
with the default arch.
Fixes the missing symbol ff_prefetch_arm with --cpu= not including
armv5te.

CC: libav-stable@libav.org
2013-01-22 13:43:16 +01:00
Luca Barbato
01050448cf get_bits: change the failure condition in init_get_bits
Too much code relies in having init_get_bits fed with a valid
buffer and set its dimension to 0.

Check for NULL buffer instead.
(cherry picked from commit 4603ec85ed)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-20 14:06:52 +01:00
Michael Niedermayer
edc00dea02 update for 1.1.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 01:11:06 +01:00
Xi Wang
8d0631c8fa mpegvideo: fix loop condition in draw_line()
The loop condition `x = ex' is incorrect.  It should be `x <= ex'.

This bug was introduced in commit c65dfac4 "mpegvideo.c: K&R formatting
and cosmetics."

CC:libav-stable@libav.org

(cherry picked from commit 992b031838)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-19 22:21:23 +01:00
Michael Niedermayer
1135928903 init_get_bits: fix off by 1 error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7980cca05c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 17:59:23 +01:00
Michael Niedermayer
6f3bc92c29 init_get_bits8: zero pointers & struct on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 153fad14e5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 17:59:22 +01:00
Michael Niedermayer
bd531038e8 init_get_bits8: check byte_size against being positive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ac73d3a12a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 17:59:21 +01:00
Carl Eugen Hoyos
90da0cb60e The c99-to-c89 binaries are now hosted on videolan.org.
(cherry picked from commit c29c7c1470)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 17:59:20 +01:00
Michael Niedermayer
3049d5b9b3 doc/RELEASE_NOTES
mention changed sample_fmt for audio decoders

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 16:31:51 +01:00
Michael Niedermayer
43c6b45a53 avcodec_decode_audio: do not trust the channel layout, use the channel count.
Fixes memory corruption

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d270c32025)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 16:18:08 +01:00
Michael Niedermayer
68a0477bc0 error_concealment: Check that the picture is not in a half setup state.
Fixes state becoming inconsistent
Fixes a null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 23318a5735)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 16:18:01 +01:00
Paul B Mahol
ccf0cd967d 012v: remove double ; and return correct error code if ff_get_buffer() fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit 2516023695)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 16:17:24 +01:00
Michael Niedermayer
002ad7cd39 Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  fate: update ref after rv30_loop_filter fix
  rv30: fix masking in rv30_loop_filter()
  libcdio: support recent cdio-paranoia
  theora: Skip zero-sized headers
  h264: add 3 pixels below for subpixel filter wait position
  h264: fix ff_generate_sliding_window_mmcos() prototype.
  h264: don't clobber mmco opcode tables for non-first slice headers.

Conflicts:
	configure
	libavcodec/h264_refs.c
	tests/ref/fate/filter-delogo
	tests/ref/fate/rv30

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 15:54:36 +01:00
Jonas Bechtel
397fafad23 Fix opencv detection.
This commit changes the ".so" argument placement in check_ld sub-program.
(cherry picked from commit a003c5bd4f)
2013-01-18 10:32:49 +01:00
Michael Niedermayer
30f0cd2f1e h264: fix () placement
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c13e4e288c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
4d6d8d9ae9 rtmpproto: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a601eb9543)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
9348514a67 lavf/mux: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1ac5a8d7e3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
17704500fb vsrc_testsrc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6f88d2d786)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
2338eda8d8 tiff: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 659546b42d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
6a0633e961 svq1enc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 37be1d802f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
16dc41de27 ra144enc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e2704381e5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
ab471e17e4 nellymoserenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 795d2dc23b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
3be8aeb14e libvorbisenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bdd71abe5f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
b48e251360 libvo-aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0ccb31dcad)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
65a4b90840 libspeexenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3b8d66d531)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
59956a5957 libopencore-amr: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d6180aa297)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
d4a08e560d libmp3lame: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 871b6ec01d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:31 +01:00
Michael Niedermayer
dacac91973 libfdk-aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9302ad1ac8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:30 +01:00
Michael Niedermayer
d39400fed7 libfaac: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 68a25c64cd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:30 +01:00
Michael Niedermayer
07174ed841 aacenc: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 98fed59427)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:30 +01:00
Michael Niedermayer
e7475335b1 doc/examples: fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 48a7981e6f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:30 +01:00
Michael Niedermayer
722bfe4e7c swr: fix handling of timestamps that cause multiple drops or silence injections
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d676598f87)
2013-01-18 05:14:30 +01:00
Michael Niedermayer
cc8ab98656 mpeg12enc: check dimension validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:30 +01:00
Michael Niedermayer
d7cff9f8e8 mpeg12enc: Correctly mask dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:30 +01:00
Michael Niedermayer
9bfda9df71 mpeg12: Support decoding dimensions that are a multiple of 4096
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-18 05:14:30 +01:00
Luca Barbato
0a837b6317 fate: update ref after rv30_loop_filter fix
(cherry picked from commit 56ef1ef1f7)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-17 23:47:01 +01:00
Xi Wang
c3c1db7c56 rv30: fix masking in rv30_loop_filter()
The mask `x && (1 << y)' is incorrect and always yields true.

The correct form should be `x & (1 << y)'.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
(cherry picked from commit 783e37f7ef)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-17 22:00:01 +01:00
Luca Barbato
21ca4ab944 libcdio: support recent cdio-paranoia
Upstream decided to split the paranoia interface and move the headers
accordingly.
(cherry picked from commit 57224e425c567a87798b66425acc383c6dd37331)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-17 21:42:03 +01:00
Martin Storsjö
c749bec8c3 theora: Skip zero-sized headers
This fixes a regression since d9cf5f51/7a2ee770f5 with theora
over RTP (possibly with other variants of theora as well).

In theora over RTP, the second of the 3 headers turns out to be
0 bytes long, which prior to d9cf5f51 worked just fine. After
d9cf5f51, reading from the bitstream reader fails (since the reader
wasn't initialized but returned an error if initialized with 0 bits).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit e33db35b4a)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-17 19:11:54 +02:00
Carl Eugen Hoyos
a95306e2d7 Only skip MLP header in mpeg files if the codec actually is MLP.
Fixes PCM audio in Kansas Pheasant Hunt 2000 mpg file.
Reported-by: Mashiat Sarker Shakkhar
(cherry picked from commit ad406f7e40)
2013-01-17 17:40:02 +01:00
Carl Eugen Hoyos
ed12d1ecad Fix compilation with --disable-everything.
(cherry picked from commit f023003ce6)
2013-01-17 17:39:00 +01:00
Michael Niedermayer
05ed9b7005 oggparsevorbis: fix vorbis_cleanup return type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 04:34:47 +01:00
Michael Niedermayer
76477c3843 Merge remote-tracking branch 'qatar/release/9' into release/1.1
* qatar/release/9:
  libx264: use the library specific default rc_initial_buffer_occupancy
  lavc: set the default rc_initial_buffer_occupancy
  lavc: introduce the convenience function init_get_bits8
  lavc: check for overflow in init_get_bits
  APIchanges: Fill in missing hashes and dates; fix a version number typo.
  configure: enable pic for shared libs on AArch64
  zmbv: Reset the decoder on keyframe errors
  vc1dec: prevent a crash due missing pred_flag parameter
  matroska: Fix use after free
  vp3: Fix double free in vp3_decode_end()
  update Changelog
  oggdec: make sure the private parse data is cleaned up
  oggdec: free the ogg streams on read_header failure
  update Changelog
  x86: lavr: use the x86inc.asm automatic stack alignment in mixing functions
  Prepare 9.1 Release

Conflicts:
	Changelog
	RELEASE
	doc/APIchanges
	libavcodec/utils.c
	libavformat/oggdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-17 04:26:42 +01:00
Carl Eugen Hoyos
ccc4219558 Fix detection of struct v4l2_frmsize_discrete.
It was always detected successfully.
(cherry picked from commit c345100efc)
2013-01-17 02:13:40 +01:00
Ronald S. Bultje
9d60f608af h264: add 3 pixels below for subpixel filter wait position
If the motion vector is at a subpixel position, we need 3 pixels below
the motion vector's wholepel position available, not 2, since the MC
filter is a sixtap filter for the hpel position, and then a bilin filter
for the qpel position.

This patch fixes highly irreproducible (0.1%) fate failures in frame 2
and 4 of h264-conformance-cama2_vtc_b (e.g. first P-frame, first field,
last line of MB x=40,y=2 and second field and last lines of MBs x=39-40,
y=3). These used pre-loopfilter instead of post-loopfilter data because
the await_progress() waited for one line too little in that field, and
the motion vector of these particular MBs happened to align exactly to a
position where that demonstrates the bug.

CC: libav-stable@libav.org

(cherry picked from commit fb845ffdd3)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 22:20:10 +01:00
Anton Khirnov
6a4803a6a9 h264: fix ff_generate_sliding_window_mmcos() prototype.
It's been returning an error value since
bad446e251

Also check for the errors it returns.
(cherry picked from commit ea382767ad)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 22:19:42 +01:00
Ronald S. Bultje
c3b67720f9 h264: don't clobber mmco opcode tables for non-first slice headers.
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.

Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.

This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.

(cherry picked from commit bad446e251)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 22:19:07 +01:00
Michael Niedermayer
1c373456f6 oggdec: Leave treatment of serial changes to the decoder.
Attempting to re-parse the headers at demuxer level is a
pandora box the way its done currently.

This allows full reconfiguration of vorbis streams

Fixes Ticket2117
Fixes Ticket2121

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c994bb2fb7)
2013-01-15 21:12:03 +01:00
Michael Niedermayer
9636266cbd vorbisdec: handle midstream parameter changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e9ffee23f3)
2013-01-15 21:12:03 +01:00
Michael Niedermayer
dc3349024a vorbisdec: support freeing partially allocated contexts.
Fixes null pointer derefernces

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 778069c832)
2013-01-15 21:12:03 +01:00
Michael Niedermayer
66a3112100 oggdec: resync from the last page.
Previously we re synced from where we where which cam lead
to loosing pages.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c5cf58d4b9)
2013-01-15 21:12:03 +01:00
Luca Barbato
72eca26bf9 libx264: use the library specific default rc_initial_buffer_occupancy
By default libav sets it to 3/4 while x264 sets it to 9/10.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 47812070a2)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 09:12:46 +01:00
Luca Barbato
e44d56b18d lavc: set the default rc_initial_buffer_occupancy
rc_buffer_size is not set before.

Solve the initial the rate control underflow issue reported in
bug 222.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit bff3607547)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 09:12:41 +01:00
Luca Barbato
71e00caeab lavc: introduce the convenience function init_get_bits8
Accept the buffer size in bytes and check for overflow before passing
the value in bits to init_get_bits.
(cherry picked from commit e28ac6e5e2)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-14 05:22:22 +01:00
Luca Barbato
7a2ee770f5 lavc: check for overflow in init_get_bits
Fix an undefined behaviour and make the function return a proper
error in case of overflow.

CC: libav-stable@libav.org
(cherry picked from commit d9cf5f5169)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-14 05:21:57 +01:00
Diego Biurrun
fadebd256e APIchanges: Fill in missing hashes and dates; fix a version number typo. 2013-01-12 12:59:25 +01:00
André Pankratz
3dab6e5429 lavfi/yadif: fix shorthand/option mismatch
Fix trac ticket #2128.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
(cherry picked from commit 0287eea914)
2013-01-12 02:34:06 +01:00
Marcin Juszkiewicz
bc182a6aca configure: enable pic for shared libs on AArch64
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit d11cb13b0e)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 13:02:44 +01:00
Luca Barbato
fbde7b2d0a zmbv: Reset the decoder on keyframe errors
Prevent the crash on fuzzed files as reported in bug 63.
(cherry picked from commit c1d1ef4ecd)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 12:42:56 +01:00
Vladimir Pantelic
58baa367d6 vc1dec: prevent a crash due missing pred_flag parameter
Handle pred_flag parameter not given to get_mvdata_interlaced()

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 7b8c5b263b)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 12:42:56 +01:00
Dale Curtis
ca2e3f1131 matroska: Fix use after free
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit ae3d416369)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 02:17:19 +01:00
Ronald Bultje
ebd3aa429c vp3: Fix double free in vp3_decode_end()
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit ec86ba5731)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 02:17:09 +01:00
Michael Niedermayer
ddb0317154 dirac: fix inverted check
Regression since: ea6da80
Fixes Ticket2123

I cannot reproduce any regressions by flipping the wrong condition
to how it should have been.

Thanks-to: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 57bdd67646)
2013-01-09 09:48:49 +01:00
Clément Bœsch
606aa3baee lavf/mux: do not pass a copy of the packet to write_packet().
Sometimes the muxer modifies the packet, like for instance lavf/mp3enc
changing pkt->destruct in order to keep a copy. These changes must be
kept, even though the muxer behaviour is questionable. Regression since
0072116.

Fixes #2124.
(cherry picked from commit 119d70db50)
2013-01-08 23:26:49 +01:00
Carl Eugen Hoyos
36dac6da41 Add forgotten AVC Intra entry to Changelog.
(cherry picked from commit b23aff6755)
2013-01-08 23:26:36 +01:00
Paul B Mahol
9202824e1b Changelog: move Megalux where it belongs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit e13c5abbd7)
2013-01-08 23:26:19 +01:00
Reinhard Tartler
0135dd73bb update Changelog 2013-01-07 11:14:31 +01:00
Luca Barbato
c01be297ce oggdec: make sure the private parse data is cleaned up
(cherry picked from commit d894f74762)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-07 09:00:09 +01:00
Luca Barbato
42bd6d9cf6 oggdec: free the ogg streams on read_header failure
Plug an annoying memory leak on broken files.
(cherry picked from commit 89b51b570d)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-07 09:00:04 +01:00
Michael Niedermayer
79013a59c0 update for 1.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 22:42:56 +01:00
Michael Niedermayer
58edabb198 MAINTAINERS: add 1.1, remove 0.10
If someone else wants to maintain a old release, please contact us

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 21:42:35 +01:00
Michael Niedermayer
d46fca4b75 RELEASE: 1.1.git for master
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 21:42:35 +01:00
Michael Niedermayer
6270564abc Changelog, update for 1.1 release
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 21:28:15 +01:00
Michael Niedermayer
2713e43ac8 ff_get_audio_frame_size: try to fix wma in wav
Fixes Ticket1905, Ticket2114

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 19:46:04 +01:00
Stefano Sabatini
b3d814753c tests/fate/avfilter.mak: merge pp tests into GPL test list
The mp=pp filter was removed and replaced with a native implementation,
so the dependency on CONFIG_MP_FILTER stands no more.
2013-01-06 19:04:24 +01:00
Clément Bœsch
caee85bbce lavfi/kerndeint: remove unused pixel_step. 2013-01-06 18:59:15 +01:00
Clément Bœsch
f6659e5c5e lavfi/kerndeint: fix temp buffer linesize.
Also re-enable the FATE test.
2013-01-06 18:59:15 +01:00
Carl Eugen Hoyos
1ae9d2820e Support decoding AC-3 in wav.
All known samples are actually ac3-in-spdif-in-wav, so use
the spdif demuxer to get the ac3 frames.
2013-01-06 18:48:51 +01:00
Reinhard Tartler
c1555ae4b6 update Changelog 2013-01-06 18:05:04 +01:00
Carl Eugen Hoyos
9ff92cf195 012v decoder.
The decoder also supports a12v, but removes the transparency layer
since no samples with actual transparency are available for testing.
2013-01-06 17:59:27 +01:00
rogerdpack
40648d8cc3 add note on windows pipe
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 17:47:49 +01:00
Michael Niedermayer
f6ef62eb7f doc/ffmpeg-resampler: Try to document async
Improvements welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 17:47:49 +01:00
Carl Eugen Hoyos
9ffe790afc Support stereo as experimental feature in mmf / Yamaha SMAF.
Fixes ticket #1085.
2013-01-06 16:38:24 +01:00
Justin Ruggles
a557005417 x86: lavr: use the x86inc.asm automatic stack alignment in mixing functions
CC:libav-stable@libav.org
(cherry picked from commit 95d01c3f1c)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2013-01-06 15:46:12 +01:00
Reinhard Tartler
8069b44ebf Prepare 9.1 Release 2013-01-06 15:45:51 +01:00
Michael Niedermayer
631ec0642d fate: disable kerndeint test
The filter has been added recently and does not yet pass tests on all platforms.
It should not be included in the tests in the release until it works.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 15:08:38 +01:00
Michael Niedermayer
8214c1d82c mxfenc: avoid depending on private codec structures and functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 14:08:08 +01:00
Michael Niedermayer
3db02b83e7 dnxhd: Add avpriv_dnxhd_get_frame_size()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:58:46 +01:00
Michael Niedermayer
11e1466b43 cos_tablegen: fix the lack on M_PI
We dont include mathematics.h as the headers get configured by config.h
for the target not the host.

Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:56:55 +01:00
Thilo Borgmann
bfde6e5c02 alsdec: Introduce failsafe switch to keep ALSSpecificConfig consistent to the input.
Reveiwed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:55:58 +01:00
Thilo Borgmann
95f81159de alsdec: Consistently use a period at the end of error messages.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:52:53 +01:00
Michael Niedermayer
7456164b50 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: lavr: use the x86inc.asm automatic stack alignment in mixing functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 13:20:23 +01:00
Peter Ross
c44b4ee6ea frmdec: reduce probe score to reflect test accuracy (and pass probetest) 2013-01-06 16:51:57 +11:00
Michael Niedermayer
e797f22efa vf_tinterlace: fix logical/bit op mixup
Fixes CID966642

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 04:38:53 +01:00
Clément Bœsch
521daf1409 lavfi/kerndeint: get pix format description only once.
This makes the code faster.
2013-01-06 04:37:33 +01:00
Peter Ross
c4bfb0f121 fate: kerndeint requires gpl 2013-01-06 14:36:51 +11:00
Clément Bœsch
aaf59766b9 lavfi/avfilter: remove now unused {src,cur,out}_buf.
This was supposed to be removed in 565e4993, but it was delayed due to
the port of the remaining filters. These buffer ref pointers are not
used anymore, thus dropped.
2013-01-06 04:14:56 +01:00
Clément Bœsch
2e7744a6a2 lavc/subviewerdec: fix potential NULL deref.
Fixes CID966647
2013-01-06 04:04:22 +01:00
Peter Ross
3d0994be2f Megalux Frame demuxer 2013-01-06 13:58:15 +11:00
Michael Niedermayer
e27c470f2b fate: disable lavfi-histeq
The filter has been added recently and does not yet pass tests on all platforms.
It should not be included in the tests in the release until it works.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 02:40:44 +01:00
Michael Niedermayer
0ef615126f vf_kerndeint: memset buffer to avoid use of uninitialized memory.
This might fix fate failures.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 02:40:44 +01:00
Piotr Bandurski
4784a135b2 tiffdec: Use the correct height field.
Fixes Ticket913

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 01:56:53 +01:00
Carl Eugen Hoyos
8bf70159dc 10l: Update fate seeking reference after last commit. 2013-01-05 23:42:00 +01:00
Carl Eugen Hoyos
1a34103f0f mmf.c: Use LIBAVFORMAT_IDENT when writing Yamaha SMAF version information. 2013-01-05 23:39:46 +01:00
Michael Niedermayer
39d1875455 libavfilter/video.h: remove unused things related to the start/slice/end API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 23:36:09 +01:00
Michael Niedermayer
2468827c06 internal.h: remove start/end_frame from AVFilterPad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 23:36:09 +01:00
内田佳久
7e5d4fa97d mmf.c: Do not write metadata into the SMAF Contents Info chunk. 2013-01-05 23:11:09 +01:00
Justin Ruggles
95d01c3f1c x86: lavr: use the x86inc.asm automatic stack alignment in mixing functions
CC:libav-stable@libav.org
2013-01-05 16:14:35 -05:00
Michael Niedermayer
f3c9d66baf libspeexdec: fix terminator check
Fixes Ticket2096

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 18:36:13 +01:00
James Almer
6717d1a96f MAINTAINERS: add myself as maintainer of lavf/astenc.c
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 17:07:50 +01:00
James Almer
b7d77f8e64 astenc: Enable the loop flag only when needed
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 17:07:42 +01:00
Michael Niedermayer
9a697cfe71 lavu: test for broken binutils on ARM
Some old gnu assemblers fail to assemble qdadd correctly
Ideally we should check this at build time, but better to
check at run time than mysteriously failing.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 16:25:37 +01:00
Nicolas George
305180f525 lavu/base64: return meaningful error code. 2013-01-05 15:40:40 +01:00
Carl Eugen Hoyos
6a9af92565 Allow remaining 32bit RGB packed pix_fmts in kerndeint filter.
Reviewed-by: Stefano Sabatini
2013-01-05 14:40:06 +01:00
Stefano Sabatini
860b5c0a63 lavfi/kerndeint: fix mismatch between declared pixel format and test
+10l.
2013-01-05 14:04:33 +01:00
Michael Niedermayer
bb4fb7715c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: fix NULL checking in sws_alloc_context()
  mxfdec: fix NULL checking in mxf_get_sorted_table_segments()
  finalize changelog for version 9

Conflicts:
	Changelog
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 13:37:30 +01:00
Michael Niedermayer
2163c8828d Merge commit 'b14e89b3c5e6d7f6401a2ff1e3d198fa902e988a'
* commit 'b14e89b3c5e6d7f6401a2ff1e3d198fa902e988a':
  Prepare for 9 Release.
  Update release notes for the 9 release.
  avprobe: also output dar/par if only defined in stream

Conflicts:
	RELEASE
	avprobe.c
	doc/RELEASE_NOTES

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 13:27:59 +01:00
Matthieu Bouron
be0a67bd65 lavfi/drawutils: fix blending computation in blend_line function
If width is not alligned with hsub, background component should only be
multiplied once by sub alpha component.
2013-01-05 13:08:02 +01:00
Michael Niedermayer
f27eb1b702 lavu: check that assert level is defined
fix warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 12:21:39 +01:00
Paul B Mahol
14d50c19dc w64dec: support metadata (summarylist guid)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-05 11:03:52 +00:00
Paul B Mahol
d4211c4722 alsdec: change channel sorting so it match reference implementation
Read channel source instead of channel target for channel sorting.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-05 09:36:14 +00:00
Stefano Sabatini
0140566359 lavfi: add histeq filter
This is a port of virtual dub's histogram equalization filter by Donald
A. Graft. Based on the work by Jérémy Tran <tran.jeremy.av@gmail.com>,
done for SOCIS 2012.
2013-01-05 10:25:32 +01:00
Stefano Sabatini
172505b8bc lavfi: add kerndeint filter
This is a port of the kerndeint filter (libmpcodecs/vf_kerndeint) by
Donal A. Graft (original avisynth plugin author), and is based on the
work by Jérémy Tran <tran.jeremy.av@gmail.com> done for SOCIS 2012.
2013-01-05 10:25:32 +01:00
Stefano Sabatini
92f1bed14c tests/lavfi-regression: always require three parameters in do_lavfi_pixfmts()
Force commands to specify the name of the test to run. This simplifies
extending the function with a new parameter, which will be done in a
following patch.
2013-01-05 10:25:32 +01:00
Carl Eugen Hoyos
c52e07bb6e Fix AVCI50 SPS to specify a SAR of 4:3 instead of 3:4. 2013-01-05 09:20:03 +01:00
Matthieu Bouron
bbab9cceb9 lavfi/drawutils: fix typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 05:21:44 +01:00
Xi Wang
f73f76fd20 swscale: fix NULL checking in sws_alloc_context()
sws_getCachedContext() and sws_getContext() expect sws_alloc_context()
to return NULL when out of memory, as follows.

    if (!(context = sws_alloc_context()))
        return NULL;

This patch fixes sws_alloc_context() to return NULL in that case.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-04 20:44:00 -05:00
Xi Wang
3b81bba3bc mxfdec: fix NULL checking in mxf_get_sorted_table_segments()
The following out-of-memory check is broken.

    *sorted_segments  = av_mallocz(...);
    if (!sorted_segments) { ... }

The correct NULL check should use *sorted_segments.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-04 20:43:42 -05:00
Reinhard Tartler
3f89b49b07 finalize changelog for version 9 2013-01-05 00:20:33 +01:00
Michael Niedermayer
498e1c6bb9 lavu: check av_clip*() limits
This code cannot use av_assert* due to circular header dependancies

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 22:19:31 +01:00
Paul B Mahol
ddeb299234 lavc: remove img_get_alpha_info as it not available any more
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-04 20:13:03 +00:00
Michael Niedermayer
fa11f36876 mpegpsenc: avoid shifting dts/pts
Only shift if needed to avoid negative scr when requested
or for dvd.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
cf369d4449 mpegpsenc: show first SCR/DTS at debug level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
9fd0cf8a3b mpegpsenc: move preload recalculation to where its needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
2a23f6035e mpegpsenc: Fix SCR handling for DVD
This makes the initial SCR equal 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
84aba8eed9 mpegpsenc: restructure SCR handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Justin Ruggles
f2214c6224 au: use ff_raw_write_packet() 2013-01-04 19:52:57 +00:00
Paul B Mahol
d885cc41e5 Fix "knwon" typo and add a check in tools/patcheck
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-04 19:24:37 +00:00
Maximilian Seesslen
467c033858 fixed granularity of video quality when encoding with theora codec
The floating point version of av_clip has to be used when converting the quality level.

Signed-off-by: Maximilian Seesslen <mes@seesslen.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 18:46:24 +01:00
Anton Khirnov
b14e89b3c5 Prepare for 9 Release. 2013-01-04 17:53:47 +01:00
Anton Khirnov
a5d8c9243a Update release notes for the 9 release.
Add a paragraph about MSVC and mention 24-bit FLAC encoding.
2013-01-04 17:50:34 +01:00
Michael Niedermayer
c98d3056cf msrle: fix small palette handling
Fixes second file in Ticket1273

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 17:06:29 +01:00
Alexander Strasser
ac25b31ede lswr: Improve default resampler's default parameters
After making some blind tests on a small collection of music
samples for home usage. It turned out that the default cutoff
was too low.

The impact of filter_size was not clearly distinguishable (the
results were on the edge) with the music samples but turned out
to be clearly audible in some synthetic samples.

Thanks to Daniel for helping out with the listening tests.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-01-04 16:47:57 +01:00
Michael Niedermayer
a08194b4c5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: fix missing " in header documentation
  aviobuf: Discard old buffered, previously read data in ffio_read_partial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:29:15 +01:00
Michael Niedermayer
8d0b2aae71 Merge commit 'e96406eda4f143f101bd44372f7b2d542183000a'
* commit 'e96406eda4f143f101bd44372f7b2d542183000a':
  rtsp: Add support for depacketizing RTP data via custom IO

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:23:19 +01:00
Michael Niedermayer
ea96feddb7 Merge commit '3f95f0dda55fca74b646937095a02a8fa9776622'
* commit '3f95f0dda55fca74b646937095a02a8fa9776622':
  rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:13:30 +01:00
Michael Niedermayer
e1cf1a9c89 Merge commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8'
* commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8':
  aviobuf: Partial support for reading in read/write contexts
  build: Avoid detecting bogus components named 'x'

Conflicts:
	libavcodec/allcodecs.c
	libavdevice/alldevices.c
	libavformat/allformats.c
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:01:54 +01:00
Michael Niedermayer
d0b450457b matroskadec: fix ffio_init_context() usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:01:30 +01:00
Anton Khirnov
dda20a6e2c avprobe: also output dar/par if only defined in stream
Based on a patch by Jan Gerber <j@v2v.cc>
2013-01-04 12:55:58 +01:00
Stefano Sabatini
cb8d3965fd lavfi/yadif: add support to named constants 2013-01-04 11:48:54 +01:00
Stefano Sabatini
f7dc6aa6b1 lavfi/yadif: add support to named options and options introspection
Also rename the "enable_auto" field to "deint", to match the name of the
option.
2013-01-04 11:48:54 +01:00
Stefano Sabatini
8674597fe5 lavfi/yadif: remove redundant NULL checks in uninit 2013-01-04 11:48:53 +01:00
Stefano Sabatini
4ea7c17932 lavfi/yadif: fail during the configuration stage in case of invalid video size
This is better than repeatedly failing during the filtering stage.
2013-01-04 11:48:53 +01:00
Stefano Sabatini
b52c1d0c99 lavfi/yadif: remove unused poll_frame callback 2013-01-04 11:48:53 +01:00
Carl Eugen Hoyos
155cdc1d05 Add a comment about an intentional misspelling to the id3v1 tags. 2013-01-04 10:32:39 +01:00
Carl Eugen Hoyos
2284448775 Revert "Fix id3v1 tag spelling."
The misspelling is used in the specification.

This reverts commit 95016fd1c8.
2013-01-04 10:29:31 +01:00
Benjamin Kerensa
95016fd1c8 Fix id3v1 tag spelling. 2013-01-04 10:11:29 +01:00
Peter Meerwald
be6cde3ce8 lavr: fix missing " in header documentation
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-04 10:29:55 +02:00
Michael Niedermayer
b888cea9cb ac3dec: split out pointer update loop for saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 06:20:39 +01:00
Michael Niedermayer
4e0738cec9 mpegaudiodec/mp3on4: fix buffer size.
The larger (and really ugly) size is not needed anymore.

Found-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 06:20:19 +01:00
Michael Niedermayer
7b5fdd04de locodec: flip RGBA
Fixes Ticket1222

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 04:49:16 +01:00
Michael Niedermayer
9e36d9e4ed pngdec: fix decoding of right column for 2/4bpp
Fixes Ticket1146

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 23:40:22 +01:00
Reimar Döffinger
c5142a95a5 Support more AVC-Intra files
Followup to http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/151321
patch by Reimar and Thomas Mundt fixes some AVC-Intra files from
different tickets.
It does not fix http://samples.ffmpeg.org/ffmpeg-
bugs/trac/ticket524/AVCI50.mov

Authors of this commit are: Reimar and Thomas Mundt
Patch and commit message mostly taken from ffmpeg-devel, mail by Carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 21:48:38 +01:00
Reimar Döffinger
def01739c1 mxfdec: Set AV_FIELD_PROGRESSIVE, needed for AVC-intra
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 21:44:33 +01:00
Paul B Mahol
28d75441ec fate: update seek-lavf-aiff after previous commit
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-03 20:03:43 +00:00
Paul B Mahol
48340bbb36 aiffenc: metadata support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-03 19:35:02 +00:00
Paul B Mahol
0c8943939e gifdec: use log level that have more common sense
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-03 19:33:57 +00:00
Michael Niedermayer
bbb11f383e lavf: add return to silence compiler warning
The added statement is not reachable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 20:02:14 +01:00
Nicolas George
be01d1a24d fate: disable globbing when calling shell functions.
Some of the filters tests use globbing characters, especially
brackets for filter pad labels. While most of these strings
are way too complicated to ever match an existing file name
and are therefore kept unchanged in the command line (an old
misfeature of the shell language that happens to be convenient
here), at least one use is simple enough to match random files
lying in the current directory. If that happens, the string,
that was meant to be kept verbatim, is replaced by the file
name, and that causes the test to fail (or worse).
2013-01-03 16:16:07 +01:00
Martin Storsjö
53c25ee073 aviobuf: Discard old buffered, previously read data in ffio_read_partial
This makes RTP custom IO work properly with pure read-only
AVIOContexts as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:17:10 +02:00
Martin Storsjö
e96406eda4 rtsp: Add support for depacketizing RTP data via custom IO
To use this, set sdpflags=custom_io to the sdp demuxer. During
the avformat_open_input call, the SDP is read from the AVFormatContext
AVIOContext (ctx->pb) - after the avformat_open_input call,
during the av_read_frame() calls, the same ctx->pb is used for reading
packets (and sending back RTCP RR packets).

Normally, one would use this with a read-only AVIOContext for the
SDP during the avformat_open_input call, then close that one and
replace it with a read-write one for the packets after the
avformat_open_input call has returned.

This allows using the RTP depacketizers as "pure" demuxers, without
having them tied to the libavformat network IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:15:27 +02:00
Martin Storsjö
3f95f0dda5 rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:14:34 +02:00
Martin Storsjö
a0b7e28907 aviobuf: Partial support for reading in read/write contexts
So far, aviocontexts are used either in pure-read or pure-write
mode - full read/write mode doesn't work well (and implementing it
is a much larger, not totally trivial change).

This patch allows using avio_read and ffio_read_partial on
read/write aviocontexts, where the read operations are passed
through directly unbuffered, while writes are buffered as usual.

This is enough to support the operations needed by packet based
data transfer like in udp/rtp, where aviocontext is the only
public API for hooking up custom IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:14:09 +02:00
Clément Bœsch
3048fae63c build: Avoid detecting bogus components named 'x'
The function find_things() in configure is confused by component
registration calls as part of multiline macros defining combined
component registration.  Coalesce those macros into one line to
work around the issue.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:11:25 +02:00
Michael Niedermayer
1894302a44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cmdutils: update copyright year to 2013
  h264: check SPS entries directly to detect pixel format changes
  forgotten changelogs for 9_beta2

Conflicts:
	Changelog
	cmdutils.c
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 13:22:45 +01:00
Johan Andersson
7768a635c4 cmdutils: update copyright year to 2013
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 13:35:12 +02:00
Janne Grunau
9ac44ad9d0 h264: check SPS entries directly to detect pixel format changes
Comparing AVCodecContext.pix_fmt against the get_pixel_format() return
value has the side effect of calling the get_format() callback on each
slice. Users of the callback will probably handle hardware accelerator
initialization in the callback.
2013-01-03 11:09:00 +01:00
Clément Bœsch
dc8b36746a lavf/webvtt: use ff_subtitles_read_chunk().
The FATE test is updated because the line breaks in the dialogue
rectangles are now proper CRLF.
2013-01-03 07:46:30 +01:00
Clément Bœsch
3fa642d60f subviewer: sanitize packets.
The data does not contain timing or trailing line breaks anymore. In
addition to being less idiotic, it is consistent with other codecs and
thus allows more switches between formats and codecs. It also fixes the
issue of the trailing line returns being simple \n instead of CRLF in
the ASS rectangle dialogue (this is the reason of the FATE update).
2013-01-03 07:25:47 +01:00
Reinhard Tartler
60e60d99ad forgotten changelogs for 9_beta2 2013-01-03 07:09:41 +01:00
Michael Niedermayer
52334f5be2 tiff: print error for old style LZW
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 04:26:57 +01:00
Clément Bœsch
491ca0e89f Replace references to "que" with the appropriate word.
"que" sounds like a slang word to me. This commit renames a few
variables, fix the comments and the logging messages (sometimes along
with small other typo fixes).
2013-01-03 00:21:47 +01:00
Clément Bœsch
43adc62e70 lavf/mpegtsenc: fix missing word in error message. 2013-01-03 00:04:41 +01:00
Clément Bœsch
f263426eed lavu/math: fix than/then typo, and add a comma. 2013-01-03 00:02:51 +01:00
Michael Niedermayer
98db905896 avformat_seek_file: Dont attempt to rescale INT64_MIN/MAX
This fixes a integer overflow in fate

Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 00:02:22 +01:00
Michael Niedermayer
740e740895 av_rescale: support passing MIN/MAX through
Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 00:02:22 +01:00
Lou Logan
091ce6bcb2 doc/faq: add -start_number example
Also add example showing cat piping images to ffmpeg.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-01-02 23:52:35 +01:00
Stefano Sabatini
69d75dc4dd lavu/base64: extend/clarify doxy for the base64 API
Also improve overall consistency.
2013-01-02 23:52:35 +01:00
Clément Bœsch
49a78e6b8c lavu/eval: handle div by zero in mod().
Similarly to 03f5043f5, we use the FTRAPV config setting.
2013-01-02 23:15:45 +01:00
Michael Niedermayer
aa86d2d884 lavf: move stream==-1 handling from ff_subtitles_queue_seek() to avformat_seek_file()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-02 23:02:33 +01:00
Clément Bœsch
fc86f86353 fate/sub2video: move sws flags globally in the filtergraph.
The flags are necessary for the auto inserted scaler (because the
overlay filter needs an alpha channel for the overlay surface).
2013-01-02 21:48:56 +01:00
Michael Niedermayer
ccb7f20309 fate: add missing bitexact flag to scale filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-02 20:15:10 +01:00
Nicolas George
b252d9e777 fate: add sub2video test. 2013-01-02 17:53:12 +01:00
Nicolas George
e4f14c32b9 examples/muxing: improve error messages.
Illustrate the use of return values, av_err2str and
avcodec_get_name.
2013-01-02 17:42:00 +01:00
Nicolas George
b99bef17b4 lavfi/avfiltergraph: check pick_format return code. 2013-01-02 16:56:03 +01:00
Stefano Sabatini
82deb0c42e doc/muxers: adopt new -codec:SPEC syntax in segment example 2013-01-02 16:30:11 +01:00
Stefano Sabatini
8bbe9d90fa doc/muxers: add a dedicated section for segment examples 2013-01-02 16:29:58 +01:00
Stefano Sabatini
fd44dfb29d doc/muxers: fix typos in the segment chapter 2013-01-02 16:29:42 +01:00
Clément Bœsch
8bc74221f8 lavf: remove generic index flag from text subtitles.
This flag is not necessary.
2013-01-02 10:32:21 +01:00
Clément Bœsch
5a2f3f0bca lavf/vobsub: do not count trailing NUL char in extradata.
See 36e61e24.
2013-01-02 09:31:07 +01:00
Michael Niedermayer
1e28fa21de rawdec: fix NV12
Fixes Ticket646

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-02 03:56:57 +01:00
Janne Grunau
e9fd51b0d6 h264: check SPS entries directly to detect pixel format changes
Comparing AVCodecContext.pix_fmt against the get_pixel_format() return
value has the side effect of calling the get_format() callback on each
slice. Users of the callback will probably handle hardware accelerator
initialization in the callback.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-02 02:28:57 +01:00
Michael Niedermayer
341e40f1e1 lavf: Fix codec id forcing with probed codecs
Fixes Ticket2088

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-02 01:17:36 +01:00
Michael Niedermayer
3a6b6f425e lavf: move force_codec_ids() up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-02 01:17:36 +01:00
Nicolas George
98ce9b8468 fate: merge mapchan and options into ffmpeg.
They were two very short files that cover ffmpeg-specific features.
2013-01-01 23:48:41 +01:00
Nicolas George
102cf964dd ffmpeg: sub2video: set resample size.
Necessary after 04a530f.
2013-01-01 23:06:34 +01:00
Nicolas George
5ed5e90f2a lavc/dvdsubenc: improve color distance function.
Consider the color space as an hypercone with apex alpha=0
and base alpha=1 instead of an hypercube.
Make the encoder consider very transparent colors more similar
even if the hue is very different.
This corresponds roughly to using the alpha as a weight for the
color difference.
Only 4 bits of alpha are used, because this is what dvdsub uses,
and it avoids overflows.

Fix trac ticket #2005.
2013-01-01 20:07:37 +01:00
Nicolas George
8dbbaf568e lavf/matroskaenc: respect bitexact for attachments.
Use the first 64 bits of the SHA1 of the content as file UID
instead of a random number if the bitexact flag is set.
2013-01-01 19:43:21 +01:00
Nicolas George
5bab99baea ffmpeg: apply flags to attachments too. 2013-01-01 19:43:21 +01:00
Nicolas George
951a03b3a8 ffmpeg: move stream_copy flags handling after attachments. 2013-01-01 19:43:20 +01:00
rogerdpack
10a9277562 better filter error message when accidentally reusing outputs
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 19:39:10 +01:00
Nicolas George
ecda1d3cbe lavf: add data: URI scheme. 2013-01-01 19:29:04 +01:00
Paul B Mahol
ba1cbf40ce lavfi/lut: use ff_fill_rgba_map()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-01 17:07:57 +00:00
Piotr Bandurski
fde13052fb aiffdec: set block duration for QDM2
Fixes #1697.
2013-01-01 17:03:22 +00:00
Clément Bœsch
7d66bc7920 lavc/movtextdec: keep the min size instead of max to fix overread.
Fixes Ticket #2087.
2013-01-01 16:41:37 +01:00
Clément Bœsch
1dd4a21cb7 fate: re-enable fate-sub-mpsub.
This reverts commit 580ee973d1.
2013-01-01 16:34:00 +01:00
Clément Bœsch
c14f8a52b0 lavf/mov: fix timecode track reference usage. 2013-01-01 16:20:10 +01:00
Clément Bœsch
8d398f40b4 lavf/mov: simplify timecode track ref.
There can be only one track reference. The multiple tref handling is
handled at a different level.
2013-01-01 16:20:10 +01:00
Nicolas George
69a1667b06 ffmpeg: mark attachment streams finished.
Fix trac ticket #2083.
2013-01-01 16:05:35 +01:00
Michael Niedermayer
9b53306178 cmdutils: we have 2013
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 15:43:37 +01:00
Nicolas George
82541d8330 lavfi: merge all filtering code into ff_filter_frame. 2013-01-01 15:19:04 +01:00
Hendrik Leppkes
765158dd82 mov: fix parsing of the chap atom.
This was broken in 0d96ec19eb under the
assumption that there is only one tref leaf atom.

Fixes Ticket #2081.
2013-01-01 15:16:37 +01:00
Paul B Mahol
8c33cb5c77 fate: add nistsphere demuxer test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-01 14:02:54 +00:00
Michael Niedermayer
9336a980bb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add support for limelight authentication
  rtmp: Add support for adobe authentication

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 14:04:50 +01:00
Paul B Mahol
8e4e532bb2 lavfi/avcodec: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-01 12:57:07 +00:00
Michael Niedermayer
c047a41bc5 Merge commit '33f28a3be3092f642778253d9529dd66fe2a014a'
* commit '33f28a3be3092f642778253d9529dd66fe2a014a':
  rtmp: Add a function for writing AMF strings based on two substrings
  rtmp: Return a proper error code in handle_invoke_error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 13:54:22 +01:00
Clément Bœsch
d079d1d368 ffprobe: do not escape '"' between single quotes. 2013-01-01 13:32:51 +01:00
Clément Bœsch
c1abfcd7d6 doc/resampler: remove .html from link text. 2013-01-01 10:59:51 +01:00
Michael Niedermayer
13131685f1 ffmpeg: avoid negative timestamps for DVD
dvdauthor cannot handle files with ts wraps

Fixes ticket383

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 04:59:03 +01:00
Nicolas George
2eb2e1798e lavfi: add avfilter_get_audio_buffer_ref_from_arrays_channels.
It is the same as avfilter_get_audio_buffer_ref_from_arrays
except it has a "channels" and the channel layout can be 0.
2013-01-01 02:01:28 +01:00
Michael Niedermayer
f105fe5c22 rawdec: fix decoding of odd dimensioned raw yv12
Fix Ticket339 part 2 of 2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 00:44:44 +01:00
Carl Eugen Hoyos
67abe21c0b mov: fix handling of odd sized yv12
Part 1 of 2 to fix Ticket339

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-01 00:44:44 +01:00
Michael Niedermayer
6e8df250fd mpeg12: fix frame_pred_frame_dct handling in field pictures
Fixes Ticket254

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 20:55:03 +01:00
Michael Niedermayer
49ec0d8ed2 mpeg12: print invalid cbp value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 20:55:02 +01:00
Michael Niedermayer
343900a147 mpeg12: print error for invalid skip cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 20:55:02 +01:00
Nicolas George
9e28e0035a lavc/flacenc: improve error return.
Use meaningful error codes and add log messages.
2012-12-31 19:11:12 +01:00
Nicolas George
11ab2c25b6 lavfi/avfiltergraph: print query_formats errors. 2012-12-31 18:43:04 +01:00
Nicolas George
5f12d5ad78 lswr: improve rematrixing error message.
Report channel layout/count for insufficiently determined
rematrixing.
2012-12-31 18:43:04 +01:00
Michael Niedermayer
08196c785a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: suppress -fPIC in msvc builds
  Drop unnecessary 'l' length modifier when printfing double values.
  truemotion2: Sanitize tm2_read_header()

Conflicts:
	libavcodec/truemotion2.c
	libavfilter/src_movie.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 14:20:01 +01:00
Michael Niedermayer
98275283d5 Merge commit '5e6ee38bd3cef0dd05f1dd7977c71f3479eb6d01'
* commit '5e6ee38bd3cef0dd05f1dd7977c71f3479eb6d01':
  FATE: add cavs test
  cavsdec: export picture type in the output frame

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 13:53:21 +01:00
Michael Niedermayer
ca95d1b32d Merge commit '7d8482640058d66867602a6f58446c9342d9d146'
* commit '7d8482640058d66867602a6f58446c9342d9d146':
  cavs: deMpegEncContextize

Note, the bugfixes have all been in FFmpeg previously, this just switches away
from MpegEncContext

Conflicts:
	libavcodec/cavs.c
	libavcodec/cavsdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 13:38:01 +01:00
Michael Niedermayer
6ddda83c3f Merge commit '64bb3fa6b7f5b2db22b7577585d5861be24eebd8'
* commit '64bb3fa6b7f5b2db22b7577585d5861be24eebd8':
  cavs: cosmetics, reformat top part
  cavsdec: cosmetics, reformat
  libavcodec/utils: Add braces to shut up gcc warnings

Conflicts:
	libavcodec/cavsdec.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 13:14:06 +01:00
Clément Bœsch
87350d6b44 lavc/textdec: fix subviewer1 preproc check. 2012-12-31 13:06:29 +01:00
Martin Storsjö
c1ea44c54d rtmp: Add support for limelight authentication
Limelight is a not too uncommon CDN. The authentication scheme is
pretty similar to the adobe authentication, but is even closer to
normal http digest authentication (but not close enough to warrant
sharing code) than the adobe version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-31 13:39:09 +02:00
Martin Storsjö
08225d0126 rtmp: Add support for adobe authentication
This is mostly used to authenticate the client when publishing.
Tested with wowza and akamai.

Some but not all servers support resending a new connect invoke
within the same connection, so always reconnect for sending a new
connection attempt. This matches what other applications do as well.

The authentication scheme is structurally pretty similar to http
digest authentication, but uses base64 instead of hex strings.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-31 13:39:08 +02:00
Martin Storsjö
33f28a3be3 rtmp: Add a function for writing AMF strings based on two substrings
This avoids having to concatenate them into one buffer before writing
them as AMF.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-31 13:39:07 +02:00
Martin Storsjö
c76daa89ab rtmp: Return a proper error code in handle_invoke_error
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-31 13:39:06 +02:00
Hendrik Leppkes
506409776c configure: suppress -fPIC in msvc builds
MSVC doesn't understand the option, and emits a warning on every
call to cl.exe.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-31 12:34:30 +02:00
Diego Biurrun
bcb8d9eb8f Drop unnecessary 'l' length modifier when printfing double values.
%f denotes a double argument and 'l' does nothing in this case
according to the C spec.
2012-12-31 11:20:45 +01:00
Diego Biurrun
117f79de2d truemotion2: Sanitize tm2_read_header()
Also give a variable a more sensible name.
2012-12-31 11:20:45 +01:00
Clément Bœsch
72ff8ee158 lavc: correctly set AVSubtitle format for text based subtitles. 2012-12-31 10:08:27 +01:00
Clément Bœsch
e3c25860dc lavc/utils: reindent in avcodec_decode_subtitle2(). 2012-12-31 10:06:32 +01:00
Paul B Mahol
9a74282644 Sony Wave64 muxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-31 07:10:57 +00:00
Clément Bœsch
fe5a2fc46c Changelog: remove av_{base,dir}_name addition.
This belongs only to APIChanges, where it is already present.

Spotted-by: Stefano
2012-12-31 02:33:24 +01:00
Clément Bœsch
8d06e83d16 lavfi/Makefile: add missing dependencies to FFLIBS. 2012-12-31 01:40:34 +01:00
Clément Bœsch
21b6991cd5 lavfi/Makefile: make FFLIBS list consistent. 2012-12-31 01:38:31 +01:00
Clément Bœsch
1f265f5205 microdvd: sanitize AVPackets.
Current MicroDVD AVPackets contain timing information and trailing line
breaks. The data is now only composed of the markup data. Doing this
consistently between text subtitles decoders allows to use different
codec for various formats. For instance, MicroDVD markup is sometimes
found in some VPlayer files. Also, generally speaking, the subtitles
text decoders have no use of these timings (and they must not use them
since it would break any user timing adjustment).

Technically, this is a major ABI break. In practice, a mismatching
lavf/lavc will now error out for MicroDVD decoding. Supporting both
formats requires unnecessary complex and fragile code.

FATE needs update because line breaks in the ASS file were "\n" (because
that's what is used in the original file). ASS format expect "\r\n" line
breaks; this commit fixes this issue. Also note that this "\r\n"
trailing need to be moved at some point from the decoders to the ASS
muxer.
2012-12-31 00:41:35 +01:00
Clément Bœsch
faa94061dd Add SubViewer v1 subtitles demuxer and decoder. 2012-12-31 00:01:58 +01:00
Clément Bœsch
7b43402724 Add PJS subtitles demuxer and decoder. 2012-12-30 23:55:28 +01:00
Clément Bœsch
580ee973d1 FATE: disable fate-sub-mpsub temporarly.
Sample has been forgotten, revert this commit in a day or two, when
sample is available everywhere.
2012-12-30 23:42:52 +01:00
Clément Bœsch
a1e4e352a6 Add AQTitle subtitles demuxer. 2012-12-30 23:37:14 +01:00
Clément Bœsch
949506191a lavf/subtitles: fix CLRF/CRLF typo. 2012-12-30 23:14:34 +01:00
Clément Bœsch
725d6c615c Add MPlayer subtitles demuxer. 2012-12-30 23:09:49 +01:00
Clément Bœsch
d9ac8d2967 lavf: move srtdec:read_chunk() to subtitles utils.
This function can be useful for various other subtitles formats.
2012-12-30 22:58:58 +01:00
Clément Bœsch
67286fa98b 10l: export ff_bprint_to_extradata between libs using avpriv_ prefix.
Both libavformat and libavcodec requires this function.
2012-12-30 22:54:56 +01:00
Clément Bœsch
5c68aae908 Add VPlayer subtitles demuxer and decoder.
Note that the linebreaks text codec option (but not the feature) has
been removed; its main goal was to allow demuxers to configure the text
decoder (and not meant to be used by users), but the AVOption are not a
viable solution. This is solved differently in this commit.
2012-12-30 22:46:42 +01:00
Clément Bœsch
5f02844c8d Add MPL2 subtitles demuxer and decoder. 2012-12-30 22:37:25 +01:00
Clément Bœsch
2d3305e4f4 lavc/avcodec: fix FF_INPUT_/BUFFER_/PADDING_SIZE typo. 2012-12-30 22:22:18 +01:00
Clément Bœsch
9db5f82032 ffserver: add missing padding to extradata. 2012-12-30 22:22:18 +01:00
Clément Bœsch
36e61e24e7 lavc: add ff_bprint_to_extradata() helper and use it.
This commit also makes sure the extradata and subtitle_header are NUL
terminated, without taking into account the trailing '\0' in account in
the size.

At the same time, it should fix 'warning: dereferencing type-punned
pointer will break strict-aliasing rules' warning for compilers who
don't consider uint8_t** and char** compatibles.
2012-12-30 22:19:04 +01:00
Clément Bœsch
e911f4ae72 lavc/srtenc: just like the decoder, mark SRT encoder as deprecated. 2012-12-30 21:39:36 +01:00
Clément Bœsch
1b673cd9ff lavc/srtenc: do not add trailing line breaks with SubRip.
The SRT muxer is reponsible for separating events with two line breaks,
there is no need to add more than necessary. Similarly, other muxers
(such as Matroska) are not supposed to add line breaks at the end of the
payload.
2012-12-30 21:39:36 +01:00
Clément Bœsch
3af3a3006f lavf/srtdec: remove line break hack.
This is not necessary anymore since the last commit.
2012-12-30 21:39:35 +01:00
Clément Bœsch
d927d8395d lavc/srtdec: make some sscanf to work at the end of a line.
Fix sscanf calls that can't work at the end of a line unless it ends
with \r\n or \n: the markup line may/should/must not end with these
characters.
2012-12-30 21:39:35 +01:00
Anton Khirnov
5e6ee38bd3 FATE: add cavs test 2012-12-30 18:52:51 +01:00
Anton Khirnov
fb0cb11f09 cavsdec: export picture type in the output frame 2012-12-30 18:52:26 +01:00
Anton Khirnov
7d84826400 cavs: deMpegEncContextize
It does not use any of the mpegvideo infrastructure, just a few fields
from the context.

Fixes a segfault with the emu edge flag, since emu edge buffer is now
allocated as a part of the frame buffer allocation and cavs calls
ff_get_buffer() directly, it does not use mpegvideo buffer management.

Fixes a memleak of the last frame.
2012-12-30 18:48:11 +01:00
Anton Khirnov
64bb3fa6b7 cavs: cosmetics, reformat top part 2012-12-30 18:47:54 +01:00
Anton Khirnov
185c2ef849 cavsdec: cosmetics, reformat 2012-12-30 18:47:30 +01:00
Nicolas George
c36302a7a4 lavfi/sink_buffer: switch to filter_frame. 2012-12-30 18:29:57 +01:00
Nicolas George
a978c04e22 lavfi/video: ensure that filter_frame is called.
This is a temporary workaround until all filters have been
upgraded to filter_frame and the framework can forget completely
about start_frame/draw_slice/end_frame.
2012-12-30 18:29:57 +01:00
Don Moir
522cb6abf2 gifdec: use transparent instead of background color index
Wrong code was commited in 64f4fb75c4.
2012-12-30 17:21:25 +00:00
Michael Niedermayer
b84871b8eb vf_tinterlace: dont mix declarations and expressions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 16:59:52 +01:00
Michael Niedermayer
c0c0b19644 lavfi: remove some draw_slice related code that has become unneeded
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 16:58:50 +01:00
Mark Himsley
8997a0fa79 lavfi/tinterlace: add low-pass-filter for top/bottom interleave modes
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-30 15:19:23 +01:00
Stefano Sabatini
9e3b6285cb doc/filters: drop duplicated description of resampler options in aresample docs
Avoid duplication, and point to the complete description of options.
Also provide a more complete specification of the supported syntax.
2012-12-30 15:04:58 +01:00
Michael Niedermayer
cbed2426a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  snow: use VideoDSPContext

Conflicts:
	libavcodec/snow.c

Nothing merged here, this has already been fixed in ffmpeg long ago

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 14:51:06 +01:00
Michael Niedermayer
384dd9804d Merge commit '30a76487304e7250294c9c0e9fa179bf07fd822a'
* commit '30a76487304e7250294c9c0e9fa179bf07fd822a':
  hlsenc: make segment number unsigned
  hlsenc: make EXT-X-MEDIA-SEQUENCE always increase

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 14:21:55 +01:00
Michael Niedermayer
56c71cd599 Merge commit '9b1370aced385698bc783747917544ab69ecb373'
* commit '9b1370aced385698bc783747917544ab69ecb373':
  hlsenc: do not add timestamps in different timebases
  hlsenc: use the correct AV_TIME_BASE macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 14:11:17 +01:00
Michael Niedermayer
19e1c8e4f2 Merge commit '0448f26c97c5ab4858d31e456a4f1738ae783242'
* commit '0448f26c97c5ab4858d31e456a4f1738ae783242':
  hlsenc: keep the playlist to the correct number of items
  hlsenc: use the segment filename in the playlist entry

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 14:02:19 +01:00
Michael Niedermayer
2ce43b37fc Merge commit '6dd93ee6f1b050ad7c4b247899e83efa293ee405'
* commit '6dd93ee6f1b050ad7c4b247899e83efa293ee405':
  hlsenc: check append_entry return value
  hlsenc: use the basename to generate the list entries
  avstring: add av_basename and av_dirname

Conflicts:
	Changelog
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 13:54:50 +01:00
Clément Bœsch
613001d75f Merge back some registering macros in all*.c.
This breaks the sed in configure:find_things(). Fixes regression from
c73c87b. Fixes Ticket2079.

Found-by: jamal
2012-12-30 07:18:21 +01:00
Clément Bœsch
c83002a4f8 lavc/ass_split: check for NULL pointer in ff_ass_split_override_codes().
This is consistent with the other ff_ass_split_* functions.

It also fixes a crash when trying to split a dialog with text=NULL
(which seems to happen when the text of the dialog is empty); basically,
this commit fixes crashes when trying to encode an empty text subtitle
dialog (see subrip and mov_text encoders).

Fixes Ticket2048.
2012-12-30 06:57:34 +01:00
Michael Niedermayer
b113d4a83c aacdec: make dual mono mode selectable through AVOptions too.
Based on patch by Akihiro Tsukada

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 05:29:17 +01:00
Michael Niedermayer
644f021ccf aacdec: simplify dmono
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 05:29:17 +01:00
Michael Niedermayer
6d38661920 aacdec: fix dual mono
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 05:29:17 +01:00
Clément Bœsch
518239cd61 build: postproc cleanup.
This reverts 79f80f5c, moves postproc along with the other libraries,
and fix the postproc dependency to libavutil.
2012-12-30 02:27:52 +01:00
Diego Biurrun
015da965a6 libavcodec/utils: Add braces to shut up gcc warnings
libavcodec/utils.c:1050:5: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/utils.c:1314:5: warning: missing braces around initializer [-Wmissing-braces]
2012-12-30 01:52:04 +01:00
Michael Niedermayer
c77eb4ee90 sws: fix warning: cast from pointer to integer of different size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 20:50:43 +01:00
Michael Niedermayer
3cd137bfea vf_deshake: fix strict aliassing errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 20:00:48 +01:00
Michael Niedermayer
aa9507cc3d swscale: fix warning: assignment from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 19:39:42 +01:00
Michael Niedermayer
05d81a57f5 motion_est_template: fix warning: "ASSERT_LEVEL" is not defined
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 19:37:20 +01:00
Michael Niedermayer
4f1d7cc0ed bktr: fix warning: missing braces around initializer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 19:27:07 +01:00
Dave Yeo
925c9f444f Fix OS/2 threading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 18:56:33 +01:00
Michael Niedermayer
53228f47d6 avf_concat: init pointers to NULL for saftey and to avoid warning of uninitialized use.
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 18:56:33 +01:00
James Almer
d59d39e164 wavdec: fix duration calculation for files with invalid data size
Some wav files report a data size that is bigger than the actual file size.
Fall back to estimation from bitrate in such cases.

Fixes ticket #2065.

Signed-off-by: James Almer <jamrial@gmail.com>
2012-12-29 17:46:01 +00:00
Luca Barbato
d615da60c1 snow: use VideoDSPContext
It was left over from the initial conversion.
2012-12-29 18:05:49 +01:00
Luca Barbato
30a7648730 hlsenc: make segment number unsigned
It will overflow if somebody keeps streaming for a time long enough.
2012-12-29 17:26:30 +01:00
Luca Barbato
9b1370aced hlsenc: do not add timestamps in different timebases
start_time is in stream timebase units while end_time is
in AV_TIME_BASE ones.
2012-12-29 17:26:30 +01:00
Luca Barbato
0448f26c97 hlsenc: keep the playlist to the correct number of items
Consider the corner case with a list size larger than the wrap
number.
2012-12-29 17:26:30 +01:00
Kanglin
27a15e0af6 hlsenc: make EXT-X-MEDIA-SEQUENCE always increase 2012-12-29 17:26:30 +01:00
Kanglin
0d8cc7a3b2 hlsenc: use the correct AV_TIME_BASE macro
recording_time is in AV_TIME_BASE units.
2012-12-29 17:26:30 +01:00
Luca Barbato
6dd93ee6f1 hlsenc: check append_entry return value 2012-12-29 17:26:29 +01:00
Luca Barbato
ae85d6c9c0 hlsenc: use the segment filename in the playlist entry
Avoid calling av_get_frame_filename twice, once to generate the
segment filename and once to generate the playlist.
2012-12-29 17:26:29 +01:00
Luca Barbato
66f7b4862f hlsenc: use the basename to generate the list entries
The segment path is desumed from the playlist path, recording a
relative path in the playlist while serving the file could lead
to misleading results.
2012-12-29 17:26:29 +01:00
Luca Barbato
d8fd06c37d avstring: add av_basename and av_dirname
Thread safe version of the common basename and dirname.
2012-12-29 17:26:22 +01:00
Michael Niedermayer
981baf742c lavfi: replace REGISTER_BUILTIN_FILTER() by REGISTER_FILTER_UNCONDITIONAL()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 15:37:05 +01:00
Michael Niedermayer
83d4a8442c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Prettyprint codec/format/filter registration files

Conflicts:
	libavcodec/allcodecs.c
	libavdevice/alldevices.c
	libavfilter/allfilters.c
	libavformat/allformats.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 14:27:38 +01:00
Michael Niedermayer
2a9443a110 Merge commit '69583bd3b1eba471366141c945030c163e073e02'
* commit '69583bd3b1eba471366141c945030c163e073e02':
  avfilter: Refactor unconditional filter registration
  build: Add rtpenc_chain extra config option
  configure: Add --disable-all command line option

Conflicts:
	libavfilter/allfilters.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 13:05:37 +01:00
Michael Niedermayer
ba34e56c0d Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: fix type of time_diff in waveform display
  ffplay: always display audio visualization if mode is set
  ffplay: hide cursor on no mouse movement
  ffplay: reset external clock to unknown on start
  ffplay: only drop frames if not in frame step mode
  ffplay: move frame step pause from the video thread to video_refresh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 04:34:27 +01:00
Michael Niedermayer
c5bea1b02b xtea: fix unused variable warning for config_small
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 03:37:46 +01:00
Michael Niedermayer
e0a99d5411 msmpeg4enc: fix possible use of uninitialized warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 03:07:45 +01:00
Michael Niedermayer
2fbc8ea08e hpel_motion_search: move code used for asserts under correct #if
This avoids compiler warnings about set but not used variables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 03:07:45 +01:00
Michael Niedermayer
30872fa09b ivi_common: Fix use of uninitialized warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 03:07:45 +01:00
Michael Niedermayer
76e65a1b73 avs: silence "may be used uninitialized" warnings
We initialize the struct to 0 to also ensure any actual use of
the pointers in it will not lead to security issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-29 03:07:45 +01:00
Paul B Mahol
3f8ee30e63 mmfenc: use ff_raw_write_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 22:21:56 +00:00
Paul B Mahol
f18d2137d6 aiffenc: use ff_raw_write_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 22:06:39 +00:00
Paul B Mahol
8ad010a7e0 soxenc: use ff_raw_write_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 21:58:03 +00:00
Paul B Mahol
a4b62f36c7 soxdec: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 21:50:42 +00:00
Paul B Mahol
09401694db soxenc: use ffio_fill
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 21:48:07 +00:00
Paul B Mahol
a4912aa61e soxenc: use FFALIGN
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 21:37:08 +00:00
Michael Niedermayer
07abf13da4 h264: avoid a grayscale related if() in hl_decode_mb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 21:01:54 +01:00
Marton Balint
92b50b71a1 ffplay: fix type of time_diff in waveform display
Fixes time diff overflow visible as showing the same few waveforms in a loop at
the end of file.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:01 +01:00
Marton Balint
ec89ea3022 ffplay: always display audio visualization if mode is set
Fixes ticket #1903.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:01 +01:00
Marton Balint
ef7f3b0870 ffplay: hide cursor on no mouse movement
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:00 +01:00
Marton Balint
0ca4e9f014 ffplay: reset external clock to unknown on start
Fixes a delay and initial frame drops on starting realtime streams with
external clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:01:00 +01:00
Marton Balint
4e33d8ebb3 ffplay: only drop frames if not in frame step mode
Fixes ticket #2053.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 20:00:07 +01:00
Marton Balint
97660b8b13 ffplay: move frame step pause from the video thread to video_refresh
This way we pause the video right after we displayed a new frame. Partially
fixes ticket #2053.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-28 19:59:46 +01:00
Diego Biurrun
c73c87b412 cosmetics: Prettyprint codec/format/filter registration files 2012-12-28 19:18:13 +01:00
Diego Biurrun
69583bd3b1 avfilter: Refactor unconditional filter registration 2012-12-28 19:18:13 +01:00
Diego Biurrun
5ad2f0bfb2 build: Add rtpenc_chain extra config option
Also fixes linking in various configs with only individual parts enabled
because the RTP muxer chaining code depends on the general RTP code,
which is now accounted for.
2012-12-28 19:18:13 +01:00
Diego Biurrun
844c68520e configure: Add --disable-all command line option
This option disables all programs, libraries and other parts of Libav
that get built as part of the compilation process.
2012-12-28 19:17:02 +01:00
Paul B Mahol
507956824c auenc: do not write invalid file size
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 16:29:22 +00:00
Michael Niedermayer
8afe168c78 vf_divtc: dont mix av_strdup and free
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 17:05:19 +01:00
Michael Niedermayer
baa5d6df77 vf_detc: dont mix av_strdup & free
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 17:04:54 +01:00
Michael Niedermayer
458afd2a0e vf_mp: fix 'discards const qualifier from pointer target type'
args are not supposed to be changed by filters even if the argument is
not marked as const.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 17:00:01 +01:00
Michael Niedermayer
33f15ab35d libavutil/samplefmt: Fix project name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 14:05:41 +01:00
Michael Niedermayer
0d4572a54b MAINTAINERS: s/mjpeg.c/mjpeg*.c/
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 13:04:44 +01:00
Stefano Sabatini
0156dd6530 lavf/segment: add segment_frames option
This is meant to address trac ticket #1483.
2012-12-28 11:17:22 +01:00
Stefano Sabatini
7a8face9fb lavf/segment: add reference_stream option 2012-12-28 10:57:02 +01:00
Michael Niedermayer
9e04e11e83 libpostproc: alloc a few bytes more in the temporary buffer
This avoids dering reading 4 bytes prior the buffer (1 byte can
be used)

Fixes Ticket2057

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 02:47:25 +01:00
Michael Niedermayer
f1185fbbec libpostproc: Fix off by 1 error in the C dering code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-28 01:48:40 +01:00
Michael Niedermayer
69db85c30c mjpegdec: Support 16bit DQT
Fixes Ticket2072

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 23:18:40 +01:00
Paul B Mahol
10a3fa8f31 build: fix g723_1 decoder dependency
g723_1 decoder needs celp_math.o because it calls ff_dot_product().

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-27 18:23:11 +00:00
Don Moir
64f4fb75c4 gifdec: fix transparent background color
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-27 18:10:25 +00:00
Michael Niedermayer
b61097fe0d mjpegdec: reset restart_count on progressive scans
Fixes Ticket2068

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 17:41:53 +01:00
Stefano Sabatini
ae2b51acd2 doc/encoders: clarify the direction of the quality setting parameters for libtheora 2012-12-27 15:47:15 +01:00
Stefano Sabatini
7e0676a715 doc/ffmpeg-formats: extend documentation for the probesize parameter 2012-12-27 15:47:15 +01:00
Stefano Sabatini
750382d5c8 ffmpeg: remove annoying logs and improve reporting in case of unavailable bitrate 2012-12-27 15:47:15 +01:00
Michael Niedermayer
b3f3fe3c28 MAINTAINERS: add libswresample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 12:15:59 +01:00
Rob Sykes
8d9a503313 docs: add soxr documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 12:13:17 +01:00
Rob Sykes
03d38ee207 soxr_resample: soxr API parameter rename
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 11:59:55 +01:00
Rob Sykes
f2957adb23 soxr_resample: Correct email address
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-27 11:58:16 +01:00
Clément Bœsch
ceee4407e3 lavfi/tile: small align cosmetics. 2012-12-26 21:32:38 +01:00
Clément Bœsch
4cd724daee lavfi/tile: remove usage of link->{cur,out}_buf. 2012-12-26 21:30:46 +01:00
Clément Bœsch
3b870f973e lavfi/scale: remove usage of link->cur_buf. 2012-12-26 21:30:45 +01:00
Clément Bœsch
a612e86ea6 lavfi/deshake: remove usage of link->cur_buf. 2012-12-26 21:30:45 +01:00
Clément Bœsch
5673a0102a lavfi/decimate: remove usage of link->cur_buf. 2012-12-26 21:30:45 +01:00
Clément Bœsch
33e0eb5109 lavfi/video: remove unused ff_inplace_start_frame(). 2012-12-26 21:30:45 +01:00
Michael Niedermayer
011169cd41 mjpegdec: handle the occurance of rstn emulation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 20:43:56 +01:00
Michael Niedermayer
5ff8ca1f04 mjpegdec: Handle RSTn in progressive jpegs
Fixes Ticket2003

Reviewed-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 20:43:20 +01:00
Michael Niedermayer
47e7f57a4b mjpegdec: factor handle_rstn() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 20:25:02 +01:00
Paul B Mahol
c46cfedf09 build: mp filter does not depend on postproc anymore
This fixes testprogs build target if libpostproc is disabled.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-26 19:14:07 +00:00
Michael Niedermayer
a2349dc3f0 vf_idet: fix type of stats
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 17:27:28 +01:00
Clément Bœsch
d155abd1fc lavfi/idet: remove unused assert include. 2012-12-26 17:17:36 +01:00
Clément Bœsch
a7f0af1b9a lavfi/idet: remove unecessary context assignment. 2012-12-26 17:17:36 +01:00
Clément Bœsch
43cbd4406e lavfi/idet: support named parameters.
The parameters are currently not documented in doc/filters.texi, but now
they at least appear in the automatic help.
2012-12-26 17:17:36 +01:00
Clément Bœsch
915d7487d7 lavfi/idet: remove unecessary poll_frame callback. 2012-12-26 17:17:36 +01:00
Michael Niedermayer
39d178806d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: initialize videodsp with correct pixel depth

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 15:19:35 +01:00
Michael Niedermayer
075eaf8d6a vc1dsp: fix the warning fix, make it work with --disable-asm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 14:24:31 +01:00
Stefano Sabatini
955c7c7bc6 doc/resampler: extend docs for min_comp and min_hard_comp options
Based on the text from the aresample filter docs.
2012-12-26 11:56:36 +01:00
Stefano Sabatini
e06c147581 lavfi/aresample: fix style
Improve overall consistency/improve readability.
2012-12-26 11:56:35 +01:00
Michael Niedermayer
b36745339d libswscale/swscale-test: fix some const correctness
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 03:14:59 +01:00
Michael Niedermayer
fceeac9847 vc1dsp: fix pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 03:00:35 +01:00
Michael Niedermayer
67c1acf234 lavc/utils: fix 'warning: missing braces around initializer'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 01:53:45 +01:00
Michael Niedermayer
169dfe320d lcldec: fix zlib const pointer warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 01:37:38 +01:00
Michael Niedermayer
2ad1eb1907 imgconvert: fix 2 "discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 01:36:00 +01:00
Michael Niedermayer
2eab1a178c imgconvert: dont depend on default return type for get_color_type()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 01:34:26 +01:00
Michael Niedermayer
4f927542fb h264_direct: silence several warning: assignment from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-26 01:23:19 +01:00
Janne Grunau
1f4ea4e068 mpegvideo: initialize videodsp with correct pixel depth
Fixes decoding of 9/10 bit per pixel h264 videos as reported in
https://bugzilla.libav.org/show_bug.cgi?id=404 .
2012-12-26 00:24:21 +01:00
Jean First
7fc73d9ab7 rmdec: fix compiler warning for uninitialized variables
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 23:54:34 +01:00
4c41fc88df mpegts: update AVProgram after pmt change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 20:30:36 +01:00
Tomas Härdin
928727f951 mxfdec: Rescale audio stream duration from EditRate to SampleRate
Since 83cab07 audio stream time bases are based on SampleRate, not EditRate.
This fixes trac ticket #2029 and a few seeking issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 17:45:34 +01:00
Michael Niedermayer
a752b9b863 ffmpeg: use the new swr -async parameter instead of a set of parameters.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 17:22:14 +01:00
Michael Niedermayer
f9e55c0fed swr: support -async X as a simple way to do what ffmpeg -async X did
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 17:21:09 +01:00
Michael Niedermayer
0b980e57ac Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: fix greenish line on the right edge with some xv sizes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 16:36:57 +01:00
Hendrik Leppkes
8b6b3632fe vf_pp: add postproc to the library dependencys for avfilter when enabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 15:49:27 +01:00
Marton Balint
cf0c63d99a ffplay: fix greenish line on the right edge with some xv sizes
If the XV image linesize was different from the width, SDL would create an
overlay wider than the actually requested one. This causes a greenish line on
the right, because the rightmost texel is blended with unset data.  This patch
introduces a function which duplicates the rightmost texel to the unset space,
that way the blending will be done with duplicated border texels.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-12-25 13:54:07 +01:00
Michael Niedermayer
1be8d0fbda srt_probe: make buffer pointer const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 02:57:48 +01:00
Michael Niedermayer
9cb887ed37 dsputil_mmx: fix pointer type for emulated_edge_mc_func()
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 02:04:31 +01:00
Michael Niedermayer
f89f3d4a98 str_probe: make buffer related pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:55:22 +01:00
Michael Niedermayer
28b9099ac1 pva_probe: make buffer related pointers and function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:54:41 +01:00
Michael Niedermayer
59693ed96c mxf_probe: make buffer related pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:54:20 +01:00
Michael Niedermayer
c8e5efb496 mpc8_probe: make buffer related pointers and function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:51:59 +01:00
Michael Niedermayer
7a84664ffe mp3_read_probe: make buffer related pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:51:32 +01:00
Michael Niedermayer
9d95deef61 microdvd_probe: make buffer pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:50:58 +01:00
Michael Niedermayer
c3cb338955 mpegps_probe: make buffer related pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:50:14 +01:00
Michael Niedermayer
e1f9432644 loas_probe: make buffer pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:45:56 +01:00
Michael Niedermayer
29397c99e0 lmlm4_probe: make buffer pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:45:43 +01:00
Michael Niedermayer
23348647b2 ipmovie_probe: make buffer pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:44:59 +01:00
Michael Niedermayer
4fcf6aa7a3 flac_probe: make buffer pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:43:14 +01:00
Michael Niedermayer
658bd6db7b ac3_eac3_probe: mark buffer pointers const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:42:23 +01:00
Michael Niedermayer
d7e050b11d adts_aac_probe: mark buffer pointers as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-25 01:41:00 +01:00
Michael Niedermayer
ec40d15d82 oggdec: fix warning: assignment discards qualifiers from pointer target type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 22:37:24 +01:00
Michael Niedermayer
bd16f0a331 avfiltergraph: put variables used in #if 0 code themselfs under #if 0
Fixes unused variable warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 22:35:27 +01:00
Michael Niedermayer
70d5cd103a mcdec: suppress "warning: a/vst may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 18:31:37 +01:00
Michael Niedermayer
e9c4f36c52 lavf/mpeg: suppress warning: lpcm_header_len may be used uninitialized in this function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 18:18:03 +01:00
Michael Niedermayer
7681b8e9a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wnv1: cosmetics, reformat
  xan: remove a trivially true if().
  ansi: do not depend on get_buffer() initializing the frame.
  zerocodec: remove an unused variable.
  zmbv: remove some pointless comments and empty lines

Conflicts:
	libavcodec/xan.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 16:20:07 +01:00
Michael Niedermayer
9dbedf331e Merge commit 'c6303f8d70c25dd6c6e6486c78bf99c9924e2b6b'
* commit 'c6303f8d70c25dd6c6e6486c78bf99c9924e2b6b':
  yop: simplify/sanitize the decoding loop
  c93: set palette_has_changed.
  bmp: cosmetics, reformat
  hlsenc: Don't duplicate a string constant

Conflicts:
	libavcodec/bmp.c
	tests/ref/fate/yop

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 15:48:02 +01:00
Michael Niedermayer
ba8e909c82 Merge commit '3193b13aa1e271f6d2dd68de67d448c08aef3c00'
* commit '3193b13aa1e271f6d2dd68de67d448c08aef3c00':
  hlsenc: Allocate enough space for the pattern string
  lavc: Correct the description of pkt_dts
  avfilter: Compile FIFO filters unconditionally

Conflicts:
	libavcodec/avcodec.h
	libavfilter/Makefile
	libavfilter/allfilters.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 15:29:15 +01:00
Michael Niedermayer
d69238e991 Merge commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a'
* commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a':
  Return proper error code after av_log_ask_for_sample()
  configure: cosmetics: Separate hwaccel dependencies from decoders/encoders
  oggdec: check memory allocation

Conflicts:
	configure
	libavcodec/pictordec.c
	libavformat/anm.c
	libavformat/oggdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 15:09:58 +01:00
Michael Niedermayer
c6664242e0 Merge commit 'f5f1cf52240759208b42477e2157a7b4409ade10'
* commit 'f5f1cf52240759208b42477e2157a7b4409ade10':
  oggdec: K&R cosmetic formatting
  hlsenc: correctly report target duration

Conflicts:
	libavformat/oggdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 14:43:03 +01:00
Anton Khirnov
0a9132b84c wnv1: cosmetics, reformat 2012-12-24 09:18:19 +01:00
Anton Khirnov
51648da4dc xan: remove a trivially true if().
This function used to be shared with the xxan decoder, but that is not
true anymore.
2012-12-24 09:17:57 +01:00
Anton Khirnov
99e36ddd3e ansi: do not depend on get_buffer() initializing the frame.
The background changes from 128 (used by the default/cmdutils
get_buffer()) to 0. This looks more correct.
2012-12-24 09:17:45 +01:00
Anton Khirnov
261f0b14ed zerocodec: remove an unused variable. 2012-12-24 09:17:40 +01:00
Anton Khirnov
8adfacff5c zmbv: remove some pointless comments and empty lines 2012-12-24 09:17:34 +01:00
Anton Khirnov
c6303f8d70 yop: simplify/sanitize the decoding loop
Do not overwrite linesize set by get_buffer().

The last frame in the FATE test is not decoded anymore, since the file
is cut and a part of it is missing.
2012-12-24 09:16:51 +01:00
Anton Khirnov
f6e395e132 c93: set palette_has_changed. 2012-12-24 09:16:11 +01:00
Anton Khirnov
3eab600752 bmp: cosmetics, reformat 2012-12-24 09:15:30 +01:00
Michael Niedermayer
98b7a50a21 tiffdec: Fix runend handling
Fixes Ticket1999

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 04:35:12 +01:00
Michael Niedermayer
d4d8d4f786 rl2: return EOF on EOF
Fixes Ticket1947

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 02:51:51 +01:00
Michael Niedermayer
eeb111d364 Changelog: reword H264-MT entry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 01:57:45 +01:00
Stefano Sabatini
86c6bf040b doc/filters: remove outdated comments
Audio API should not be considered unstable any longer, and mentioning
VHOOK is confusing, as it was removed 4 years ago.
2012-12-24 01:36:21 +01:00
Clément Bœsch
98dc25672f lavc/pthread: do not re-define _GNU_SOURCE if already defined.
This fixes the following warning with GCC:
    libavcodec/pthread.c:35:0: warning: _GNU_SOURCE redefined [enabled by default]
    <command-line>::0: note: this is the location of the previous definition

The reason of the presence of this flag is:
    % pkg-config --cflags sdl
    -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL
2012-12-24 00:54:06 +01:00
Clément Bœsch
00ebac6dfd doc: stop generating syntax.html.
Just like doc/eval.texi, this file is meant to be included from
ffmpeg-utils.texi, and not to be used as a standalone documentation.
2012-12-24 00:53:55 +01:00
Martin Storsjö
4a9f7d2bf9 hlsenc: Don't duplicate a string constant
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-24 00:02:48 +02:00
Stefano Sabatini
3193b13aa1 hlsenc: Allocate enough space for the pattern string
If s->filename doesn't contain any period/filename extension to strip
away, the buffer will be too small to fit both strings. This isn't
any buffer overflow since the concatenation uses av_strlcat with
the right buffer size.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-24 00:02:45 +02:00
Paul B Mahol
4f5440adc2 NIST SPHERE demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-23 21:22:43 +00:00
Paul B Mahol
98fed176cf alsdec: improve warning message when invalid channel position is found
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-23 21:17:44 +00:00
Clément Bœsch
57e99ea44d doc/ffserver: fix a few typo. 2012-12-23 20:25:28 +01:00
Martin Storsjö
0940580adb lavc: Correct the description of pkt_dts
The description as updated in 6e5c44b0f made it sound like it is
handled exactly like the pts, which it is not. Clarify that it
is the packet that triggered returning the frame instead of just
the last avpacket (in case of frame threading, it won't be the
dts of the last packet).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-23 20:52:21 +02:00
Michael Niedermayer
d33c939bac docs: add aresample/async example
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 19:47:51 +01:00
Michael Niedermayer
3e15775333 x86/ac3dsp_init: try to workaround ICC failure.
The asm code is not valid for older compilers as it uses too many
operands, ICC on x86_32 seems affected by this.
This patch disables the affected code for ICC on x86_32 and should
make it compileable again.
A better fix would be to use fewer operands or to change this code
to yasm, later is being worked on AFAIK so this is a temporary
solution.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 19:27:19 +01:00
Clément Bœsch
768c47ec37 lavfi: remove mp=pp filter.
Native pp filter is available.

postproc dependency is also dropped from mp wrapper since it was the
only filter needing that dependency.
2012-12-23 19:03:36 +01:00
Clément Bœsch
9b8de93036 lavfi: add pp filter.
Ported from MPlayer. Original author is A'rpi, with various
contributions from Michael Niedermayer. The original documentation was
mostly written by Diego Biurrun. See the MPlayer history for full
credits.

The filter is under GPL like the original filter, even if it differs
quite a lot. There is not much point in making it LGPL since pp is under
GPL.
2012-12-23 19:03:36 +01:00
Clément Bœsch
72380d15ae fate/mp=pp: remove dering subfilter test.
This subfilter gives a different output when linesize and width are
differents.
2012-12-23 19:03:36 +01:00
Clément Bœsch
e36ba9884f fate/mp=pp: expand subfilters with dr (dering) in them.
Commands are equivalent at this point.
2012-12-23 19:03:36 +01:00
Diego Biurrun
5af53731d9 avfilter: Compile FIFO filters unconditionally
Building libavfilter without that functionality makes little sense.
2012-12-23 18:57:01 +01:00
Diego Biurrun
f3298f1299 Return proper error code after av_log_ask_for_sample() 2012-12-23 18:56:56 +01:00
Diego Biurrun
ed40b6bf07 configure: cosmetics: Separate hwaccel dependencies from decoders/encoders
Also move mpegvideo_select statement to the correct position.
2012-12-23 18:51:52 +01:00
Michael Niedermayer
85e83e7a58 doc/ffmpeg-resampler: mention that the options also work with the aresample filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 18:31:33 +01:00
Piotr Bandurski
9bbfcc2675 rmenc: write correct bytes per minute
improves playback of ac3 in RealPlayer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 16:08:10 +01:00
Piotr Bandurski
76f126ba2e rmdec: set bit rate for ra3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 15:59:41 +01:00
Michael Niedermayer
8e09e183fc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  8bps: cosmetics
  aasc: cosmetics, reformat
  ansi: remove an extra return
  asvdec: cosmetics, reformat
  aura: cosmetics, reformat

Conflicts:
	libavcodec/aasc.c
	libavcodec/asvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 15:03:15 +01:00
Michael Niedermayer
def18e5470 Merge commit 'b047c68783aa4042b322af7af043b643d5daf09c'
* commit 'b047c68783aa4042b322af7af043b643d5daf09c':
  4xm: don't rely on get_buffer() initializing the frame.
  huffyuv: split encoder and decoder into separate files.
  lavc: make pkt_{p,d}ts doxy less confusing

Conflicts:
	libavcodec/Makefile
	libavcodec/huffyuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 14:53:21 +01:00
Michael Niedermayer
2f9903f662 Merge commit '418693bdc5edad72b0d055f741931612d797eb05'
* commit '418693bdc5edad72b0d055f741931612d797eb05':
  lavc: rewrite and extend AVFrame doxy
  opt: avoid segfault in av_opt_next() if the class does not have an option list
  ttadec: fix last frame handling when seeking
  alacdec: do not be too strict about the extradata size

Conflicts:
	libavcodec/alac.c
	libavcodec/avcodec.h
	libavcodec/tta.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 13:32:40 +01:00
Luca Barbato
ba064ebe48 oggdec: check memory allocation 2012-12-23 12:19:15 +01:00
Luca Barbato
f5f1cf5224 oggdec: K&R cosmetic formatting 2012-12-23 12:19:08 +01:00
Luca Barbato
7e98956e72 hlsenc: correctly report target duration 2012-12-23 12:13:41 +01:00
Anton Khirnov
b6d7d4efae 8bps: cosmetics
Remove some pointless comments and empty lines.
2012-12-23 11:17:53 +01:00
Anton Khirnov
b047c68783 4xm: don't rely on get_buffer() initializing the frame. 2012-12-23 11:17:53 +01:00
Anton Khirnov
c64cf2a37b aasc: cosmetics, reformat 2012-12-23 11:17:53 +01:00
Anton Khirnov
808b2227d7 ansi: remove an extra return 2012-12-23 11:17:53 +01:00
Anton Khirnov
c3a76c3dec asvdec: cosmetics, reformat 2012-12-23 11:17:53 +01:00
Anton Khirnov
bdfa24514e aura: cosmetics, reformat 2012-12-23 11:17:53 +01:00
Anton Khirnov
2ca5ca2957 huffyuv: split encoder and decoder into separate files. 2012-12-23 11:17:49 +01:00
Anton Khirnov
6e5c44b043 lavc: make pkt_{p,d}ts doxy less confusing 2012-12-23 10:35:32 +01:00
Anton Khirnov
418693bdc5 lavc: rewrite and extend AVFrame doxy 2012-12-23 10:35:27 +01:00
Michael Niedermayer
f9d8658d67 libpostproc: fix leak of 2kb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 04:55:14 +01:00
Michael Niedermayer
ca9eb9305a mpegvideo_enc: fix edge emulation of dimension%16 != 0 for YUV != 420
Fixes Ticket2041

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 04:20:18 +01:00
James Darnley
707af43d19 lavf/y4m: spellcheck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 01:01:17 +01:00
Piotr Bandurski
2e6bd22bbf rmdec: set bit rate for ra4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-23 00:10:49 +01:00
Michael Niedermayer
bc5d6e4b96 docs: point to aresample from asyncts docs
"Fixes" Ticket2036

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 22:33:57 +01:00
Stefano Sabatini
60c801c679 lavf/hlsenc: reuse pattern string, rather than redefining it
Improve robustness.
2012-12-22 22:02:06 +01:00
Stefano Sabatini
005b360b9c lavf/hlsenc: fix basename size computation off-by-one bug 2012-12-22 22:02:06 +01:00
Justin Ruggles
d02202e08a opt: avoid segfault in av_opt_next() if the class does not have an option list
CC: libav-stable@libav.org
2012-12-22 15:43:27 -05:00
Justin Ruggles
5778299c7e ttadec: fix last frame handling when seeking
Using a frame count, as is done currently, does not work at all with
seeking. Instead, when the number of samples in the final frame has
been decoded, we check if only the 32-bit CRC is remaining. If so, we
assume that it is the final frame.

There is no longer a need to keep total_frames in TTAContext.
2012-12-22 14:45:35 -05:00
Johannes Nixdorf
e749b5dd98 configure: consider using /usr/include/openjpeg-1.5 when searching for openjpeg
Beginning with version 1.5.1 openjpeg defaults to install its headers to
/usr/include/openjpeg-${major}.${minor} instead of /usr/include without
providing a compatibility symlink making the old test fail.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 18:55:39 +01:00
Michael Niedermayer
985aa0be82 h264: Detect POC inconsistencies and try to handle them reasonably
Improves the file from Ticket2050

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 18:35:43 +01:00
Justin Ruggles
68a04b0cce alacdec: do not be too strict about the extradata size
Sometimes the extradata has duplicate atoms, but that shouldn't prevent
decoding. Just ensure that it is at least 36 bytes as a sanity check.

CC: libav-stable@libav.org
2012-12-22 12:18:41 -05:00
Stefano Sabatini
5715d67bae Changelog: add entry about the new documentation layout design 2012-12-22 17:58:56 +01:00
Clément Bœsch
1330d1d049 doc/filters: reword introduction sentence of aformat. 2012-12-22 16:25:15 +01:00
Clément Bœsch
ba5ea7db99 doc/filters: simplify escaping in aformat.
Escaping the '=' is not necessary, and quoting the arguments allow to
remove the comma escaping as well.
2012-12-22 16:25:15 +01:00
Stefano Sabatini
0824aa6743 doc/filters: add overlay daisy-chaining example 2012-12-22 16:15:53 +01:00
Stefano Sabatini
35b97ad7c0 doc/filters: rework and itemize examples for the overlay filter 2012-12-22 16:15:13 +01:00
Stefano Sabatini
bde1e8bf06 lavfi/overlay: make use of av_opt_set_from_string()
Simplify.
2012-12-22 16:14:23 +01:00
Stefano Sabatini
5e402a5319 lavfi/overlay: switch to filter_frame API 2012-12-22 16:12:26 +01:00
Michael Niedermayer
98256622a6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flac: only set channel layout if not previously set or on channel count change
  prepare 9_beta3 release

Conflicts:
	RELEASE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 13:25:53 +01:00
Justin Ruggles
aef5150719 flac: only set channel layout if not previously set or on channel count change
Fixes Bug 402
2012-12-22 01:35:28 -05:00
Michael Niedermayer
3f72dbe462 ffplay: fix another use of context instead of frame parameters
Fixes Ticket2050

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 03:41:55 +01:00
Michael Niedermayer
5ffb5e7a2d 4xm: check the correct stream, fix fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 03:41:55 +01:00
Paul B Mahol
44fe118e0a lavc/4xm: use bytestream2_get_bytes_left
Also replace relevant bytestream2 functions with unchecked variants due
code that already checks for overreads.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-22 00:27:29 +00:00
Stefano Sabatini
6b50df6b3a doc/filters: rename reference to movie filter from "src_movie" to "movie"
Should be less confusing.
2012-12-22 01:03:46 +01:00
Michael Niedermayer
e16bac7b33 videodsp: Fix project name
These are all part of splited out dsp utils from FFmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 00:58:08 +01:00
Michael Niedermayer
90eaa989f1 x86/videodsp_init: Add back lost author attribution
Code originates from:
910b9f30 libavcodec/dsputil.c            (David Conrad        2010-05-27 04:39:27 +0000  334) void ff_emulated_edge_mc(uint8_t *buf, const uint8_t *src, int linesize, int block_w, int block_h,
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  335)                                     int src_x, int src_y, int w, int h){
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  336)     int x, y;
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  337)     int start_y, start_x, end_y, end_x;
b5a093b3 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-25 20:22:36 +0000  338)
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  339)     if(src_y>= h){
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  340)         src+= (h-1-src_y)*linesize;
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  341)         src_y=h-1;
225f9c44 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-15 00:25:53 +0000  342)     }else if(src_y<=-block_h){
225f9c44 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-15 00:25:53 +0000  343)         src+= (1-block_h-src_y)*linesize;
225f9c44 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-15 00:25:53 +0000  344)         src_y=1-block_h;
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  345)     }
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  346)     if(src_x>= w){
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  347)         src+= (w-1-src_x);
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  348)         src_x=w-1;
225f9c44 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-15 00:25:53 +0000  349)     }else if(src_x<=-block_w){
225f9c44 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-15 00:25:53 +0000  350)         src+= (1-block_w-src_x);
225f9c44 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-15 00:25:53 +0000  351)         src_x=1-block_w;
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  352)     }
93a21abd libavcodec/mpegvideo.c          (Michael Niedermayer 2002-07-14 18:37:35 +0000  353)
b8a78f41 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-11-10 11:46:59 +0000  354)     start_y= FFMAX(0, -src_y);
b8a78f41 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-11-10 11:46:59 +0000  355)     start_x= FFMAX(0, -src_x);
b8a78f41 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-11-10 11:46:59 +0000  356)     end_y= FFMIN(block_h, h-src_y);
b8a78f41 libavcodec/mpegvideo.c          (Michael Niedermayer 2002-11-10 11:46:59 +0000  357)     end_x= FFMIN(block_w, w-src_x);

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 00:58:08 +01:00
Michael Niedermayer
28286a63d0 videodsp_template.c: fix year
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-22 00:58:08 +01:00
Stefano Sabatini
e64a7f2c78 doc/default.css: use ffmpeg.org website CSS
The attribute container of the top-level div is changed from "class" to
"id" to match the website CSS.

Improve consistency between website docs and local documentation style.
2012-12-22 00:38:48 +01:00
Stefano Sabatini
042c2a1af8 doc: move HTML CSS to a dedicated file default.css 2012-12-22 00:38:41 +01:00
Paul B Mahol
185d1f3bfc lavfi: declare arrays that never change as static const
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-21 22:38:59 +00:00
Michael Niedermayer
165be91c2b img2enc: fix typo
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 22:56:13 +01:00
Michael Niedermayer
2f436b1fce lavc: Warn in case the set bitrate is very low
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 22:50:57 +01:00
rogerdpack
d828bae9d2 better failure message for img2enc
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 21:18:12 +01:00
Piotr Bandurski
0e3a4da106 yop: set video bit rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 21:18:12 +01:00
Paul B Mahol
a8ebb77493 lavfi/swapuv: use FFSWAP
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-21 19:04:11 +00:00
Carl Eugen Hoyos
a3a22c2178 Revert "Always write all colours for animated gif files, including transparent ones."
It breaks some opaque samples.

This reverts commit d4fdaafdb7.
2012-12-21 18:18:39 +01:00
Carl Eugen Hoyos
0fb79f30db Support H264 over video4linux2.
Tested-by: Val Malykh
2012-12-21 18:12:29 +01:00
Michael Niedermayer
1b598e6776 Merge commit 'c7d4de3d730473167e31cf765e0333c965f934d3'
* commit 'c7d4de3d730473167e31cf765e0333c965f934d3':
  rtpdec_vp8: Don't return known-broken packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 17:51:31 +01:00
Michael Niedermayer
bb3420d88e Merge commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59'
* commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59':
  rtpdec: Pass the sequence number to depacketizers
  configure: Make avconv depend on null, anull and resample filters

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 17:46:43 +01:00
Michael Niedermayer
be2c0adc96 Merge commit '69f086e0f90f23d89e5739b099a4f984fa6a7885'
* commit '69f086e0f90f23d89e5739b099a4f984fa6a7885':
  build: avfilter: Remove duplicate compilation entry for vf_scale

Conflicts:
	libavfilter/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 17:39:03 +01:00
Michael Niedermayer
d27edc038a Merge commit '511cf612ac979f536fd65e14603a87ca5ad435f3'
* commit '511cf612ac979f536fd65e14603a87ca5ad435f3':
  miscellaneous typo fixes

Conflicts:
	libavcodec/4xm.c
	libavcodec/lagarith.c
	libavcodec/parser.c
	libavcodec/ratecontrol.c
	libavcodec/shorten.c
	libavcodec/vda_h264.c
	libavformat/dvenc.c
	libavformat/wtv.c
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 17:32:52 +01:00
Michael Niedermayer
a41bf09d9c Merge commit '6906b19346ae8a330bfaa1c16ce535be10789723'
* commit '6906b19346ae8a330bfaa1c16ce535be10789723':
  lavc: add missing files for arm
  lavc: introduce VideoDSPContext

Conflicts:
	configure
	libavcodec/arm/dsputil_init_armv5te.c
	libavcodec/dsputil.c
	libavcodec/dsputil.h
	libavcodec/dsputil_template.c
	libavcodec/h264.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 17:18:43 +01:00
Reinhard Tartler
9378be9f32 prepare 9_beta3 release 2012-12-21 15:16:33 +01:00
Paul B Mahol
fb3f28ee28 alsdec: cosmetics after previous commit
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-21 14:14:57 +00:00
Paul B Mahol
ae27b70b9d alsdec: channel sorting
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-21 14:11:12 +00:00
Michael Niedermayer
29707f5ba6 Merge commit 'a925f723a915bc0255e2673f8817af5212131763'
* commit 'a925f723a915bc0255e2673f8817af5212131763':
  rtp: Don't read priv_data unless it is allocated
  flvenc: Check whether seeking back to the header succeeded
  sapenc: Pass the title on to the chained muxers

Conflicts:
	libavformat/flvenc.c
	libavformat/sapenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 14:06:42 +01:00
Martin Storsjö
c7d4de3d73 rtpdec_vp8: Don't return known-broken packets
This is built on the assumption that the first partition of each
VP8 packet is essential for decoding any later packet - if this
partition is broken/missed, the arithmetic coder gets out of sync
and decoding the bitstream in further packet ends up with total
garbage. If packets of a frame are lost, make sure the first
partition is intact (return only this part of the packet, nothing
else), otherwise stop returning data until the next keyframe is
received.

Alternatively, one would simply not return any packets at all
until the next keyframe, if packet loss is detected.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-21 14:14:47 +02:00
Martin Storsjö
90c784cc13 rtpdec: Pass the sequence number to depacketizers
This allows depacketizers to figure out if packets have been lost.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-21 14:14:40 +02:00
Michael Niedermayer
63753186cc lavf: Remove "Adjusting PTS forward" code
it causes problems (incorrectly detect TS discontinuities)
 with a brokan TS file (test-audio-broken.ts)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 05:12:05 +01:00
Paul B Mahol
cfa530034f gifdec: remove dead store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-21 00:33:14 +00:00
Michael Niedermayer
230bef0a89 ffplay: fix handling of resolution changes with h264-mt
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-21 00:50:47 +01:00
Carl Eugen Hoyos
9eca649a92 Fix compilation with --disable-everything --enable-muxer=mov. 2012-12-21 00:27:34 +01:00
Diego Biurrun
0a0e340f5b configure: Make avconv depend on null, anull and resample filters
Building avconv without that functionality makes little sense.
2012-12-21 00:21:53 +01:00
Diego Biurrun
69f086e0f9 build: avfilter: Remove duplicate compilation entry for vf_scale
vf_scale should not be unconditionally compiled even if disabled.
2012-12-21 00:18:34 +01:00
Diego Biurrun
511cf612ac miscellaneous typo fixes 2012-12-21 00:18:34 +01:00
Stefano Sabatini
340b7caf54 lavf/hlsenc: provide some feedback in case of invalid basename 2012-12-21 00:07:21 +01:00
Stefano Sabatini
28b96efab5 lavf/hlsenc: fix minor grammar inconsistencies in the option help messages 2012-12-21 00:07:13 +01:00
Stefano Sabatini
b448677e6e doc: remove inclusion of libav* documentation in tools
This shrinks the tool manuals to a manageable size. Relevant manuals are
referenced in the "See Also" chapter.

Overall documentation inclusion should still be possible through the use
of a conditional variable set during configuration time, if someone feels
the need for a huge-wall-of-text-fashioned manual.
2012-12-20 23:48:23 +01:00
Stefano Sabatini
ca3327d56f doc/ffmpeg-formats: include metadata chapter
The metadata muxer/demuxer belongs to the formats documentation.
2012-12-20 23:46:56 +01:00
Carl Eugen Hoyos
d4fdaafdb7 Always write all colours for animated gif files, including transparent ones.
This fixes the colour of the transparent background (as seen with ffplay),
and makes the background of some non-keyframes transparent that was
incorrectly shown as opaque for some samples.
2012-12-20 23:05:42 +01:00
Paul B Mahol
9321e93502 gifdec: fix invalid write in gif_copy_img_rect
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-20 17:56:52 +00:00
Paul B Mahol
c004de0b1c gifdec: fix invalid write in giff_fill_rect
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-20 17:46:05 +00:00
Michael Niedermayer
103410d67e ffmpeg_opt: fix recording time in->out carryover.
This should fix valgrind complaints.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 17:45:43 +01:00
Nicolas George
c7a1239bf9 lavfi/af_aconvert: update audio->channels. 2012-12-20 17:01:35 +01:00
Piotr Bandurski
17714adbf8 tiffdec: support LZW compression with inverted FillOrder 2012-12-20 15:38:52 +00:00
Clément Bœsch
217bdd08e3 lavf/srtdec: reindent after previous commits. 2012-12-20 16:13:53 +01:00
Clément Bœsch
6c26fc7704 lavf/srtenc: honor subtitle position side data. 2012-12-20 16:13:52 +01:00
Clément Bœsch
1dab8d9157 lavf/srtdec: switch to FFDemuxSubtitlesQueue API. 2012-12-20 16:13:52 +01:00
Clément Bœsch
0072116ccb lavf: split packets before muxing.
After demuxing, data and side are merged. Before decoding, they are
split. Encoder will perform with data and side split. This means that a
muxer can receive split data (after encoding) but also merged data (if
called directly after demuxing). This commit makes sure data and side
are split for the muxer.
2012-12-20 16:13:52 +01:00
Piotr Bandurski
52f2176366 aiffenc: set correct number of bits foru8 in aiff
with this change QuickTime is able to play u8 aiff file generated by FFmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 16:05:30 +01:00
Luca Barbato
6906b19346 lavc: add missing files for arm
Across the many retouches those did not make the main commit.
2012-12-20 14:07:23 +01:00
Ronald S. Bultje
8c53d39e7f lavc: introduce VideoDSPContext
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-20 13:40:45 +01:00
Martin Storsjö
a925f723a9 rtp: Don't read priv_data unless it is allocated
This makes all users of rtpenc_chain (rtsp muxer, sapenc, mov
rtp hinting) work again, broken since 8034130e0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-20 14:25:49 +02:00
Nicolas George
0146c1f0f1 lavfi: remove init and check of rate and layout.
The sample rate and channel layout are negotiated and set
by the filter graph system.
2012-12-20 13:03:42 +01:00
Nicolas George
5033a1af17 lavfi/buffersrc: remove init of rate and layout.
The sample rate and channel layout are negotiated and set
by the filter graph system, the filters must not set them.
2012-12-20 13:03:42 +01:00
Nicolas George
34de47aa35 lavfi: add an accessor for ref->audio->channels. 2012-12-20 13:03:41 +01:00
Nicolas George
238edd2fe3 lavfi: add a channels field to AVFilterLink.
Also: fix af_pan and af_aresample, that forgot to update
audio->channels.
2012-12-20 13:03:41 +01:00
Michael Niedermayer
a9275b4f69 h264: Fix code to also handle pix format changes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 12:56:47 +01:00
Michael Niedermayer
41135b7f64 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: add option for dithering during sample format conversion to s16
  mpeg12: do not decode extradata more than once.

Conflicts:
	libavcodec/mpeg12.c
	libavcodec/mpeg12.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 12:18:28 +01:00
Michael Niedermayer
40ea343866 Merge commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011'
* commit 'c661cb6672af5ebcb900ec8766b24761bd2ab011':
  cmdutils: pass number of groups to split_commandline().
  mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
  h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles

Conflicts:
	libavcodec/h264_ps.c
	libavformat/isom.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 12:06:15 +01:00
Björn Axelsson
1eaff98c83 flvenc: Check whether seeking back to the header succeeded
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seeking to the header fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-20 12:37:42 +02:00
Jernej Virag
e30e8e311e sapenc: Pass the title on to the chained muxers
This makes sure it ends up in the SDP, providing a proper session name
in the SAP announcements.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-20 12:37:34 +02:00
Clément Bœsch
174c483e2e lavfi/select: fix compilation with avcodec disabled. 2012-12-20 05:17:36 +01:00
James Almer
974ac57e83 astenc: Remove two AVRationals with denominator 1
They are completely superfluous when using av_rescale_q_rnd().
Call av_rescale_rnd() using what used to be the numerators instead.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 05:05:55 +01:00
Michael Niedermayer
8525fa7c2c h264: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 04:22:21 +01:00
Michael Niedermayer
a46c565796 ffmpeg_opt: fix pointer types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 04:21:29 +01:00
Michael Niedermayer
73db0bf1b0 mpegvideo: increase scratchpad sizes
These where reduced in f1d8763a02
and this change can cause out of array accesses.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 03:58:13 +01:00
Clément Bœsch
53fa6f5863 doc/general: sort subtitles formats. 2012-12-20 03:55:16 +01:00
Clément Bœsch
e5e5664ca0 fate: add and fix subtitles dependencies. 2012-12-20 03:50:34 +01:00
Michael Niedermayer
7e90053822 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: increase edge_emu_buffer size for VC1
  lavc: merge latest x86inc.asm fixes with x264

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 02:51:35 +01:00
Michael Niedermayer
1667152a9c Merge commit 'acb571c89a065d943163c11efb46de35774f1909'
* commit 'acb571c89a065d943163c11efb46de35774f1909':
  avcodec: bump minor for adaptive h264 frame-mt
  avconv: pass the actually selected decoder to filter_codec_opts().

Conflicts:
	Changelog
	ffmpeg_opt.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 02:44:22 +01:00
Michael Niedermayer
ba4bcb191a cmdutils: implement debug/fdebug log level update differently.
The old implementation is no longer possibly due to limitations
of the new command line parser.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 02:38:18 +01:00
Michael Niedermayer
af4b1c02ac Merge commit '77bd1bc73a1946b0f0ce09a7cbb242a65e138d06'
* commit '77bd1bc73a1946b0f0ce09a7cbb242a65e138d06':
  avconv: use new options parser.

Conflicts:
	ffmpeg.c
	ffmpeg.h
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20 02:38:02 +01:00
Justin Ruggles
b2fe6756e3 lavr: add option for dithering during sample format conversion to s16 2012-12-19 18:52:54 -05:00
Clément Bœsch
52b866471e doc/faq: move filter links to the ffmpeg-filters.html page. 2012-12-20 00:36:08 +01:00
Clément Bœsch
521a963a7d doc/faq: improve concatenation entry. 2012-12-20 00:36:08 +01:00
Clément Bœsch
cb0881c794 ffmpeg: use GROW_ARRAY in opt_map_channel. 2012-12-19 22:57:35 +01:00
Michael Niedermayer
61bc3d80e9 Merge commit '0ec1642b60a5b1a4d913e2b9e3899173dff77e7a'
* commit '0ec1642b60a5b1a4d913e2b9e3899173dff77e7a':
  cmdutils: don't log an error in opt_default().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 22:47:40 +01:00
Michael Niedermayer
33f9b2436a Merge commit '8c9af5b2051b9927f845c7afdfeb30b82670ee77'
* commit '8c9af5b2051b9927f845c7afdfeb30b82670ee77':
  cmdutils: add a commandline pre-parser.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 22:38:04 +01:00
Anton Khirnov
5823686261 mpeg12: do not decode extradata more than once.
Fixes CVE-2012-2803.

CC: libav-stable@libav.org
2012-12-19 22:32:54 +01:00
Michael Niedermayer
465c7de792 Merge commit 'a01c02bcff755a7891f777706b27452203aac71e'
* commit 'a01c02bcff755a7891f777706b27452203aac71e':
  cmdutils: split parse_option().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 22:24:54 +01:00
Anton Khirnov
c661cb6672 cmdutils: pass number of groups to split_commandline().
This makes the code simpler and avoids mixing designated and
non-designated initializers in a potentially unsafe way in avconv.
2012-12-19 22:13:41 +01:00
Michael Niedermayer
330983b728 Merge commit '10bca66101b79954512cd9d8ee20c3bc4513adf3'
* commit '10bca66101b79954512cd9d8ee20c3bc4513adf3':
  cmdutils: add a macro to simplify grow_array() calls.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 22:04:03 +01:00
Michael Niedermayer
f61498e1df Merge commit '9e696d2e5ffaa763c564682ec18c3b51b3e5fccc'
Merge only for metadata, functionality had been previously integrated.

* commit '9e696d2e5ffaa763c564682ec18c3b51b3e5fccc':
  h264: support frame parameter changes during frame-mt

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:59:33 +01:00
Michael Niedermayer
ca4dd3810e h264: use must_reinit to simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
af0fafcb6f h264: decode_update_thread_context() copy parameter sets before using them
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
e33811bd26 h264: remove reschange blocking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
c2dfb1e37c h264: support frame size changes with multi threading
Based on code by Janne Grunau

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
7e6c68394f ffmpeg_filter: use frame instead of decoder context pixel format
prevents regressions from h264-mt frame size changing code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
04a530f7d3 ffmpeg_filter: use frame dimensions instead of decoder context dimensions.
avoids regression from the h264-mt frame size change code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
8ea4a5533f h264: move h264_set_parameter_from_sps() call up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
afc03268b4 h264: move list_count and current_slice reset to flush_change()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
971c469a0d h264: split flush_change() out of flush_dpb()
Based on a patch by Janne Grunau
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Michael Niedermayer
25a0af51da h264: factor get_pixel_format() out
Based on patch by Janne Grunau

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 21:46:11 +01:00
Paul B Mahol
76877beada au: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-19 20:16:35 +00:00
Clément Bœsch
a1d14336d3 pp: fix a few typo in the template. 2012-12-19 17:59:25 +01:00
Paul B Mahol
d85854b269 pvfdec: drop pointless casting of buffer in ff_get_line()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-19 15:55:39 +00:00
Michael Niedermayer
642a655f7d Merge commit 'f1d8763a02b5fce9a7d9789e049d74a45b15e1e8'
* commit 'f1d8763a02b5fce9a7d9789e049d74a45b15e1e8':
  mpegvideo: allocate scratch buffers after linesize is known

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 15:44:59 +01:00
Janne Grunau
bb2bab92e7 mov: handle h263 and flv1 for codec_tag 'H','2','6','3'
The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.

Patch based on commit 5442083b1c by
Carl Eugen Hoyos. Fixes bug 393.
2012-12-19 14:50:14 +01:00
Michael Niedermayer
e84194f060 Merge commit 'ed2d7d5868a4a5d914f1e5488d63ea696a3b2937'
* commit 'ed2d7d5868a4a5d914f1e5488d63ea696a3b2937':
  ff_h264_direct_ref_list_init: fix B slice check.
  h264: increase dist_scale_factor for up to 32 references

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 14:39:30 +01:00
Michael Niedermayer
af804dbe9e Merge commit '523c7bd23c781aa0f3a85044896f5e18e8b52534'
* commit '523c7bd23c781aa0f3a85044896f5e18e8b52534':
  misc typo, style and wording fixes

Conflicts:
	libavcodec/options_table.h
	libavutil/pixfmt.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 14:28:58 +01:00
Victor Lopez
1c8bf3bfed h264: fix sps parsing for SVC and CAVLC 4:4:4 Intra profiles
Fixes bug 396.

CC: libav-stable@libav.org
2012-12-19 13:40:48 +01:00
Clément Bœsch
80a9297b71 doc: remove mention of fifo filter in the introduction.
It's confusing and not necessary, especially in the introduction.
2012-12-19 12:58:52 +01:00
Stefano Sabatini
022e118e3f lavfi/setpts: enable debug logs, and improve/extend debug messages 2012-12-19 11:49:54 +01:00
Carl Eugen Hoyos
ec4a084581 Show underscores in av_get_codec_tag_string(). 2012-12-19 10:01:07 +01:00
Stefano Sabatini
c5d7c7d33b doc: extend "See Also" chapters in library manuals
In particular, make "See Also" chapter rendered in HTML output.
2012-12-19 09:33:44 +01:00
Stefano Sabatini
9b323a9b95 doc: extend "See Also" chapters in component manuals
In particular, make "See Also" chapter rendered in HTML output.
2012-12-19 09:33:44 +01:00
Stefano Sabatini
9d6517aa67 doc: extend "See Also" chapter rendering for ff* tools
Add more references, and generate alternative variants for HTML and POD
output. In particular, this allows to render a "See Also" chapter in the
HTML output.
2012-12-19 09:33:44 +01:00
Stefano Sabatini
c2ac647710 doc: rework synopsis section for ff* tools
Fix syntax, remove pointless introductory sentence, improve overall
consistency.
2012-12-19 09:33:44 +01:00
Stefano Sabatini
461716d3bf doc: use a common authors.texi file blurb
Factorize.
2012-12-19 09:33:43 +01:00
Stefano Sabatini
ca3d786227 doc/texi2pod: rework man inclusion logic
Ignore @c man begin ... @c man end comments, rely on @chapter for marking
the beginning of the various manual top level sections.

This allows us to write markup which is not dependent on the specific
texi2pod.pl implementation.

This change causes a few rendering issues, which will be fixed in further
patches.
2012-12-19 09:33:04 +01:00
Janne Grunau
45635885e4 mpegvideo: increase edge_emu_buffer size for VC1
The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma
and needs more space. That was not a problem before f1d8763a02
since the size for edge_emu_buffer was always calculated with 2 byte per
pixel since the linesize was not known.

Fixes occasionally fate errors in vc1_sa10143.
2012-12-19 07:57:22 +01:00
Ronald S. Bultje
a34d9ad969 lavc: merge latest x86inc.asm fixes with x264
Unbreak NASM support.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-19 07:27:33 +01:00
Michael Niedermayer
1166fc07a2 utils: fix duration calculation for strange_duration_example.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 04:16:15 +01:00
Clément Bœsch
de2022c5dd lavfi/gradfun: small align cosmetics. 2012-12-19 03:22:58 +01:00
Clément Bœsch
fea6f5e14d doc/filters: reformat and rework gradfun.
Note that examples are changed.
2012-12-19 03:16:43 +01:00
Clément Bœsch
526e2415bd lavfi/gradfun: support named options.
This breaks usage for out-of-range values.
2012-12-19 03:13:26 +01:00
Clément Bœsch
ca83e6ce26 fate: re-enable lavfi gradfun filter test. 2012-12-19 03:13:26 +01:00
Clément Bœsch
3bdd70fc66 lavfi/gradfun: reduce up limit for threshold.
This will prevent an overflow in the SSSE3 and MMX filter_line code:
delta is expressed as an u16 being shifted by 2 to the left. If it
overflows, having a strength not above 64 will make sure that m is set
to 0 (making the m*m*delta >> 14 expression void).

A value above 64 should not make any sense unless gradfun is used as a
blur filter.
2012-12-19 03:13:26 +01:00
Clément Bœsch
63e1fc2588 lavfi/gradfun: remove rounding to match C and SSE code.
There is no noticable benefit for such precision.
2012-12-19 03:13:25 +01:00
Clément Bœsch
60ba9a9a88 lavfi/gradfun: fix dithering in MMX code.
Current dithering only use the first 4w instead of the whole 8 random values.
2012-12-19 03:13:25 +01:00
Clément Bœsch
49de902a1e lavfi/gradfun: fix rounding in MMX code.
Current code divide before increasing precision.
2012-12-19 03:13:25 +01:00
Clément Bœsch
dd8a76ab08 lavfi/gradfun: do not increment DC pointer for odd values.
First DC is only used once otherwise. This also makes the code
consistent with ASM versions.
2012-12-19 03:13:25 +01:00
Paul B Mahol
dea9da5f16 qcelpdata: correct start bit for cbgain[0] in qcelp_rate_octave_bitmap[]
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-19 01:24:56 +00:00
Michael Niedermayer
c4a32d92fe ffmpeg: Fix shortest with libx264
Encoders that buffer a significant number of frames where a "few"
frames off with -shortest

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-19 00:08:37 +01:00
Stefano Sabatini
1b9ced685a MAINTAINERS: update my GPG key fingerprint 2012-12-18 23:08:02 +01:00
Carl Eugen Hoyos
d687b8c875 Cosmetics: Reindent after last commit. 2012-12-18 23:06:00 +01:00
Carl Eugen Hoyos
00a62e6776 Do not skip three bytes and don't search for extradata in old realaudio files.
Fixes ticket #1557.
2012-12-18 23:04:19 +01:00
Janne Grunau
acb571c89a avcodec: bump minor for adaptive h264 frame-mt
Also adds forgotten Changelog entry.
2012-12-18 20:26:53 +01:00
Anton Khirnov
e82cb79adf avconv: pass the actually selected decoder to filter_codec_opts(). 2012-12-18 20:15:06 +01:00
Anton Khirnov
77bd1bc73a avconv: use new options parser. 2012-12-18 20:14:54 +01:00
Anton Khirnov
0ec1642b60 cmdutils: don't log an error in opt_default().
It results in spurious errors when using the new preparser.
2012-12-18 20:14:46 +01:00
Anton Khirnov
8c9af5b205 cmdutils: add a commandline pre-parser.
It splits the commandline into a more convenient internal representation
for further parsing.

This will allow e.g.
- processing global options first independently of their location on the
  commandline, eliminating ugly hacks for processing e.g. cpuflags
  first
- better options validation and error reporting. It is now possible for
  the parser to know that it's applying an input option to an output
  file or vice versa and act accordingly.
2012-12-18 20:13:55 +01:00
Anton Khirnov
a01c02bcff cmdutils: split parse_option().
Separate the code that searches for the option to use and the code that
actually writes it. The writing code will be reused by the new options
parser.
2012-12-18 20:12:40 +01:00
Anton Khirnov
10bca66101 cmdutils: add a macro to simplify grow_array() calls. 2012-12-18 20:11:06 +01:00
Janne Grunau
9e696d2e5f h264: support frame parameter changes during frame-mt
Fixes CVE-2012-2782.
2012-12-18 19:55:10 +01:00
Janne Grunau
f1d8763a02 mpegvideo: allocate scratch buffers after linesize is known
Since we can't know which stride a custom get_buffer() implementation is
going to use we have to allocate this scratch buffers after the linesize
is known. It was pretty safe for 8 bit per pixel pixel formats since we
always allocated memory for up to 16 bits per pixel. It broke hoever
with cmdutis.c's alloc_buffer() and high pixel bit depth since it
allocated larger edges than mpegvideo expected.

Fixes fuzzed sample nasa-8s2.ts_s244342.
2012-12-18 19:48:30 +01:00
Michael Niedermayer
ed2d7d5868 ff_h264_direct_ref_list_init: fix B slice check.
Fixes null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-12-18 19:44:22 +01:00
Janne Grunau
73ad2c2fa7 h264: increase dist_scale_factor for up to 32 references
Compute dist_scale_factor_field only for MBAFF since that is the only
case in which it is used.
2012-12-18 19:36:58 +01:00
Michael Niedermayer
9700a7a1dd af_apad: remove unneeded av_opt_free
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 17:31:01 +01:00
Michael Niedermayer
c311431e29 apad: add whole_len and pad_len options.
These options allow padding to a specific length or adding a specific amount if silence.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 17:30:31 +01:00
Michael Niedermayer
c2640146e0 apad: fix apad_options formating
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 17:16:03 +01:00
Michael Niedermayer
b7e085a288 af_apad: add user setable packet_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 17:01:33 +01:00
Michael Niedermayer
5eae7f8f35 avfilter: add apad filter
This filter pads an audio stream with silence
It can together with -shortest be used to extend audio streams to
the same length as video.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 16:30:08 +01:00
Michael Niedermayer
5c2fc3bdd7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: formatting cosmetics
  h264: use mbaff ref indices in fill_colmap() only for mbaff references

Conflicts:
	libavcodec/h264_direct.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 15:00:05 +01:00
Michael Niedermayer
14f79ba18f h264: remove redundant parts of old slice in extradata code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 14:52:44 +01:00
Michael Niedermayer
99321d1b03 h264: merge old and new "slice in extradata" checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 14:50:12 +01:00
Michael Niedermayer
09b4ae8331 Merge commit '61c6eef5456f2bc8b1dc49a0a759c975551cea29'
* commit '61c6eef5456f2bc8b1dc49a0a759c975551cea29':
  h264: prevent decoding of slice NALs in extradata
  doxy: Clarify what avpriv_set_pts_info does

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 14:38:10 +01:00
Michael Niedermayer
94ecbe23c5 Merge commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a'
* commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a':
  au: Reorder code so that both muxer and demuxer are under #ifdefs
  fate: Move RALF test into lossless audio group
  cosmetics: Use consistent names for multiple inclusion guards.

Conflicts:
	libavformat/au.c
	tests/fate/lossless-audio.mak
	tests/fate/real.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 14:27:59 +01:00
Peter Ross
95015634f5 wtv: permit root table and first sectors to be located beyond 2GB boundary
Fixes ticket #2025.

Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-19 00:18:17 +11:00
Michael Niedermayer
ebfb738fa4 nutdec: sanity check r_frame_rate
This fixes files that store a somewhat incorrect value.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 14:03:04 +01:00
Diego Biurrun
523c7bd23c misc typo, style and wording fixes 2012-12-18 13:36:51 +01:00
Diego Biurrun
ea061af15a configure: formatting cosmetics 2012-12-18 13:36:50 +01:00
Michael Niedermayer
c9aab8a123 h264: use mbaff ref indices in fill_colmap() only for mbaff references
Prevents writing beyond array bounds.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-18 11:02:23 +01:00
Janne Grunau
61c6eef545 h264: prevent decoding of slice NALs in extradata
It is not posible to call get_buffer during frame-mt codec
initialization. Libavformat might pass huge amounts of data as
extradata after parsing broken files. The 'extradata' for the fuzzed
sample sample_varPAR_s5374_r001-02.avi is 2.8M large and contains
multiple slices.
2012-12-18 11:01:14 +01:00
Clément Bœsch
8b63744f48 Fix "bistream" typo and add a check in tools/patcheck. 2012-12-18 02:47:34 +01:00
Stefano Sabatini
1dd33d472a doc/ffmpeg-bitstream-filters: fix typo in title 2012-12-18 02:00:28 +01:00
Carl Eugen Hoyos
a71de9a2a2 Fix typo in mvc decoder. 2012-12-18 01:58:17 +01:00
Michael Niedermayer
41bebda485 mjpegenc: fix restart interval parameters for yuv444
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 01:21:48 +01:00
Michael Niedermayer
28b85b1fff mjpegenc: fix YUV444 with w%16!=0
Fixes Ticket2040

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 01:21:48 +01:00
Stefano Sabatini
85e6f6d9c1 doc/indevs: update syntax for the color filter in the lavfi device examples 2012-12-18 00:06:35 +01:00
Stefano Sabatini
1f9855dbc1 doc/texi2pod: correctly handle @url commands in the form @url{URL,...}
Ignore the other arguments, which have not to be processed by the POD
renderer.
2012-12-18 00:06:35 +01:00
Stefano Sabatini
9bba683578 doc/Makefile: add docclean rule
This allows to clean the doc directory from the parent project dir.
The command:
make -C doc clean

does not work as long as the paths specified in doc/Makefile are relative
to the parent dir.

Also it is consitent with "testclean" and "distclean" targets.
2012-12-18 00:06:17 +01:00
Stefano Sabatini
f14e248783 doc/texi2pod: add support to @ifhtml and @ifnothtml directives
With these commands it is possible to add HTML and non-HTML snippets,
which will be useful for the "See Also" manual chapters.
2012-12-17 23:54:07 +01:00
Stefano Sabatini
992772b947 doc: remove references to external documents
Fix a few warnings generated when creating the manuals.

Our current doc generation toolchain does not allow to reference external
documents.
2012-12-17 23:53:50 +01:00
Michael Niedermayer
1d29624c73 oggparsevorbis: check channels
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 20:51:50 +01:00
Jernej Virag
2f7465b5bf SAP muxer set session name from metadata
Pass "title" metadata field to av_sdp_create (as in RTP muxer) in SAP
muxer for correct
session name in SAP SDP announcements.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 17:31:55 +01:00
Michael Niedermayer
8976ef7aec concatdec: change data type to suppress warning about limited range of data type on some platforms.
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 17:31:34 +01:00
Derek Buitenhuis
26e4f0c70f doxy: Clarify what avpriv_set_pts_info does
The "pts for a given stream" was nonsensical.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-12-17 11:20:00 -05:00
Derek Buitenhuis
df0d6735b3 doxy: Clarify what avpriv_set_pts_info does
The "pts for a given stream" was nonsensical.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-12-17 11:18:27 -05:00
Diego Biurrun
c35f0e8495 au: Reorder code so that both muxer and demuxer are under #ifdefs
This reduces code size when either piece has been disabled.
2012-12-17 17:02:22 +01:00
Diego Biurrun
4d6c96fd69 fate: Move RALF test into lossless audio group 2012-12-17 17:02:22 +01:00
Diego Biurrun
81c7c817a4 cosmetics: Use consistent names for multiple inclusion guards. 2012-12-17 17:02:22 +01:00
Michael Niedermayer
8505daacc5 Merge remote-tracking branch 'ramiro/dshow'
* ramiro/dshow:
  dshow: call CoUninitialize() on dshow_read_close()
  dshow: handle events in graph

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 14:38:26 +01:00
Michael Niedermayer
082dd17bd2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avresample: use valid log context in mixing functions
  lavr: remove automatic context close/open for resampling compensation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 14:11:51 +01:00
Michael Niedermayer
8d07bbca63 Merge commit 'f322b2073581119de5da74f92a03309a36891cfa'
* commit 'f322b2073581119de5da74f92a03309a36891cfa':
  lavr: only save/restore the mixing matrix if mixing is being done
  rtpdec_vp8: Cosmetics: Fix bad alignment/indentation
  rtpenc: Allow including a SDES/CNAME block in RTCP SR packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 14:06:11 +01:00
Michael Niedermayer
021b3497e1 Merge commit '65e053271a98f7acf3ef6b412998cfcb44a8eef8'
* commit '65e053271a98f7acf3ef6b412998cfcb44a8eef8':
  rtpenc_vp8: Include the picture number in VP8 packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 13:46:54 +01:00
Piotr Bandurski
0f450ac575 siff: set duration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 13:34:30 +01:00
Peter Ross
fb9d58509c isom: support SGI RLE 8-bit in QuickTime file format
Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-17 20:37:54 +11:00
Peter Ross
6fb40779cd Silicon Graphics Movie (.mv) demuxer
Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-17 20:37:54 +11:00
Peter Ross
746b1dcc98 Silicon Graphics Motion Video Compressor 1 & 2 decoder
Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-17 20:37:54 +11:00
Peter Ross
afa1617b93 SGI RLE 8-bit decoder
Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-17 20:37:54 +11:00
Ramiro Polla
83a9f29f60 dshow: call CoUninitialize() on dshow_read_close()
Every call to CoInitialize should have a matching CoUnititalize.

Based on patch by Don Moir <donmoir@comcast.net>.
2012-12-17 03:44:51 -02:00
Ramiro Polla
190f6135b4 dshow: handle events in graph
Handling DirectShow events prevents infinite loops when there is an error in
the graph, such as a device being disconnected. This makes it possible for
dshow to return an error to the caller and run the cleanup code.

Based on patch by Don Moir <donmoir@comcast.net>.
2012-12-17 03:44:12 -02:00
Hendrik Leppkes
0cf3505930 avresample: use valid log context in mixing functions
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-16 19:59:58 -05:00
Michael Niedermayer
2e59142fa9 sctp: dont abort on invalid input
Fixes Ticket1865

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 01:53:35 +01:00
Michael Niedermayer
d28dfa2d42 ac3dec: fix outptr increment.
Fixes decoding regression

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 01:35:14 +01:00
Justin Ruggles
f322b20735 lavr: only save/restore the mixing matrix if mixing is being done 2012-12-16 19:26:17 -05:00
Justin Ruggles
f1c2915ce1 lavr: remove automatic context close/open for resampling compensation
It adds unnecessary complication for insignificant usability improvement.
The user really should know if they'll need resampling compensation before
opening the context.

Note that only the documentation has changed. The current functionality will
still work until the next major bump.
2012-12-16 19:26:17 -05:00
Michael Niedermayer
7973a07590 h264: Improve first slice and slice type checks
This prevents a null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-17 01:08:19 +01:00
Michael Niedermayer
55b243cade doc/examples/resampling_audio.c: fix path
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 21:37:23 +01:00
Clément Bœsch
0212c1c43d swr/doxy: fix missing quote in code example. 2012-12-16 21:04:54 +01:00
Clément Bœsch
9ad6b13020 lavu/pixdesc: fix a const qualifier discarding warning. 2012-12-16 20:41:28 +01:00
Clément Bœsch
7fb49639e6 lavu: make sure av_pix_fmt_desc_next returns a valid pix fmt.
This is required because there are some "holes" in the list for
compatibility with the fork.

The commit also removes the now unecessary check from cmdutils.

Found-by: wm4
2012-12-16 20:39:39 +01:00
Martin Storsjö
e798085f96 rtpdec_vp8: Cosmetics: Fix bad alignment/indentation
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-16 21:33:20 +02:00
Martin Storsjö
3b2e8d1d21 rtpenc: Allow including a SDES/CNAME block in RTCP SR packets
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-16 21:32:58 +02:00
Martin Storsjö
65e053271a rtpenc_vp8: Include the picture number in VP8 packets
This makes it easier for receivers to decide what to do if data
is lost.

Refactor calculating the max payload size, to avoid hardcoding the
header size in too many places, reducing the number of lines that
have to be touched if the header is adjusted further.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-16 21:32:13 +02:00
Piotr Bandurski
cb8163d0bd bfi: set duration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 16:53:01 +01:00
Michael Niedermayer
de89dff8da brstm: ask for samples for version != 1.0
This also avoids 2 unused variable warnings.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 15:05:31 +01:00
Michael Niedermayer
633ae5a210 mjpegenc: fix 444 block count so it is below 10
Fixes Ticket1990

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 15:05:31 +01:00
Paul B Mahol
5be38f9421 brstm: add missing new line to request for sample messages
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-16 13:04:17 +00:00
Michael Niedermayer
5b09c3407e doc/filters: fix "Dolby Pro Logic II" option name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 13:24:59 +01:00
Michael Niedermayer
efb4f96a7a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: fix memleak on error during SPS parsing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 13:21:42 +01:00
Stefano Sabatini
94877aad57 lavfi/crop: free x and y parsed expression objects
Fix leak introduced in 1e5492ffe6.
2012-12-16 13:16:47 +01:00
Michael Niedermayer
dde4832b64 Merge commit '27c8337e595a058347150269d5c2c48281e4285b'
* commit '27c8337e595a058347150269d5c2c48281e4285b':
  h264-mt: handle NAL_DPAs before calling ff_thread_finish_setup
  lavr: move AudioMix struct definition to audio_mix.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 13:09:30 +01:00
Paul B Mahol
1081d78746 build: fix idf demuxer dependency
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-16 12:00:23 +00:00
Paul B Mahol
f4fe4fa89f Remove 8SVX_RAW on next lavc mayor bump
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-16 11:40:26 +00:00
Piotr Bandurski
5648069270 aiff: support in24/in32 tags
Supported by QuickTime, libaudiofile and Csound.
2012-12-16 10:41:00 +00:00
James Almer
7959c26fb0 brstm: fix number of samples for the last block
Signed-off-by: James Almer <jamrial@gmail.com>
2012-12-16 10:34:33 +00:00
Piotr Bandurski
d0bdcbcb28 thp: set duration 2012-12-16 10:27:54 +00:00
Stefano Sabatini
013b700771 ffplay: provide some feedback in case the codec cannot be set 2012-12-16 10:58:02 +01:00
Stefano Sabatini
1cbb11cda7 ffplay: set codec_id in codec context
Set codec id in case another codec is forced on the context (e.g. when
the user specify the codec with -codec).

For example fix:
ffplay -vcodec pgmyuv -i "tests/vsynth1/%02d.pgm"
2012-12-16 10:58:02 +01:00
Stefano Sabatini
cb0f97b59d ffplay: improve robustness of opt_codec(), and add options acodec,vcodec,scodec
Fail with a meaningfull error message in case of bogus input.

Also the new options are more consistent with the rest of the tool
options, since it does not support generic stream specifiers.
2012-12-16 10:57:50 +01:00
Michael Niedermayer
718eab527b ffmpeg: Improve filter input fps selection heuristic.
This fixes a broken file that has a incorrect timebase at the codec level.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 05:21:29 +01:00
Michael Niedermayer
1e901ffc61 wrap_timestamp: remove unneeded check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 01:07:53 +01:00
Michael Niedermayer
1662bd350a lavf: fix integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 01:05:36 +01:00
Michael Niedermayer
d7599bd8e2 h264: dont mess with frame gaps on second fields.
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-16 00:28:36 +01:00
Peter Ross
c16f768d73 ffmpeg: replace magic number with VSYNC_CFR 2012-12-16 09:48:54 +11:00
Harald Axmann
2d74dea84f lavf: Provide a monotonic timestamp to the outside world
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 21:28:45 +01:00
Piotr Bandurski
388241efa2 mpegvideo_enc/rv20: width and height must be multiple of 4
RealPlayer does not play rv20 files when sizes are not multiple of 4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 21:28:45 +01:00
Stefano Sabatini
0ebf85774b doc/filters: remove @example use for showing syntax
I forgot to merge with the previous commit.
2012-12-15 21:02:30 +01:00
Stefano Sabatini
a871b5cc98 doc/filters: extend syntax description for transpose, and add examples 2012-12-15 20:56:14 +01:00
Stefano Sabatini
6722f35dd3 doc/filters: add basic crop examples
Use it to show difference between shorthand and named parameters.
2012-12-15 20:48:42 +01:00
Stefano Sabatini
55b81528a9 doc/filters: itemize crop examples 2012-12-15 20:48:36 +01:00
Stefano Sabatini
1e5492ffe6 lavfi/crop: add support to option parsing
Also fix documentation accordingly.
2012-12-15 20:48:20 +01:00
Janne Grunau
a421bbfe83 h264: fix memleak on error during SPS parsing
Introduced in d7d6efe42b.
2012-12-15 19:16:39 +01:00
Janne Grunau
27c8337e59 h264-mt: handle NAL_DPAs before calling ff_thread_finish_setup
Since a NAL_DPA can start a new frame it has to be handled before
ff_thread_finish_setup is called.
2012-12-15 19:06:37 +01:00
Justin Ruggles
230acdde26 lavr: move AudioMix struct definition to audio_mix.c 2012-12-15 12:26:15 -05:00
Michael Niedermayer
2b643855e0 dirac_parser: check prev_pu_offset before using it
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 16:04:49 +01:00
Piotr Bandurski
fef75ef200 mpegvideo_enc/rv10: width and hieghtmust be multiple of 16
RealPlayer does not play correctly rv10 files when sizes are not multiple of 16

"RealVideo Encoder 1.0 supports any size image that is a multiple of sixteen pixels."

Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 16:04:49 +01:00
rogerdpack
fe3e0e486e lavd/dshow: rename dshow class name
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-15 15:46:20 +01:00
Michael Niedermayer
ac6cb666d9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vp56: release frames on error

Conflicts:
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 14:18:13 +01:00
Stefano Sabatini
54b0c04ae3 lavfi/overlay: clarify/fix comment, add a few empty lines to ease readability 2012-12-15 14:08:42 +01:00
Stefano Sabatini
3d1e2ada25 lavfi/overlay: remove duplicated definition of ff_null_get_video_buffer()
Simplify.
2012-12-15 13:51:24 +01:00
Stefano Sabatini
8f44170d30 lavfi/avfilter.h: clarify doxy for AVFilterLink.out_buf 2012-12-15 13:51:24 +01:00
Michael Niedermayer
f186ecc164 Merge commit 'bb675d3ac6d722d5e117ae9042a996b55ca05b1d'
* commit 'bb675d3ac6d722d5e117ae9042a996b55ca05b1d':
  vp56: make parse_header return standard error codes

Conflicts:
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 13:41:06 +01:00
Michael Niedermayer
75b7e543df fate: update fate for 1a490df12f
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 12:41:24 +01:00
Stefano Sabatini
33ab9ebd09 doc/APIchanges: fill empty git commit hashes and dates 2012-12-15 11:46:47 +01:00
Stefano Sabatini
1a490df12f ffprobe: show pkt_size in frame
Fix trac ticket #2027.
2012-12-15 11:46:47 +01:00
Stefano Sabatini
96d815fc0c lavc: add pkt_size field to AVFrame 2012-12-15 11:46:30 +01:00
Jean First
a8b3f0c5cf fate: check if rsync has the contimeout option
rsync on osx misses the --contimeout option

Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 01:33:19 +01:00
Michael Niedermayer
b6671787db flashsv2_prime: check block before using it.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-15 00:19:52 +01:00
Michael Niedermayer
02d6d05339 dcadec: check xch_base_channel against channel_order_tab.
Fix null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 23:37:44 +01:00
Michael Niedermayer
51fcf276f8 mp3on4: fix null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 21:50:43 +01:00
Michael Niedermayer
a99c273a3f dnxhddec: fix CID changed check.
Fixes Null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 20:58:01 +01:00
Michael Niedermayer
e095c4ea6d fate: update asyncts reference
We cannot update the existing file because this would break
ffmpeg 1.0, which uses it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 19:02:39 +01:00
Stefano Sabatini
ecebf6fc82 lavf/segment: provide more debug feedback when a new segment starts 2012-12-14 18:19:47 +01:00
Stefano Sabatini
df5f9496e6 lavf/segment: add missing flags to segmenter option constants 2012-12-14 18:19:47 +01:00
Michael Niedermayer
6ca2465556 ass_split_section: dont overread array
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 18:10:35 +01:00
Michael Niedermayer
b2c2589ecf westwood_vqa: fix null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 17:55:57 +01:00
Michael Niedermayer
3c5c6b9d61 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ivi_common: check that scan pattern is set before using it.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 16:05:12 +01:00
Michael Niedermayer
be26232efa Merge commit '07acdd651d1e2f4cfa5f610e616e70e323bb69cd'
* commit '07acdd651d1e2f4cfa5f610e616e70e323bb69cd':
  ivi_common: use proper logging context in ivi_decode_blocks().
  ivi_common: make some functions and tables static.
  asyncts: ignore min_delta only if first_pts is set

Conflicts:
	libavcodec/ivi_common.c
	libavcodec/ivi_common.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 15:56:56 +01:00
Michael Niedermayer
a01fe55077 Merge commit 'c0dc57f1264dad1e121772d03abdb9e14ed8857f'
* commit 'c0dc57f1264dad1e121772d03abdb9e14ed8857f':
  asyncts: merge two conditions
  x86inc: fully concatenate tokens to fix macro expansion for nasm
  h264: initialize frame-mt context copies properly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 15:43:46 +01:00
Michael Niedermayer
2f265d9087 Merge commit '6a27ae28f9bde981e85c82cf5bf42c5f43fb6f13'
* commit '6a27ae28f9bde981e85c82cf5bf42c5f43fb6f13':
  mpegvideo: treat delayed pictures as used

Conflicts:
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 15:36:37 +01:00
Michael Niedermayer
86b4dc6277 Merge commit 'bd255f9feb4deea4c990e582f0ba3b90d7b64b4c'
* commit 'bd255f9feb4deea4c990e582f0ba3b90d7b64b4c':
  lavc: set frame parameters after decoding only if necessary

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 15:30:12 +01:00
Michael Niedermayer
3b5c0f5e36 h264: remove low_delay/has_b_frame setting code from nal loop
This code is now executed in h264_set_parameter_from_sps()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 15:22:19 +01:00
Michael Niedermayer
b9d887c225 Merge commit '072be3e8969f24113d599444be4d6a0ed04a6602'
* commit '072be3e8969f24113d599444be4d6a0ed04a6602':
  h264: set parameters from SPS whenever it changes
  asyncts: cosmetics: reindent

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 15:17:51 +01:00
Michael Niedermayer
b6e7041f90 Merge commit 'b35e5d985dd12acf9a0aaa52334134edcf35d68e'
* commit 'b35e5d985dd12acf9a0aaa52334134edcf35d68e':
  doc: improve documentation for the asyncts filter first_pts option
  asyncts: fix the asyncts behavior when using the first_pts option

Conflicts:
	libavfilter/af_asyncts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 13:58:12 +01:00
Michael Niedermayer
593f5c0f3c Merge commit '8083332c2de9ee189f96844ff4c2d9be1844116f'
* commit '8083332c2de9ee189f96844ff4c2d9be1844116f':
  asyncts: use clipped delta value when setting resample compensation
  asyncts: fix flushing of final samples at EOF
  vp6: properly fail on unsupported feature

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 13:51:20 +01:00
Luca Barbato
f33b5ba63e vp56: release frames on error
Fixes CVE-2012-2783

CC: libav-stable@libav.org
2012-12-14 13:21:59 +01:00
Luca Barbato
bb675d3ac6 vp56: make parse_header return standard error codes
Returning 0 for failure is misleading.

CC: libav-stable@libav.org
2012-12-14 13:21:59 +01:00
Anton Khirnov
deabb52ab4 ivi_common: check that scan pattern is set before using it.
Fixes CVE-2012-2791.

CC: libav-stable@libav.org
2012-12-14 07:10:53 +01:00
Anton Khirnov
07acdd651d ivi_common: use proper logging context in ivi_decode_blocks(). 2012-12-14 07:10:48 +01:00
Anton Khirnov
8ab42021f2 ivi_common: make some functions and tables static. 2012-12-14 07:08:38 +01:00
Peter Ross
5c78a8129c sauce: test filetype correctly for datatype 5 (binary text) 2012-12-14 16:46:29 +11:00
Michael Niedermayer
58f30175e1 mem: minor simplification of the alignment hack code
Idea-by: wanzhang
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 05:36:22 +01:00
Michael Niedermayer
d18706244f audioconvert/arm: require alignment of 16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 04:49:09 +01:00
Michael Niedermayer
ceb9f8d927 audioconvert: support simd code with specific alignment requirements.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 04:47:17 +01:00
Michael Niedermayer
a286b04daf configure/arm: print if thumb mode is enabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 02:37:32 +01:00
Michael Niedermayer
a974adc3c7 g729dec: check pitch_delay_int.
Fix out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 01:13:21 +01:00
Justin Ruggles
c0dc57f126 asyncts: merge two conditions 2012-12-13 18:51:56 -05:00
Justin Ruggles
4e5a8878d5 asyncts: ignore min_delta only if first_pts is set 2012-12-13 18:51:56 -05:00
Michael Niedermayer
56d09250ef nuv: dont try to copy an empty frame
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-14 00:31:18 +01:00
Janne Grunau
0995ad8db4 x86inc: fully concatenate tokens to fix macro expansion for nasm
Fixes build errors with nasm introduced in 6f40e9f070 for stack
memory alignment. Noticed by BugMaster.
2012-12-13 23:57:09 +01:00
Björn Axelsson
2947e7b7a7 flvenc: don't write random data if seek fails
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seek to header fails.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 21:54:35 +01:00
Michael Niedermayer
0aa0bab40d docs: -asyncts has been replaced by aresample not asyncts in ffmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 21:54:35 +01:00
Stefano Sabatini
ddf6131a0a lavf/segment: add segment_start_number option
Consistent with the image2 muxer.
2012-12-13 21:38:43 +01:00
Stefano Sabatini
d93d03a492 lavf/segment: add function set_segment_filename()
Factorize.
2012-12-13 21:05:07 +01:00
Janne Grunau
6a27ae28f9 mpegvideo: treat delayed pictures as used
This requires to move the avcodec_default_free_buffers() call to
ff_MPV_common_end() since otherwise delayed pictures would get freed
during a size change.
2012-12-13 21:02:42 +01:00
Janne Grunau
bd255f9feb lavc: set frame parameters after decoding only if necessary
Direct rendering capable decoders call get_buffer() which will set the
frame parameters.

Prevents frames with wrong parameters when a decoder outputs delayed
frames after a resolution or pixel format change.
2012-12-13 21:02:42 +01:00
Janne Grunau
072be3e896 h264: set parameters from SPS whenever it changes
Fixes a crash in the fuzzed sample sample_varPAR.avi_s26638 with
alternating bit depths.
2012-12-13 21:02:42 +01:00
Janne Grunau
0eae920c3c h264: initialize frame-mt context copies properly 2012-12-13 21:02:42 +01:00
Justin Ruggles
b35e5d985d doc: improve documentation for the asyncts filter first_pts option
Note the time base for the option. Add an additional example description.
2012-12-13 13:02:21 -05:00
Justin Ruggles
8083332c2d asyncts: use clipped delta value when setting resample compensation
The max_comp option is supposed to limit maximum compensation, but
currently the clipped value is not actually used.
2012-12-13 13:02:21 -05:00
Justin Ruggles
0ee440fe38 asyncts: cosmetics: reindent 2012-12-13 13:02:21 -05:00
Justin Ruggles
c143de40c3 asyncts: fix the asyncts behavior when using the first_pts option
Currently it will do padding, but it does not properly handle
start-of-stream trimming as documented.
2012-12-13 13:02:21 -05:00
Justin Ruggles
f266486b2e asyncts: fix flushing of final samples at EOF 2012-12-13 13:02:21 -05:00
Michael Niedermayer
616e6ffac6 aresample: increase n_out buffer size a bit to reduce delay in some corner cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 18:17:48 +01:00
Michael Niedermayer
7726916c14 mpegts: check av_new_stream() return value.
Fixes CID703728
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 17:46:17 +01:00
Luca Barbato
be75fed975 vp6: properly fail on unsupported feature
Interlacing is not supported at all and mismanaged down the normal
codepaths causing possible buffer management issues.

CC: libav-stable@libav.org
2012-12-13 17:05:45 +01:00
Michael Niedermayer
0ea4742341 qt-faststart: Check offset_count
Fixes CID733836
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 15:07:20 +01:00
Michael Niedermayer
eee8c94f50 cavsdec: check ff_get_buffer() return value
Fixes CID747721
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 14:32:58 +01:00
Michael Niedermayer
5cb080fa5e snowenc: check ff_get_buffer() return value
Fixes CID747722
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 14:26:03 +01:00
Michael Niedermayer
7effc26ba7 svq1enc: check ff_get_buffer() return value
Fixes CID747723
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 14:20:24 +01:00
Michael Niedermayer
1818a1130d alsdec: propagate error codes in read_block()
Reviewed-by: Thilo Borgmann <thilo.borgmann@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 13:59:15 +01:00
Michael Niedermayer
0213d5ad86 alsdec: make return checking for read_*_block_data() consistent
Reviewed-by: Thilo Borgmann <thilo.borgmann@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 13:59:11 +01:00
Michael Niedermayer
79bfba14b7 alsdec: Use AVERROR_INVALIDDATA in read_const_block_data
Reviewed-by: Thilo Borgmann <thilo.borgmann@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 13:58:52 +01:00
Nedeljko Babic
d7117138cf mips: ac3 downmix updated to the new data layout.
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 13:51:05 +01:00
Nicolas George
2dbc84b1a8 lavf/matroskaenc: check for overflow in display width. 2012-12-13 12:45:07 +01:00
Michael Niedermayer
7897919a88 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.
  x86inc: fix stack alignment on win64
  rtpproto: Remove unused defines

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 12:23:48 +01:00
Michael Niedermayer
2e5e2bf935 Merge commit 'f3f60dcbdd6ff2201526a603fe28293975bb7667'
* commit 'f3f60dcbdd6ff2201526a603fe28293975bb7667':
  rtpdec_mpeg4: Cosmetic cleanup
  rtpdec: Cosmetic cleanup of the header
  rtpdec: Get rid of a useless _s suffix on a struct name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 12:18:12 +01:00
Michael Niedermayer
de7c95d551 Merge commit '7941159df6aad2d219e2a7184489be7a735dd944'
* commit '7941159df6aad2d219e2a7184489be7a735dd944':
  rtpdec/enc: Remove outdated/useless/misleading comments
  rtpdec: Improve some comments
  rtpdec: Remove unused context variables
  rtpdec: Limit writing to the buffer size
  svq1: Fix building with -DDEBUG
  svq1: return meaningful error codes.

Conflicts:
	libavcodec/svq1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 12:06:19 +01:00
Michael Niedermayer
9c0ec23c7d Merge commit '998fdcff41bbda8ef13c991743376556f910efa9'
* commit '998fdcff41bbda8ef13c991743376556f910efa9':
  lavc: replace some forgotten instances of PixelFormat with AVPixelFormat
  svq1: unmacroify macros used only once.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 11:53:15 +01:00
Michael Niedermayer
e7f255d89b Merge commit '95baf701db719ecad6b31000429e20eca2526ed6'
* commit '95baf701db719ecad6b31000429e20eca2526ed6':
  svq1: deMpegEncContextize

Conflicts:
	libavcodec/svq1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 11:49:12 +01:00
Michael Niedermayer
db6e960450 lavfi: drop ff_null_start_frame/end_frame/draw_slice.
The functions have become unused

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-13 03:38:16 +01:00
Stefano Sabatini
43912625e0 lavfi/select: assign NAN to ignored values
Also log scene value. Improve debugging.
2012-12-13 00:18:49 +01:00
Stefano Sabatini
6ba1f28008 lavfi/select: add support to options
Add options introspection, and improve error feedback.
2012-12-13 00:16:30 +01:00
Stefano Sabatini
c214cd18e2 lavfi/select: in select_frame(), rename picref -> ref
The variable is now used also for audio frames.
2012-12-13 00:12:55 +01:00
Stefano Sabatini
e7a0b2e054 doc/filters: itemize select/aselect examples
Improve rendering.
2012-12-13 00:11:20 +01:00
Stefano Sabatini
c51f090ff9 lavfi: mv vf_select.c -> f_select.c
The file now contains also an audio select implementation. Also move the
aselect/select documentation from video filters to the multimedia filters
section.
2012-12-13 00:10:43 +01:00
Stefano Sabatini
f5461face5 lavfi: add aselect audio variant of select 2012-12-13 00:10:24 +01:00
Stefano Sabatini
64c5fbd7de lavfi/select: remove deprecated and unused poll_frame() callback
Simplify.
2012-12-13 00:03:50 +01:00
Alex Converse
6d5b009267 aacdec: Fix an off-by-one overwrite when switching to LTP profile from MAIN.
Found-by: pawlkt
CC: libav-stable@libav.org
2012-12-12 13:22:10 -08:00
Nicolas George
26db6535fc lavf/matroskaenc: use integers to for display size.
Avoid rounding differences between x86_32 and x86_64.
Fix trac ticket #1997.
2012-12-12 20:59:34 +01:00
Ronald S. Bultje
140367aff9 x86inc: fix stack alignment on win64
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 21:30:49 +02:00
Michael Niedermayer
a01679586c mpeg1video: fix regression with slices != threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 20:12:11 +01:00
Michael Niedermayer
03df972016 mpeg1video: support multi threaded slice encoding.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 19:29:32 +01:00
Michael Niedermayer
f18c873ab5 adpcm: fix off by 1 error and out of array access in DK4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 17:46:05 +01:00
Michael Niedermayer
03b9d4a7dc msmpeg4dec: fix coeff index
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 17:46:05 +01:00
Michael Niedermayer
028cc42a16 read_gab2_sub: fix null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 17:46:05 +01:00
Michael Niedermayer
02b238186a avfilter_get_audio_buffer_ref_from_frame: check that layout and channels match if they are set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 17:46:05 +01:00
Nicolas George
0f236345fb ffmpeg: sub2video: use start and end time.
Until now, the end_display_time was ignored, making single
packets subtitles (like dvdsub) stay indefinitely.

start_display_time was also ignored, but is it almost always 0.
2012-12-12 15:05:50 +01:00
Martin Storsjö
29d2595ad7 rtpproto: Remove unused defines
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 16:01:24 +02:00
Michael Niedermayer
e69e780cde ff_copy_buffer_ref: use the channel count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 14:12:47 +01:00
Michael Niedermayer
5a4eb6aa27 avfilter_get_video_buffer_ref_from_frame: check channel count
more than 8 channels is not supported and crashes with null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 14:12:47 +01:00
Michael Niedermayer
0ceca269b6 alsdec: check block length
Fix writing over the end

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 14:12:47 +01:00
Nicolas George
16c3cb9bbf lavf/concatdec: avoid leaking URLs.
Use av_realloc instead of av_realloc_f to keep the original
array in case of failure: it is freed in full by the fail label.
2012-12-12 12:15:57 +01:00
Michael Niedermayer
75b3911e5a mxf_set_audio_pts: fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 11:35:47 +01:00
Michael Niedermayer
a0f659b275 oggspeexparse: fix array overread
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 11:21:23 +01:00
Martin Storsjö
f3f60dcbdd rtpdec_mpeg4: Cosmetic cleanup
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:18:50 +02:00
Martin Storsjö
584a017925 rtpdec: Cosmetic cleanup of the header
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:18:44 +02:00
Martin Storsjö
abf74a1169 rtpdec: Get rid of a useless _s suffix on a struct name
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:18:38 +02:00
Martin Storsjö
7941159df6 rtpdec/enc: Remove outdated/useless/misleading comments
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:18:33 +02:00
Martin Storsjö
d6ec745246 rtpdec: Improve some comments
The previous comment about the buffer was wildly inaccurate and
misleading.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:18:28 +02:00
Martin Storsjö
e66d448c75 rtpdec: Remove unused context variables
These stem from back when both the rtp muxer and rtp depacketizing
shared the same struct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:18:22 +02:00
Martin Storsjö
81ef519252 rtpdec: Limit writing to the buffer size
This fixes potential buffer overwrites.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:18:16 +02:00
Martin Storsjö
48238fd00b svq1: Fix building with -DDEBUG
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-12 12:17:52 +02:00
Michael Niedermayer
12fcc626d6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: fix segfault due to overlooked change needed in 14758e3
  x86inc: support stack mem allocation and re-alignment in PROLOGUE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 10:50:21 +01:00
Ronald S. Bultje
ce58642ed0 x86inc: support stack mem allocation and re-alignment in PROLOGUE.
Use this in VP8/H264-8bit loopfilter functions so they can be used if
there is no aligned stack (e.g. MSVC 32bit or ICC 10.x).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 10:37:52 +01:00
Michael Niedermayer
82c0211213 Merge commit '14758e3211d34a97c42b07acae117ce5627d7f57'
* commit '14758e3211d34a97c42b07acae117ce5627d7f57':
  lavr: temporarily store custom matrix in AVAudioResampleContext
  lavr: clarify documentation for avresample_get/set_matrix()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 10:31:56 +01:00
Michael Niedermayer
8dbc384f15 Merge commit 'd04c17c91363a6b15d1ac2d79c817f3d5e2998b3'
* commit 'd04c17c91363a6b15d1ac2d79c817f3d5e2998b3':
  swfdec: cosmetics: fix indentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 10:16:23 +01:00
Michael Niedermayer
d276f28b7d swfdec: print warning when len is cliped
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 10:14:06 +01:00
Carl Eugen Hoyos
31f9cf38f0 Fix frame-rate documentation. 2012-12-12 10:08:43 +01:00
Anton Khirnov
c4182d72c9 svq1: return meaningful error codes. 2012-12-12 10:00:08 +01:00
Anton Khirnov
998fdcff41 lavc: replace some forgotten instances of PixelFormat with AVPixelFormat 2012-12-12 09:59:58 +01:00
Anton Khirnov
84a0806680 svq1: unmacroify macros used only once. 2012-12-12 09:59:41 +01:00
Anton Khirnov
95baf701db svq1: deMpegEncContextize
This decoder is quite simple and none of the MpegEncContext complexity
is actually needed.
2012-12-12 09:57:21 +01:00
Michael Niedermayer
be5389d585 Merge commit 'e70c5b034c4787377e82cab2d5565486baec0c2a'
* commit 'e70c5b034c4787377e82cab2d5565486baec0c2a':
  swfdec: do better validation of tag length
  Make LOCAL_ALIGNED syntactically similar on all systems

Conflicts:
	libavformat/swfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 09:55:56 +01:00
Justin Ruggles
42b5688d5e lavr: fix segfault due to overlooked change needed in 14758e3
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-12 09:09:00 +01:00
Ronald S. Bultje
6f40e9f070 x86inc: support stack mem allocation and re-alignment in PROLOGUE
Use this in VP8/H264-8bit loopfilter functions so they can be used if
there is no aligned stack (e.g. MSVC 32bit or ICC 10.x).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-12 05:23:46 +01:00
Clément Bœsch
9138f6da4a lavfi/showinfo: check plane count before dereferencing. 2012-12-12 02:55:10 +01:00
Michael Niedermayer
2fb240ddb6 ac3dec: fix out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 01:22:09 +01:00
Michael Niedermayer
a202541f9b cafdec: Check duration before use.
Fix division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 01:22:09 +01:00
Michael Niedermayer
99a8552dae bfi: fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 01:22:09 +01:00
Michael Niedermayer
1cf7b61fb2 Changelog: update for soxr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-12 01:22:09 +01:00
Stefano Sabatini
803af8101f doc/ffmpeg: fix/extend documentation for -copyts 2012-12-12 00:36:04 +01:00
Rob Sykes
801b315729 swr: Add SOX resampler support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Rob Sykes
41049d07f2 swr: add a lowpass default so that each Resampler can have its own default.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
ae5a55e77a swr: move flush into Resampler
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
431dcc49d2 swr: make realloc_audio() available outside swresample.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Rob Sykes
5a5d70748c swr: Add API to make resample engine selectable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Michael Niedermayer
e8e575633f lavc/utils: Do not require dimensions for PNG.
pngenc doesnt need them and mplayer doesnt set them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 22:04:00 +01:00
Stefano Sabatini
bbc8f0cd9b doc/filters: fix grammar mistake in setfield documentation
Spotted-by: Tim Nicholson <nichot20@yahoo.com>
2012-12-11 21:52:26 +01:00
Justin Ruggles
14758e3211 lavr: temporarily store custom matrix in AVAudioResampleContext
This allows AudioMix to be treated the same way as other conversion contexts
and removes the requirement to allocate it at the same time as the
AVAudioResampleContext.

The current matrix get/set functions are split between the public interface
and AudioMix private functions.
2012-12-11 14:00:32 -05:00
Justin Ruggles
887d4c05c9 lavr: clarify documentation for avresample_get/set_matrix() 2012-12-11 14:00:32 -05:00
Clément Bœsch
4b4f16cdc0 lavfi/fps: remove parse opt error message.
See cc650cf0 for more info.
2012-12-11 18:14:08 +01:00
Clément Bœsch
b2f2321cec doc/filters: extend fps documentation. 2012-12-11 18:12:26 +01:00
Clément Bœsch
0e0e3db189 lavfi/fps: add shorthand. 2012-12-11 18:12:11 +01:00
Michael Niedermayer
7d05bbb656 mxfdec: drop unneeded extradata padding
Found-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 16:40:28 +01:00
Justin Ruggles
d04c17c913 swfdec: cosmetics: fix indentation 2012-12-11 09:37:17 -05:00
Justin Ruggles
e70c5b034c swfdec: do better validation of tag length
Avoids trying to read a packet with 0 or negative size.
Avoids a potential infinite loop due to seeking backwards.

Partially based on a patch by Michael Niedermayer.
2012-12-11 09:36:26 -05:00
Michael Niedermayer
b65570808c mxfdec: fix leak of extradata
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 14:43:47 +01:00
Mans Rullgard
02823f6d71 Make LOCAL_ALIGNED syntactically similar on all systems
This changes the LOCAL_ALIGNED definition on systems where
DECLARE_ALIGNED is used so it matches the manual alignment
case, ensuring invalid use will not compile on x86 only to
fail on everything else.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-11 11:59:15 +00:00
Michael Niedermayer
9e28c7ef64 filters.texi: document more aresample options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 12:50:34 +01:00
Michael Niedermayer
7dee5f04ac svq3: fix cast type to be independant of "sizeof(int)"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 12:50:34 +01:00
Paul B Mahol
17d5746d96 build: fix dca encoder dependencies
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-11 11:46:22 +00:00
Paul B Mahol
2375139007 fate: add BRSTM demuxer test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-11 11:34:47 +00:00
Peter Ross
7016aa655b iff decoder: support RGB8 and RGBN 2012-12-11 20:17:30 +11:00
Peter Ross
53ae32d331 iff demuxer: support RGB8 and RGBN 2012-12-11 20:17:30 +11:00
Michael Niedermayer
67c1b5b026 lavf: remove unneeded pb check
Fixes CID747727
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 09:34:47 +01:00
Michael Niedermayer
b688a28470 astenc: fix assignment vs compare
Fixes CID747736
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 08:56:42 +01:00
Michael Niedermayer
a70b38d2dd lavf: fix memleak
Fixes CID747738
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 08:51:34 +01:00
Michael Niedermayer
9696ad6a76 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: fix 'clean' target
  ZeroCodec: Flip output

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 08:24:45 +01:00
Clément Bœsch
fd3cdcaf5f lavfi: remove mp=denoise3d filter.
hqdn3d was meant to be a more efficient denoise3d filter, is supported
natively, and is faster on my computer thanks to the ASM optimisations.
2012-12-11 04:28:08 +01:00
Clément Bœsch
80e5c51d73 doc: fix a -map syntax in one command line example. 2012-12-11 03:57:33 +01:00
Clément Bœsch
7eafd274d8 build: fix prores decoder dependencies.
According to lavc/proresdsp.c, both prores and prores-lgpl decoders need
lavc/x86/proresdsp_init.c:ff_proresdsp_x86_init().
2012-12-11 02:54:55 +01:00
Clément Bœsch
18d9398143 doxy: add ref for lavfi, lpp and lsws. 2012-12-11 02:13:43 +01:00
Michael Niedermayer
5595e7a102 doxy: fix swr group name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 01:53:18 +01:00
Carl Eugen Hoyos
71b1912963 Print bpc (for bits per component) with pixel format if it is smaller than expected. 2012-12-11 01:26:32 +01:00
Stefano Sabatini
8e9056559e lavf/segment: add reset_timestamps option
The new options reset the timestamps at each new segment, so that the
generated segments will have timestamps starting close to 0.

It is meant to address trac ticket #1425.
2012-12-11 00:18:23 +01:00
Michael Niedermayer
22e4988673 opt: fix memleak on error of range_array
Fixes CID747739
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 00:03:23 +01:00
Michael Niedermayer
0a60f83075 http: dont null check p, its unneeded
Fixes CID747740
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 00:03:23 +01:00
Michael Niedermayer
b11a889055 vf_tinterlace: default of mode switch is impossible, add assert.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 00:03:23 +01:00
Michael Niedermayer
e7101a7f3f libavcodec/x86/mpegvideo: switch to av_assert2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 23:30:16 +01:00
Michael Niedermayer
623184afa2 itu H.263: Fix handling of PB blocks
This fixes artifacts in Ticket744

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 23:23:27 +01:00
Michael Niedermayer
c3bb3334f6 h264: dont try to allocate scratchpad if linesize is not known
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 20:52:14 +01:00
Mans Rullgard
395c3feb3b build: fix 'clean' target
This fixes removal of TOOLS as well as HOSTPROGS declared in the
top-level Makefile.  The clean target in common.mak needs to be
eval'd since the variables used within are reset for each library.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-10 17:23:53 +00:00
Michael Niedermayer
c73685398d swfdec: check lens validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 17:25:44 +01:00
Carl Eugen Hoyos
2ddf7c88d1 ZeroCodec: Flip output
The initial testing of the VFW binary codec was flawed,
likely due to an AviSynth bug.

Re-testing using VirtualDub and various professional editing
applications has revealed it should have been flipped.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-12-10 11:19:42 -05:00
Paul B Mahol
a354839bfa build: update mxf muxer dependencies
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-10 13:59:15 +00:00
Paul B Mahol
d880c34408 lavc: fix typo and avrn build dependencies
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-10 13:49:53 +00:00
Michael Niedermayer
ddbf0702c5 dsputil_mmx: switch to av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 14:41:31 +01:00
Paul B Mahol
4c7515286b takdec: silence/fix warning for undefined behavior
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-10 12:06:30 +00:00
Michael Niedermayer
4a5289ade3 mips: disable ac3 downmix, until its updated to the new data layout.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 12:45:11 +01:00
Michael Niedermayer
6321e02896 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Remove an outdated todo comment
  rtpdec: Rename a static variable to normal naming conventions
  sh4: dsputil: remove duplicate of ff_gmc_c()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 12:13:42 +01:00
Peter Ross
f540851ce3 mov: parse @PRM and @PRQ metadata tags
These tags describe the product and quicktime library version respectively.
Originate from Adobe Premier, but some other products use them.
2012-12-10 21:12:59 +11:00
Peter Ross
e044cd4123 codec_desc: AV_CODEC_ID_SMPTE_KLV is data 2012-12-10 21:08:09 +11:00
Martin Storsjö
ccb59c106a rtpdec: Remove an outdated todo comment
This comment was added in e309128f, in 2002, and has been brought
along since then more or less unmodified.

The first point of the todo was implemented in dbf30963 in 2006,
the second one is not relevant to rtpdec.c (brought along from
rtp.c in 8eb793c4 in 2008) but would be more relevant to the
rtp muxer, although it isn't a good idea anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-10 11:58:32 +02:00
Martin Storsjö
0d85663a47 rtpdec: Rename a static variable to normal naming conventions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-10 11:58:25 +02:00
Mans Rullgard
f9e493c6f5 sh4: dsputil: remove duplicate of ff_gmc_c()
This function is an exact duplicate of the generic one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-10 09:53:58 +00:00
Michael Niedermayer
7aabeea9ba ac3dec: fix bugs in direct buffer use.
This fixes potentially exploitable out of array writes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 04:45:30 +01:00
Michael Niedermayer
529d3e0026 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: remove unused macro WRAPPER8_16
  configure: fix automatic processing of _extralibs in check_deps
  libvpxenc: Support forcing keyframes
  ac3dec: decode directly into output buffers

Conflicts:
	libavcodec/ac3dec.c
	libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 02:16:33 +01:00
Michael Niedermayer
a933698457 Merge commit '30b39164256999efc8d77edc85e2e0b963c24834'
* commit '30b39164256999efc8d77edc85e2e0b963c24834':
  ac3dec: make downmix() take array of pointers to channel data

Conflicts:
	libavcodec/ac3dsp.c
	libavcodec/ac3dsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 02:06:50 +01:00
Michael Niedermayer
b7d8484f27 Merge commit 'b8f3ab8e6a7ce3627764da53b809628c828d4047'
* commit 'b8f3ab8e6a7ce3627764da53b809628c828d4047':
  ac3dec: output planar float only
  svq3: make slice type value unsigned to match svq3_get_ue_golomb return type
  configure: Have protocols select network code instead of depending on it

Conflicts:
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 01:32:37 +01:00
Michael Niedermayer
78ac7ee970 Merge commit '5d471b73d20616f5ac701ff62e5de49465cda264'
* commit '5d471b73d20616f5ac701ff62e5de49465cda264':
  rtpdec: K&R formatting and spelling cosmetics
  cosmetics: Fix dropable --> droppable typo

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 01:27:10 +01:00
Mans Rullgard
5c75708cf0 configure: fix automatic processing of _extralibs in check_deps
This fixes the automatic use of $foo_extralibs when feature foo
is enabled indirectly through a _select or _suggest.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-10 01:23:23 +01:00
Michael Niedermayer
20899c54f0 http/utils: rename "demuxer" to mime_type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-10 01:00:16 +01:00
Michael Niedermayer
cbe43e62c9 ffserver: set oformat
Fix Ticket1986

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 23:39:06 +01:00
Mans Rullgard
2dd95bd7cf dsputil: remove unused macro WRAPPER8_16
This macro has never been used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-09 22:21:04 +00:00
Paul B Mahol
cef28b5602 tak: reduce difference with qatar
Mostly cosmetics changes, but also makes
decoding little faster here.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-09 22:01:00 +00:00
Mans Rullgard
d4f8cecc86 configure: fix automatic processing of _extralibs in check_deps
This fixes the automatic use of $foo_extralibs when feature foo
is enabled indirectly through a _select or _suggest.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-09 21:20:58 +00:00
Stefano Sabatini
461b5bf4ab lavc/avcodec: extend/clarify/fix documentation for avcodec_fill_audio_frame() 2012-12-09 21:55:46 +01:00
Stefano Sabatini
ad47ac20ae lavf/segment: remove silly assert(), improve feedback
The code should not assert in case of invalid user input. Fails
gracefully instead.
2012-12-09 20:42:35 +01:00
Michael Niedermayer
68bc012190 http/utils: move mime -> demuxer maping from http to utils
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 20:24:49 +01:00
Michael Niedermayer
0af7ccd9e2 mpeg12: move current_picture_ptr reset to the end of decode_frame.
This fixes passing fields instead of frames into the decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 19:49:51 +01:00
Martin Storsjö
774e6fc9ed libvpxenc: Support forcing keyframes
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-09 20:28:08 +02:00
Michael Niedermayer
e3d95b54db probe: belive protocol content type if set and avoid lengthly probing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 19:12:34 +01:00
Michael Niedermayer
76d851b656 http: export ICY content type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 19:12:34 +01:00
Nicolas George
160013736e lavf: TED Talks JSON captions demuxer. 2012-12-09 18:50:38 +01:00
Carl Eugen Hoyos
18eb31963b Improve x264opts description. 2012-12-09 18:24:56 +01:00
Peter Ross
9282fbb9ad mpegts: demux asynchronous SMPTE 336M Key-Length-Value (KLV) metadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 17:15:46 +01:00
Michael Niedermayer
3193a5cdbf arm: put prefetch under matching #ifdef as the actual code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 17:14:15 +01:00
Mans Rullgard
30b3916425 ac3dec: make downmix() take array of pointers to channel data 2012-12-09 15:52:01 +00:00
Mans Rullgard
b8f3ab8e6a ac3dec: output planar float only
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-09 15:52:01 +00:00
Mans Rullgard
ec5da7aee2 ac3dec: decode directly into output buffers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-09 15:52:01 +00:00
Janne Grunau
288bb3da16 svq3: make slice type value unsigned to match svq3_get_ue_golomb return type 2012-12-09 15:51:45 +01:00
Diego Biurrun
998c1ee10c configure: Have protocols select network code instead of depending on it 2012-12-09 14:56:12 +01:00
Michael Niedermayer
1374b5e15b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avio: K&R cosmetic formatting

Conflicts:
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 14:08:01 +01:00
Michael Niedermayer
e7d924da30 Merge commit '91ac403b1316d59b4f43c4ea0f237e24cec2819a'
* commit '91ac403b1316d59b4f43c4ea0f237e24cec2819a':
  lavf: fix arithmetic overflows in avformat_seek_file()
  mjpeg: initialize input padding after unescaped buffer to zero

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 13:56:46 +01:00
Martin Storsjö
5d471b73d2 rtpdec: K&R formatting and spelling cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-09 13:36:11 +01:00
Diego Biurrun
ba0c898120 cosmetics: Fix dropable --> droppable typo 2012-12-09 13:36:11 +01:00
Michael Niedermayer
5de1f7a7bd Merge commit '18e6f087c4a50bede8449ee164778945480be50c'
* commit '18e6f087c4a50bede8449ee164778945480be50c':
  img2: document the options available
  hls: improve options description
  hls: use a meaningful long name
  hls: add start_number option
  h264: check for invalid zeros_left before writing

Conflicts:
	doc/demuxers.texi
	doc/muxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 13:35:49 +01:00
Michael Niedermayer
9f92e590ba mxfdec: fix double free
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 11:46:26 +01:00
Carl Eugen Hoyos
66dc3ba356 Flip zerocodec output.
Fixes ticket #1218
2012-12-09 10:24:16 +01:00
Luca Barbato
1dd1c1c884 avio: K&R cosmetic formatting 2012-12-09 09:45:45 +01:00
Michael Niedermayer
e8ca7cfa4f h264: avoid calling idr() twice
Fixes rare race condition leading to null pointer dereferences.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 06:06:15 +01:00
Clément Bœsch
4c554c967f lavc/libcelt: add missing internal.h include.
This should fix build (include is necessary for ff_get_buffer).
2012-12-09 03:43:03 +01:00
Paul B Mahol
92f630eaf2 add forgotten AV_ prefix to some CODEC_IDs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-09 01:47:58 +00:00
Piotr Bandurski
7f01247572 tiff: support zlib with invertedFillOrder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-09 01:00:54 +01:00
Stefano Sabatini
f494647206 lavu/opt: change the way ranges are printed 2012-12-08 22:18:38 +01:00
Ramiro Polla
f2c49da9ac dshow: fix return code when opening device
Successfully opening a device altered the ret variable, making the function
not cleanup properly and return an incorrect value for errors that happened
afterwards.

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 21:44:30 +01:00
Mans Rullgard
91ac403b13 lavf: fix arithmetic overflows in avformat_seek_file()
The values compared here can be more than INT64_MAX apart.  Since the
difference is always positive, converting to uint64_t before subtracting
gives the correct result without overflows.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-08 19:35:16 +00:00
Stefano Sabatini
129d737150 lavu/opt: make av_opt_query_ranges_default() return a meaningful error code 2012-12-08 19:53:03 +01:00
Piotr Bandurski
e5550c0d09 mjpegdec: support more pix_fmt_ids for grayscale
samples created with

"cjpeg -grayscale -sample 1x3 / 1x4 / 3x1 / 3x3 / 4x1 / 4x3 / 4x4"

http://www.datafilehost.com/download-d828329d.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 19:24:09 +01:00
Stefano Sabatini
0ad654d4c9 lavu/opt: perform misc cosmetical fixes 2012-12-08 19:13:20 +01:00
Stefano Sabatini
642a60f1c2 lavfi/setfield: add support to named options and introspection 2012-12-08 18:26:32 +01:00
Michael Niedermayer
0110108a7c sbr_hf_gen_sse: Optimize code a bit more.
Core I7 (Sandy Bridge) 135 to 107 cycles
Core i5 (Arrandale) 162 to 142 (Thanks to Christophe Gisquet for testing)

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 17:30:11 +01:00
Matthieu Bouron
7f154bd54f lavfi/setfield: switch to filter_frame API
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-08 17:19:17 +01:00
Matthieu Bouron
4cd40ef343 lavfi/idet: switch to filter_frame API
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-12-08 17:19:17 +01:00
Janne Grunau
6a1aa5cb26 mjpeg: initialize input padding after unescaped buffer to zero
Fixes valgrind --undef-value-errors=yes warnings caused by valid
overreads in the fate vsynth jpegls, cover-art-ape and cover-art-wv
tests.
2012-12-08 17:05:45 +01:00
Luca Barbato
18e6f087c4 img2: document the options available 2012-12-08 17:04:23 +01:00
Luca Barbato
3c3a580f93 hls: improve options description 2012-12-08 17:04:23 +01:00
Luca Barbato
adbe03077d hls: use a meaningful long name 2012-12-08 17:04:22 +01:00
Luca Barbato
5fbceb2c63 hls: add start_number option 2012-12-08 17:04:22 +01:00
Ronald S. Bultje
ddd7559ad9 h264: check for invalid zeros_left before writing
Prevent an invalid write into coeffs[scantable[-1]] if zeros_left
itself was an invalid VLC code (and thus -1).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-08 17:04:22 +01:00
Michael Niedermayer
5c076205a6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  golomb: use unsigned arithmetics in svq3_get_ue_golomb()
  x86: float_dsp: fix loading of the len parameter on x86-32
  takdec: fix initialisation of LOCAL_ALIGNED array
  takdec: fix initialisation of LOCAL_ALIGNED array

Conflicts:
	libavcodec/rv30.c
	libavcodec/svq3.c
	libavcodec/takdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 16:36:47 +01:00
Paul B Mahol
1a4250493b MAINTAINERS: add myself for my works
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-08 15:18:08 +00:00
Stefano Sabatini
5825e9425b lavfi/version: remove unused dropped symbol 2012-12-08 16:04:09 +01:00
Michael Niedermayer
3a7ef8dc44 Merge commit '57231e4d5b467833fb289439cd35a92513bb55c1'
* commit '57231e4d5b467833fb289439cd35a92513bb55c1':
  tak: demuxer, parser, and decoder

Not merged as requested by Author and Maintainer of tak in FFmpeg.
I just merged a few typo fixes and minor cosmetic improvments.

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/tak.c
	libavcodec/tak.h
	libavcodec/tak_parser.c
	libavcodec/takdec.c
	libavcodec/version.h
	libavformat/takdec.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 15:54:18 +01:00
Stefano Sabatini
64e174e8b8 doc/filters: move volumedetect documentation below volume 2012-12-08 15:41:12 +01:00
Stefano Sabatini
10db70d5e9 lavfi: drop af_volume_stefano.c in favor of af_volume_justin.c
Justin's version has more features but is otherwise equivalent from the
point of view of the syntax.
2012-12-08 15:40:07 +01:00
Stefano Sabatini
759e7a237f doc/filters: fix copy&paste error in volume_justin documentation
Spotted by ubitux.
2012-12-08 15:38:20 +01:00
Stefano Sabatini
769546631c lavfi/volume_justin: add support to option shorthands and introspection 2012-12-08 15:22:55 +01:00
Stefano Sabatini
402ac72bbc lavfi/volume_justin: fix a few grammar inconsistencies in options description 2012-12-08 15:22:55 +01:00
Clément Bœsch
7f70db3f4f doc: sync avoid_negative_ts option with internal help. 2012-12-08 15:17:47 +01:00
Michael Niedermayer
57cee85023 Merge commit '096abfa15052977eed93f0b5e01afd2d47c53c1f'
* commit '096abfa15052977eed93f0b5e01afd2d47c53c1f':
  parser: fix large overreads
  bitstream: add get_bits64() to support reading more than 32 bits at once
  arm: detect cpu features at runtime on Linux

Conflicts:
	libavcodec/parser.c
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:58:56 +01:00
Michael Niedermayer
7efee140d7 get_bits: rename get_bits_longlong to get_bits64
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:53:01 +01:00
Michael Niedermayer
b2b12a1022 mpegts: rename get_bits64 to get_ts64
Renaming because of name conflict

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:52:50 +01:00
Michael Niedermayer
aba1a48cc5 Merge commit 'b326755989b346d0d935e0628e8865f9b2951c30'
* commit 'b326755989b346d0d935e0628e8865f9b2951c30':
  arm: rename ARMVFP config symbol to VFP

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:24:16 +01:00
Michael Niedermayer
89c8eaa321 Merge commit '637606de2d2e0af0a9fa2f23f943765d7d7c5cd5'
* commit '637606de2d2e0af0a9fa2f23f943765d7d7c5cd5':
  configure: arm: make _inline arch ext symbols depend on inline_asm
  arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation

Conflicts:
	configure
	libavcodec/arm/dca.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:19:55 +01:00
Michael Niedermayer
ee9e7a2e7a Merge commit '7f2b3dcabd108926bde819ad574017f4161d1546'
* commit '7f2b3dcabd108926bde819ad574017f4161d1546':
  configure: arm: check inline and external asm support for extensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:13:58 +01:00
Michael Niedermayer
4f0cf62d5a Merge commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575'
* commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575':
  configure: add check_insn function
  configure: clean up check_inline_asm and check_as functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:08:47 +01:00
Michael Niedermayer
fa6bab7857 Merge commit 'f0fe245bc31cf4fa3b3ed0240cd1ab6f0d5043ea'
* commit 'f0fe245bc31cf4fa3b3ed0240cd1ab6f0d5043ea':
  configure: arm: set fast_clz and fast_unaligned in cpuflags section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 14:04:41 +01:00
Michael Niedermayer
840a002b69 Merge commit '1234c66a315b139339d52ca193b3f1d67af9ce19'
* commit '1234c66a315b139339d52ca193b3f1d67af9ce19':
  configure: arm: detect toolchain default arch version

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 13:57:29 +01:00
Michael Niedermayer
7181806dc1 Merge commit '9ebd45c2d58ad9241ad09718679f0cf7fb57da52'
* commit '9ebd45c2d58ad9241ad09718679f0cf7fb57da52':
  configure: do not bypass cpuflags section if --cpu not given
  dct-test: arm: indicate required cpu features for optimised funcs
  snow: fix build after 594d4d5df3
  arm: fix use of uninitialised value in ff_fft_fixed_init_arm()
  avpicture: Don't assume a valid pix fmt in avpicture_get_size

Conflicts:
	libavcodec/avpicture.c
	libavcodec/snow.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 13:49:26 +01:00
Reimar Döffinger
8ee14aa5c7 lavf: improve avoid_negative_ts help text
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 13:30:43 +01:00
Janne Grunau
9a2e79116d golomb: use unsigned arithmetics in svq3_get_ue_golomb()
This prevents undefined behaviour of signed left shift if the coded
value is larger than 2^31. Large values are most likely invalid and
caused errors or by feeding random.

Validate every use of svq3_get_ue_golomb() and changed the place there
the return value was compared with negative numbers. dirac.c was clean,
fixed rv30 and svq3.
2012-12-08 12:55:10 +01:00
Stefano Sabatini
35e81441fc lavfi/sendcmd: switch to filter_frame API 2012-12-08 12:10:40 +01:00
Stefano Sabatini
3eae531de2 lavfi/swapuv: switch to filter_frame API 2012-12-08 12:10:34 +01:00
Nicolas George
e6701d51e1 lavc/mlpdec: reset layout when channels change.
Triggered by the sample for trac ticket #1726.
2012-12-08 10:12:38 +01:00
Justin Ruggles
1c012e6bfb x86: float_dsp: fix loading of the len parameter on x86-32 2012-12-07 21:19:29 -05:00
Paul B Mahol
3fd60d8049 gifdec: port to bytestream2 API
While here remove ff_lzw_cur_ptr() as it become obsolete.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-08 01:13:07 +00:00
Michael Niedermayer
e0a553d526 opt_list: fix vertical alignment of types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 01:34:28 +01:00
Michael Niedermayer
f4ceca6261 opt: print ranges in opt_list()
The formating can and should be improved.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 01:34:28 +01:00
Michael Niedermayer
a8e0d51bb8 opt: Add support to query ranges
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-08 01:34:28 +01:00
Josh Allmann
b3deec3253 takdec: fix initialisation of LOCAL_ALIGNED array
When LOCAL_ALIGNED uses manual alignment initialisation is not
possible.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-08 00:00:30 +01:00
Mans Rullgard
cd71af90a9 takdec: fix initialisation of LOCAL_ALIGNED array
When LOCAL_ALIGNED uses manual alignment initialisation is not
possible.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 22:13:57 +00:00
Michael Niedermayer
419ade4b61 lavc: check dimensions for video encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 22:58:13 +01:00
Paul B Mahol
57231e4d5b tak: demuxer, parser, and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
096abfa150 parser: fix large overreads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
41540b36a1 bitstream: add get_bits64() to support reading more than 32 bits at once
Also remove a duplicate function in the MPEG-TS demuxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-12-07 16:15:02 -05:00
Michael Niedermayer
320ae9fb78 sws_scale: check input against NULL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 21:50:07 +01:00
Clément Bœsch
710c4baf52 lavf: VobSub demuxer. 2012-12-07 21:18:06 +01:00
Stefano Sabatini
fe508f807a lavfi/alphaextract: consistently prefer "cur" over "in" in filter_frame()
Improve consistency/readability.
2012-12-07 19:45:34 +01:00
Stefano Sabatini
0bc0d31b7b lavfi/alphaextract: access outlink properties rather than out_buf->video
Avoid one dereference, simplify.
2012-12-07 19:45:27 +01:00
Stefano Sabatini
130c6497d2 lavfi/alphaextract: fix assignment of invalid size value to memcpy in case linesize < 0
Fix crash, for example in the command:
ffmpeg -f image2 -vcodec pgmyuv -i tests/vsynth1/%02d.pgm \
  -vf "[in]format=yuv420p,split,alphamerge,split[o3][o4];
       [o4]vflip,alphaextract[alpha];[o3][alpha]alphamerge[out]" \
  -vcodec rawvideo -f nut md5:
2012-12-07 19:43:19 +01:00
Stefano Sabatini
c3ad91a3d7 lavfi/alphaextract: switch to filter_frame() API 2012-12-07 19:42:59 +01:00
Stefano Sabatini
1f467220cf lavfi/alphaextract: drop cur_linesize = out_linesize branch in draw_slice()
The code causes uninitialized data copy, and may be actually slower than
a loop over each line in case the padding is big.
2012-12-07 19:09:47 +01:00
Paul B Mahol
fe63d41302 brstm: do not return partial packets
Such packets are useless.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 17:55:45 +00:00
Mans Rullgard
b326755989 arm: rename ARMVFP config symbol to VFP
This is consistent with usual ARM nomenclature as well as with the
VFPV3 and NEON symbols which both lack the ARM prefix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
b57c1da81e arm: detect cpu features at runtime on Linux
This allows compiling optimised functions for features not enabled
in the core build and selecting these at runtime if the system has
the necessary support.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
637606de2d configure: arm: make _inline arch ext symbols depend on inline_asm
This makes --disable-inline-asm work as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
7f2b3dcabd configure: arm: check inline and external asm support for extensions
This tests instruction set support in both inline and external asm.
If both fail, the base config option is disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
c6ebc9faa2 configure: add check_insn function
The check_insn function tests an instruction in both inline asm and
standalone assembly, and sets _external/_inline config properties
accordingly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
f0fe245bc3 configure: arm: set fast_clz and fast_unaligned in cpuflags section
These are properties of the targeted core and do not depend on
specific assembly support in the toolchain which if missing will
render the controlling options here disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
1234c66a31 configure: arm: detect toolchain default arch version
Probe for the toolchain default architecture version if no --cpu flag
is present or an unknown cpu is specified.  Works with gcc, clang and
armcc.

This allows configuring based on the arch version even if it is not
explicitly specified to configure.  It also causes an explicit -march
flag to be added to CFLAGS and ASFLAGS, which in turn lets us do
proper instruction set tests with the assembler.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
9ebd45c2d5 configure: do not bypass cpuflags section if --cpu not given
This will allow arch-specific ways of determining the target
variant when none is specified on the command line.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
a7831d509f arm: use HAVE*_INLINE/EXTERNAL macros for conditional compilation
These macros reflect the actual capabilities required here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
7fd90119bb configure: clean up check_inline_asm and check_as functions
The check_inline_asm function should check the actual C compiler,
not the one used for assembly files.  Usually these are the same,
but they might be different, typically when using a compiler other
than gcc.

The check_as should, as its name suggests, test the type of input
the AS command is used with, i.e. a standalond assembly (.S) file.

Finally, check for gnu assembler using the modified check_as as
this reflects actual usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Mans Rullgard
c29d49c1b3 dct-test: arm: indicate required cpu features for optimised funcs
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:03 +00:00
Anton Khirnov
380232fac3 snow: fix build after 594d4d5df3 2012-12-07 16:35:06 +01:00
Michael Niedermayer
857d7194ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: add a pointer for weighted prediction temporary buffer

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 16:29:07 +01:00
Paul B Mahol
6777aa6387 lavc/takdec: s/get_b/get_bits_esc4
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 15:19:49 +00:00
Martin Storsjö
4ed0c35c40 avcodec: Fix a typo in an option description
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-12-07 16:16:20 +01:00
Paul B Mahol
1c779854b5 lavc/takdec: simplify code
Merge get_scale/get_shift into set_sample_rate_params().
Rename tak_set_bps to set_bps_params and remove 2nd argument.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 15:01:02 +00:00
Michael Niedermayer
7c425e4f2d Merge commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333'
* commit 'd7d6efe42b0d2057e67999b96b9a391f533d2333':
  h264: check sps.log2_max_frame_num for validity
  mov: validate number of DataReferenceBox entries against box size
  mov: compute avg_frame_rate only if duration is known
  flac: change minimum and default of lpc_passes option to 1

Conflicts:
	libavcodec/h264_ps.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 15:52:43 +01:00
Michael Niedermayer
af164d7d9f Merge commit 'c25fc5c2bb6ae8c93541c9427df3e47206d95152'
* commit 'c25fc5c2bb6ae8c93541c9427df3e47206d95152':
  fate: dpcm: Add dependencies
  SBR DSP x86: implement SSE sbr_hf_gen
  AAC SBR: use AVFloatDSPContext's vector_fmul
  fate: image: Add dependencies
  Changelog: add an entry for deprecating the avconv -vol option
  x86: float_dsp: fix compilation of ff_vector_dmul_scalar_avx() on x86-32

Conflicts:
	Changelog
	libavutil/x86/float_dsp.asm
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 15:21:41 +01:00
Mans Rullgard
92dad6687f arm: fix use of uninitialised value in ff_fft_fixed_init_arm()
When initialising an FFTContext for a plain FFT, mdct_bits is not set
and can contain a garbage value.  Since nbits is always valid and for
MDCT operation is mdct_bits - 2 checking this instead avoids using an
uninitialised value while having the same effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 13:11:57 +00:00
Paul B Mahol
8ca8b43d71 lavf/pcm: check size, do not produce invalid packets
Inspired by 92b8c9d89e.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 13:05:43 +00:00
Michael Niedermayer
ea6da80cb4 diracdec: check dimensions against chroma format.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 13:43:40 +01:00
Martin Storsjö
2c96392277 avpicture: Don't assume a valid pix fmt in avpicture_get_size
When called from the v4l2 input device, pix_fmt can be
AV_PIX_FMT_NONE (for jpeg formats). Before 50ba57e0, this wasn't
an issue for avpicture_get_size, but after that commit, this
lead to crashes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-07 14:28:47 +02:00
Janne Grunau
a394959bbe h264: add a pointer for weighted prediction temporary buffer
Reusing MpegEncContext's obmc_scratchpad for this becomes a mess with
adaptive frame-mt.
2012-12-07 11:43:28 +01:00
Janne Grunau
d7d6efe42b h264: check sps.log2_max_frame_num for validity
Fixes infinite or long taking loop in frame num gap code in
the fuzzed sample bipbop234.ts_s223302.

CC: libav-stable@libav.org
2012-12-07 11:43:28 +01:00
Janne Grunau
8cc2fa1e5d mov: validate number of DataReferenceBox entries against box size
Avoids a 2G memory allocation and parsing of random data in
mov_read_dref(). The fuzzed sample sample.mp4_s224424 triggers this.
2012-12-07 11:43:28 +01:00
Janne Grunau
80b6b31417 mov: compute avg_frame_rate only if duration is known
Fixes an assert in fuzzed sample sample.mp4_s265930.
2012-12-07 11:43:28 +01:00
Janne Grunau
480be07a96 flac: change minimum and default of lpc_passes option to 1
Avoid use of uninitialized and uncomputed linear least square models
during ff_lpc_calc_coefs() for FF_LPC_TYPE_CHOLESKY. Fixes running
make fate-flac-16-lpc-cholesk with valgrind --undef-value-errors=yes.
2012-12-07 11:43:28 +01:00
Diego Biurrun
c25fc5c2bb fate: dpcm: Add dependencies 2012-12-07 11:34:16 +01:00
Christophe Gisquet
2aef3d66c9 SBR DSP x86: implement SSE sbr_hf_gen
Start and end index are multiple of 2, therefore guaranteeing aligned access.
Also, this allows to generate 4 floats per loop, keeping the alignment all
along.

Timing:
- 32 bits: 326c -> 172c
- 64 bits: 323c -> 156c

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-07 11:04:26 +01:00
Christophe Gisquet
9a16359c38 AAC SBR: use AVFloatDSPContext's vector_fmul
Around 5% speedup on the code block using 'vector_fmul_add's.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-12-07 10:33:39 +01:00
Diego Biurrun
33086f9265 fate: image: Add dependencies 2012-12-07 10:14:31 +01:00
Michael Niedermayer
f5d6b0c9c2 diracdec: fix typo in mctmp allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 02:24:14 +01:00
Michael Niedermayer
2f6ec9fdd7 diracdec: Test mctmp and mcscratch for malloc failure.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 02:24:14 +01:00
Michael Niedermayer
b84d1bf193 diracdec: fix emulated_edge condition, fix out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 02:24:14 +01:00
Paul B Mahol
f8d68822c0 takdec: use samplefmt.h from libavutil
Instead of having own code for calculating decoded buffer size
just use already provided functions from libavutil.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 01:11:55 +00:00
Paul B Mahol
6a7fed193c add missing dependency for tak demuxer 2012-12-07 00:15:47 +00:00
Paul B Mahol
4e4a95b18e takdec: remove get_code() and use get_sbits() directly
As found by Justin, this is probably bug in reference decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 00:03:47 +00:00
Carl Eugen Hoyos
24b20087bd Fix compilation with yasm 0.6.2. 2012-12-07 00:26:45 +01:00
Michael Niedermayer
892750b07b fix tipo
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 22:59:21 +01:00
Stefano Sabatini
da9a45b681 lavfi/tinterlace: drop redundant NULL checks in uninit() 2012-12-06 22:32:03 +01:00
Stefano Sabatini
c6a216771f lavfi/tinterlace: add support to option parsing
Simplify code, and provide introspection through the AVOption system.
2012-12-06 22:31:42 +01:00
Stefano Sabatini
fef7b2e0be lavfi/tinterlace: switch to filter_frame API
Also add missing NULL checks.
2012-12-06 22:30:59 +01:00
Michael Niedermayer
656500c503 lavf: improve help text for avoid_negative_ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 22:06:40 +01:00
Michael Niedermayer
4b6869d6e0 bitstream: make vlc init of static tables thread safe.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 21:46:42 +01:00
Clément Bœsch
bbd44f6ca4 lavfi/mp: switch to ff_filter_frame. 2012-12-06 21:11:28 +01:00
Paul B Mahol
586c2528a0 dxa: port to bytestream2 API
Protects against overreads in input buffer.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 19:09:48 +00:00
Paul B Mahol
547b8aeed4 smacker: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 18:06:52 +00:00
Paul B Mahol
29c3ebf56e siff: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 18:00:37 +00:00
Paul B Mahol
7510a9a466 lavf/apedec: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 17:17:49 +00:00
Paul B Mahol
4d1912ff4d huffyuv: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 16:56:40 +00:00
Paul B Mahol
4a722a5cab huffyuv: check for malloc failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 16:44:43 +00:00
Justin Ruggles
b64ba37c4c Changelog: add an entry for deprecating the avconv -vol option 2012-12-06 11:33:38 -05:00
Paul B Mahol
7f261ac850 huffyuv: make use of av_fast_padded_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 16:31:54 +00:00
Clément Bœsch
eaa47e7454 lavfi/deshake: small align prettifying. 2012-12-06 16:20:31 +01:00
Clément Bœsch
03778575b9 lavfi/deshake: switch inverted comments. 2012-12-06 16:20:31 +01:00
Clément Bœsch
0678641b7c lavfi/deshake: remove unecessary check before unref. 2012-12-06 16:20:31 +01:00
Clément Bœsch
e7b0e83e96 lavfi/deshake: switch to filter_frame. 2012-12-06 16:20:31 +01:00
Michael Niedermayer
71949ef715 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: slice-mt: check master context for valid current_picture_ptr
  h264: slice-mt: get last_pic_dropable from master context
  alacenc: add support for multi-channel encoding

Conflicts:
	Changelog
	libavcodec/alac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 16:14:38 +01:00
Michael Niedermayer
54a71f2e6c Merge commit 'b519298a1578e0c895d53d4b4ed8867b1c031a56'
* commit 'b519298a1578e0c895d53d4b4ed8867b1c031a56':
  pixdesc: fix yuva 10bit bit depth
  avconv: deprecate the -vol option
  x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scaling
  x86: af_volume: add SSE2-optimized s16 volume scaling

Conflicts:
	ffmpeg.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 15:55:47 +01:00
Michael Niedermayer
1bb547192f lavfi: rename af_volume to af_volume_stefano
This matches the naming style of the new af_volume_justin filter.

Note, Yes i would too prefer having one filter instead of 2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 15:29:23 +01:00
Michael Niedermayer
b38c79bf23 Merge commit 'b384e031daeb1ac612620985e3e5377bc587559c'
* commit 'b384e031daeb1ac612620985e3e5377bc587559c':
  lavfi: add volume filter

Conflicts:
	Changelog
	libavfilter/Makefile
	libavfilter/af_volume.c
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 15:18:59 +01:00
Clément Bœsch
377d201790 lavd/lavfi: fix float.h include.
float.h is a system header.
2012-12-06 15:09:47 +01:00
Clément Bœsch
a0b2e8e155 lavfi/silencedetect: use eval builtin to parse dB.
Also update FATE test to use the dB form.
2012-12-06 15:08:38 +01:00
Michael Niedermayer
15784c2bab Merge commit '9d5c62ba5b586c80af508b5914934b1c439f6652'
* commit '9d5c62ba5b586c80af508b5914934b1c439f6652':
  lavu/opt: do not filter out the initial sign character except for flags
  eval: treat dB as decibels instead of decibytes
  float_dsp: add vector_dmul_scalar() to multiply a vector of doubles

Conflicts:
	libavutil/eval.c
	tests/ref/fate/eval

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 14:33:38 +01:00
Justin Ruggles
ecc8b02194 x86: float_dsp: fix compilation of ff_vector_dmul_scalar_avx() on x86-32
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-12-06 14:11:15 +01:00
Nicolas George
32aedebdc5 lavf: add a concat demuxer. 2012-12-06 14:09:14 +01:00
Stefano Sabatini
c3fa6add58 lavfi/field: switch to filter_frame API 2012-12-06 13:51:34 +01:00
Stefano Sabatini
3942294fd5 lavfi/drawtext: make use of outlink variable in filter_frame()
Fix warning.
2012-12-06 13:51:27 +01:00
Paul B Mahol
3bb3cddd96 mmfdec: fix seeking
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 11:56:00 +00:00
Clément Bœsch
1e85fd6a47 lavfi/mp: remove dead extern vf_info_t declarations. 2012-12-06 12:52:58 +01:00
anonymous
de42d2a347 lavfi/mp: add ff_ prefix to exported symbols 2012-12-06 12:38:37 +01:00
Clément Bœsch
0f65d56080 Add examples/resampling_audio to .gitignore. 2012-12-06 12:13:01 +01:00
Stefano Sabatini
e8278b9d56 doc/decoders: fix typo in "@Options" 2012-12-06 10:16:10 +01:00
Stefano Sabatini
89920387da examples: add resampling_audio.c file 2012-12-06 10:09:37 +01:00
Janne Grunau
3ab5f7dc13 h264: slice-mt: check master context for valid current_picture_ptr
Fixes errors in slice based multithreading introduced in 0b300daad2.
2012-12-06 04:45:04 +01:00
Janne Grunau
24c62ea7a5 h264: slice-mt: get last_pic_dropable from master context
Fixes fate-h264-conformance-cvnlfi2_sony_h and smllwebdl.mkv from
https://github.com/OpenELEC/OpenELEC.tv/issues/1557 .
2012-12-06 04:44:57 +01:00
Michael Niedermayer
7885fa7685 ff_lock_avcodec: make the lock state be consistent in case of failure.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 03:12:34 +01:00
Michael Niedermayer
2dec950f49 avcodec_open: if obtaining a lock fails, dont attempt to unlock it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:52:46 +01:00
Michael Niedermayer
0393cf15db Revert "Acquire lock when initializing parsers."
This reverts commit 7feef7dbca.

This commit causes assertion failures due to use of parser_init from multiple
threads, for example indirectly by ffmpeg.c and more directly from the
packet read functions.

I dont know how to fix this quickly, and fixing ffmpeg.c leaves
the possibility of other applications being affected.
Crashing the applications until this is resolved is clearly no good
thus this revert, so we have time to think about the problem.

Crashes can be reproduced by using multiple input files in ffmpeg.
2012-12-06 02:52:46 +01:00
Michael Niedermayer
eed865540a Revert "Add assert that the avcodec lock is held when initializing static VLC tables."
This reverts commit dd154198b1.
2012-12-06 02:52:07 +01:00
Michael Niedermayer
d7169280a6 frame_thread_encoder: fix locking while locks are held
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:51:26 +01:00
Michael Niedermayer
bde6f6eadc vc1dec: prevent v_edge_pos from becoming negative.
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:51:26 +01:00
Michael Niedermayer
b6a7f66f93 resample: remove disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:51:26 +01:00
Clément Bœsch
d3451a9c0f fate/hqdn3d: add -idct simple.
This should fix FATE failure on ARM. IDCT is required since it's a JPEG
source.
2012-12-05 23:36:31 +01:00
Janne Grunau
5945c7b35d h264: slice-mt: check master context for valid current_picture_ptr
Fixes errors in slice based multithreading introduced in 0b300daad2.

CC: libav-stable@libav.org
2012-12-05 23:16:37 +01:00
Janne Grunau
a8cb1746c5 h264: slice-mt: get last_pic_dropable from master context
Fixes fate-h264-conformance-cvnlfi2_sony_h and smllwebdl.mkv from
https://github.com/OpenELEC/OpenELEC.tv/issues/1557 .

CC: libav-stable@libav.org
2012-12-05 23:16:37 +01:00
Clément Bœsch
2273b3aaf9 swr: remove unused ONE define. 2012-12-05 23:04:01 +01:00
Justin Ruggles
5e1bbb8c7e alacenc: add support for multi-channel encoding 2012-12-05 16:13:37 -05:00
Paul B Mahol
9ef29af2e8 cafenc: do not include riff.h
ff_codec_get_tag() was moved to internal.h

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 20:44:28 +00:00
Paul B Mahol
9f66531d46 lavc/dxa: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 20:28:45 +00:00
Paul B Mahol
0aabd35b62 lavf/dxa: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 20:18:04 +00:00
Paul B Mahol
c5008135c2 dxa: signal EOF
Fixes #1948.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 20:03:30 +00:00
Reimar Döffinger
dd154198b1 Add assert that the avcodec lock is held when initializing static VLC tables.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-05 21:01:17 +01:00
Reimar Döffinger
7feef7dbca Acquire lock when initializing parsers.
This is necessary since they might be initializing or
even using static VLC tables.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-05 21:01:17 +01:00
Reimar Döffinger
25fec8595d avcodec: add ff_lock/unlock_avcodec functions.
Will be used in future patches, together with the
variable that allows checking whether the lock is held.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-05 21:01:17 +01:00
Piotr Bandurski
5381960501 wmaenc: add new line to some error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 20:29:27 +01:00
Wolfram Gloger
928346091a mpegvideo_parser: fix buffer access beyond end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 20:29:18 +01:00
Reimar Döffinger
58df8befda av_assert should use AV_LOG_PANIC.
The description of AV_LOG_PANIC 100% matches what av_assert
does, while AV_LOG_FATAL does not really.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-05 20:25:32 +01:00
Michael Niedermayer
6d7effa9bd mpegvideo_enc: use av_log() in debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
911c00e60f motion_est: use av_log() in debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
7c2481f2d7 j2kenc: remove duplicate debug functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
9bb188da96 j2k: avoid printf() useage in debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
b023392f34 mpegvideo: remove #if/define PARANOID code
This code never did anything as far as i can remember

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Paul B Mahol
4012cd6c4f lavc: fix decode_frame() third parameter semantics for rest of video decoders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 18:24:43 +00:00
Paul B Mahol
b519298a15 pixdesc: fix yuva 10bit bit depth
It was wrongly set as the yuva 16bit one.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-05 17:52:55 +01:00
Michael Niedermayer
835fd779a4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: workaround for slighly broken 'test' shell builtin
  mimic: initialize padding of swap_buf through av_fast_padded_malloc
  eamad: initialize padding of bitstream_buf through av_fast_padded_malloc()
  raw demuxer: initialize end of partial packets

Conflicts:
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 17:33:12 +01:00
Justin Ruggles
b384e031da lavfi: add volume filter
Based on the volume filter in FFmpeg written by Stefano Sabatini
<stefasab@gmail.com>.
2012-12-05 11:23:37 -05:00
Justin Ruggles
9a71d362a6 avconv: deprecate the -vol option
Remove the code for volume scaling in avconv.c and instead auto-insert a
volume filter into the beginning of the filter chain.
2012-12-05 11:23:37 -05:00
Justin Ruggles
b30a363331 x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scaling 2012-12-05 11:23:37 -05:00
Justin Ruggles
f96f1e06a4 x86: af_volume: add SSE2-optimized s16 volume scaling 2012-12-05 11:23:37 -05:00
Justin Ruggles
9d5c62ba5b lavu/opt: do not filter out the initial sign character except for flags
This allows parsing of special-case negative numbers like decibels.
2012-12-05 11:23:36 -05:00
Justin Ruggles
5312268b34 eval: treat dB as decibels instead of decibytes 2012-12-05 11:23:36 -05:00
Justin Ruggles
ac7eb4cb20 float_dsp: add vector_dmul_scalar() to multiply a vector of doubles
Include x86-optimized versions for SSE2 and AVX.
2012-12-05 11:23:36 -05:00
Michael Niedermayer
fc1152de41 Merge commit 'df9b9567518f2840d79a4a96b447ebe1aa326408'
* commit 'df9b9567518f2840d79a4a96b447ebe1aa326408':
  lavc: fix decode_frame() third parameter semantics for video decoders

Conflicts:
	libavcodec/cscd.c
	libavcodec/eamad.c
	libavcodec/ffv1dec.c
	libavcodec/gifdec.c
	libavcodec/h264.c
	libavcodec/iff.c
	libavcodec/mjpegdec.c
	libavcodec/pcx.c
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 17:20:19 +01:00
Michael Niedermayer
022553e875 Merge commit '387bef95d28019c13c6805cfa4079e59948284e5'
* commit '387bef95d28019c13c6805cfa4079e59948284e5':
  lavc: factorise setting buffer type in avcodec_default_get_buffer().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 17:02:42 +01:00
Michael Niedermayer
83db6cb521 Merge commit 'e57c4706e969afa1f2384481b955ccd9494cddb5'
* commit 'e57c4706e969afa1f2384481b955ccd9494cddb5':
  lavc: don't reuse audio buffers

This commit causes a 0.5% speedloss for mp3 and 2% for raw pcm, that is
"time ffmpeg" style tested thus includes disk IO, demux and parsing

I would not have merged it if it wasnt required for the "new" buffer API
but sadly it is.
Once the new API is in ill reimplement proper buffer reuse, which will
fix this speedloss. In case we choose not to merge the "new" buffer
API then this commit here should be reverted.

Conflicts:
	libavcodec/internal.h
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 16:53:12 +01:00
Michael Niedermayer
d2a3f08daf lavc: move ff_init_buffer_info() down to ff_get_buffer()
and remove redundant code from ff_get_buffer()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 15:58:37 +01:00
Michael Niedermayer
2f980cf39a Merge commit 'ff953fecffd3b9a616a046723fb9d4690be032a6'
* commit 'ff953fecffd3b9a616a046723fb9d4690be032a6':
  lavc: set frame properties in ff_get_buffer().

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 15:58:07 +01:00
Michael Niedermayer
874c5b02c4 Merge commit '594d4d5df3c70404168701dd5c90b7e6e5587793'
* commit '594d4d5df3c70404168701dd5c90b7e6e5587793':
  lavc: add a wrapper for AVCodecContext.get_buffer().

Conflicts:
	libavcodec/4xm.c
	libavcodec/8svx.c
	libavcodec/bmv.c
	libavcodec/cljr.c
	libavcodec/cscd.c
	libavcodec/dnxhddec.c
	libavcodec/dpcm.c
	libavcodec/dpx.c
	libavcodec/eacmv.c
	libavcodec/eamad.c
	libavcodec/frwu.c
	libavcodec/g723_1.c
	libavcodec/gifdec.c
	libavcodec/idcinvideo.c
	libavcodec/iff.c
	libavcodec/indeo3.c
	libavcodec/internal.h
	libavcodec/interplayvideo.c
	libavcodec/kmvc.c
	libavcodec/mpc7.c
	libavcodec/mpegaudiodec.c
	libavcodec/pcx.c
	libavcodec/pngdec.c
	libavcodec/pnmdec.c
	libavcodec/rl2.c
	libavcodec/snow.c
	libavcodec/targa.c
	libavcodec/tscc.c
	libavcodec/txd.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/vb.c
	libavcodec/vmdav.c
	libavcodec/vp56.c
	libavcodec/vqavideo.c
	libavcodec/wavpack.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 15:18:12 +01:00
Paul B Mahol
4727611d48 ircamenc: 10l do not use avio_skip()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 13:46:35 +00:00
Paul B Mahol
4c18562d02 Ensoniq Paris Audio File demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 13:01:22 +00:00
Paul B Mahol
880191637f IRCAM demuxer & muxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 13:01:22 +00:00
Paul B Mahol
8ecf22ffb0 rsodec: use ff_pcm_read_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 12:40:57 +00:00
Paul B Mahol
acac16b5c7 soxdec: use ff_pcm_read_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 12:40:57 +00:00
Paul B Mahol
c090b5427d audec: use ff_pcm_read_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 12:40:57 +00:00
Paul B Mahol
a647eb5a87 pvfdec: use ff_pcm_read_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 12:40:57 +00:00
Paul B Mahol
15ab0393fd avr: use ff_pcm_read_packet()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 12:40:57 +00:00
Paul B Mahol
93dc8ed0a1 pcmdec: move read_packet function to pcm.c so it can be shared with other demuxers
While here remove pts/dts code, it is apparently not needed and cause
problems for demuxers that will use such function.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 12:40:57 +00:00
Michael Niedermayer
99efd59626 Merge commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967'
* commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967':
  Remove pointless #undefs of previously forbidden functions.
  fate: Add dependencies for bmp, cdxl, dfa, mp3

Conflicts:
	doc/examples/muxing.c
	libavfilter/filtfmts.c
	libavutil/des.c
	libavutil/eval.c
	libavutil/log.c
	libavutil/parseutils.c
	tests/fate/mp3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:34:45 +01:00
Michael Niedermayer
1fa2bdc90a fate: disable vf_gradfun test
The non working test interferes with other peoples work

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:10:24 +01:00
Michael Niedermayer
09de0ffeab vc1dec: Fix null pointer dereference in vc1_decode_skip_blocks()
This handles the last frame being unavailable like all the other
code in vc1dec.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:01:16 +01:00
Nicolas George
217b10de3f lavc/dvdsubdec: accept palette from options.
On DVDs, the palette is part of the IFO file and therefore
not available when reading from a dumped VOB file.
2012-12-05 09:25:48 +01:00
Michael Niedermayer
9db3fb6ed8 oggdec: prevent codec from changing through ogg_replace_stream()
This prevents inconsistencies leading to out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 04:40:19 +01:00
Michael Niedermayer
599ae9995f ff_emulated_edge_mc: fix handling of w/h being 0
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 03:45:10 +01:00
Paul B Mahol
45326cb684 pixdesc: fix broken yuva definitions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 01:04:45 +00:00
Michael Niedermayer
8bf16e677f ffv1enc: allow encoding with 1 slice for CIF and smaller in version 3
the default is still 4 slices for any resolution, this just allows the user
to force 1 slice.
This in my quick test improves compression by 1% for a 320x240 sample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 01:22:43 +01:00
Carl Eugen Hoyos
4e6f9db493 Set some audio stream properties in the vivo demuxer.
This allows playback with MPlayer and the binary decoder.

Reviewed-by: Paul B Mahol
2012-12-05 01:21:12 +01:00
Mans Rullgard
da025d115a fate: workaround for slighly broken 'test' shell builtin
Some shells, e.g. minix3, have a broken 'test' builtin which fails
if the first operand of a binary operator looks like a unary operator.
Prefixing the values with 'x' prevents this from happening.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-04 23:38:17 +00:00
Janne Grunau
c15fea7933 mimic: initialize padding of swap_buf through av_fast_padded_malloc 2012-12-05 00:02:44 +01:00
Janne Grunau
42060c7030 eamad: initialize padding of bitstream_buf through av_fast_padded_malloc() 2012-12-05 00:02:44 +01:00
Janne Grunau
54c7fe6d68 raw demuxer: initialize end of partial packets 2012-12-05 00:02:43 +01:00
Clément Bœsch
b5ffbcd0cd fate: add gradfun filter test. 2012-12-05 00:01:17 +01:00
Clément Bœsch
ab981cab93 fate: add hqdn3d filter test. 2012-12-05 00:01:17 +01:00
Clément Bœsch
ab5497df15 lavfi/subtitles: 10l close codec before format.
Fix invalid memory accesses.
2012-12-04 23:56:02 +01:00
Anton Khirnov
df9b956751 lavc: fix decode_frame() third parameter semantics for video decoders
It's got_frame, not data size
2012-12-04 21:45:36 +01:00
Anton Khirnov
387bef95d2 lavc: factorise setting buffer type in avcodec_default_get_buffer(). 2012-12-04 21:45:23 +01:00
Anton Khirnov
e57c4706e9 lavc: don't reuse audio buffers
Any performance gain from this is negligible and not worth the extra
code.
2012-12-04 21:43:53 +01:00
Anton Khirnov
ff953fecff lavc: set frame properties in ff_get_buffer().
There is no point in duplicating this code in every get_buffer()
implementation.
2012-12-04 21:42:44 +01:00
Anton Khirnov
594d4d5df3 lavc: add a wrapper for AVCodecContext.get_buffer().
It will be useful in the upcoming transition to refcounted AVFrames.
2012-12-04 21:41:59 +01:00
Anton Khirnov
cb45553f57 Remove pointless #undefs of previously forbidden functions. 2012-12-04 21:40:22 +01:00
Nicolas George
03847eb825 lavf: compute probe buffer size more reliably.
The previous code computes the offset by reversing the growth
of the allocated buffer size: it is complex and did lead to
inconsistencies when the size limit is reached.

Fix trac ticket #1991.
2012-12-04 19:49:51 +01:00
Nicolas George
0444733b78 lavfi/drawtext: add the reload option. 2012-12-04 19:06:22 +01:00
Michael Niedermayer
83ddedbbf2 lavf: the core rfps code needs 2 durations to estimate rfps
This fixes a regression where this count became 1 with
HPM-GC\ EXPORT\ FCP-1A-AVCI100-1080i25-001.mxf

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 18:04:29 +01:00
Paul B Mahol
a3bb59b163 av_register_protocol is gone :(
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-04 17:01:27 +00:00
Paul B Mahol
481c843a47 rawvideodec: set bit rate
Fixes #1989.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-04 15:52:58 +00:00
Clément Bœsch
3b1b8f88b7 ffmpeg: small indent fix. 2012-12-04 16:40:11 +01:00
Michael Niedermayer
60c2cddff0 ffmpeg: use the correct variables in do_video_stats()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 16:36:09 +01:00
Thierry Foucu
e98fab1372 Update video stats log during encode flush
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 16:36:09 +01:00
Paul B Mahol
18aaed6475 gifdec: do not handle timestamps
It is broken, and results will be messed up when seeking.

This also fix duration displayed for streams when using -c copy.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-04 15:21:24 +00:00
Carl Eugen Hoyos
0877f64fea Add debug output when skipping unknown swf tags.
Reviewed-by: Clément Bœsch
2012-12-04 15:52:37 +01:00
Diego Biurrun
90153465b0 fate: Add dependencies for bmp, cdxl, dfa, mp3 2012-12-04 15:24:05 +01:00
Michael Niedermayer
dacd6202ec Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: always use pic for shared libraries
  build: cosmetics: Move CONFIG_RTPDEC entry to a more suitable place
  fate: ea, h264: prettyprinting and ordering cosmetics

Conflicts:
	tests/fate/ea.mak
	tests/fate/h264.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 14:23:22 +01:00
Paul B Mahol
765debf51f auenc: remove pointless assigment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-04 12:42:50 +00:00
Paul B Mahol
266e88a47c mmf: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-04 11:59:46 +00:00
James Almer
b70251c0ad AST Muxer
Signed-off-by: James Almer <jamrial@gmail.com>
2012-12-04 11:25:46 +00:00
James Almer
7f0e7fc9e2 ast: Rename ast.c -> astdec.c
Signed-off-by: James Almer <jamrial@gmail.com>
2012-12-04 10:51:38 +00:00
Peter Ross
1696c72af4 iff demuxer: include DEEP TVDC lookup table in extradata buffer
Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-04 20:53:26 +11:00
Peter Ross
59fe5a339b iff decoder: DEEP TVDC 32-bit decoder
Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-04 20:53:26 +11:00
Michael Niedermayer
400647f9ba configure: Fix ARM thumb detection
The detection detects the default but not if it even works.
Check building a simple piece of code and disable thumb if it fails
This fixes a compile failure

If someone has a better idea, just replace this by it!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 05:47:10 +01:00
Michael Niedermayer
5e1bacf2d4 matroskadec: reset size when freeing data.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 03:50:09 +01:00
Clément Bœsch
359cd12a43 lavfi/mp: fix invalid read with filters with no argument. 2012-12-04 03:47:16 +01:00
Clément Bœsch
ef1868351d lavfi/removelogo: switch to ff_filter_frame. 2012-12-04 02:31:40 +01:00
Clément Bœsch
3313e46c4a lavfi: add subtitles filter. 2012-12-04 01:49:03 +01:00
Luca Barbato
1944d532a8 ppc: always use pic for shared libraries
CC: libav-stable@libav.org
2012-12-03 22:53:30 +01:00
Clément Bœsch
b5eb630e21 lavfi: remove some video w/h settings after avfilter_copy_buffer_ref_props.
video->[wh] will be set with the same values as the input after
avfilter_copy_buffer_ref_props. These filters don't change the size of
the input so there is no need for this code.
2012-12-03 21:47:03 +01:00
Clément Bœsch
d91388367f lavfi/gradfun: remove check for AV_PERM_PRESERVE.
This check does not make sense in this context, see
doc/filter_design.txt for details about the usage of such flag.
2012-12-03 20:38:29 +01:00
Reimar Döffinger
e2fc6a01f6 libspeex: allow custom sample rates again.
This was broken by 3b061c5e10
Fixes trac issue #1974.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-03 19:59:04 +01:00
Diego Biurrun
62641dce71 build: cosmetics: Move CONFIG_RTPDEC entry to a more suitable place 2012-12-03 19:32:03 +01:00
Michael Niedermayer
03290ffb57 mpegts: check that codec is not open in mpegts_find_stream_type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 17:34:38 +01:00
Michael Niedermayer
8897b5aa4c mpegts_set_stream_info: remove unneeded codec id check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 17:29:56 +01:00
Michael Niedermayer
4c160b68cc ff_mp4_read_dec_config_descr: check that the codec is not open
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 17:27:52 +01:00
Peter Ross
f2ceb67e5b doc: describe micro versioning policy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 16:31:51 +01:00
Paul B Mahol
0a8360c4f9 takdec: add .sample_fmts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-03 15:21:19 +00:00
Paul B Mahol
694dc6251e shorten: update .sample_fmts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-03 15:13:35 +00:00
Diego Biurrun
201628899b fate: ea, h264: prettyprinting and ordering cosmetics 2012-12-03 15:34:37 +01:00
Michael Niedermayer
d0b7e832fe Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Strip ordinals from mingw generated def files
  configure: arm: detect default thumb state of compiler

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 15:28:35 +01:00
Stefano Sabatini
8bee8f778a lswr/swresample: use AV_OPT_TYPE_SAMPLE_FMT for sample format options
Improve usability and robustness.
2012-12-03 13:49:56 +01:00
Martin Storsjö
eb7018d2fc configure: Strip ordinals from mingw generated def files
The def files are used for generating import libraries for
other toolchains (in particular, for generating import libraries
for MSVC for DLLs built with mingw).

The def files produced by mingw/gcc contains ordinals for each
exported function. When MSVC tools generate import libraries
from such a def file, MSVC links to the DLL by the ordinals
instead of linking by name.

Since the def files aren't maintained by hand, the ordinal
numbers are assigned (more or less) randomly and any caller
linking to the libs by ordinals will break as soon as the libraries
export more/fewer functions.

Therefore, strip out the ordinals from the generated def files,
to make users link to the libraries by name.

Callers linking to the DLLs using the gcc provided import library
link by name as they should.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-12-03 13:39:47 +02:00
Mans Rullgard
66371c2851 configure: arm: detect default thumb state of compiler
This makes configure honour the compiler default if thumb is not
explicitly enabled or disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-03 11:06:06 +00:00
Piotr Bandurski
7e93b0ba4b ra144enc: reject unsupported sample rates 2012-12-03 10:03:27 +00:00
Michael Niedermayer
5e2be27e65 fate: fix typos in wtv seek test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 03:15:41 +01:00
Michael Niedermayer
b452c8a722 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: fft: Fix libavcodec dependency
  build: Make the ISMV muxer select the MOV muxer
  configure: move arm arch extensions to a separate variable

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 02:59:19 +01:00
Michael Niedermayer
7711f19eda Merge commit 'e816034a5fa131b13c4ad87bb0b5065b4f5697c6'
* commit 'e816034a5fa131b13c4ad87bb0b5065b4f5697c6':
  fate-seek: remove use of gnu make 3.82 only private modifier
  fate: move vsynth reference files to their own directory
  fate: move fate-acodec reference files to their own dir
  configure: avplay now depends on avresample
  fate: split dependencies for fate-seek tests

Conflicts:
	configure
	tests/fate/seek.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 02:33:27 +01:00
Michael Niedermayer
211372e86d Merge commit '0b300daad2f5cb59a7c06dde5ac701685e6edf16'
* commit '0b300daad2f5cb59a7c06dde5ac701685e6edf16':
  h264: error out on unset current_picture_ptr for h->current_slice > 0
  avprobe: report per stream bit rate if set by the decoder
  aac: avoid a memcpy in sbr_qmf_analysis

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 01:56:47 +01:00
Michael Niedermayer
9c208b404c vp56: Ignore reconfiguration from the alpha plane.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 01:37:40 +01:00
Diego Biurrun
eebc40e177 fate: fft: Fix libavcodec dependency 2012-12-03 01:34:14 +01:00
Diego Biurrun
31f16dc1a1 build: Make the ISMV muxer select the MOV muxer
They share the same code, so building one w/o the other makes no sense.
2012-12-03 01:20:10 +01:00
Mans Rullgard
81dfa21ec9 configure: move arm arch extensions to a separate variable
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-03 00:15:19 +00:00
Janne Grunau
e816034a5f fate-seek: remove use of gnu make 3.82 only private modifier 2012-12-03 00:37:07 +01:00
Janne Grunau
c8148e5c93 fate: move vsynth reference files to their own directory 2012-12-03 00:36:10 +01:00
Janne Grunau
337dbe2adb fate: move fate-acodec reference files to their own dir 2012-12-03 00:29:35 +01:00
Diego Biurrun
d173ede1b7 configure: avplay now depends on avresample 2012-12-02 23:39:35 +01:00
Janne Grunau
abab0435d4 fate: split dependencies for fate-seek tests
Each fate-seek test depends now only on the corresponding fate-acodec,
fate-vsynth2 or fate-lavf test which creates the file seek-tests
operates on. The tests and references are renamed to match the test they
depend on.
2012-12-02 23:25:41 +01:00
Janne Grunau
0b300daad2 h264: error out on unset current_picture_ptr for h->current_slice > 0
Fixes a segfault with fuzzed sample sample_varPAR_s11622_r001-02.avi.

CC: libav-stable@libav.org
2012-12-02 23:24:53 +01:00
Janne Grunau
89a4465bd9 avprobe: report per stream bit rate if set by the decoder 2012-12-02 23:23:34 +01:00
Michael Niedermayer
ec79b1fc88 wtvdec: fix null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 22:36:15 +01:00
Christophe Gisquet
e32bea8eb4 aac: avoid a memcpy in sbr_qmf_analysis
Swapping buffer indices allows saving one memcpy that accounts for 1% of the
runtime, according to oprofile.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-02 21:07:48 +01:00
Michael Niedermayer
80aa89bdff asfdec: check extradata size before alloc and read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 20:44:58 +01:00
Michael Niedermayer
936eaa89be h264: check for integer overflow, fix null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 20:44:58 +01:00
Nicolas George
2cb227f6a2 lavu/channel_layout: document the semantic of layouts. 2012-12-02 18:51:04 +01:00
Stefano Sabatini
5148147b26 lavfi/bbox: switch to ff_filter_frame() API 2012-12-02 18:13:49 +01:00
Stefano Sabatini
255be0734d lavfi/alphamerge: fix leak introduced in 217163eb 2012-12-02 18:04:57 +01:00
Paul B Mahol
49435d3888 gifdec: read pixel aspect ratio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-02 16:59:11 +00:00
Nicolas George
ddd87236f0 lavfi/vf_super2xsai: fix output ref size. 2012-12-02 17:08:17 +01:00
Stefano Sabatini
bd465fdc73 lavfi/framestep: switch to ff_filter_frame API 2012-12-02 15:02:05 +01:00
Stefano Sabatini
fbc339ff41 lavfi/super2xsai: switch to ff_filter_frame() API 2012-12-02 15:01:56 +01:00
Clément Bœsch
adfd9ca3fa lavfi/hue: move to ff_filter_frame. 2012-12-02 14:44:31 +01:00
Clément Bœsch
72e84a08e6 fate: add hue filter test. 2012-12-02 14:44:26 +01:00
Nicolas George
24cb1f9718 lavfi/vf_tile: forward errors. 2012-12-02 13:53:41 +01:00
Nicolas George
3b316247fb lavfi/vf_tile: cosmetic after last commit. 2012-12-02 13:53:41 +01:00
Nicolas George
6f3d2fb18b lavfi/vf_tile: switch to filter_frame.
Also add error check on buffer allocation.
2012-12-02 13:53:41 +01:00
Michael Niedermayer
8be18ffd6a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: fix indentation in option parsing loop

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 13:47:07 +01:00
Stefano Sabatini
3d72820722 lavfi/decimate: switch to ff_filter_frame() API 2012-12-02 12:42:29 +01:00
Stefano Sabatini
217163eb98 lavfi/alphamerge: switch to ff_filter_frame() API 2012-12-02 12:42:29 +01:00
Stefano Sabatini
83ab46a57e lavfi/blackdetect: switch to new ff_filter_frame() API 2012-12-02 12:42:29 +01:00
Nicolas George
86a2486812 lavu/parseutils: accept %J for hours >= 24.
Allow to parse durations >= 24:00:00.
2012-12-02 11:48:56 +01:00
Michael Niedermayer
b61ba262a1 mpc8: check seektable size before attempting to use it.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 04:21:42 +01:00
Michael Niedermayer
ff7e2342bb dcadec: fix reading from prior to an array
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 04:01:41 +01:00
Clément Bœsch
9e1914dfba lavfi/hqdn3d: avoid use of uninitialized variable. 2012-12-02 02:53:22 +01:00
Clément Bœsch
a3554bb457 lavfi/gradfun: avoid use of uninitialized variable. 2012-12-02 02:42:07 +01:00
Michael Niedermayer
77693c541a xxan: more complete ybuf checks, fix out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-02 00:48:07 +01:00
Carl Eugen Hoyos
196920060b Add FourCC V264 for H264 in CCTV recordings. 2012-12-02 00:43:39 +01:00
Clément Bœsch
f61369d762 lavfi/vsrc: switch to ff_filter_frame. 2012-12-02 00:23:45 +01:00
Mans Rullgard
7e9e7cc236 configure: fix indentation in option parsing loop
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-01 23:16:23 +00:00
Clément Bœsch
6d2892c9f5 lavf/assdec: return appropriate error code instead of -1. 2012-12-02 00:06:03 +01:00
Clément Bœsch
069c897549 lavf/assdec: add ass_ prefix to callbacks. 2012-12-02 00:06:03 +01:00
Clément Bœsch
e0260e25b0 lavf/assdec: rewrite using the demux subtitles API. 2012-12-02 00:06:03 +01:00
Clément Bœsch
bad4e112a2 lavf: use ff_subtitles_queue_seek() for text subtitles demuxers. 2012-12-02 00:06:03 +01:00
Clément Bœsch
ad5d72b123 lavf/subtitles: seek a little more backward when necessary.
If some previous subtitles are overlapping with the current time
we make sure they are raised so the renderer can display them too.
2012-12-02 00:06:03 +01:00
Clément Bœsch
ff3624b1ad lavf/subtitles: add ff_subtitles_queue_seek().
This function is almost identical to lavf/assdec:read_seek2(). It
performs a generic seek for text subtitles demuxers for the new seeking
API.

The only difference with assdec:read_seek2 is the ts_diff being
unsigned to avoid overflows.

The seek callback in the ASS demuxer will be removed when it is
redesigned to use FFDemuxSubtitlesQueue.
2012-12-02 00:06:03 +01:00
Clément Bœsch
b684f744ac ffmpeg: use avformat_seek_file() instead of av_seek_frame().
avformat_seek_file() is the new API. It will make sure the read_seek2()
callback is called when the demuxer has it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-12-02 00:06:02 +01:00
Michael Niedermayer
aae4780362 vmnc: Check for integer overflow
Fixes null pointer dereference and potential out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 22:25:50 +01:00
Michael Niedermayer
3b2cd83a82 dcadec: check lfe field
Fix out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 22:10:42 +01:00
Paul B Mahol
56e149fda9 PVF demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 21:02:45 +00:00
Carl Eugen Hoyos
5442083b1c Support Sorenson Spark in f4v files streamed by Flash Media Server. 2012-12-01 21:16:11 +01:00
Michael Niedermayer
873049e6d8 mxfdec: check index_tables before dereferencing in close.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 20:19:09 +01:00
Michael Niedermayer
7389bb12e6 svq1dec: update w/h only if the header is successfully parsed.
Prevents inconsistency and out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 20:19:09 +01:00
Stefano Sabatini
c9ff32215b lavu/opt: allow to set sample and pixel format with av_opt_set_int()
This change requires the user to specify min and max value, and makes
possible to prevent the user to set AV_{SAMPLE,PIX}_FMT_NONE if
forbidden.

Add required ifdeffery in case of mixed libraries, when libavutil is
updated but not the other libraries.

This is a followup of 08d0969c14.
2012-12-01 19:33:30 +01:00
Michael Niedermayer
b5cedf8b66 fate/mp3: increase fuzz for NEON, due to different rounding from lrintf()
This should fix fate failures of the hecommon test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 17:15:57 +01:00
Stefano Sabatini
13c39e9676 lavfi/geq: add T variable and example 2012-12-01 16:05:15 +01:00
Michael Niedermayer
5473f6258c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Use headers in the check for _beginthreadex for w32threads
  avutil: Use a configure check to enable windows console functions
  avutil: Include io.h with a separate condition from windows console functions

Conflicts:
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 13:10:48 +01:00
Stefano Sabatini
12cd992d67 doc/ffmpeg-filters: add short description 2012-12-01 13:06:56 +01:00
Michael Niedermayer
13d351bd45 tests/ref/seek/lavf_gif: update for 9d5cfce855: gifdec: rudimentary seeking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 12:56:12 +01:00
Paul B Mahol
9d5cfce855 gifdec: rudimentary seeking
With this ffplay -loop X successfully seeks to start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 11:43:50 +00:00
Paul B Mahol
2152b60f39 gifdec: use av_fast_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 10:53:22 +00:00
Paul B Mahol
6b11ae7112 shorten: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 10:17:50 +00:00
Paul B Mahol
e4af8ed8c7 ws-snd1: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 10:17:45 +00:00
Paul B Mahol
679c7578a6 wnv1: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 10:17:20 +00:00
Paul B Mahol
51bcf8ac85 xldec: K&R formatting cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 10:17:20 +00:00
Paul B Mahol
24e5cb4836 xldec: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 10:17:16 +00:00
Paul B Mahol
3b56ed3478 motionpixels: use meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 09:18:21 +00:00
Paul B Mahol
b912895d94 mvi: check av_mallocz() result
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-01 09:06:24 +00:00
Michael Niedermayer
822d10e7c5 swscale: fix 12 and 14 bit YUV planar output with scaling.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 03:41:24 +01:00
Michael Niedermayer
f0695b09dd pcmdec: check codec_id
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 02:36:28 +01:00
Michael Niedermayer
b90e795f73 check std tag size before reading.
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 00:30:11 +01:00
Michael Niedermayer
a7ee6281f7 qdm2: check array index before use, fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-01 00:00:08 +01:00
Michael Niedermayer
991e23519a aacps: check iid/icc_par more completely.
Fixes global out of array read.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 22:23:49 +01:00
Michael Niedermayer
7205e896a1 dxa: check reference frame availability before use.
Fix NULL pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 22:23:49 +01:00
Paul B Mahol
daede25f0b update Changelog
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-30 16:52:37 +00:00
Paul B Mahol
57b00d7ab1 gifdec: remove width and height from demuxer context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-30 16:09:02 +00:00
Michael Niedermayer
2c69fcc2ff smacker: more complete vlc length check, fixes out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 16:14:18 +01:00
Michael Niedermayer
50cbe09d8c smacker: check smacker_decode_tree() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 16:14:18 +01:00
Paul B Mahol
d56b15017a undo file modifiers that suck in
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-30 15:00:35 +00:00
Martin Storsjö
3bbe63d1a4 configure: Use headers in the check for _beginthreadex for w32threads
When targeting the metro API subset, this function still exists in
the link libraries, but is excluded from the headers. This makes
sure w32threads is automatically disabled when targeting this API
subset (since not all the necessary functions for it are available).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-30 16:57:02 +02:00
Martin Storsjö
7e6a11bcf7 avutil: Use a configure check to enable windows console functions
Not all versions or API subsets of windows have these functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-30 16:56:57 +02:00
Martin Storsjö
b70abd5b61 avutil: Include io.h with a separate condition from windows console functions
Not all versions of windows have the console color functions,
while io.h might be needed for isatty (which can be found in
unistd.h or io.h).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-30 16:56:54 +02:00
Vitaliy E Sugrobov
f83657fcf6 Add exception for "gif" in image2 probe() method.
Without this exception files with ".gif" extension by default
recognized as input suitable for image2 demuxer rather than gif.
In order to pass image through gif demuxer it was necessary
to use -f gif option.
This change affected 'make fate' test results because previously
image2 demuxer and gif decoder took only first frame of multiframe
test data, which is no longer true with gif demuxer.

Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
2012-11-30 14:35:11 +00:00
Vitaliy E Sugrobov
5603b2bf6e Gif demuxer
Gif demuxer is capable of extracting multiple frames from gif file.
In conjunction with gif decoder it implements support for reading
animated gifs.
Demuxer has two options available to user: default_delay and min_delay.
These options are for protection from too rapid gif animations. In practice
it is standard approach to slow down rendering of this kind of gifs. If you try to
play gif with delay between frames of one hundredth of second (100fps) using
one of major web browsers, you get significantly slower playback,
around 10 fps. This is because browser detects that delay value is less than some
threshold (usually 2 hundredths of second) and reset it to default value (usually 10
hundredths of second, which corresponds to 10fps). Manipulating these options user
can achieve the same effect during conversion to some video format. Otherwise user
can set them to not protect from rapid animations at all.
The other case when these options necessary is for gif images encoded according to
gif87a standard since prior to gif89a there was no delay information included in file.
Bump lavf minor version.

Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
2012-11-30 14:33:58 +00:00
Vitaliy E Sugrobov
005cb97e3e Move some definitions to header file.
Share them with upcoming demuxer module.

Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
2012-11-30 14:33:58 +00:00
Vitaliy E Sugrobov
de0cb7f070 Additional checks to prevent overread.
Check for availability of some required amount of bytes in buffer before
reading further.

Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
2012-11-30 14:33:58 +00:00
Vitaliy E Sugrobov
91499f4ee8 Prepare gif decoder for use in conjunction with gif demuxer.
Add capability of reading multiple frames instead of only first.
Implement support for different gif frame 'disposal methods'.
Add option that allows to change background color resulting from
conversion of gif with transparency to any other format which
not support it.
Also bump lavc minor version.

Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
2012-11-30 14:33:58 +00:00
Vitaliy E Sugrobov
c5fe41c768 Add meaningful error codes and constants.
Replace literals with named constants in several pieces of code
like 'return -1' and 'case 0xab'.
Change the way decoder handles absence of image data in a file:
notify gif_decode_frame() caller with got_picture set to zero
instead of returning -1.

Signed-off-by: Vitaliy E Sugrobov <vsugrob@hotmail.com>
2012-11-30 14:33:58 +00:00
Michael Niedermayer
034a1afbd8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Include io.h with a separate condition from MapViewOfFile
  cmdutils: Use a configure check for enabling CommandLineToArgvW

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 14:55:12 +01:00
Michael Niedermayer
db29a7c7c2 Merge commit '9d46eaec7a90bd8f5cd9e45398c6d17804182320'
* commit '9d46eaec7a90bd8f5cd9e45398c6d17804182320':
  build: The FLAC encoder also depends on the flacdsp code
  img2: K&R formatting cosmetics
  h264: check context state before decoding slice data partitions
  flashsv: make sure data for zlib priming is available

Conflicts:
	libavcodec/Makefile
	libavformat/img2.c
	libavformat/img2dec.c
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 14:49:13 +01:00
Clément Bœsch
8119d8b01f configure: add lavfi avr dep to .pc when required. 2012-11-30 14:19:14 +01:00
Paul B Mahol
d4c59f77b6 adpcm/thp: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-30 10:48:37 +00:00
Paul B Mahol
1560c3295d iff: fix some incorrect interpretations of invalid files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-30 10:44:00 +00:00
Paul B Mahol
50b5c2296a iff: MAUD support
Based on patch by Piotr Bandurski
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-30 10:34:55 +00:00
Carl Eugen Hoyos
ccf771cd79 Correctly skip strf tag for subtitles when decoding avi.
Fixes ticket #1797.
2012-11-30 10:18:37 +01:00
Michael Niedermayer
d9bec3b6a2 lavc: fix duplicate stats_out line.
Found-by: Thierry Foucu
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 05:31:41 +01:00
Michael Niedermayer
bc16031a41 mjpegdec: print error message when quant_index is invalid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 04:17:03 +01:00
Michael Niedermayer
a2f680c7bc mjpegdec: check h/v_count, fix context becoming inconsistent and causing out of array accesses.
This also fixes a long standing comment in the code.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-30 04:17:03 +01:00
Stefano Sabatini
08d0969c14 lavu/opt: change the way default pixel and sample format value is set
Use the i64 field rather than the string value. Using a string to set a
default sample/pixel format is weird, also the new interface is more
consistent with the rest of the API.

This is technically an API break, but hopefully there are no applications
using this feature outside of FFmpeg. In order to save backward
compatibility with mixed libraries in case libavutil is updated but not
the other libraries, some ifdeffery hacks are added.

Note that the version check is only performed when class->version != 0,
since if it is not defined then we assume that no version was defined and
the class is not affected by the change.

We will luckily get rid of the hack at the next major bump.
2012-11-30 00:01:53 +01:00
Michael Niedermayer
0b28abf903 vble: check packet size.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 23:12:42 +01:00
Michael Niedermayer
10416a4d56 id3v2: check index against buffer size. Fix out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 23:12:42 +01:00
Piotr Bandurski
0b14c197f1 iff: mention all decoders 2012-11-29 19:16:10 +00:00
Paul B Mahol
9a31997938 BRSTM demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-29 19:04:35 +00:00
Martin Storsjö
15816c8e8b avutil: Include io.h with a separate condition from MapViewOfFile
The existence of MapViewOfFile isn't linked to the existence of
io.h.

Not all versions of windows have MapViewOfFile (in particular,
Windows Phone 8 and the "metro" windows 8 API subset don't),
while they still have io.h (and need it for open/read/close).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-29 18:19:57 +02:00
Martin Storsjö
15caccb9be cmdutils: Use a configure check for enabling CommandLineToArgvW
This simplifies the condition to avoid hardcoding the systems
where the function exists. This also simplifies support for
newer Windows API subsets where this function doesn't exist,
such as Windows Phone 8 and the "metro" API subset of Windows 8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-29 18:19:36 +02:00
Diego Biurrun
9d46eaec7a build: The FLAC encoder also depends on the flacdsp code
Fixes linking with only the FLAC encoder enabled.
2012-11-29 17:15:57 +01:00
Diego Biurrun
cc7d5cfeec img2: K&R formatting cosmetics
Also introduce local img_ namespace to simplify debugging.
2012-11-29 17:15:57 +01:00
Michael Niedermayer
6abb9a901f huffyuvdec: check width more completely, avoid out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 15:56:36 +01:00
Michael Niedermayer
27eada287a tiffdec: better checks for bitstream offsets, fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 15:35:05 +01:00
Michael Niedermayer
3ae6104511 roqvideodec: check dimensions validity
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 15:24:30 +01:00
Janne Grunau
c1fcf563b1 h264: check context state before decoding slice data partitions
Fixes mov_h264_aac__Demo_FlagOfOurFathers.mov.SIGSEGV.4e9.656.

Found-by: Mateusz "j00ru" Jurczyk
CC: libav-stable@libav.org
2012-11-29 14:40:05 +01:00
Paul B Mahol
a9236b87b7 fate: add tak dependencies
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-29 13:24:48 +00:00
Paul B Mahol
26f1b1a0fa fate: add ADPCM 4XM test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-29 13:24:48 +00:00
Michael Niedermayer
0ecfcf8621 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avplay: Do not use removed av_get_int()
  avconv: fix variable shadowing in configure_input_audio_filter()

Conflicts:
	ffmpeg_filter.c
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 14:22:58 +01:00
Michael Niedermayer
9f8e2e92ae Merge commit 'e4d349b4014ee2a03f521027e0bd1ace4a9e60bd'
* commit 'e4d349b4014ee2a03f521027e0bd1ace4a9e60bd':
  fate: h264: Add dependencies
  fate: ea: Add dependencies
  fate: Do not unconditionally run libavutil tests
  rtpenc_chain: Remove unused variable
  nuv: check for malloc failure when allocating extradata
  nuv: use the stream indices generated by avformat_new_stream()

Conflicts:
	tests/fate/ea.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 14:16:46 +01:00
Janne Grunau
3ae69b9166 flashsv: make sure data for zlib priming is available
Fixes a segfault in the fuzzed sample resolutionchange.flv_s314809.

CC: libav-stable@libav.org
2012-11-29 14:15:05 +01:00
Michael Niedermayer
52066bdb30 Merge commit 'c74f81786d434dfaf9b3dff06aa96bfd23d0127b'
* commit 'c74f81786d434dfaf9b3dff06aa96bfd23d0127b':
  nuv: cosmetics: pretty-printing

Conflicts:
	libavformat/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 14:07:51 +01:00
Michael Niedermayer
d7b20bfbb5 Merge commit '5c7bf2dddee5bdfa247ff0d57cb8a37d19077f66'
* commit '5c7bf2dddee5bdfa247ff0d57cb8a37d19077f66':
  lavf: move nuv fourcc audio tags from riff to nuv
  lavf: add a common function for selecting a pcm codec from parameters

Conflicts:
	libavformat/internal.h
	libavformat/mov.c
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 14:00:44 +01:00
Michael Niedermayer
076300bf8b Merge commit 'bfe5454cd238b16e7977085f880205229103eccb'
* commit 'bfe5454cd238b16e7977085f880205229103eccb':
  lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h
  lavf: move "MP3 " fourcc from riff to nut
  fate: vpx: Add dependencies
  fate: Fix wavpack-matroskamode test dependencies
  x86: dsputilenc: port to cpuflags

Conflicts:
	libavformat/internal.h
	libavformat/nut.c
	tests/fate/vpx.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 13:45:57 +01:00
Michael Niedermayer
7dc0ed80e8 Merge commit '1f3f896564501c23b44fcf605567c78ce066b539'
* commit '1f3f896564501c23b44fcf605567c78ce066b539':
  fate: Add dependencies for Vorbis, ProRes, QTRLE, utvideo tests
  fate: real: Add dependencies
  fate: lossless-audio: Add dependencies
  x86: h264dsp: Fix linking with yasm and optimizations disabled

Conflicts:
	libavcodec/x86/h264dsp_init.c
	tests/fate/lossless-audio.mak
	tests/fate/real.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 13:35:56 +01:00
Clément Bœsch
a7eabbb20d lavfi/concat: prefer av_asprintf() over stack allocated buffer. 2012-11-29 12:55:56 +01:00
Clément Bœsch
b99f1303ad lavfi/concat: switch to filter_frame. 2012-11-29 12:55:56 +01:00
Clément Bœsch
ea3bad0e9e lavfi/smartblur: switch to filter_frame. 2012-11-29 12:49:03 +01:00
Clément Bœsch
9262f13269 lavfi/show{spectrum,waves}: use ff_filter_frame(). 2012-11-29 11:44:20 +01:00
Anton Khirnov
e2718e7a70 avplay: Do not use removed av_get_int()
Fixes build with lavfi disabled.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-29 10:52:23 +01:00
Stefano Sabatini
605f1d9865 lsws: define version in SWScaler class
The version number is useful to check the libavutil version against which
the library was compiled at run-time, which in turn may be useful to deal
with binary compatibility issues.
2012-11-29 10:20:21 +01:00
Stefano Sabatini
cf56c20761 doc/Makefile: rework component configuration logic
Only enable component manual when the corresponding library providing
the feature is enabled.
2012-11-29 10:19:52 +01:00
Stefano Sabatini
989c6a4943 doc/ffmpeg-codecs: add short description 2012-11-29 09:50:39 +01:00
Michael Niedermayer
3fd8e07265 vsrc_mandelbrot: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 05:52:31 +01:00
Clément Bœsch
9236e9f1e1 lavfi/ebur128: use ff_filter_frame() everywhere. 2012-11-29 03:48:14 +01:00
Michael Niedermayer
55a5ded67e Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: increase maximum frame duration to 1 hour for streams without TS discontinuity
  ffplay: fix updating external clock after seeking
  ffplay: disallow seeking before the start of the file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 03:18:35 +01:00
Michael Niedermayer
1eb8809a41 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_fieldorder: require write permissions
  vf_fieldorder: reindent

Conflicts:
	libavfilter/vf_fieldorder.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:54:50 +01:00
Michael Niedermayer
87b9dc0982 Merge commit '565e4993c63f797e2d50ad2f1e8f62fdbe299666'
The commit has already been split and commited, this merge is just for metadata.
What has not been merged is the removial of some start/end_frame / draw_slice
related functions that are still in use. They can be removed once they are
unused.

* commit '565e4993c63f797e2d50ad2f1e8f62fdbe299666':
  lavfi: merge start_frame/draw_slice/end_frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:51:22 +01:00
Clément Bœsch
031d644878 lavfi/ass: switch to filter_frame. 2012-11-29 02:36:34 +01:00
Anton Khirnov
9178235ffb avfilter: mark start_frame/end_frame/draw_slice as deprecated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:30:11 +01:00
Clément Bœsch
502ecc9cc2 lavfi/colormatrix: 10l fix forgotten buffer unref. 2012-11-29 02:21:16 +01:00
Clément Bœsch
269cd07702 lavfi/colormatrix: switch to filter_frame. 2012-11-29 02:16:33 +01:00
Anton Khirnov
88f8af26a9 vf_format: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:09:40 +01:00
Anton Khirnov
7c42814782 vf_copy: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:09:22 +01:00
Anton Khirnov
ece5decbe0 vf_null: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:09:01 +01:00
Michael Niedermayer
015c2b4066 libavfilter: default to filter_frame when neither it nor start/slice/end is set.
this is needed for vf_null and a few others.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 02:08:49 +01:00
Anton Khirnov
60e50dd960 buffersrc: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 01:55:26 +01:00
Anton Khirnov
b5ecfa1d8d buffersink: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 01:55:26 +01:00
Clément Bœsch
5d796270c5 lavfi/thumbnail: re-use ctx instead of inlink->dst. 2012-11-29 01:43:28 +01:00
Clément Bœsch
782993d9e4 lavfi/thumbnail: use avfilter_unref_bufferp() where appropriate. 2012-11-29 01:38:08 +01:00
Clément Bœsch
24f425319d lavfi/thumbnail: switch to filter_frame. 2012-11-29 01:34:55 +01:00
Anton Khirnov
69d4420aea libavfilter/split: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 01:20:53 +01:00
Michael Niedermayer
94fdef818e vf_scale: switch to filter_frame
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 01:20:53 +01:00
Clément Bœsch
3860e34b08 lavfi/sendcmd: expose the options for both filters. 2012-11-29 00:52:00 +01:00
Clément Bœsch
0b70ffa4ac lavfi/sendcmd: add FLAGS to AVOption array. 2012-11-29 00:50:37 +01:00
Clément Bœsch
a5b765236b lavfi: add priv_class for some forgotten filters.
This allows to print the options available when using commands such as
ffmpeg -help full.
2012-11-29 00:50:37 +01:00
Clément Bœsch
8a12c96d27 lavfi/mptestsrc: add FLAGS to AVOption array. 2012-11-29 00:50:37 +01:00
Anton Khirnov
0a767ad796 vf_blackframe: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 00:32:08 +01:00
Anton Khirnov
8f21cfc6b3 vf_aspect: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 00:31:50 +01:00
Anton Khirnov
aa61728d0a vf_cropdetect: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 00:15:56 +01:00
Anton Khirnov
71f82c3805 vf_crop: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 00:15:40 +01:00
Justin Ruggles
95682d8cd2 avconv: fix variable shadowing in configure_input_audio_filter() 2012-11-28 18:13:21 -05:00
Anton Khirnov
a42b89910b vf_drawbox: switch to filter frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 00:09:53 +01:00
Anton Khirnov
267290ce3b vflip: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 00:09:31 +01:00
Michael Niedermayer
8c1f98d954 Merge commit 'bb6c67bb36b136de10256f0999128df4a42f9ffc'
* commit 'bb6c67bb36b136de10256f0999128df4a42f9ffc':
  lavfi: remove vf_slicify

Conflicts:
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/vf_slicify.c
	tests/lavfi-regression.sh
	tests/ref/lavfi/crop_scale_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 23:59:15 +01:00
Stefano Sabatini
5ddc072d0d doc: add ffmpeg-bitstream-filters.texi file 2012-11-28 23:51:12 +01:00
Anton Khirnov
5f648ce43e vf_yadif: switch to filter_frame, this filter did not support slices
signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 23:47:01 +01:00
Anton Khirnov
9a65b8c0a2 vf_fade: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 23:47:01 +01:00
Clément Bœsch
2d9d444051 lavfi: convert remaining input/output list compound literals to named objects.
This is following 568c70e79e.
2012-11-28 23:19:20 +01:00
Anton Khirnov
bff576c779 vf_lut: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 22:39:35 +01:00
Anton Khirnov
eb7e7e82e1 vf_hflip: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 22:39:16 +01:00
Anton Khirnov
dabb993c44 f_setpts: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 22:27:51 +01:00
Anton Khirnov
bb56436cfd f_settb: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 22:19:43 +01:00
Michael Niedermayer
eb1424b4fe src_movie: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:58:45 +01:00
Anton Khirnov
f7f6f281dd vsrc_testsrc: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:58:39 +01:00
Anton Khirnov
c262e8cff6 vsink_nullsink: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:49:04 +01:00
Anton Khirnov
45eed9b197 vf_unsharp: switch to filter_frame, this filter did not support slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:47:39 +01:00
Michael Niedermayer
afded1816b vf_transpose: switch to filter_frame
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:46:23 +01:00
Marton Balint
f7eb50f3c0 ffplay: increase maximum frame duration to 1 hour for streams without TS discontinuity
Partially fixes ticket #1707. A-V sync still needs some work after seeking...

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-28 21:39:50 +01:00
Marton Balint
2efd01a32f ffplay: fix updating external clock after seeking
Now it should work for the timestamp based and the byte based case as well.
Also only update the external clock if the seeking was successful.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-28 21:39:50 +01:00
Marton Balint
fc38bbcd6a ffplay: disallow seeking before the start of the file
In timestamp based seeking we update the external clock to the seek target,
therefore we should use sane timestamps even if libavformat could handle
seeking before the start of the file.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-28 21:39:50 +01:00
Anton Khirnov
2c3b665379 vf_select: switch to filter_frame
The new code reads the input frame when its ready, the previous
code did read the input frame during start_frame at which point it
may not yet be available.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:28:02 +01:00
Anton Khirnov
0663a9eab8 vf_showinfo: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:28:02 +01:00
Michael Niedermayer
6be0df5080 vf_pad: switch to filter_frame
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 21:28:02 +01:00
Daniel Verkamp
a0958949eb Vivo demuxer 2012-11-28 20:13:05 +00:00
Michael Niedermayer
e42b7ff2b2 vf_pixdesctest: switch to filter_frame
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 20:25:55 +01:00
Anton Khirnov
1f94f86ab5 vf_libopencv: switch to filter_frame, this filter did not support slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 20:25:55 +01:00
Clément Bœsch
5d170b09d3 lavfi/geq: switch to filter_frame. 2012-11-28 20:20:40 +01:00
Anton Khirnov
2a06bc10e7 vf_gradfun: switch to filter_frame, this filter did not support slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 20:06:06 +01:00
Anton Khirnov
6325957b28 vf_frei0r: switch to filter_frame, the filter did not support slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 20:06:06 +01:00
Clément Bœsch
57d9c86bf3 lavfi/edgedetect: switch to filter_frame. 2012-11-28 20:03:01 +01:00
Diego Biurrun
e4d349b401 fate: h264: Add dependencies 2012-11-28 19:58:21 +01:00
Diego Biurrun
d2f576bd49 fate: ea: Add dependencies 2012-11-28 19:36:13 +01:00
Diego Biurrun
47e7fb8815 fate: Do not unconditionally run libavutil tests
Now that libavutil can be disabled, this should be conditional.
2012-11-28 19:36:13 +01:00
Anton Khirnov
92b57e8dac vf_fps: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 19:28:41 +01:00
Anton Khirnov
e67fdbffe5 vf_fieldorder: switch to filter_frame, this filter did not support real slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 19:23:32 +01:00
Michael Niedermayer
59907340e1 libavfilter/fifo: fix indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 19:18:24 +01:00
Michael Niedermayer
b5572ab861 vf_boxblur: cosmetics to reduce diff to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 19:18:24 +01:00
Diego Biurrun
2c4593dd13 rtpenc_chain: Remove unused variable 2012-11-28 18:17:49 +01:00
Michael Niedermayer
7bfa2f25c0 vf_drawtext: switch to filter_frame, this filter did not support slices
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 18:07:51 +01:00
Michael Niedermayer
384641468b vf_delogo: switch to filter_frame, this filter did not support slices
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 18:07:33 +01:00
Michael Niedermayer
ed547e2ce5 vf_hqdn3d: fix permissions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 18:05:09 +01:00
Michael Niedermayer
46a4e72bc5 vf_delogo: fix order of operations in apply_delogo()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 18:03:03 +01:00
Anton Khirnov
250b122e3a vf_boxblur: switch to filter_frame, boxblur did not support slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 17:33:42 +01:00
Anton Khirnov
05945c7f88 libavfilter/fifo: switch to filter_frame, the filter did not support slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 17:33:42 +01:00
Paul B Mahol
6549a9b753 pgssubdec: remove unused variable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-28 16:21:25 +00:00
Justin Ruggles
c74f81786d nuv: cosmetics: pretty-printing 2012-11-28 11:18:50 -05:00
Justin Ruggles
5c7bf2ddde lavf: move nuv fourcc audio tags from riff to nuv 2012-11-28 11:18:50 -05:00
Justin Ruggles
ab87d9b667 nuv: check for malloc failure when allocating extradata
Also make sure extradata is freed in the case where multiple
NUV_EXTRADATA frame types are found. This may not happen in practice,
but it could happen in a malformed stream, which would lead to a memleak
if not handled.
2012-11-28 11:18:50 -05:00
Justin Ruggles
261e9348ef lavf: add a common function for selecting a pcm codec from parameters 2012-11-28 11:18:50 -05:00
Justin Ruggles
838ed296df nuv: use the stream indices generated by avformat_new_stream() 2012-11-28 11:18:50 -05:00
Justin Ruggles
bfe5454cd2 lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h 2012-11-28 11:18:49 -05:00
Justin Ruggles
cdaa1f84fb lavf: move "MP3 " fourcc from riff to nut
Original commit, 7b24f9b, says it was added because it is used in libnut.
2012-11-28 11:18:49 -05:00
Paul B Mahol
01eed8c607 iff demuxer: 16SV support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-28 15:55:14 +00:00
Anton Khirnov
1b43fc127c vf_hqdn3d: switch to filter_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Michael Niedermayer
8227a0b7df libavfilter: update doxy for filter_frame
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Michael Niedermayer
3ed483cdfa libavfilter: Support using filter_frame for video
With this we can mix filters using filter_frame OR start/draw_slice/end

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Michael Niedermayer
a0b8eec719 default_filter_frame: fix argument name
Based on code by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Michael Niedermayer
f6dd145533 avfilter: check that filter_frame and slice variants are not both used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Michael Niedermayer
cd7febd33f lavfi: replace filter_samples by filter_frame
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00
Reimar Döffinger
16af29a7a6 vc1dec: add hacks to ensure static tables are initialized in open().
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-11-28 16:41:48 +01:00
Reimar Döffinger
92947c6d72 Use err_out label for error-case cleanup.
Will simplify future changes (introducing proper
locking around opening/closing parsers).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-11-28 16:41:48 +01:00
Reimar Döffinger
8aa29f063c atrac3: do not use init_static_data to init VLC data.
It would be called while registering the codec, which means
it needlessly wastes memory when it is never used.
Instead do the work when first opening the codec.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-11-28 16:41:48 +01:00
Diego Biurrun
db9dbfb72a fate: vpx: Add dependencies 2012-11-28 16:19:55 +01:00
Diego Biurrun
a1d1fc9b4a fate: Fix wavpack-matroskamode test dependencies 2012-11-28 16:05:44 +01:00
Diego Biurrun
9b15c0a9b3 x86: dsputilenc: port to cpuflags 2012-11-28 16:05:44 +01:00
Diego Biurrun
1f3f896564 fate: Add dependencies for Vorbis, ProRes, QTRLE, utvideo tests 2012-11-28 14:45:28 +01:00
Diego Biurrun
5116ac7774 fate: real: Add dependencies 2012-11-28 14:45:28 +01:00
Diego Biurrun
9534e0f552 fate: lossless-audio: Add dependencies 2012-11-28 14:45:28 +01:00
Diego Biurrun
89145fbbfe x86: h264dsp: Fix linking with yasm and optimizations disabled
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
2012-11-28 14:45:28 +01:00
Paul B Mahol
23101ceaa2 avrdec: implement seeking
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-28 13:03:48 +00:00
Michael Niedermayer
42d3fea65f Merge commit 'af7d13ee4a4bf8d708f9b0598abb8f6e22b76de1'
* commit 'af7d13ee4a4bf8d708f9b0598abb8f6e22b76de1':
  asink_nullsink: plug a memory leak.
  x86: h264_idct: port to cpuflags
  x86: cpu: Drop unused HAVE_RWEFLAGS condition

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 13:32:17 +01:00
Michael Niedermayer
264441715b Merge commit 'f5fa03660db16f9d78abc5a626438b4d0b54f563'
* commit 'f5fa03660db16f9d78abc5a626438b4d0b54f563':
  vble: Do not abort decoding when version is not 1
  lavr: do not pass consumed samples as a parameter to ff_audio_resample()
  lavr: correct the documentation for the ff_audio_resample() return value
  lavr: do not pass sample count as a parameter to ff_audio_convert()
  x86: h264_weight: port to cpuflags
  configure: Enable avconv filter dependencies automatically

Conflicts:
	configure
	libavcodec/x86/h264_weight.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 13:27:18 +01:00
Paul B Mahol
b0d9b011c7 avrdec: sample rate takes 3 bytes not 4
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-28 11:02:22 +00:00
Paul B Mahol
1793128cf7 avrdec: fix typo in .long_name
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-28 10:56:59 +00:00
Anton Khirnov
4c973de9a5 vf_fieldorder: require write permissions
This filter modifies the input frame.
2012-11-28 08:50:24 +01:00
Anton Khirnov
49dd71a6f1 vf_fieldorder: reindent 2012-11-28 08:50:24 +01:00
Anton Khirnov
565e4993c6 lavfi: merge start_frame/draw_slice/end_frame
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
2012-11-28 08:50:19 +01:00
Anton Khirnov
bb6c67bb36 lavfi: remove vf_slicify
The following commit will make it useless.

The crop_scale_vflip FATE test changes because of off-by-one differences
in output when vflipped slices are passed to sws.
2012-11-28 08:44:01 +01:00
Anton Khirnov
af7d13ee4a asink_nullsink: plug a memory leak. 2012-11-28 08:43:54 +01:00
Michael Niedermayer
2c923983b6 qpeg: reset palette on seeks
Fixes Ticket1921

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 05:16:15 +01:00
Michael Niedermayer
2754dbb6e1 nut: put nut PCM audio tags in front of avi tags.
This fixes correctly storing and identifying PCM in nut.

Based on patch by Luca Barbato
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 02:03:56 +01:00
Diego Biurrun
2e89aeed65 x86: h264_idct: port to cpuflags 2012-11-28 00:28:09 +01:00
Diego Biurrun
490df522c7 x86: cpu: Drop unused HAVE_RWEFLAGS condition
The test for rweflags was dropped in a previous commit.
2012-11-28 00:28:09 +01:00
Stefano Sabatini
3a227f5d90 doc: add ffmpeg-protocols.texi manual 2012-11-27 23:35:45 +01:00
Stefano Sabatini
9c492271a8 doc: move syntax and eval chapters from libavutil to ffmpeg-utils
Move utilities description to a dedicated manual, consistent with what I
did with the rest of the documentation.
2012-11-27 23:35:35 +01:00
Stefano Sabatini
d82331721e doc: add libavdevice.texi and ffmpeg-devices.texi files 2012-11-27 23:35:25 +01:00
Stefano Sabatini
8ddeae5ae7 doc: add libavformat.texi and ffmpeg-formats.texi files 2012-11-27 23:35:19 +01:00
Stefano Sabatini
2ac6a3d1bf lavfi/drawtext: add support to expansion of generic expressions 2012-11-27 23:27:50 +01:00
Piotr Bandurski
f5fa03660d vble: Do not abort decoding when version is not 1
Some combinations of OS, VirtualDub, and VBLE can accidentally
set the version to a value other than 1. Since no other version
of VBLE was ever released, simply warn about it.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-11-27 17:16:04 -05:00
Justin Ruggles
1d86aa8b0f lavr: do not pass consumed samples as a parameter to ff_audio_resample()
Since the resampler handles buffering of unconsumed samples internally, the
caller does not need this information.
2012-11-27 16:49:19 -05:00
Justin Ruggles
d2f9f8e094 lavr: correct the documentation for the ff_audio_resample() return value 2012-11-27 16:49:18 -05:00
Justin Ruggles
7f534d11ed lavr: do not pass sample count as a parameter to ff_audio_convert()
It will always be the number of samples in the input buffer, so just use that
directly instead of passing it as a separate parameter.
2012-11-27 16:49:18 -05:00
Diego Biurrun
28e1cf19aa x86: h264_weight: port to cpuflags 2012-11-27 21:10:38 +01:00
Michael Niedermayer
2cfa6fd025 mjpegdec: dont set got_picture to 0 per frame.
Fixes Ticket1915

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 20:16:49 +01:00
Michael Niedermayer
541efe4120 mjpegdec: reset got_picture on errors, successful return, init and flush.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 20:16:49 +01:00
Michael Niedermayer
1c16483cc0 mjpegdec: replace returns by goto fail in frame decode.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 20:16:49 +01:00
Michael Niedermayer
de9fc0e9d6 mjpegdec: make sure ret is set before its used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 20:16:49 +01:00
Paul B Mahol
761aba6811 fate: add ADPCM IMA Dialogic OKI decoder test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-27 19:07:18 +00:00
Michael Niedermayer
93b89868e1 h264: support invalid annex B in mp4
Fixes Ticket1914

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 18:06:00 +01:00
Martin Storsjö
54fd593a0e configure: Enable avconv filter dependencies automatically
This makes sure minimal configurations such as
"--disable-everything --enable-avconv" will enable the filters
necessary for running avconv, instead of just keeping avconv
disabled (even if the user specified "--enable-avconv").

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-27 17:05:01 +02:00
Michael Niedermayer
c2c1726847 ffserver remove CONFIG_NOCUTILS check
Nothing sets CONFIG_NOCUTILS, i also dont remember anything setting it in
the past.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 14:41:41 +01:00
Michael Niedermayer
4063bb212e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: set Picture.owner2 to the current thread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 14:36:53 +01:00
Michael Niedermayer
577b39aea2 Merge commit '6e5cdf26281945ddea3aaf5eca4d127791f23ca8'
* commit '6e5cdf26281945ddea3aaf5eca4d127791f23ca8':
  h264: check ref_count validity for num_ref_idx_active_override_flag
  h264: add missing new line to log message
  dcadec: skip QMF on unused channels
  wavenc: write fact chunk sample count at the correct file position
  riff: do not add empty metadata tags in INFO chunk

Conflicts:
	libavcodec/dcadec.c
	libavcodec/h264.c
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 14:31:04 +01:00
Michael Niedermayer
b4d4e51027 Merge commit '3c370f5abc55739a261534b9f9bdc739cedbbbb9'
* commit '3c370f5abc55739a261534b9f9bdc739cedbbbb9':
  riff: only warn on a bad INFO chunk code size instead of failing
  configure: Add separate list for libraries and use where appropriate
  x86: float_dsp: add SSE version of vector_fmul_scalar()

Conflicts:
	configure
	libavformat/riff.c
	libavutil/x86/float_dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 14:10:05 +01:00
Michael Niedermayer
2684d2e3ea Merge commit '284ea790d89441fa1e6b2d72d3c1ed6d61972f0b'
* commit '284ea790d89441fa1e6b2d72d3c1ed6d61972f0b':
  dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutil
  aacenc: use the correct output buffer
  aacdec: fix signed overflows in lcg_random()
  base64: fix signed overflow in shift

Conflicts:
	libavcodec/dsputil.c
	libavutil/base64.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 13:39:52 +01:00
Michael Niedermayer
257196209f file: fix 10l error in access() check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 13:24:00 +01:00
Janne Grunau
d5e83122bd h264: set Picture.owner2 to the current thread
This does not seem to have an effect currently. Fate-h264 passes with
THREADS=1..16 and both threading types as before. It fixes however a
segfault during error resilience with my adaptive-frame-mt patchset.
A picture in use during error resilience gets realloced in another
thread in the fuzzed sample sample_varPAR.avi_s226019.
2012-11-27 12:26:33 +01:00
Janne Grunau
6e5cdf2628 h264: check ref_count validity for num_ref_idx_active_override_flag
Fixes segfault in the fuzzed sample bipbop234.ts_s226407.

CC: libav-stable@libav.org
2012-11-27 12:26:33 +01:00
Janne Grunau
150b2361ca h264: add missing new line to log message 2012-11-27 12:26:33 +01:00
Paul B Mahol
51d6879939 AFC demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-27 10:17:28 +00:00
Paul B Mahol
10c8f91341 astdec: improve probing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-27 10:16:30 +00:00
Mark Himsley
13c6252536 lavfi/overlay: enable yuva420p as overlay background
Same calculation as for RGBA etc to create unpremultiplied output.
Useful for creating an intermediate "Mix/Effects bank", in vision mixer
(switcher) terminology.

Example command:

ffmpeg -i input.mov -vf
"[in]scale=iw:ih:interl=1,format=yuv420p[bg];movie=BBC_blocks_watermark.png,scale=iw:ih:interl=1,format=yuva420p[dog];movie=Kickabout_strap.mov,scale=iw:ih:interl=1,format=yuva420p[strap];[strap][dog]overlay=0:0[me1];[bg][me1]overlay=0:0,scale=0:0:interl=1[out]"
-b:v 3M -an output.mov

Fix trac ticket #549.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-11-27 10:44:42 +01:00
Michael Niedermayer
8aa6d899c0 cafdec: fix seeking with adpcm
Fixes Ticket1906

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 05:03:24 +01:00
Michael Niedermayer
16ef48c37f file: Fallback to stat() based file_check() when access() or its named flags are unavailable.
Should fix compilation on native windows
We could also use _access() and literal numbers as flags but i cant test it
and the compilation failure should be fixed ASAP

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 05:03:24 +01:00
Michael Niedermayer
465becbc4f configure: check for access()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 05:03:23 +01:00
Michael Niedermayer
5d47850bbd dcadec: skip QMF on unused channels
When the extra rear channel is present but unused, the
s->channel_order_tab[] value for that channel is -1. The QMF can be
skipped for the extra channel, and doing so avoids an out-of-array read
on s->samples_chanptr[].

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-26 22:50:37 -05:00
Michael Niedermayer
407921072f file: fix file_check()
Fixes Ticket1904

This should work on windows, but if not please contact me ASAP
i have another idea on how to solve this without access() if that
really doesnt work on windows.

Strongly based on patch by divVerent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-27 03:53:53 +01:00
Michael Niedermayer
2fe0094e0b wavenc: write fact chunk sample count at the correct file position
Fixes curruption of metadata in the INFO chunk.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-26 19:11:10 -05:00
Justin Ruggles
3c370f5abc riff: only warn on a bad INFO chunk code size instead of failing
fixes Bug 392
2012-11-26 19:08:51 -05:00
Justin Ruggles
259d8c5647 riff: do not add empty metadata tags in INFO chunk 2012-11-26 19:08:51 -05:00
Diego Biurrun
d89f2fa970 configure: Add separate list for libraries and use where appropriate 2012-11-26 22:46:07 +01:00
Michael Niedermayer
109268c826 get_dc: fix rounding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 21:26:24 +01:00
Michael Niedermayer
8d231e37af af_aresample: consistently use ROUNDED_DIV
This fixes issues with negative timestamps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 21:09:15 +01:00
Michael Niedermayer
89d5262289 mpeg4videodec: use ROUNDED_DIV for pts calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 21:08:57 +01:00
Paul B Mahol
67be7fb432 adpcm: thp, afc: support multichannel decoding
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-26 19:52:40 +00:00
Sergio Garcia Murillo
ec51b3308e h264: Fix minor bug in h264.c error trace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 17:38:35 +01:00
Justin Ruggles
947f933687 x86: float_dsp: add SSE version of vector_fmul_scalar() 2012-11-26 11:30:19 -05:00
Justin Ruggles
284ea790d8 dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutil 2012-11-26 11:29:06 -05:00
Michael Niedermayer
1e27655388 aacenc: use the correct output buffer
This fixes segfault caused by 3d3cf6745e
when SingleChannelElement.ret was renamed to SingleChannelElement.ret_buf.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-26 11:17:17 -05:00
Michael Niedermayer
4b5a12a2cb af_aresample: fix rounding of negative timestamps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 16:25:47 +01:00
Michael Niedermayer
386fc67c79 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: avoid integer overflow in ff_compute_frame_duration()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 16:24:23 +01:00
Michael Niedermayer
a3f30f2e99 Merge commit '5ae72f54532960cb9eae82a1c9e8d505106c022b'
* commit '5ae72f54532960cb9eae82a1c9e8d505106c022b':
  flashsv: check for keyframe before using differential coding
  h264: enable low delay only if no delayed frames were seen
  x86: fix build without inline asm

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 16:11:02 +01:00
Michael Niedermayer
59b68ee887 Merge commit '3d3cf6745e2a5dc9c377244454c3186d75b177fa'
* commit '3d3cf6745e2a5dc9c377244454c3186d75b177fa':
  aacdec: use float planar sample format for output

Conflicts:
	libavcodec/aacdec.c
	libavcodec/aacsbr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 15:15:02 +01:00
Mans Rullgard
edd80ec7e3 aacdec: fix signed overflows in lcg_random()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-26 13:34:58 +00:00
Mans Rullgard
dd3b73f390 base64: fix signed overflow in shift
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-26 13:34:58 +00:00
Michael Niedermayer
a13148f633 Merge commit '8e134e5104e99a69cd4cea10540a7ce9c3682a2c'
* commit '8e134e5104e99a69cd4cea10540a7ce9c3682a2c':
  lavc: clarify get_buffer() documentation
  mpegaudiodec: use planar sample format for output unless packed is requested
  x86: h264 qpel: use the correct number of utilized xmm regs in cglobal

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 14:24:19 +01:00
Michael Niedermayer
86270236d5 dsputil_mmx: ff_put_dirac_pixels depend now on yasm.
Fix compile failure without yasm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 13:59:41 +01:00
Peter Ross
76f60788e7 iff demuxer: don't bother checking bitmap compression type; iff decoder does this now
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
2012-11-26 23:29:02 +11:00
Peter Ross
f737e76026 iff decoder: reindent
Signed-off-by: Peter Ross <pross@xvid.org>
2012-11-26 23:29:02 +11:00
Peter Ross
929a24efff iff decoder: merge iff ilbm and byterun1 decoders
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
2012-11-26 23:29:02 +11:00
Peter Ross
f2dc82b90f dpx: perform width/height upgrade and av_image_check_size earlier to prevent segfault on malformed input
Signed-off-by: Peter Ross <pross@xvid.org>
2012-11-26 12:11:08 +00:00
Paul B Mahol
5a3370816f av_get_audio_frame_duration: add ADPCM_AFC
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-26 11:59:44 +00:00
Paul B Mahol
c5607dfddc doc/general: improve AST description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-26 10:40:51 +00:00
Janne Grunau
7709ce029a lavf: avoid integer overflow in ff_compute_frame_duration()
Scaling the denominator instead of the numerator if it is too large
loses precision. Fixes an assert caused by a negative frame duration in
the fuzzed sample nasa-8s2.ts_s202310.

CC: libav-stable@libav.org
2012-11-26 10:26:08 +01:00
Janne Grunau
5ae72f5453 flashsv: check for keyframe before using differential coding
Fixes a segfault in te fuzzed sample resolutionchange.flv_s211713.

CC: libav-stable@libav.org
2012-11-26 10:26:01 +01:00
Janne Grunau
706acb558a h264: enable low delay only if no delayed frames were seen
Dropping frames is undesirable but that is the only way by which the
decoder could return to low delay mode. Instead emit a warning and
continue with delayed frames.
Fixes a crash in fuzzed sample nasa-8s2.ts_s20033 caused by a larger
than expected has_b_frames value. Low delay keeps getting re-enabled
from a presumely broken SPS.

CC: libav-stable@libav.org
2012-11-26 10:25:39 +01:00
Michael Niedermayer
b5e0e327ce ffmpeg: fix swr filter_type for auto inserted aresample filters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 04:06:19 +01:00
Michael Niedermayer
4bd6d73fc8 ffmpeg: fix passing swresample options to the auto inserted swr
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 03:51:29 +01:00
Michael Niedermayer
69d45d2ecb avfiltergraph: add aresample_swr_opts
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 03:51:08 +01:00
Michael Niedermayer
2624027439 lavu: drop time redefinition as it causes some problems in some uncommon configurations.
Based-on: e96d90eed6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 02:23:30 +01:00
Michael Niedermayer
7b29b07394 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  remove #defines to prevent use of discouraged external functions
  x86: h264: Convert 8-bit QPEL inline assembly to YASM

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 02:17:02 +01:00
Diego Biurrun
7ee4071362 x86: fix build without inline asm
The qpel functions referenced here are not related to h264 and should
thus never have been under CONFIG_H264QPEL.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-26 01:50:47 +01:00
Paul B Mahol
7d2156aee8 adpcm/thp: make use of ADPCMChannelStatus to store prev samples
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-26 00:44:45 +00:00
Justin Ruggles
3d3cf6745e aacdec: use float planar sample format for output 2012-11-25 19:06:36 -05:00
Justin Ruggles
8e134e5104 lavc: clarify get_buffer() documentation
This is needed for the AAC decoder, which may need to call get_buffer()
more than once if the channel configuration changes.
2012-11-25 19:06:36 -05:00
Justin Ruggles
3ffed68c2a mpegaudiodec: use planar sample format for output unless packed is requested 2012-11-25 19:05:58 -05:00
Michael Niedermayer
66c3bac2b9 Merge commit 'ad01ba6ceaea7d71c4b9887795523438689b5a96'
* commit 'ad01ba6ceaea7d71c4b9887795523438689b5a96':
  x86: h264: Remove 3dnow QPEL code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 00:57:33 +01:00
Justin Ruggles
2d3993ce8c x86: h264 qpel: use the correct number of utilized xmm regs in cglobal
Fixes xmm register clobbering on win64.
2012-11-25 18:48:43 -05:00
Michael Niedermayer
bf2f93cdbf Merge commit '28c8e288fa0342fdef532a7522a4707bebf831cc'
* commit '28c8e288fa0342fdef532a7522a4707bebf831cc':
  x86: h264_chromamc: port to cpuflags
  yop: fix typo
  avconv: fix copying per-stream metadata.
  doc: avtools-common-opts: Fix terminology concerning metric prefixes
  configure: suncc: Add compiler arch support for Nehalem & Sandy Bridge
  riff: Make ff_riff_tags static and move under appropriate #ifdef

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 00:43:45 +01:00
Stefano Sabatini
b473c9937e lavu/samplefmt: return the size of the allocated samples buffer at the next bump
Make the functions av_samples_fill_arrays, av_samples_alloc, and
avcodec_fill_audio_frame return a buffer size rather than 0 in case of
success. This will be enabled at the next libavutil major bump, in order
to preserve backward compatibility.

Returning the size allows to simplify the code, avoiding a few function
calls.
2012-11-25 23:23:24 +01:00
Ivan Pozdeev
329b8f85b0 doc/encoders: add a note for x264 options that use colon
Signed-off-by: Ivan Pozdeev <ivan_pozdeev@mail.ru>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-11-25 23:17:26 +01:00
Carl Eugen Hoyos
d643dd5c55 Support switching field order when decoding frwu.
The binary encoder has a "switch field order" setting that
moves one line from the top to the bottom of the frame.

Fixes ticket #966.
2012-11-25 23:06:12 +01:00
Janne Grunau
e96d90eed6 remove #defines to prevent use of discouraged external functions
Preventing the use of discouraged or 'insecure' external functions
through defines in an internal header is not a good solution. The
header is not guaranteed to be included universally which makes
overlooking bad use of said functions during review more likely.

There are cases were those functions either are the most straight
forward solution or even have to be used. Using malloc or free is
required if the allocation or release is done by other libraries.
2012-11-25 23:02:04 +01:00
Michael Niedermayer
b5b9686615 imc: flush decoder
Fixes Ticket1899

Based on code by ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 22:48:18 +01:00
Michael Niedermayer
579d21f777 tga: check palette size earlier.
Fixes Ticket1895

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 22:33:54 +01:00
Daniel Kang
610e00b359 x86: h264: Convert 8-bit QPEL inline assembly to YASM
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 20:38:35 +01:00
Stefano Sabatini
e55c3857d2 lavc/utils: check return value of avcodec_fill_audio_frame() for < 0
Assume that the value is always negative in case of error, as stated in
the docs, do not assume that the value cannot be != 0 in case of success.
2012-11-25 20:34:01 +01:00
Daniel Kang
ad01ba6cea x86: h264: Remove 3dnow QPEL code
The only CPUs that have 3dnow and don't have mmxext are 12 years old.
Moreover, AMD has dropped 3dnow extensions from newer CPUs.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 20:32:55 +01:00
Stefano Sabatini
51e9f58e1c lavu/opt: add support for reading pixel and sample format through av_get_int()
Simplify backward compatibility, when switching from AV_OPT_TYPE_INT to
AV_OPT_TYPE_SAMPLE/PIXEL_FMT.
2012-11-25 20:31:39 +01:00
Stefano Sabatini
cf6c6134cd doc: add libswscale.texi and ffmpeg-scaler.texi files 2012-11-25 19:21:30 +01:00
Peter Ross
33181975b5 mpsmpeg4: use av_image_check_size
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 18:38:12 +01:00
Peter Ross
a246a603bf avrndec: use av_image_check_size
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 18:38:12 +01:00
Peter Ross
2d954ccd84 rawdec: use av_image_check_size
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 18:38:12 +01:00
Stefano Sabatini
252746d052 lavu/imgutils: add consistency checks to av_image_copy_plane()
Add assertions and abort in case of invalid |dst_linesize| < bytewidth or
|src_linesize| < bytewidth.

Avoid to silently corrupt memory.
2012-11-25 18:19:59 +01:00
Diego Biurrun
28c8e288fa x86: h264_chromamc: port to cpuflags 2012-11-25 17:25:10 +01:00
Paul B Mahol
b491da18d1 yop: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-25 11:10:52 -05:00
Anton Khirnov
4632abc7a3 avconv: fix copying per-stream metadata.
It is handled separately from other types because it uses stream
specifiers and currently that triggers an assert in SET_DICT.

CC:libav-stable@libav.org
2012-11-25 16:35:20 +01:00
Stefano Sabatini
26c531cc22 lavu/opt: fix range shown in set_format() log message 2012-11-25 15:50:46 +01:00
Stefano Sabatini
be2c0bc949 configure: prefer "resampling" in the libswresample pkg-config description 2012-11-25 15:01:33 +01:00
Stefano Sabatini
c70ec631c9 lavu/opt: add av_opt_ accessors for pixel/format/image size options
The interface is implemented against the style of the other options
accessors. Possibly simplify programmatic setting of options.
2012-11-25 15:01:33 +01:00
Peter Ross
fdd71cf04c iff decoder: initialise HAM line decoder with first palette entry
The palette is organised into 'hold' and 'modify' pairs, hence why
the first palette entry is pal[1].

Fixes ticket #1701.

Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 14:40:36 +01:00
Michael Niedermayer
8f507feecb avfiltergraph: add AVOption table
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 14:36:22 +01:00
Marcus Stollsteimer
2bf794b698 doc: avtools-common-opts: Fix terminology concerning metric prefixes
'k', 'M', and 'G' are SI (unit) prefixes or metric prefixes,
not 'number postfixes'. Also, the statement regarding binary
prefixes ("powers of 2 are used instead of powers of 10")
might be misinterpreted (1 kB = 10^3 B, but 1 KiB != 2^3 B).

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 14:26:39 +01:00
Sean McGovern
f2ce813e37 configure: suncc: Add compiler arch support for Nehalem & Sandy Bridge
GCC does not appear to have a -march= string for Westmere, which is a
bit surprising as it has a few more instructions than a Nehalem, but
a few less than a Sandy Bridge.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 14:15:30 +01:00
Diego Biurrun
ddb009425c riff: Make ff_riff_tags static and move under appropriate #ifdef
The table is not used outside the file.
2012-11-25 13:32:10 +01:00
Michael Niedermayer
48cbdaea15 smacker: fix smacker_decode_header_tree() empty vlc table init
Fixes Ticket1858

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 02:40:59 +01:00
Michael Niedermayer
e6305f7631 mov: set flags to indicate that byte wise seeking is not supported.
Fixes Ticket1831

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-25 01:19:33 +01:00
Stefano Sabatini
e903cb4194 doc: add libswresample.texi and ffmpeg-resampler.texi files 2012-11-25 00:28:36 +01:00
Stefano Sabatini
f62abbf3b7 doc: move filters documentation to dedicated manual page ffmpeg-filters 2012-11-25 00:28:27 +01:00
Stefano Sabatini
fa4ead1d66 doc: move codec options and descriptions to a dedicated manual page 2012-11-25 00:27:07 +01:00
Nicolas George
ca4872e887 lavf/sbgdec: use proper constants for av_log(). 2012-11-24 23:56:52 +01:00
Carl Eugen Hoyos
d080292651 Support u8 in aiff.
Fixes ticket #1960.
Reviewed-by; Paul B Mahol
2012-11-24 21:21:50 +01:00
Michael Niedermayer
807fa714f0 adpcmdec: Fix OOM/infloop
Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 19:29:03 +01:00
Michael Niedermayer
34b6f1efa2 libopencore_amrwb: check packet size
Fix OOM

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 18:26:54 +01:00
Michael Niedermayer
57c0da6fe4 smacker: sanity check audio size.
Fixes, excessive memory allocation
Fixes Ticket1892

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 18:02:08 +01:00
Michael Niedermayer
014058abea af_aresample: check ff_get_audio_buffer() failure
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 17:33:32 +01:00
Michael Niedermayer
ed017ab945 atrac1: Check block align.
Fixes OOM
Fixes second samples posted in Ticket1893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 16:38:22 +01:00
Michael Niedermayer
5c392bac9a ra288: Check block align.
Fixes OOM
Fixes Ticket1893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 16:38:22 +01:00
Carl Eugen Hoyos
387f50606c Fix type of default value for v210 decoder option -custom_stride.
Reviewed-by: Paul B Mahol
2012-11-24 16:09:07 +01:00
Piotr Bandurski
081bf60ec6 c93: signal EOF 2012-11-24 15:04:32 +00:00
Paul B Mahol
05b02e9c0f mmf: simplify code by using FFMIN
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 14:27:55 +00:00
Paul B Mahol
7f321fca23 mmf: signal EOF
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 14:24:13 +00:00
Paul B Mahol
9378a90add omadec: remove stale comment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 11:41:43 +00:00
Paul B Mahol
4995145f40 codec_desc: mark PCM A-law/mu-law lossy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 11:19:27 +00:00
Paul B Mahol
2d62732b21 codec_desc: provide aliases for PCM A-law/mu-law
Inspired by d21b82fd3a.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 11:14:06 +00:00
Paul B Mahol
3d8e684f05 ADPCM IMA Dialogic decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 10:56:47 +00:00
Paul B Mahol
ed591ed842 rl2: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 10:28:23 +00:00
Paul B Mahol
1a61c7a54b wvenc: multichannel muxing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 10:20:46 +00:00
Paul B Mahol
1b9467aea1 omaenc: remove superfluous "OMA: "
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 10:04:20 +00:00
Paul B Mahol
bc5ba1c7fd omaenc: abort for unsupported codecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-24 10:04:20 +00:00
Piotr Bandurski
6d6bf250dd riff: fix decoding of 24-bit packed int (type 1, 20-bit) 2012-11-24 10:54:38 +01:00
Carl Eugen Hoyos
95903e3cfd Support G.722 in Sun AU. 2012-11-24 10:43:32 +01:00
Carl Eugen Hoyos
df651cf42e Add an annotation field as required by the specification when muxing Sun AU.
Reviewed-by: Paul B Mahol
2012-11-24 10:43:11 +01:00
Michael Niedermayer
f1470ca685 ratecontrol: Fix assertion failure on mismatching 2pass file.
Fixes Ticket582

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 03:03:17 +01:00
Michael Niedermayer
66244baf1d ffmpeg: fix mixed declarations and statements.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 03:02:11 +01:00
Michael Niedermayer
d92073ac93 ffmpeg: Correct starttime based on non discarded streams.
Fixes Ticket1830

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 01:54:49 +01:00
Michael Niedermayer
fe97bf60b8 ffmpeg: minor simplification of wraping code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-24 01:34:26 +01:00
Michael Niedermayer
09456d0df1 riff: ignore ff_read_riff_info() failure.
Some files simply contain invalid info tags.
Fixes unrelated bug posted into Ticket1821

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 23:41:57 +01:00
Stefano Sabatini
9a7256e8e0 ffprobe: free dictionary in opt_show_entries()
Fix memleak.
2012-11-23 18:49:26 +01:00
Paul B Mahol
a8ebbf87be fate: add ADPCM AFC decoder test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-23 17:30:05 +00:00
Paul B Mahol
6f9ca8cbe0 fate: add AST demuxer test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-23 17:30:05 +00:00
Michael Niedermayer
0efcf16a3e replace av_log(0, by av_log(NULL,
The first parameter is a pointer and NULL is more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 18:10:02 +01:00
Michael Niedermayer
c322f19855 vf_mandelbrot: give all av_log a context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 18:05:16 +01:00
Michael Niedermayer
533a8b2a7d x86/mpegvideoenc_template: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 17:57:22 +01:00
Michael Niedermayer
8328df74f3 motion_est: use av_assert* instead of assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 16:40:53 +01:00
Michael Niedermayer
56540bb3b5 h263dec: switch 2 asserts to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 16:36:17 +01:00
Michael Niedermayer
5da885b84d dv: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 15:52:12 +01:00
Michael Niedermayer
7ca97b6b3c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: sort cpuflags section by architecture

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 14:03:31 +01:00
Michael Niedermayer
d28467b62e Merge commit '457cc333b424994ecf80a82369325771e0397fd9'
* commit '457cc333b424994ecf80a82369325771e0397fd9':
  configure: properly support DEC/Compaq compiler

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 13:53:54 +01:00
Michael Niedermayer
25ca8aef54 Merge commit '4a606c830ae664013cea33800094d4d0f4ec62da'
* commit '4a606c830ae664013cea33800094d4d0f4ec62da':
  av_memcpy_backptr: optimise some special cases
  mpegvideo: simplify dxy calculation in hpel_motion()
  build: add rules to generate preprocessed source files

Conflicts:
	Makefile
	libavutil/mem.c
	library.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 13:30:51 +01:00
Mans Rullgard
33db40f8d3 configure: sort cpuflags section by architecture
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:07:23 +00:00
Mans Rullgard
457cc333b4 configure: properly support DEC/Compaq compiler
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:07:11 +00:00
Mans Rullgard
4a606c830a av_memcpy_backptr: optimise some special cases
- Add special cases for offsets of 2, 3, or 4 bytes.  This means the
  offset is always >4 in the generic case, allowing 32-bit copies to
  be used there.
- Don't use memcpy() for sizes less than 16 bytes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:04:17 +00:00
Mans Rullgard
5e39bb073a mpegvideo: simplify dxy calculation in hpel_motion()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:03:54 +00:00
Mans Rullgard
c262649291 build: add rules to generate preprocessed source files
This is useful for debugging.  Dependencies for these files are not
generated due to limitations in many compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:03:32 +00:00
Michael Niedermayer
e9c372362c id3v2: restructure compressed and unsync code
This should fix the interaction between the 2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 03:28:20 +01:00
Michael Niedermayer
0560b28f12 ffv1dec: remove incorrect assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 02:42:00 +01:00
Michael Niedermayer
3616afced6 rmdec: fix av_log level and context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 01:19:48 +01:00
Michael Niedermayer
2fc0cbd9a6 truemotion2: Fix av_log level and context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 01:19:26 +01:00
Michael Niedermayer
801a2a1df0 mpeg12: fix av_log level and context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 01:18:53 +01:00
Michael Niedermayer
42dde253ec dcadec: fix av_log level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 01:18:31 +01:00
Michael Niedermayer
be89693ddc avidec: try to support oddly muxed MMES stream
Fixes ticket1804

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 23:20:35 +01:00
Carl Eugen Hoyos
dd6abc921a vqavideo: Reinitialise the actually used partial codebook bytestream-reader.
Fixes ticket #1942.
2012-11-22 22:28:17 +01:00
Paul B Mahol
6aa6baa4f2 xmv: signal EOF
Fixes #1946.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-22 20:37:24 +00:00
Michael Niedermayer
66b45d8f7a movenc: fix assert failure caused by rounding.
Fixes Ticket1820

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 20:58:06 +01:00
Paul B Mahol
32cd3a7c16 ADPCM AFC decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-22 19:27:44 +00:00
Michael Niedermayer
08e26e7f5c id3v2: print ver/flags/len on debug level.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 19:31:04 +01:00
Stefano Sabatini
4a753fc5f7 tests: prefer ffprobe -show_entries to -show_format_entry
The latter option was deprecated.
2012-11-22 15:57:41 +01:00
Michael Niedermayer
a9cfbf6d4b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  id3v2: fix reading unsynchronized frames.
  cdgraphics: fix incorrect vertical offset mask in cdg_scroll()
  apetag: fix error handling in ff_ape_parse_tag()

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 15:36:50 +01:00
Stefano Sabatini
c8a5365dcf ffprobe: implement -sections option 2012-11-22 14:19:29 +01:00
Stefano Sabatini
196765a7cc ffprobe: implement subsection field selection through the -show_entries option 2012-11-22 14:19:25 +01:00
Anton Khirnov
9ae80e6a9c id3v2: fix reading unsynchronized frames.
Current code would incorrectly process e.g. 'ff 00 ff 00 ff' to
'ff ff ff', while it should be 'ff ff 00 ff'.

Fixes Bug 395.

CC: libav-stable@libav.org
2012-11-22 13:40:04 +01:00
Stefano Sabatini
f67ebf5b77 lavfi/avfiltergraph: improve error message in graph_check_validity()
Fix trac ticket #1944.
2012-11-22 13:14:20 +01:00
Stefano Sabatini
eb87b340e8 lavfi/drawtext: add support for printing frame numbers
Fix trac ticket #1949.
2012-11-22 13:14:19 +01:00
Tim Nicholson
dcbf72836c ffmpeg: add setting of field_order flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 05:30:43 +01:00
Michael Niedermayer
91743fb730 frwu: do not set interlacing flags.
Our fate frwu sample is definitely not interlaced.
If someone has a interlaced frwu file, please contact us.

Without this change the field order patch would cause
incorrect interlacing information to be written when
using frwu input.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 05:21:38 +01:00
Michael Niedermayer
305a935968 brender: move declaration out of for() to make old compilers happy.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 01:07:16 +01:00
Aleksi Nurmi
492a5f835c brender_pix: a new image decoder
PIX is an image file format that was used by the BRender 3d engine.

Signed-off-by: Aleksi Nurmi <aleksi.nurmi@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-22 01:06:25 +01:00
Carl Eugen Hoyos
2e08a82d5e Fix the path to the C99-to-C89 Converter & Wrapper to the only existing repository.
Ronald deleted his public c99-to-c89 repository today.
2012-11-22 00:46:14 +01:00
Stefano Sabatini
3a0f3ffe8e ffmpeg: fix weird reindent 2012-11-22 00:13:14 +01:00
Stefano Sabatini
02b4ae0427 ffmpeg: print debug_ts off and off_time values with timestamp helper routines 2012-11-22 00:13:14 +01:00
Bojan Zivkovic
e41b518555 mips: Fixing HAVE_MIPSFPU dependencies
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:57:29 +01:00
Peter Ross
bdba96e93c use correct doxygen parameter direction syntax
Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:56:15 +01:00
Peter Ross
9ccc349f77 ensure comment blocks that contain doxygen commands start with double asterix
Reveiwed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:55:15 +01:00
Piotr Bandurski
88161b2a52 siff: signal EOF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:52:20 +01:00
Piotr Bandurski
9530439e5f segafilm: signal EOF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:51:21 +01:00
Piotr Bandurski
1ed7ca00dc bethsoftvid: signal EOF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:22:38 +01:00
Piotr Bandurski
425d0888c3 bfi: signal EOF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 23:22:38 +01:00
Paul B Mahol
8e6957964e yop: fix 10l typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-21 20:15:02 +00:00
Michael Niedermayer
b93c933cd2 imgconvert-test: count the number of unused pixel format values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 20:25:30 +01:00
Michael Niedermayer
fb1bb97d87 imgconvert-test: skip pix formats without name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 20:25:30 +01:00
Stefano Sabatini
64dc383de5 ffprobe: fix typo in a comment 2012-11-21 20:17:57 +01:00
Stefano Sabatini
6ca9c74cc6 ffprobe: add "," at the end of enum list 2012-11-21 20:17:57 +01:00
Michael Niedermayer
2c5d911166 imgconvert-test: test alpha flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 20:07:34 +01:00
Michael Niedermayer
1dafbdac65 pixdesc: fix alpha flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 20:07:34 +01:00
Michael Niedermayer
c9ad2e9aa3 imgconvert: remove avg_bits_per_pixel(), its redundant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 20:07:17 +01:00
Peter Ross
0705cbd002 bink: return AVERROR_EOF upon reaching end of file
Fixes ticket #1935.

Signed-off-by: Peter Ross <pross@xvid.org>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 19:25:20 +01:00
Michael Niedermayer
60b59d657e codec_descriptors: fix typo in mpeg 2 video
Found-by: Ramiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 18:25:01 +01:00
Michael Niedermayer
ea5adf7080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flashsv: Drop unused function and struct parameters
  pcm: fix decoding of pcm_s16le_planar on big-endian

Conflicts:
	libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 18:12:13 +01:00
Michael Niedermayer
b044e81f06 Merge commit 'ae3822bca16f1cdb2460a35b16f8ef636a04314e'
* commit 'ae3822bca16f1cdb2460a35b16f8ef636a04314e':
  imgconvert: remove PixFmtInfo

Conflicts:
	libavcodec/imgconvert.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 18:03:04 +01:00
Michael Niedermayer
6ff544e473 imgconvert: fix color type for non normal pix_fmts like HW stuff and unused entries.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:44:16 +01:00
Michael Niedermayer
6adf97fe00 avcodec_get_pix_fmt_loss: remove PixFmtInfo use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:44:16 +01:00
Michael Niedermayer
fc04c99dea imgconvert: print color type too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:44:16 +01:00
Paul B Mahol
e4e7846db8 cdxl: use url_feof()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-21 16:39:44 +00:00
Michael Niedermayer
f6c4395374 imgconvert: remove PixFmtInfo use from avg_bits_per_pixel()
This fixes several inconsistencies with YUV >8bit formats caused
due to missing information in the PixFmtInfo table.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:06:11 +01:00
Michael Niedermayer
0880f26bbe avcodec_find_best_pix_fmt_of_2: favor formats with fewer components if it does not incur a loss.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:06:11 +01:00
Michael Niedermayer
649d8bd8a5 pixdesc: add av_get_padded_bits_per_pixel()
This will be needed to allow removing the PixFmtInfo table

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:05:50 +01:00
Michael Niedermayer
ad9333d5ef imgconvert-test: add avg bits per pixel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:03:31 +01:00
Michael Niedermayer
0efa240f2b is_yuv_planar: remove use of PixFmtInfo
This fixes the behavior for a few yuva 16bit formats

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:03:31 +01:00
Michael Niedermayer
be19e7e373 imgconvert: add self test code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 17:03:31 +01:00
Paul B Mahol
168a7f06de rawenc: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-21 15:34:45 +00:00
Michael Niedermayer
494945cb66 Merge commit 'd1d9efaae6c7e8466b06c30ca21c6b569dd2e480'
* commit 'd1d9efaae6c7e8466b06c30ca21c6b569dd2e480':
  avcodec: split avpicture from imgconvert
  pixdesc: add PIX_FMT_ALPHA flag

Conflicts:
	libavcodec/imgconvert.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 15:37:01 +01:00
Xi Wang
0d3123666a cdgraphics: fix incorrect vertical offset mask in cdg_scroll()
The vertical offset mask 0x07 is suspicious.

    v_off = FFMIN(data[2] & 0x07, CDG_BORDER_HEIGHT - 1);

Note that v_off is up to 11 (CDG_BORDER_HEIGHT - 1), the correct mask
should be 0x0F.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-11-21 14:35:26 +01:00
Xi Wang
b655cfefaf apetag: fix error handling in ff_ape_parse_tag()
The following error handling is broken due to signedness.

    int file_size;
    uint32_t tag_bytes;
    int64_t tag_start;
    ...
    tag_start = file_size - tag_bytes - APE_TAG_FOOTER_BYTES;
    if (tag_start < 0) { ... }

Note that tag_bytes is unsigned, which makes the right-hand side of
`tag_start = ...' unsigned, too.  The 32-bit unsigned value is then
zero-extended to 64 bits.  Therefore, tag_start must be non-negative,
and the check (tag_start < 0) is always false, which breaks the error
handling.  This patch fixes the check.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-11-21 14:35:26 +01:00
Diego Biurrun
17fecb4a59 flashsv: Drop unused function and struct parameters 2012-11-21 11:49:41 +01:00
Piotr Bandurski
4bf3bc6f96 sierravmd: signal EOF 2012-11-21 10:38:52 +00:00
Paul B Mahol
e94f429474 cafdec: return right code if EOF is reached
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-21 10:34:38 +00:00
Piotr Bandurski
25d8ebd422 thp: signal EOF 2012-11-21 10:21:54 +00:00
Piotr Bandurski
9a0ecd507a rpl: return AVERROR_EOF instead of -1 2012-11-21 09:48:46 +00:00
Clément Bœsch
030db0c1dd lavf/hls: whitespace cosmetics after 23db5418. 2012-11-21 08:01:51 +01:00
Clément Bœsch
57d7e21c34 lavf: move libmodplug registration with the other ext lib.
Also remove the duplicated #if.
2012-11-21 08:00:35 +01:00
LYF
23db5418ed hls: create an AVProgram for each variant
Without the information, application may choose audio from one variant
and video from another variant, which leads to fetch two variants from
network. This enables av_find_best_stream() to find matching audio and
video streams, so that only one variant is fetched from network.

Signed-off-by: LYF <yefei.li@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-21 01:24:01 +01:00
Stefano Sabatini
8b6aeb1fcd lavf/segment: fix value for the M3U8 EXT-X-MEDIA
From the M3U8 specification:
|The EXT-X-MEDIA-SEQUENCE tag indicates the sequence number of the first
|URI that appears in a Playlist file.

Previously it was using the list index number. Also remove now unused
list_count field.
2012-11-20 22:48:28 +01:00
Stefano Sabatini
5a1ac463e0 lavf/segment: do not pre-increment segment_idx value
Increment the value just when a new segment with the given index is
started. Simplify logic, improve readability.
2012-11-20 22:48:28 +01:00
Stefano Sabatini
2b31aa8895 lavf/segment: unbreak behavior for segment muxer
The segment muxer presumes the use of AVFMT_GLOBALHEADER, ssegment should
be use in case of formats which requires no global headers.

Regression introduced when merging
0826d8513d.
2012-11-20 22:48:28 +01:00
Stefano Sabatini
b6c05879ea lavf/segment: consistently use "seg" in segment_start() 2012-11-20 22:48:28 +01:00
Stefano Sabatini
3d52083a27 ffmpeg: rework debugging timestamp logs in process_input()
Print timestamps before and after ffmpeg timestamp postprocessing.
Help to debug how ffmpeg processes the input timestamps.
2012-11-20 22:48:28 +01:00
Clément Bœsch
cc88734c3c lavf/srtdec: trim line break event separators from packet.
The muxer add them automatically, so this avoid having a bunch of line
breaks all over the output files. One '\n' is still kept/added because
the lavc subrip decoder seems to have trouble with line ending abruptly
(it doesn't flush correctly the tags). This bug is harmless but should
be fixed; though, this doesn't look like a trivial change. When this bug
gets fixed, we can consider removing the '\n' at the end of the packet.

The 2048B buffer limit was also removed while moving to AVBPrint API.
Note that this doesn't really matter since the decoder is limited as
well.
2012-11-20 22:38:39 +01:00
Carl Eugen Hoyos
d513fb1c75 Add -skip_initial_bytes option.
Fixes ticket #1909.
2012-11-20 22:04:14 +01:00
Carl Eugen Hoyos
b1e190d0fd Correctly signal EOF when demuxing caf files. 2012-11-20 22:04:03 +01:00
Clément Bœsch
52b7823b73 swr: include stdint.h instead of inttypes.h.
stdint.h is for the [u]int*_t types, which is the only thing we need for
the prototypes. inttypes.h includes stdint.h and defines more thing we
don't need here.

Bump micro in case a user app was relying on this include for its own
code.
2012-11-20 21:53:06 +01:00
Michael Niedermayer
391f323615 rc: fix 10l typo in rc_max_available_vbv_use calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 21:11:05 +01:00
Paul B Mahol
50a9530bc4 fate: increase pcm coverage
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-20 19:29:00 +00:00
Clément Bœsch
186942a5e3 swr: fix a few typo in the public header. 2012-11-20 20:29:05 +01:00
Michael Niedermayer
156a75a459 swr-doxy: elaborate on swr_get_delay() and the timebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 20:05:08 +01:00
Michael Niedermayer
7cca237ddd swr: general doxy text about swr and example code.
Based on doxy from avr
Reviewed-by: Clément Bœsch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 19:46:08 +01:00
ChanMin Kim
4293464705 lavf/segment: do not copy codec_tag when not available
Some muxers do not allow stream if codec_tag is incompatible.

Sometimes the passed input codec's codec_tag is not compatible with the
output muxer.

Because the codec_tag field of the segment muxer cannot be set, ffmpeg.c
doesn't know how to handle these cases.

Signed-off-by: ChanMin Kim <kcm1700@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 19:19:31 +01:00
Peter Ross
6253cee497 the hyperlink to the Developer's Certificate of Origin no longer works; use Linux kernel hyperlink
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 19:19:31 +01:00
Paul B Mahol
dd59f0125d add some planar PCM encoders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-20 17:29:00 +00:00
Paul B Mahol
f17f759544 pcmdec: use memcpy() when possible for planar decoders
This is faster (at least with clang).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-20 17:28:36 +00:00
Justin Ruggles
00dd9a6d6a pcm: fix decoding of pcm_s16le_planar on big-endian
The sample count is decremented by the DECODE() macro and needs to be reset
in each loop iteration. Also, DECODE() increments the src pointer so that does
not need to be done separately.
2012-11-20 10:52:49 -05:00
Michael Niedermayer
07a866282f oggdec: fix memleak on header parsing failure
Fixes Ticket1931

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 15:14:12 +01:00
Stefano Sabatini
99a30ad56d doc/platform: replace link to site arrozcru.org with link to ffmpeg.zeranoe.com
ffmpeg.arrozcru.org is currently unmaintained, and it redirects to
ffmpeg.zeranoe.com.
2012-11-20 14:59:39 +01:00
Michael Niedermayer
6dadb0e425 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add 24-bit ALAC tests
  FATE: rename ALAC tests from alac-* to alac-16-*

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 14:35:27 +01:00
Paul B Mahol
00e02366a5 pcmenc: use ENCODE macro for pcm_s8
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-20 13:18:56 +00:00
Michael Niedermayer
2d232f8b88 pcm: revert from libavs planar code to durandals.
The libav code does not work on big endian.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 14:04:38 +01:00
Michael Niedermayer
70c0f13a9a Merge commit '7c278d2ae410a64bdd89f1777026b4b963c30a1a'
* commit '7c278d2ae410a64bdd89f1777026b4b963c30a1a':
  alacenc: support 24-bit encoding
  pcmdec: use planar sample format for pcm_s16le_planar
  vorbisdec: use float planar sample format

Conflicts:
	libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 13:34:27 +01:00
Luca Barbato
ae3822bca1 imgconvert: remove PixFmtInfo
It is pleonastic and was used in stale functions pending replacement.
2012-11-20 12:45:58 +01:00
Luca Barbato
d1d9efaae6 avcodec: split avpicture from imgconvert
All the non deprecated functions are in avpicture.c now.
2012-11-20 12:45:58 +01:00
Luca Barbato
cbe5a60c9d pixdesc: add PIX_FMT_ALPHA flag 2012-11-20 12:45:58 +01:00
Paul B Mahol
da8242e2d6 8svx: move pcm_s8_planar decoder to pcm.c
Removes limitation of max 2 channels for pcm_s8_planar decoder by moving
it to more natural place.

AV_CODEC_ID_8SVX_RAW is not used by anything anymore and is going to be
removed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-20 11:36:28 +00:00
Paul B Mahol
a5e382ad7f 4xm: return error code if decode_init() failed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-20 09:42:32 +00:00
Justin Ruggles
b353321caa FATE: add 24-bit ALAC tests 2012-11-20 00:26:46 -05:00
Justin Ruggles
7c278d2ae4 alacenc: support 24-bit encoding 2012-11-20 00:26:45 -05:00
Justin Ruggles
3e6c2a67a1 FATE: rename ALAC tests from alac-* to alac-16-*
This will distinguish ALAC 16-bit tests from ALAC tests with other bit
depths.
2012-11-20 00:26:45 -05:00
Justin Ruggles
c9d0f4506f pcmdec: use planar sample format for pcm_s16le_planar 2012-11-19 23:48:37 -05:00
Justin Ruggles
79b7747556 vorbisdec: use float planar sample format 2012-11-19 23:48:37 -05:00
Michael Niedermayer
cf5f4c5169 aacsbr: check sample_rate before using it, fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 04:04:30 +01:00
Michael Niedermayer
aed128f07d 4xmdec: fix integer overflow, null ptr dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-20 03:00:22 +01:00
Peter Ross
ed27ed9f4f iff: DEEP RLE 32-bit decoder
Fixes ticket #1046.

Signed-off-by: Peter Ross <pross@xvid.org>
2012-11-20 09:49:49 +11:00
Bojan Zivkovic
a74ae4691a mips: Optimization of AC3 FP encoder and EAC3 FP decoder
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reveiwed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 22:24:44 +01:00
Clément Bœsch
c02ae48271 swr: set default channel count options to 0.
If not set, they will be defined using the channel layout setting, which
is much more convenient when using swr_alloc() instead of
swr_alloc_set_opts().
2012-11-19 18:49:14 +01:00
Gavin Kinsey
19660a8876 Allow use of @ character in username and passwords embedded in URLs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 18:02:28 +01:00
Michael Niedermayer
ebf4750200 pthreads: increase MAX_BUFFERS due to 24c043c98e
This might fix a hypothetical memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 17:32:13 +01:00
Michael Niedermayer
c44a028e19 af_aresample: allocate at least 1 sample buffer. Fix null ptr dereference.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 15:55:54 +01:00
Piotr Bandurski
1b20877f34 vble: remove superfluous braces
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 15:36:20 +01:00
Michael Niedermayer
e6d81ce22e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: h264_intrapred: Fix C function names in comments
  x86: SPLATD: port to cpuflags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 14:24:20 +01:00
Michael Niedermayer
4116151a4b Merge commit '1c5805521c3e406886341d752ebf38f8d41e1d13'
* commit '1c5805521c3e406886341d752ebf38f8d41e1d13':
  PGS subtitles: Set AVSubtitle pts value
  configure: Refactor CPPFLAGS settings for glibc/uclibc
  configure: add basic support for ARM AArch64
  build: set -U__STRICT_ANSI__ for newlib

Conflicts:
	configure
	libavcodec/pgssubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 14:05:41 +01:00
Michael Niedermayer
fdbb6164a2 sbr: increase f_tablelim size, it appears it was too small by 1.
Prevent out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 13:09:02 +01:00
Paul B Mahol
b0d83e0dba doc/general: remove duplicate entry for ADPCM SMJPEG IMA
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-19 10:25:19 +00:00
Paul B Mahol
305fe9ae59 nut: add tag for PCM signed 8-bit planar
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-19 09:55:20 +00:00
Paul B Mahol
086e305276 doc/general: remove 8SVX audio, there is no such codec
While here add missing PCM signed 8-bit planar.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-19 09:52:32 +00:00
Paul B Mahol
0dbf297229 doc/general: move 8SVX codecs to right section
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-19 09:52:25 +00:00
Carl Eugen Hoyos
a5d4e94a97 Support iLBC in caf. 2012-11-19 10:19:50 +01:00
Michael Niedermayer
ba353436a3 h264: dont stop parsing NALs without cleanup on DPC.
Fixes a deadlock with frame threads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 04:08:11 +01:00
Piotr Bandurski
45d8537ccf vble: do not abort when version is not 1
Fixes ticket #1923.

Reviewed-by: Derek Buitenhuis
2012-11-19 01:55:51 +01:00
Michael Niedermayer
24c043c98e mpegvideo: increase MAX_PICTURE_NUMBER.
avoid abort().

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 01:38:06 +01:00
Piotr Bandurski
ade9960fc6 avrndec: support lowres for mjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 00:42:39 +01:00
Michael Niedermayer
e8fed4d331 error concealment: check that references are frames and not fields.
frames cant have field references.
Fixes a deadlock

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 23:02:46 +01:00
Michael Niedermayer
8a03a60b4a h264: Check gray scale CBP, fix out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 23:02:46 +01:00
Michael Niedermayer
27d39c225b liavfi/avcodec: allow channel layouts with fewer channels than actually available.
This fixes the regression with Ticket1726, where some audio was lost.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 22:54:18 +01:00
Paul B Mahol
0df7d95a5e pcmenc: remove dead increment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-18 21:12:25 +00:00
Paul B Mahol
6557c46d91 pcm: move i into for loop to avoid { } inside switch statement
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-18 20:45:03 +00:00
Paul B Mahol
a6f4c41a7e fate: add mjpeg-422 and mjpeg-444 tests
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-18 19:45:21 +00:00
Michael Niedermayer
36cf247e43 ff_h264_direct_ref_list_init: fix B slice check.
Fixes null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 19:10:57 +01:00
Paul B Mahol
9f02d4ed0f mjpegenc: yuvj444p support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-18 17:46:45 +00:00
Diego Biurrun
89923fce70 x86: h264_intrapred: Fix C function names in comments
Function names changed after switching to declaration with
PRED4x4/8x8/8x8L/16x16 macros in the C code.
2012-11-18 18:34:05 +01:00
John Stebbins
1c5805521c PGS subtitles: Set AVSubtitle pts value
pts should be that of the packet containing the presentation segment.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-18 18:34:05 +01:00
Diego Biurrun
87af05c575 x86: SPLATD: port to cpuflags 2012-11-18 18:34:05 +01:00
Stefano Sabatini
158763312f lavfi/frei0r: in init() check path loop, free resources in a single point 2012-11-18 16:52:46 +01:00
Stefano Sabatini
6c7ae49330 lavfi/frei0r: extend load_path() to support arbitrarily long paths 2012-11-18 16:52:46 +01:00
Michael Niedermayer
d6c184880e h264: correct ref count check and limit, fix out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 16:47:29 +01:00
Michael Niedermayer
2d5f1addbe h264: fix integer overflow, assert failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 16:47:29 +01:00
Michael Niedermayer
1a947dfa83 ff_mpeg_update_thread_context: assert context unequality
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 16:47:29 +01:00
Clément Bœsch
f48cddfe4c pp: add SSE2 deInterlaceInterpolateCubic().
2124 decicycles in deInterlaceInterpolateCubic_C, 67100774 runs, 8090 skips
458 decicycles in deInterlaceInterpolateCubic_MMX2, 67107146 runs, 1718 skips
382 decicycles in deInterlaceInterpolateCubic_SSE2, 67107086 runs, 1778 skips
2012-11-18 16:21:59 +01:00
Clément Bœsch
4e264d1c79 pp: add support for SSE2. 2012-11-18 16:21:59 +01:00
Clément Bœsch
f6be711a69 lavfi/mp/pp: use PP_CPU_CAPS_AUTO. 2012-11-18 16:21:59 +01:00
Clément Bœsch
59d686f100 pp: add auto detection cpu flag. 2012-11-18 16:21:59 +01:00
Clément Bœsch
e034b07e40 pp: add various const for pointers. 2012-11-18 16:20:09 +01:00
Nicolas George
c437c251b8 lavfi/drawtext: implement more generic expansion.
The new expansion mechanism uses the %{...} notation.
For compatibility reasons, it must be enabled explicitly,
but a warning is printed if a conflict is likely to happen.
2012-11-18 15:55:47 +01:00
Piotr Bandurski
4413a8428a iff: decode HAM8 images with masking correctly.
Fixes ticket #967.

Reviewed-by: Peter Ross
2012-11-18 15:48:22 +01:00
Michael Niedermayer
4fecc3cf09 h264: Skip odd NALs in extradata, prevent undefined behavior
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 14:26:58 +01:00
Marton Balint
4bee03034b lavf: let av_find_best_stream use bitrate info if available
I guess the user expects to see the stream with the highest bitrate, not with
the most frames, this is especially useful for multi bitrate streams.

This patch changes av_find_best_stream to select the stream based on a number
of conditions, the first condition has the highest priority, the last condition
has the lowest:

1) Select the stream with the highest FFMIN(5, codec_info_nb_frames) value
2) Select the stream with the highest bitrate
3) Select the stream with the highest codec_info_nb_frames
4) Select the first stream

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 13:57:08 +01:00
Peter Ross
05001dd7ca iff: process DEEP DLOC chunk to obtain image dimensions
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 13:47:17 +01:00
Peter Ross
d26eeb0dc1 iff: recognise more DEEP colorspaces
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 13:46:36 +01:00
Michael Niedermayer
0c79a3d9cb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: lavr: fix stack allocation for 7 and 8 channel downmixing on x86-32
  lavr: fix the decision for writing directly to the output buffer
  parisc: work around bug in gcc 4.3 and later

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 13:35:15 +01:00
Paul B Mahol
d0a503c97c ast: check bit depth too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-18 12:29:05 +00:00
Paul B Mahol
f5f29910dd img2enc: remove dead code
Nothing in lavc sets extradata for such codec and this is wrong place
for it anyway.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-18 12:09:20 +00:00
Diego Biurrun
3bd1eacd2a configure: Refactor CPPFLAGS settings for glibc/uclibc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-18 12:00:18 +00:00
Mans Rullgard
5873b623a9 configure: add basic support for ARM AArch64
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-18 12:00:18 +00:00
Mans Rullgard
8f7b814f54 build: set -U__STRICT_ANSI__ for newlib
This is (erroneously) required to enable various things in the
newlib headers.  As cygwin uses newlib, it is covered by this.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-18 12:00:17 +00:00
Carl Eugen Hoyos
ab82b77822 Fix possible NULL-pointer dereference when decoding mov files.
Fixes CID743440, introduced in 850e5c0.
2012-11-18 08:52:50 +01:00
Michael Niedermayer
dab19048a1 mjpegdec: reset h/v_count, fix assertion failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 06:00:44 +01:00
Ronald S. Bultje
7a9e65acee x86: lavr: fix stack allocation for 7 and 8 channel downmixing on x86-32
Fixes crashes on Win32 and stack overruns on x86-32 in general.
2012-11-17 20:16:04 -05:00
Justin Ruggles
02738792c5 lavr: fix the decision for writing directly to the output buffer
If there are any samples remaining in the output fifo from previous conversion
calls, we have to output those samples first instead of doing direct output
of the current samples.
2012-11-17 20:09:40 -05:00
Paul B Mahol
e3edee6d2f eamad: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-17 20:28:52 +00:00
Paul B Mahol
d98364edce smush: check audio packet size
Fixes null pointer dereference.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-17 19:58:54 +00:00
Michael Niedermayer
845724c82c vcr1: check if dimensions are supported, fix out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 20:43:56 +01:00
Michael Niedermayer
fb1ea777b3 electronicarts: check size before reading duration out of a chunk.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 20:43:56 +01:00
Paul B Mahol
461ecea068 AST demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-17 19:30:08 +00:00
Paul B Mahol
9ba41ae63e PCM signed 16-bit big-endian planar decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-17 19:30:08 +00:00
Paul B Mahol
37e2a9783f lxfdec: remove deplanarization hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-17 19:30:04 +00:00
Paul B Mahol
467dfd5dfa PCM signed 24-bit/32-bit little-endian planar decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-17 19:09:43 +00:00
Nicolas George
ee2d6fbc92 doc/texi2pod: recognize @table @command. 2012-11-17 19:47:56 +01:00
Nicolas George
29e388abcb lavfi/drawtext: use bprint for the expanded text. 2012-11-17 19:47:56 +01:00
Nicolas George
4cd74c8143 lavu/bprint: implement av_bprint_strftime(). 2012-11-17 19:47:56 +01:00
Mans Rullgard
5af530f5a9 parisc: work around bug in gcc 4.3 and later
A bug in tail call optimisation in gcc 4.3 and later on parisc causes
numerous tests to fail.  Disabling this optimisation gives a working
build.  See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55023

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-17 17:54:28 +00:00
Michael Niedermayer
f96a653184 flvdec: disable hack that attempts to parse aac bitstream in the flv demuxer.
I was unable to find a file that needs this hack, if you have one please
contact us!
Fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 18:49:08 +01:00
Michael Niedermayer
63ac64864c eamad: fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 16:27:18 +01:00
Michael Niedermayer
130dc95187 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a bink version 'b' test
  FATE: add a bink version 'i' test
  libswscale: remove unnecessary direct #if LIBSWSCALE_VERSION_MAJOR

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 13:06:12 +01:00
Michael Niedermayer
abf91f7fee Merge commit '8f5587c3d0bc4b5f075e4282215bda91a21fc12e'
* commit '8f5587c3d0bc4b5f075e4282215bda91a21fc12e':
  cpu.h: define AV_CPU_FLAG_MMX2 for libavutil major 52
  h264: Fix parameters to ff_er_add_slice() call
  h264: always check ref_count for validity

Conflicts:
	libavcodec/h264.c
	libavutil/cpu.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 12:58:00 +01:00
Nicolas George
cb8c5e531c cmdutils: free the report file name.
Fix coverity issue 743443, which was a harmless leak.
2012-11-17 12:41:22 +01:00
Nicolas George
1ba2e589cc configure: add --fatal-warnings option. 2012-11-17 12:01:17 +01:00
Nicolas George
c551c3b18b configure: warn when en/disabling has no effect.
Print a warning for --enable- or --disable-something=pattern
does not match any component.
2012-11-17 11:57:17 +01:00
Stefano Sabatini
a0f2d3fff5 lavf/avienc: return proper error codes, and provide some more feedback 2012-11-17 11:15:00 +01:00
Anton Khirnov
da5408ede9 FATE: add a bink version 'b' test 2012-11-17 08:45:47 +01:00
Anton Khirnov
108bfe4e43 FATE: add a bink version 'i' test 2012-11-17 08:45:47 +01:00
Michael Niedermayer
8ad9b48c9b xxan: check ybuf index before use.
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 04:45:56 +01:00
Michael Niedermayer
774830050a cook: check subbands more completely, fix out of array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 03:43:17 +01:00
Michael Niedermayer
84281d111c ff_mpeg4videodec_static_init: fix return type
Fixes CID743439
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 02:31:11 +01:00
Michael Niedermayer
caedd51e56 mxfdec: fix potential integer overflow in mxf_compute_sample_count()
Fixes CID743442
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 02:20:50 +01:00
Michael Niedermayer
7b723ed4c0 cpu: add a few cpu names as aliases for their cpu flags
Help to complete this list is welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 02:09:56 +01:00
Michael Niedermayer
65e57975b9 cpu: add cmov ro the table, which appears to have been forgotten
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 02:09:56 +01:00
Michael Niedermayer
31fce39942 tm2: check for invalid vlcs, fix out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-17 02:09:56 +01:00
Clément Bœsch
c6945228e8 pp: simplify postProcess(). 2012-11-16 23:13:36 +01:00
Clément Bœsch
375cd3f2ec pp: rework the way templating is done.
This refactoring simplifies the usage of the template: define the
profile and include the template is all that is required. It should now
be easier to add more instruction sets.

The HAVE_* flags are changed with TEMPLATE_PP_* setting to avoid messing
them up.

See the top comment in postprocess_template.c for details.
2012-11-16 23:13:36 +01:00
Michael Niedermayer
6535d81d87 g723_1dec: Fix lsp2lpc() so it can handle values at the ends of the table.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 21:36:44 +01:00
Michael Niedermayer
2207ea44fb ff_emulated_edge_mc: fix integer anomalies, fix out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 21:33:52 +01:00
Alexander Strasser
7750c48d30 dshow: Use NO_DSHOW_STRSAFE for all dshow header inclusions
Move the NO_DSHOW_STRSAFE macro definition in front of the dshow.h
system header inclusion.

This excludes the usage of the STRSAFE functions consistently.

Further background on this can be found in the commit message of
revision 05ee0db1 where the #define was initially introduced.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-11-16 19:26:13 +01:00
Michael Niedermayer
c2cbc80ae9 ffv1enc: consider 2pass float rounding, fix loop
Found-by: "Peter B." <pb@das-werkstatt.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 17:01:13 +01:00
Stefano Sabatini
ee6ae8355e doc/filters: fix a few typos in the frei0r docs 2012-11-16 16:52:14 +01:00
Stefano Sabatini
cb309922cb doc/ffprobe: factorize definition of writers syntax
The writers option syntax was unified.
2012-11-16 16:52:13 +01:00
Janne Grunau
80716953c2 libswscale: remove unnecessary direct #if LIBSWSCALE_VERSION_MAJOR
SWS_CPU_CAPS are deprecated and slated to removed with libswscale major
version 3. No need to provide a SWS_CPU_CAPS_MMX2 as backward
compatibility define under the same explicit condition.
2012-11-16 15:04:57 +01:00
Janne Grunau
8f5587c3d0 cpu.h: define AV_CPU_FLAG_MMX2 for libavutil major 52 2012-11-16 15:04:48 +01:00
Matthieu Bouron
83cab07a4c mxfdec: set audio packets pts
Also fix playback of ntsc files.

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 14:12:37 +01:00
Xidorn Quan
8ee6db393c mov: add more udta meta data recognition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 14:12:37 +01:00
Clément Bœsch
2dd0da787c lavf/mp3enc: make sure the header is valid before writing audio pkt.
An invalid header can lead avpriv_mpegaudio_decode_header() to overread
and/or div by zero.
2012-11-16 14:11:08 +01:00
Michael Niedermayer
ff3b59c848 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: port to cpuflags
  crc: av_crc() parameter names should match between .c, .h and doxygen
  avserver: replace av_read_packet with av_read_frame
  avserver: fix constness casting warnings

Conflicts:
	libavcodec/x86/dsputil.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 13:23:35 +01:00
Janne Grunau
e6160bda98 h264: Fix parameters to ff_er_add_slice() call
s->mb_x is reset to zero a couple of lines above. It does not make
sense to call ff_er_add_slice() with 0 as endx when the end of the
macroblock row was reached. Fixes unnecessary and counterproductive
error resilience in https://bugzilla.libav.org/show_bug.cgi?id=394.

CC: libav-stable@libav.org
2012-11-16 13:18:28 +01:00
Janne Grunau
60b6b8c019 h264: always check ref_count for validity
Fixes a crash with zuffed files.
2012-11-16 13:18:28 +01:00
Michael Niedermayer
f30cf51d46 ffserver: put NoDaemon back so as not not break existing conf files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 13:12:09 +01:00
Michael Niedermayer
3db32ec119 Merge commit 'bf5f46b4cc47b7a4568119f224057d4ff91b6cdd'
* commit 'bf5f46b4cc47b7a4568119f224057d4ff91b6cdd':
  APIChanges: add entry for av_read_packet deprecation
  mxfdec: fix typo in mxf_read_seek()
  avserver: use freopen to redirect stdin/out/err to /dev/null
  avserver: remove daemon mode
  configure: Check for -Werror parameters on clang
  doxygen: remove obsolete options from Doxyfile
  configure: Add option to disable all command line programs

Conflicts:
	Changelog
	configure
	doc/APIchanges
	doc/ffserver.conf
	doc/ffserver.texi
	ffserver.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 13:07:10 +01:00
Diego Biurrun
8c3849bc76 x86: dsputil: port to cpuflags 2012-11-16 10:38:23 +01:00
Diego Biurrun
8ff0f7763d crc: av_crc() parameter names should match between .c, .h and doxygen 2012-11-16 10:38:23 +01:00
Nicolas George
926481078b lavu/opt: fix av_opt_get_key_value() API.
Do not skip the end delimiter.
Reserve positive return values.
This is an API break, but the function was introduced less than
two weeks ago.
2012-11-16 10:36:45 +01:00
Nicolas George
468781f828 doc/APIchanges: clarify comment on new APIs. 2012-11-16 10:36:45 +01:00
Michael Niedermayer
68def00a63 rv34: check image size before using it
fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 05:16:34 +01:00
Michael Niedermayer
7845f8d282 vc1dec: do not allow field_mode to change after the first header
Fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 04:58:46 +01:00
Clément Bœsch
8f42b09604 swr/resample: fix SSSE3 included unconditionally.
10l Regression since 8ea88339.
2012-11-15 23:52:44 +01:00
Clément Bœsch
5cd567cfb4 pp: fix typo in avg() comment. 2012-11-15 21:54:18 +01:00
Clément Bœsch
4c0aece192 pp: use av_clip_uint8 instead of a custom implementation. 2012-11-15 21:54:13 +01:00
Clément Bœsch
c4f317e7fe pp: fix a few typo in the internal header. 2012-11-15 21:54:07 +01:00
Clément Bœsch
b3bf9b1d97 lavfi/geq: fix GPL license header.
100l: original code is GPL, header miscopied. LICENSE file and configure
dependency are fine.
2012-11-15 21:48:39 +01:00
Clément Bœsch
5e68bf9b92 swr/rematrix: move templating parameters to template itself. 2012-11-15 21:24:49 +01:00
Clément Bœsch
8ea8833979 swr/resample: move templating parameters to template itself.
It has various benefits such as allowing some refactoring, clarifying
the code in the inclusion part, and making the template understandable
in standalone.

This commit is based on the templating method used by Justin Ruggles for
libavresample.
2012-11-15 21:24:49 +01:00
Michael Niedermayer
e31b1938ac zmbv: avoid use of uninitialized data
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 20:58:36 +01:00
Michael Niedermayer
c2409a7c5b vmdav: more complete check for block_align, prevent out of array access.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 20:58:36 +01:00
Michael Niedermayer
ea3eaa37b1 flashsv: only realloc blocks for version 2
Fixes 10l regression introducing a memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 20:58:35 +01:00
Janne Grunau
566de8cde2 avserver: replace av_read_packet with av_read_frame 2012-11-15 18:04:53 +01:00
Janne Grunau
39c4afd926 avserver: fix constness casting warnings
Use a different char* for extracting info string from the URL. The
other pointer can be made const then which elimates the need for a
cast and fixes the following warnings:
warning: to be safe all intermediate pointers in cast from ‘char **’ to
‘const char **’ must be ‘const’ qualified [-Wcast-qual]
2012-11-15 18:04:53 +01:00
Janne Grunau
bf5f46b4cc APIChanges: add entry for av_read_packet deprecation 2012-11-15 17:49:53 +01:00
Janne Grunau
c84cce5a99 mxfdec: fix typo in mxf_read_seek()
Check the number of index tables before using byte offset based seeking
instead of the index_tables pointer.

Found by Måns Rullgård <mans@mansr.com>.
2012-11-15 17:37:09 +01:00
Janne Grunau
a4cd2ad89a avserver: use freopen to redirect stdin/out/err to /dev/null 2012-11-15 17:36:38 +01:00
Mans Rullgard
ada51a334a avserver: remove daemon mode
This code spews a multitude of warnings with glibc (unchecked
return values), some of them possibly warranted.  Furthermore,
the deamonisation is not suitable for use with typical startup
scripts as it does not provide the PID of the daemon in any way.
Users wishing to run avserver as a daemon can still do so using
start-stop-daemon or equivalent tools.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-11-15 17:36:14 +01:00
Martin Storsjö
9eded0fe41 configure: Check for -Werror parameters on clang
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-15 18:22:03 +02:00
Janne Grunau
116ae7285e doxygen: remove obsolete options from Doxyfile
The options USE_INLINE_TREES, SHOW_DIRECTORIES and HTML_ALIGN_MEMBERS
became obsolete with doxygen 1.8.1 (releaded 2012-05-19). The generated
outpu for older doxygen versions should not change since they were set
to the default value.
2012-11-15 17:18:37 +01:00
Paul B Mahol
eca2eb2dfa pcm: give more descriptive name to codec
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-15 16:04:35 +00:00
Michael Niedermayer
c0d68be555 pgssubdec: check RLE size before copying. Fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 16:46:51 +01:00
Michael Niedermayer
bc08ca841e flashsv: reallocate block array independant of frame type.
Fixes NULL pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 16:46:42 +01:00
Carl Eugen Hoyos
850e5c041d Read QuickTime version 1 audio fields in broken mov files.
Matrox XMIO capture boards write files with major brand "JUNK"
and compatible brand "qt  " that contain QuickTime version 1
audio fields.

Fixes ticket #1881.
2012-11-15 14:38:19 +01:00
Michael Niedermayer
d53f447130 swr: move if() block into the only branch where it can be true.
This should make the code a tiny tiny bit faster.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 12:33:40 +01:00
Michael Niedermayer
17da2d9eee swr: reorder/redesign operations to avoid integer overflow.
This fixes a out of array read.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 12:33:40 +01:00
Clément Bœsch
0e482a8e49 ffserver: fix streams and priv_data memleaks when closing a connection. 2012-11-15 11:52:44 +01:00
Michael Niedermayer
a9b1536a01 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  bgmc: Fix av_malloc checks in ff_bgmc_init()
  rtp: set the payload type as stream id

Conflicts:
	libavformat/rtpenc_chain.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 11:31:13 +01:00
Michael Niedermayer
4d941eac16 Merge commit '3b4296f41473a5b39e84d7a49d480624c9c60040'
* commit '3b4296f41473a5b39e84d7a49d480624c9c60040':
  avformat: clarify stream id for muxing
  fate: Add dependencies for aac, alac, amrnb, amrwb, atrac tests
  ppc: do not pass redundant compiler flags
  avutil: change GET_UTF8 to not use av_log2()
  segment: fix NULL pointer dereference in seg_write_header()

Conflicts:
	tests/fate/aac.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 11:12:25 +01:00
Michael Niedermayer
62006b539d ituh263dec: more complete w/h check.
Fixes a division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 02:44:03 +01:00
Michael Niedermayer
caa2fa2c69 rv10: always check image size not just in some cases.
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 02:17:26 +01:00
Michael Niedermayer
a3cb7f992f xwma: check bytes_per_sample, fix division by 0.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 00:56:54 +01:00
Michael Niedermayer
12eb2fd539 dxa: dont try to use the previous frame if there is none.
Fixes null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-15 00:43:30 +01:00
Michael Niedermayer
e70144cba1 bink: check quant_index, fix out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 23:54:00 +01:00
Diego Biurrun
e28b7553ae configure: Add option to disable all command line programs 2012-11-14 23:03:36 +01:00
Xi Wang
b74dbdd5e9 bgmc: Fix av_malloc checks in ff_bgmc_init()
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-14 23:03:36 +01:00
Michael Niedermayer
612ecfbbbb gifdec: check ff_lzw_decode_init() return value, fix out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 23:00:11 +01:00
Michael Niedermayer
50f0a6b4e6 wmaprodec: check num_sfb for validity. Fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 21:15:08 +01:00
Luca Barbato
3b4296f414 avformat: clarify stream id for muxing 2012-11-14 20:38:51 +01:00
Luca Barbato
8034130e06 rtp: set the payload type as stream id
Support multiple video/audio streams with different format in the
same session.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-11-14 20:38:51 +01:00
Michael Niedermayer
30bce34b67 vpriv_adx_decode_header: avoid underreading the array.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 19:16:08 +01:00
Michael Niedermayer
ab8517b891 vc1dec: require a minimum of 2x2 for the edge pos. Avoid assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 19:16:08 +01:00
Paul B Mahol
dbc44667ce Add missing dependency for avr demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-14 18:02:28 +00:00
Michael Niedermayer
ccce723c6d vc1dec: check first field slices, fix out of array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 17:35:01 +01:00
Diego Biurrun
a3138ebfa8 fate: Add dependencies for aac, alac, amrnb, amrwb, atrac tests 2012-11-14 15:09:59 +01:00
Mans Rullgard
7f1fcaf0e6 ppc: do not pass redundant compiler flags
The -mpowerpc64 and -mpowerpc-gfxopt flags are implicitly set by
-mcpu as needed.  Passing them explicitly is redundant and can
conflict with user-supplied flags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-14 13:50:43 +00:00
Mans Rullgard
7ba0c1b390 avutil: change GET_UTF8 to not use av_log2()
This removes an inter-library dependency on ff_log2_tab causing
linking errors in some configurations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-14 13:50:42 +00:00
Michael Niedermayer
87d073eacc mov: Dont try to calculate with unknown durations, fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 14:08:44 +01:00
Michael Niedermayer
a1b5c9634e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: mmx2 ---> mmxext in asm constructs

Conflicts:
	libavcodec/x86/h264_chromamc_10bit.asm
	libavcodec/x86/h264_deblock.asm
	libavcodec/x86/h264dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 12:34:30 +01:00
Michael Niedermayer
b0c543b1de Merge commit 'da39cac8def7ea73cad2fa2b611209663c7abe2c'
Not merged, its not broken

* commit 'da39cac8def7ea73cad2fa2b611209663c7abe2c':
  Drop broken and unused CABAC test program.

Conflicts:
	libavcodec/Makefile
	libavcodec/cabac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 12:31:28 +01:00
Michael Niedermayer
d4e74d5d6d Remove deprecation of avcodec_get_chroma_sub_sample.
Add explanations what the difference between the 2 functions are and
when either should be used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 12:04:39 +01:00
Michael Niedermayer
e13d5e9a4b Merge commit '5e9c6ef8f3beb9ed7b271654a82349ac90fe43f2'
* commit '5e9c6ef8f3beb9ed7b271654a82349ac90fe43f2':
  x86: h264_weight_10bit: port to cpuflags
  libtheoraenc: add missing pixdesc.h header
  avcodec: remove ff_is_hwaccel_pix_fmt
  pixdesc: add av_pix_fmt_get_chroma_sub_sample
  hlsenc: stand alone hls segmenter

Conflicts:
	doc/muxers.texi
	libavcodec/ffv1enc.c
	libavcodec/imgconvert.c
	libavcodec/mpegvideo_enc.c
	libavcodec/tiffenc.c
	libavformat/Makefile
	libavformat/allformats.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 11:59:20 +01:00
Xi Wang
e8769b37fe segment: fix NULL pointer dereference in seg_write_header()
Since the pointer `oc' is NULL, oc->oformat->name will cause a null
pointer dereference.  This patch changes it to seg->oformat->name.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-14 12:33:27 +02:00
Clément Bœsch
26afdbcfc0 ffserver: fix NULL dereference with quoted Stream name. 2012-11-14 10:09:57 +01:00
Clément Bœsch
a9ba9268d7 ffserver: prefer av_asprintf over malloc+snprintf for Launch setting. 2012-11-14 10:09:51 +01:00
Michael Niedermayer
66ff90f4a3 8bps: check index against buffer size before reading line length pointer.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 03:34:01 +01:00
Michael Niedermayer
7acee6654c mpeg12data: increase size of ff_mpeg1_default_intra_matrix to prevent harmless overreads from crashing
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 03:17:52 +01:00
Michael Niedermayer
e1631f8ebe aasc: check before reading the first 4 byte, fix overread
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 03:03:35 +01:00
Michael Niedermayer
39c5cd601e vmnc: check input size before reading chunk header, fix overread
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 02:51:38 +01:00
Michael Niedermayer
b61658829b Merge remote-tracking branch 'lippit/master'
* lippit/master:
  Update iec61883 to handle multiple devices, and allow selection of DV device by its GUID

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 02:24:17 +01:00
Michael Niedermayer
9f088712d4 ffmpeg: fix double ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 02:06:50 +01:00
Michael Niedermayer
9406d6be55 ffmpeg: fix audio timestamps on stream copy with -ss
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 01:42:33 +01:00
Diego Biurrun
26301caaa1 x86: mmx2 ---> mmxext in asm constructs 2012-11-14 00:58:51 +01:00
Diego Biurrun
da39cac8de Drop broken and unused CABAC test program. 2012-11-14 00:36:17 +01:00
Michael Niedermayer
2f74f8d7dc imc: sanity check scalefactors.
This fixes undefined behavior

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 00:03:42 +01:00
Michael Niedermayer
1f1960519a lxfdec: fix "no audio stream" check. avoid null ptrs deref
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-14 00:03:42 +01:00
Stefano Sabatini
334a0d15c6 lavfi/frei0r: add additional trailing slash in FREI0R_PATH paths
Allow to accept paths with no ending trailing slash.

Based on a patch by rogerdpack <rogerpack2005@gmail.com>.
2012-11-13 22:54:29 +01:00
Stefano Sabatini
9a2028d4f4 lavfi/frei0r: correctly handle paths longer than 1023 chars 2012-11-13 22:41:01 +01:00
Michael Niedermayer
af9ec3dd1d av_probe_input_format3: support NULL as buffer. Fixes null ptr deref
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 22:21:10 +01:00
Michael Niedermayer
001af703c6 alac: check channel count more completely, fix out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 22:08:09 +01:00
Michael Niedermayer
b119133136 avrndec: calculate true_height only when used.
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 22:03:21 +01:00
Michael Niedermayer
7373b3ad04 pcmdec: consistently use codec_id, fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 21:45:53 +01:00
Michael Niedermayer
eab022d863 mpegts: prevent freeing ones own section in pat_cb
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 21:45:53 +01:00
Michael Niedermayer
4392e69ad4 mov: check stps correctly, avoid overreading 1 element.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 21:45:53 +01:00
Michael Niedermayer
3669915e93 dvdec: check ipcm more completely, avoid assert failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 21:45:53 +01:00
Clément Bœsch
41ebbb3b04 lavf/wtvenc: fix s[tp]_pairs memleak. 2012-11-13 20:02:43 +01:00
Georg Lippitsch
15b02ddee0 Update iec61883 to handle multiple devices, and allow
selection of DV device by its GUID
2012-11-13 19:44:21 +01:00
Michael Niedermayer
7c76eaeca2 mpeg4video_parser: init static tables before use, fix nulll ptr deref
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 19:21:59 +01:00
Michael Niedermayer
1bd024ec77 mpeg4videodec: split static decoder table init out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 19:20:59 +01:00
Diego Biurrun
5e9c6ef8f3 x86: h264_weight_10bit: port to cpuflags 2012-11-13 19:07:09 +01:00
Michael Niedermayer
c74cd99986 rv10: consider B frames in low delay streams invalid.
Fix assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 18:00:00 +01:00
Luca Barbato
83f9ed42ec libtheoraenc: add missing pixdesc.h header
Was left out from c1a02e884a.
2012-11-13 17:42:13 +01:00
Michael Niedermayer
a0212ecf84 dcadec: check layout & channel count for consistency.
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 17:33:38 +01:00
Luca Barbato
cc085993f4 avcodec: remove ff_is_hwaccel_pix_fmt
It is used only in one place and is unlikely it would be needed
elsewhere.
2012-11-13 16:21:47 +01:00
Luca Barbato
c1a02e884a pixdesc: add av_pix_fmt_get_chroma_sub_sample
Deprecate avcodec_get_chroma_sub_sample.
2012-11-13 16:14:55 +01:00
Michael Niedermayer
4facddd568 mpegts: dont set stream info when a decoder has already been opened.
Fixes assertion failure.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 15:44:13 +01:00
Michael Niedermayer
327cd0d09b mpegts: prevent freeing ones own section in pmt_cb
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 15:44:13 +01:00
Paul B Mahol
09a0392341 paf: set channel layout
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:25:19 +00:00
Paul B Mahol
1acd2f6ba7 Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
Also remove it in once case when it is not needed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-13 13:21:21 +00:00
Michael Niedermayer
e97a24109c avcodec.h: update audioconvert.h header after rename
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 13:30:52 +01:00
Stefano Sabatini
7945665200 lavfi: store and propagate number of channels information in audio buffer properties
The channels field is required since the channel layout is not always
available.
2012-11-13 12:15:27 +01:00
Stefano Sabatini
9d2a7c0481 doc/encoders: document libtheora encoder 2012-11-13 12:15:23 +01:00
Stefano Sabatini
8cb76ef275 lavc/libtheoraenc: return proper error codes 2012-11-13 11:37:48 +01:00
Michael Niedermayer
799d749c77 Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits)
  yop: set channel layout
  wtv: set channel layout for mpeg audio
  westwood_aud: set channel layout
  wc3movie: set channel layout
  tmv: set channel layout
  tiertexseq: set channel layout
  swfdec: set channel layout
  sol: set channel layout
  smacker: set channel layout
  siff: set channel layout
  sierravmd: set channel layout
  rtpdec_amr: set channel layout
  rsodec: set channel layout
  rmdec: set channel layout for RA version 3
  qcp: set channel layout
  psxstr: set channel layout
  omadec: set channel layout
  oggparsespeex: validate channel count and set channel layout
  nuv: set channel layout
  mxg: set channel layout
  ...

Conflicts:
	libavformat/swfdec.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 11:09:38 +01:00
Michael Niedermayer
7eb40d85f2 Merge commit 'ef1b23ad21e3f12fc4ff2a73a6d4d4cd9d630c4b'
* commit 'ef1b23ad21e3f12fc4ff2a73a6d4d4cd9d630c4b': (21 commits)
  jvdec: set channel layout
  iss: set channel layout
  ipmovie: set channel layout
  iff: set channel layout
  idroqdec: set channel layout
  gxfdec: set channel layout when applicable
  gsmdec: set channel layout
  flvdec: set channel layout
  dv: set channel layout
  dsicin: set channel layout
  daud: set channel layout
  cdxl: set channel layout
  bmv: set channel layout
  bink: set channel layout
  bfi: set channel layout
  bethsoftvid: set channel layout
  apc: set channel layout
  amr: set channel_layout
  ppc: replace pointer casting with AV_COPY32
  ppc: fix some unused variable warnings
  ...

Conflicts:
	libavformat/amr.c
	libavformat/iff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 10:55:07 +01:00
Michael Niedermayer
a8f2420e06 remove tests/asynth1.sw
This file appears to have been commited by 100l mistake.

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 10:36:25 +01:00
Clément Bœsch
f6f52936be fate/avfilter: honor GPL dependency. 2012-11-13 09:16:26 +01:00
Luca Barbato
22a0827dff hlsenc: stand alone hls segmenter
Simplifies usage but has higher latency.
2012-11-13 01:37:05 +01:00
Michael Niedermayer
d8a1eb11b7 wavpack: check the blocks sample count, fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 01:13:07 +01:00
Michael Niedermayer
580021cfc4 wavpack: check ch_offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 01:11:59 +01:00
Michael Niedermayer
e9cb533fbb flashv: check if keyframe is available, fix null deref.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 00:22:24 +01:00
Michael Niedermayer
4b2f696d6e flashv: use avcodec_set_dimensions()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 00:21:45 +01:00
Michael Niedermayer
0a373c31cb svq1dec: dont export the qscale table.
SVQ1 has no qscales so the table is of no use, and it triggers a bug as
SVQ1 does not maintain the size of the table properly causing a crash.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 23:01:42 +01:00
Michael Niedermayer
7ab690bf5f indeo4: more complete check for the scan vs block sizes.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 23:01:42 +01:00
Clément Bœsch
7581ad24a9 lavc/aac: fix shared build failures with MSVC.
This is a workaround until a better solution is found.
2012-11-12 22:28:57 +01:00
Michael Niedermayer
0e239b22db xan: check size_segment before reading, fixes out of array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 20:50:13 +01:00
Michael Niedermayer
a9456c7c5c mjpegdec: tighten unescaped_buf_size size check, prevent null ptr deref
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 20:27:57 +01:00
Michael Niedermayer
abe68364a3 swfdec: check space before copy
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 19:29:27 +01:00
Michael Niedermayer
d1493d2ce5 theora: check that pix fmt is valid, fix null ptr deref
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 18:12:17 +01:00
Michael Niedermayer
9eef41b848 lagarith: always allocate for 4 planes. Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 18:05:08 +01:00
Paul B Mahol
87c113f4b3 wv: use right function to read block_samples
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-12 15:50:04 +00:00
Justin Ruggles
b9629acb6b yop: set channel layout 2012-11-12 10:33:23 -05:00
Justin Ruggles
935fbb66ef wtv: set channel layout for mpeg audio 2012-11-12 10:33:23 -05:00
Justin Ruggles
7b48d93e8a westwood_aud: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
2ce7f820d4 wc3movie: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
a94b0267f2 tmv: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
7f348bd764 tiertexseq: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
a3949fe11f swfdec: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
1c7587728c sol: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
bfccd76adb smacker: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
57e590e4b8 siff: set channel layout 2012-11-12 10:33:22 -05:00
Justin Ruggles
a634896cf8 sierravmd: set channel layout 2012-11-12 10:33:21 -05:00
Justin Ruggles
c1ac602d53 rtpdec_amr: set channel layout 2012-11-12 10:33:21 -05:00
Justin Ruggles
ce842029ce rsodec: set channel layout 2012-11-12 10:33:21 -05:00
Justin Ruggles
60a585304c rmdec: set channel layout for RA version 3 2012-11-12 10:33:21 -05:00
Justin Ruggles
444b79c18a qcp: set channel layout 2012-11-12 10:33:21 -05:00
Justin Ruggles
b5e3e77711 psxstr: set channel layout 2012-11-12 10:33:21 -05:00
Justin Ruggles
c9759eb426 omadec: set channel layout 2012-11-12 10:33:21 -05:00
Justin Ruggles
ef1b23ad21 jvdec: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
d4088efbe2 oggparsespeex: validate channel count and set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
4371131283 iss: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
232e9c4c4b nuv: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
cc57228e31 mxg: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
66d7ceb4aa mvi: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
f6c6e5aac1 mpc7: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
f24b0b1b6c mmf: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
87199d34db mm: set channel layout 2012-11-12 10:33:20 -05:00
Justin Ruggles
41a2d9590d ipmovie: set channel layout 2012-11-12 10:33:19 -05:00
Justin Ruggles
024e03701c iff: set channel layout 2012-11-12 10:33:19 -05:00
Justin Ruggles
73e2007f3d idroqdec: set channel layout 2012-11-12 10:33:19 -05:00
Justin Ruggles
f6c3adde41 gxfdec: set channel layout when applicable 2012-11-12 10:33:19 -05:00
Justin Ruggles
d4a105ae5c gsmdec: set channel layout 2012-11-12 10:33:19 -05:00
Justin Ruggles
644d8d2e5a flvdec: set channel layout 2012-11-12 10:33:19 -05:00
Justin Ruggles
d5ca70b103 dv: set channel layout 2012-11-12 10:33:19 -05:00
Justin Ruggles
49e7af06f2 dsicin: set channel layout 2012-11-12 10:33:19 -05:00
Justin Ruggles
a05a63785c daud: set channel layout
Update FATE reference due to WAVE channel mask now being set correctly.
2012-11-12 10:33:18 -05:00
Justin Ruggles
0d09a5848f cdxl: set channel layout 2012-11-12 10:33:18 -05:00
Justin Ruggles
e8088d6e4b bmv: set channel layout 2012-11-12 10:33:18 -05:00
Justin Ruggles
2fe804f316 bink: set channel layout 2012-11-12 10:33:18 -05:00
Justin Ruggles
ff50d27a63 bfi: set channel layout 2012-11-12 10:33:18 -05:00
Justin Ruggles
b5d1a15d1b bethsoftvid: set channel layout 2012-11-12 10:33:18 -05:00
Justin Ruggles
39f0e9b8c6 apc: set channel layout 2012-11-12 10:33:18 -05:00
Justin Ruggles
5595368bcc amr: set channel_layout 2012-11-12 10:33:18 -05:00
Michael Niedermayer
c433823750 4xmdec: test version for cfrms, fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 14:56:33 +01:00
Michael Niedermayer
be818df547 wavpack: fix out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 14:43:05 +01:00
Paul B Mahol
0cbb31a264 adpcm: reindent after previous commit
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-12 11:46:22 +00:00
Paul B Mahol
e8a9b1a1a0 adpcm: ADPCM IMA SMJPEG stereo decoding
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-12 11:46:22 +00:00
Paul B Mahol
0baec57d09 anm: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-12 11:46:12 +00:00
Michael Niedermayer
4d60e5051e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  binkaudio: set channel layout

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 12:18:58 +01:00
Michael Niedermayer
8c0a14d221 Merge commit '2b479bcab0a8365a7c094c5fa44b8cb6da9810d0'
These patches have not been merged at the request of Carl

* commit '2b479bcab0a8365a7c094c5fa44b8cb6da9810d0':
  build: Drop AVX assembly ifdefs
  x86: Require an assembler able to cope with AVX instructions

Conflicts:
	libavcodec/x86/fft.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 12:18:26 +01:00
Michael Niedermayer
03b078721c Merge commit '97bf7c03b1338a867da52c159a2afecbdedcfa88'
* commit '97bf7c03b1338a867da52c159a2afecbdedcfa88':
  doc: git-howto: Leave reviewers time to react before pushing patches
  Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
  lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/git-howto.texi
	ffmpeg_filter.c
	libavcodec/flacdec.c
	libavcodec/imc.c
	libavcodec/mpegaudiodec.c
	libavcodec/utils.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffer.c
	libavutil/Makefile
	libavutil/audioconvert.h
	libavutil/channel_layout.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 11:32:11 +01:00
Mans Rullgard
a384f6a7f7 ppc: replace pointer casting with AV_COPY32
This removes warnings about strict aliasing violations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-12 10:31:31 +00:00
Mans Rullgard
031aac9861 ppc: fix some unused variable warnings
The third argument of OP_U8_ALTIVEC is evaluated at most once so
there is no need for a potentially unused temporary variable.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-12 10:31:31 +00:00
Mans Rullgard
9eda2a85c6 configure: remove support for -n flag in print_enabled()
This flag is no longer used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-12 10:30:02 +00:00
Michael Niedermayer
da501ea857 Merge commit '802713c4e7b41bc2deed754d78649945c3442063'
* commit '802713c4e7b41bc2deed754d78649945c3442063':
  mss2: prevent potential uninitialized reads
  mss2: reindent after last commit
  mss2: fix handling of unmasked implicit WMV9 rectangles
  configure: add lavu dependency to lavr/lavfi .pc files
  x86inc: Set program_name outside of x86inc.asm

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 10:57:06 +01:00
Justin Ruggles
faf340f60c binkaudio: set channel layout 2012-11-12 00:41:02 -05:00
Michael Niedermayer
3a04c18d89 vc1dec: prevent null ptr dereferences.
The added checks are in line with existing checks but should
probably be replaced by more advanced error concealment at some
point.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 01:43:12 +01:00
Michael Niedermayer
8e749733c1 vc1dec: factorize srcU/V offseting out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 01:43:12 +01:00
Michael Niedermayer
b5f4836f8c vc1: check image height, fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 01:43:12 +01:00
Michael Niedermayer
8824a9ed22 mpeg12: clean current picture ptr.
This avoids having a stray pointer left that may not represent the current picture
and state.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-12 01:43:11 +01:00
Clément Bœsch
3a7f00810c lavfi: remove mp=geq filter.
Native geq video filter is now available.
2012-11-11 23:18:12 +01:00
Clément Bœsch
8eecbaf5e4 lavfi: add geq filter. 2012-11-11 23:12:54 +01:00
Clément Bœsch
3704804c8f lavf/assenc: add non strict ts flag.
ASS can have several events at the same time.
2012-11-11 22:58:56 +01:00
Clément Bœsch
2b3597f0d1 lavfi: remove mp=fixpts filter.
lavfi/f_setpts.c should allow everything mp=fixpts supports, with a lot
of additional control.
2012-11-11 22:49:53 +01:00
Clément Bœsch
84aed3faf0 lavfi: remove mp=tile filter.
The native tile video filter is now feature equivalent.
2012-11-11 22:43:18 +01:00
Clément Bœsch
a8afb0830e fate/lavfi: increase vf tile coverage. 2012-11-11 22:43:18 +01:00
Clément Bœsch
11ed12c256 doc/filters: complete tile documentation. 2012-11-11 22:43:18 +01:00
Clément Bœsch
7582012058 lavfi/tile: extend shorthand parameters.
This makes the syntax similar to mp=tile.
2012-11-11 22:43:18 +01:00
Clément Bœsch
4a90e7124d lavfi/tile: add nb_frames option. 2012-11-11 22:43:18 +01:00
Clément Bœsch
ecfaff350f lavfi/tile: add margin and padding options. 2012-11-11 22:43:17 +01:00
Clément Bœsch
aa5a029091 lavfi/tile: allow named arguments. 2012-11-11 22:43:17 +01:00
Michael Niedermayer
5aedee4fac gxf: avoid null ptr deref without streams.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 20:58:04 +01:00
Michael Niedermayer
c871244306 proresdec: check input size before reading qmats, prevent overreading.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 20:52:01 +01:00
Diego Biurrun
2b479bcab0 build: Drop AVX assembly ifdefs
An assembler able to cope with AVX instructions is now required.
2012-11-11 20:43:28 +01:00
Diego Biurrun
97bf7c03b1 doc: git-howto: Leave reviewers time to react before pushing patches 2012-11-11 20:43:28 +01:00
Diego Biurrun
b8e8a07c6c x86: Require an assembler able to cope with AVX instructions
All modern assemblers have this capability.  Older NASM versions
that lack the capability produce code that crashes at runtime,
so it's better to error out during the build process instead.

CC: libav-stable@libav.org
2012-11-11 20:43:28 +01:00
Michael Niedermayer
7faa17764a dsicinav: update bitmap_frame_size, avoid out of array reads.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 19:47:01 +01:00
Justin Ruggles
a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Justin Ruggles
5980f5dd18 lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h 2012-11-11 13:35:12 -05:00
Michael Niedermayer
26452e24ed snow: fix edge emu switch
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 19:02:31 +01:00
Michael Niedermayer
b7b7e2348c msmpeg4dec: check w/h, prevent assert failure later
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 18:46:22 +01:00
Michael Niedermayer
192db16b9c segafilm: fix division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 18:32:46 +01:00
Michael Niedermayer
f1d6f013b2 omadec: fix len check in nprobe() prevent out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 18:16:48 +01:00
Michael Niedermayer
44c23aa1b8 zmbvdec: check decompression buffer size.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 18:09:11 +01:00
Michael Niedermayer
3ba58433e1 diracdec: check wavelet depth, prevent out of array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 17:20:36 +01:00
Michael Niedermayer
8c4145343d libvorbisdec: dont try to update an empty que
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 16:43:53 +01:00
Michael Niedermayer
0a4087b893 diracdec: Use only one frame per reference
Prevents null ptr dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 16:43:53 +01:00
Alberto Delmás
802713c4e7 mss2: prevent potential uninitialized reads
The alternative to zeroing on init is setting the corrupted flag in
all cases where pal_pic is not fully written, at the cost of added
complexity.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-11-11 16:07:50 +01:00
Kostya Shishkov
6d93308c0c mss2: reindent after last commit 2012-11-11 16:07:42 +01:00
Alberto Delmás
b077eb0780 mss2: fix handling of unmasked implicit WMV9 rectangles
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-11-11 16:07:36 +01:00
Anton Khirnov
e5e1a06e44 configure: add lavu dependency to lavr/lavfi .pc files 2012-11-11 15:45:18 +01:00
Stefano Sabatini
c0aff4064d doc/Makefile: generate library headers with the correct section number 2012-11-11 14:06:27 +01:00
Peter Ross
6f78ba8b0b electronic arts: support rare samples containing adpcm_ea_r1 audio
Fixes ticket #1549.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 12:52:02 +01:00
Peter Ross
d168fcb68f electronicarts: use av_log_ask_for_sample
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 12:51:16 +01:00
Michael Niedermayer
039f4ff4c2 h264: 2nd try at getting sm2v working
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 12:50:03 +01:00
Michael Niedermayer
def8588fb5 dwt_yasm/vertical_compose: fix width witdth argument.
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 12:41:35 +01:00
Michael Niedermayer
bec37935ec Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: h264_qpel_10bit: drop unused parameter from MC10/MC20/MC30 macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 12:18:05 +01:00
Stefano Sabatini
514910fb2d doc: add libavfilter.texi
With some re-wording by Alexander Strasser <eclipse7@gmx.net>.
2012-11-11 11:15:53 +01:00
Stefano Sabatini
598546e1df doc: add libavutil.texi
With some fixes and better wording by Alexander Strasser
<eclipse7@gmx.net>.
2012-11-11 11:15:53 +01:00
Diego Biurrun
f0d124f005 x86inc: Set program_name outside of x86inc.asm
This reduces the local difference to the x264 upstream version.
2012-11-11 11:06:19 +01:00
Paul B Mahol
c1947015b2 smackaud: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-11 10:05:20 +00:00
Paul B Mahol
2a374f06c4 targa: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-11 09:44:36 +00:00
Michael Niedermayer
7dab48bb73 diracdec: allocate enough space for blocks
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 04:01:39 +01:00
Michael Niedermayer
dca2fa10d3 diracdec: fix edge emulation check, fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 03:34:40 +01:00
Michael Niedermayer
991f6bf93d h264: Support SMV2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 02:51:23 +01:00
Michael Niedermayer
a39d36146a h264_refs: Print default in case we are missing a reference.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 02:51:23 +01:00
Michael Niedermayer
d7da4d47a6 mxfdec: avoid double free and leaks.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 02:20:04 +01:00
Michael Niedermayer
c2ca0163af matroskadec: check h in generic rm packet shuffler
Fixes crash

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 01:19:44 +01:00
Michael Niedermayer
1f41cffe1e mjpegdec: check SE.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-11 01:19:44 +01:00
Clément Bœsch
e56b098410 lavf/srtenc: ignore invalid timed packets instead of failing.
This way we don't abort in the middle of remuxing, just warn about an
event ignored. The index increment is moved to make sure the output
numbers still make sense.
2012-11-10 22:43:27 +01:00
Michael Niedermayer
a1e093a6fb alac: fix bps check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 21:54:30 +01:00
Michael Niedermayer
47ca2487ae lavfi/avcodec: check that injected avframes use a supported channel layout
This fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 21:45:34 +01:00
Michael Niedermayer
a150bad406 lavfi/avcodec: check avfilter_copy_frame_props() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 21:37:40 +01:00
Nedeljko Babic
304a1ed1e8 mips: Add dependencies on HAVE_INLINE_ASM
Add dependencies on HAVE_INLINE_ASM for files and parts of code
 where it is necessary.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Reviewed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 19:55:54 +01:00
Michael Niedermayer
2d71f31df2 lag_read_prob_header: fix out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 19:39:05 +01:00
Michael Niedermayer
b53f89710b alac: Check channel indexes more completely, fix out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 18:22:47 +01:00
Michael Niedermayer
3920d13878 alac: fix integer overflow leading to subsequent out of array accesses.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 17:42:35 +01:00
Michael Niedermayer
fd4f4923cc alac: fix nb_samples < order case
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 17:14:04 +01:00
Diego Biurrun
6cd796049d x86: h264_qpel_10bit: drop unused parameter from MC10/MC20/MC30 macros 2012-11-10 14:49:09 +01:00
Michael Niedermayer
eb3dc23705 mov: Make sure no streams after the header lack a timescale.
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 13:29:23 +01:00
Piotr Bandurski
cc5c2ef09d riff: add SMV2 FourCC for H264
sample:

http://samples.mplayerhq.hu/V-codecs/smv2.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 13:16:14 +01:00
Michael Niedermayer
2ce64413e2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: PALIGNR: port to cpuflags
  x86: h264_qpel_10bit: port to cpuflags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 12:44:39 +01:00
Carl Eugen Hoyos
b56ff0b261 Allow forcing a frame size in bytes for image2pipe.
This allows decoding of concatenated frames encoded in
uncompressed formats like v210.
The frame size cannot be generally calculated, FFmpeg
also supports broken encoders.

Fixes ticket #1869.
2012-11-10 02:25:17 +01:00
Carl Eugen Hoyos
f91f049a22 Add yuv4xxp12 and yuv4xxp14 pixel formats to y4m encoder and decoder.
Reviewed-by: Paul B Mahol
2012-11-10 02:19:55 +01:00
Peter Ross
8b67ec77f0 pictordec: fill any unset portion of the image
Fixes ticket #1710

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 02:02:35 +01:00
Piotr Bandurski
49c2f2d57e riff: add GXVE FourCC for WMV2
sample:

http://samples.mplayerhq.hu/V-codecs/ViVD/vivd.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 01:58:51 +01:00
Michael Niedermayer
dab70c62d2 ivi_common: check ref_tile size, fix out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-10 01:52:14 +01:00
Michael Niedermayer
a93c7ca6ef ivi_common: more MV Checks, fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 23:39:41 +01:00
Michael Niedermayer
c63e76ba35 ebml_read_binary: use fast_padded_malloc()
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 23:35:58 +01:00
Diego Biurrun
4b60fac419 x86: PALIGNR: port to cpuflags 2012-11-09 21:31:31 +01:00
Michael Niedermayer
98b377004d twinvq: make ibps check unsigned
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 21:22:12 +01:00
Diego Biurrun
4d1f69f244 x86: h264_qpel_10bit: port to cpuflags 2012-11-09 21:17:05 +01:00
Michael Niedermayer
2fbb37b51b iff/ilbm: check remaining buffer size.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 21:06:01 +01:00
Michael Niedermayer
b8551f8ea7 pcmdec: check that channels is valid.
Prevents a division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 21:06:01 +01:00
Michael Niedermayer
ac7ff0963b aacdec: fix temporary array size
Avoids out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 21:05:43 +01:00
Michael Niedermayer
623cfc93d9 pngdec: check that format matches too not just dimensions
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 19:59:05 +01:00
Michael Niedermayer
02a325cb6f tiffdec: check rps, fix infinite loop.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 19:28:57 +01:00
Michael Niedermayer
b8dc5f8bb3 twinvq: check bitrate for validity avoid division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 18:46:17 +01:00
Michael Niedermayer
e481ba2ed7 vqf: check samplerate, avoid division by 0.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 18:05:19 +01:00
Michael Niedermayer
fb6a72cde5 iff: avoid out of array reads, due to too many planes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 17:47:51 +01:00
Michael Niedermayer
7989f7e0b5 xmv: Fix integer overflow
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 17:18:01 +01:00
Michael Niedermayer
9195377bc5 vp56dec: Fix handling of alpha configuration changes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 17:03:47 +01:00
Michael Niedermayer
7ec1fe1f47 lavf: Dont compare absolute to relative timestamps in duration gcd
This prevents a division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 14:59:43 +01:00
Michael Niedermayer
4c6e7c2d4d ivi_common: dont dereference null pointers.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 14:17:42 +01:00
Michael Niedermayer
13451f5520 atrac3dec: Check coding mode against channels.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 13:26:20 +01:00
Michael Niedermayer
5ee008e01d qdm2: check that coding_method is valid before using it.
Fixes out of array reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 13:13:50 +01:00
Michael Niedermayer
909a18f73b mjpegbdec: dont return a picture when there is no picture.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 12:44:26 +01:00
Michael Niedermayer
6d1c5ea04a tiffdec: check count in metadata reading.
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 12:14:28 +01:00
Michael Niedermayer
ce1ebb31a9 tiffdec: use checked reads for tget*()
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 12:05:03 +01:00
Michael Niedermayer
1b5a6d3c49 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flacenc: ensure the order is within the min/max range in LPC order search
  avconv: rescale packet duration to muxer time base when flushing encoders
  add 24-bit FLAC encoding to Changelog
  rtpenc_aac: Fix calculation of the header size
  x86: h264_intrapred: port to cpuflags

Conflicts:
	Changelog
	libavformat/rtpenc_aac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 10:29:51 +01:00
Michael Niedermayer
769354348a PRINT_CODEC_SUPPORTED: fix used variable
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 03:08:29 +01:00
Nicolas George
aeb4d27dec doc/faq: explain libfoo-dev packages. 2012-11-08 21:05:10 +01:00
Justin Ruggles
3a2731cbd3 flacenc: ensure the order is within the min/max range in LPC order search
This fixes use of uninitialized values when the FLAC encoder uses the
2-level, 4-level, and 8-level search methods. Fixes failure of the
fate-flac-24-comp-8 test when run using valgrind.
2012-11-08 13:57:34 -05:00
Justin Ruggles
3ba416408a avconv: rescale packet duration to muxer time base when flushing encoders
Fixes Bug 385
2012-11-08 13:57:34 -05:00
Justin Ruggles
00f8ad41c7 add 24-bit FLAC encoding to Changelog
Also move a misplaced line from the 9_beta2 section to <next>
2012-11-08 13:57:34 -05:00
Luca Abeni
e004d175fe rtpenc_aac: Fix calculation of the header size
Previously the high end byte was always set to zero. Also get
rid of an unnecessary multiplication (which in practice couldn't
overflow) before shifting.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-08 19:48:32 +02:00
Michael Niedermayer
3affcc99a8 frame_thread_encoder: silence integer to pointer without cast warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-08 18:25:24 +01:00
Diego Biurrun
6ca60d4ddd x86: h264_intrapred: port to cpuflags 2012-11-08 18:05:23 +01:00
Michael Niedermayer
5ff43ec72d sctp: silence const warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-08 16:06:04 +01:00
Michael Niedermayer
60e028958c ffmdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-08 15:54:14 +01:00
Michael Niedermayer
4a28962454 libopencore-amr: fix av_log() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-08 15:46:51 +01:00
Michael Niedermayer
bc17a6f5c0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libvpxenc: Allow enabling constrained quality (CQ) mode

Conflicts:
	configure
	libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-08 08:07:05 +01:00
Luca Abeni
78e08fd340 rtpenc_aac: Fix 10l bug
Fixes CID602564
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-08 01:54:16 +01:00
Nicolas George
d55911adc8 doc/faq: replace @file by @command for "ffmpeg". 2012-11-07 23:45:12 +01:00
Alexander Strasser
4ccfcc8a0b doc/libavcodec: hint to where to find the Git history
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-11-07 23:33:31 +01:00
Stefano Sabatini
58d1d7024d doc/Makefile: change DOCLIBS check
More consistent with the rest of the build system, and more compact.
2012-11-07 23:18:11 +01:00
Stefano Sabatini
1c6962dc20 lavu: remove disabled FF_API_OLD_EVAL_NAMES code 2012-11-07 23:18:05 +01:00
Stefano Sabatini
ef4dc3e55b lavu/opt: show valid range in case of out-of-range value
Improve feedback.
2012-11-07 23:17:57 +01:00
James Zern
12776d5d2a libvpxenc: Allow enabling constrained quality (CQ) mode
The CQ mode was introduced in libvpx 0.9.6.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-08 00:01:54 +02:00
Thierry Foucu
98cbbabadb Fix the packet duration when flushing the encoder.
A similar patch was posted by Justin Ruggles <justin.ruggles@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 22:29:11 +01:00
Michael Niedermayer
9dfe07a1fb fate-rsync: replace -a by -rlt
This remove the owner, group and permission preservation on fatesample checkouts
These caused problems for durandal_1707

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 18:33:52 +01:00
Michael Niedermayer
4d2f83f8ac gsm_parser: fix infinite loop
Fixes Ticket1894
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 18:08:23 +01:00
Paul B Mahol
08101e62cb adpcm: improve smjpeg decoding
Previous version had significant artifacts.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-07 13:03:50 +00:00
Peter Ross
a373f35272 wtvenc: produce seekable files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:59:03 +01:00
Peter Ross
b89cd2a028 wtvenc: simplify write_timestamp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:51:38 +01:00
Peter Ross
3e65134326 wtvenc: output third video pts in timestamp chunk (this is what Microsoft Windows Media Center expects)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:45:01 +01:00
Peter Ross
0d9435048c wtvenc: indent fixup
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:44:50 +01:00
Peter Ross
b50759cd6b wtvenc: do not emit stream2 and DSATTRIB_TRANSPORT_PROPERTY chunks; these are not required for playback
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:42:01 +01:00
Michael Niedermayer
fdfbb793c3 ffv1dec: propagate return code from ffv1_common_init()
Fixes Ticket1824
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:27:01 +01:00
Michael Niedermayer
dd11615bbc ffv1dec: more completely check slice count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 13:26:37 +01:00
Michael Niedermayer
cb395929e3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopencore-amr: Check the return value of amr_decode_fix_avctx

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 10:26:40 +01:00
Paul B Mahol
7c2cfaac6a smjpegenc: use bits_per_coded_sample instead of calling function
Final result is same and this allows support of multiple values per codec.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-07 01:31:39 +00:00
Michael Niedermayer
de0aa9e5a4 kgv1dec: fix end condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-07 01:51:24 +01:00
Martin Storsjö
ad961726dc libopencore-amr: Check the return value of amr_decode_fix_avctx
This allows getting rid of redundant checks later in the codec
specific init functions.

Move the check to before actually initializing the decoder lib,
to simplify error handling.

This fixes a case of returning a value from a void function, present since
d40dab907.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-07 00:48:50 +02:00
Stefano Sabatini
2b442ff5f5 lavfi/movie: return proper error code in case of av_get_token() allocation failure
Also slightly clarify logic, and should fix coverity issue CID 717771.
2012-11-06 23:31:16 +01:00
Stefano Sabatini
29d46d7bce ffprobe: fix potential NULL pointer dereference
Found by Coverity, should fix CID 733741.
2012-11-06 22:59:24 +01:00
Stefano Sabatini
b5436f4b5d lavfi/showwaves: return error in case of allocation failure in filter_samples() 2012-11-06 22:48:54 +01:00
Stefano Sabatini
5f634480d1 lavfi/showwaves: simplify check in filter_samples()
Also fix Coverity issue CID 733743: Dereference after null check
2012-11-06 22:48:17 +01:00
Nicolas George
e9b8523d52 sbgdec: dont set slide to a uninitialized value
Fixed CID703833
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 21:46:22 +01:00
Michael Niedermayer
44e9d7f182 vf_drawbox: dont move uninitialized and then unused colors around
Fixes CID741419
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 21:40:23 +01:00
Michael Niedermayer
2ca649f177 utils: fix integer overflow with DURATION_MAX_READ_SIZE
Fixes CID703746
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 18:44:14 +01:00
Paul B Mahol
1c445f4b93 fate: add PMP demuxer test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-06 16:18:30 +00:00
Paul B Mahol
4744f67d4f wavpack: check if number of samples is not too big
Wavpack format documentation mentions that 131072 is
max number of samples.

This fixes huge memory allocations in sample from ticket #1889.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-06 16:15:19 +00:00
Peter Ross
e6ef628b1e wtv: move duplicated guids into wtv.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 15:52:33 +01:00
Peter Ross
1701a22fce wtv: rename ff_stream_guid to ff_SBE2_STREAM_DESC_EVENT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 15:51:41 +01:00
Peter Ross
9632f5efcf wtvenc: fix typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 15:50:36 +01:00
Michael Niedermayer
1e4e497911 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: atrac: Place atrac1 and atrac3 tests in different groups
  fate: aac: cosmetics: Group AAC LATM tests together
  x86: avresample: Add missing colons to assembly labels

Conflicts:
	tests/fate/aac.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 15:11:53 +01:00
Paul B Mahol
0fe8c9f458 wavpack: use more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-06 12:56:44 +00:00
Diego Biurrun
e6c4c0f7cf fate: atrac: Place atrac1 and atrac3 tests in different groups 2012-11-06 13:47:53 +01:00
Diego Biurrun
06c7b33831 fate: aac: cosmetics: Group AAC LATM tests together 2012-11-06 13:37:36 +01:00
Stefano Sabatini
f6b39376ce .gitignore: ignore *.3 files as well 2012-11-06 12:24:12 +01:00
Stefano Sabatini
a1934daeb4 doc/Makefile: remove .3 file with make clean 2012-11-06 12:23:13 +01:00
Diego Biurrun
352e18b766 x86: avresample: Add missing colons to assembly labels
YASM accepts labels without colons, but NASM issues warnings.
2012-11-06 12:07:35 +01:00
Alexander Strasser
98506e16c7 doc/libavcodec: do not say multimedia streams in the title
The mention of multimedia stream sounds more like multiple
elementary media streams like video and audio multiplexed
into a multimedia container format.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-11-06 11:55:37 +01:00
Alexander Strasser
23b57b0203 doc/libavcodec: improve wording in description
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-11-06 11:55:29 +01:00
Stefano Sabatini
d658f9a1cb doc/ffserver: fix typos/reword paragraphs about FFM versions 2012-11-06 11:35:14 +01:00
Stefano Sabatini
e8c0b6710c examples/muxing: fix typo: allocated -> allocate 2012-11-06 11:28:28 +01:00
Michael Niedermayer
6a302331dd Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: adjust external clock speed based on buffer fullness for realtime sources

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 04:02:42 +01:00
Michael Niedermayer
2a0dfc51ea img2enc: support 16bit per sample yuv in split planes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 02:27:04 +01:00
Michael Niedermayer
52c40a0e52 MAINTAINERS: fix entry for img2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 01:46:21 +01:00
Michael Niedermayer
2c87565147 img2enc: support storing alpha planes too in split plane mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 01:42:26 +01:00
Michael Niedermayer
db012e161e img2enc: Fix yuva with yuv split planes.
Previously the chroma planes where corrupted in this case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 01:31:41 +01:00
Michael Niedermayer
67ee2d2f6d img2enc: check pix_fmt for split planes mode.
Found-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 01:31:41 +01:00
Michael Niedermayer
6dfcc7abdd img2enc: ensure that the codec is rawvideo for split planes mode.
Found-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 01:31:41 +01:00
Stefano Sabatini
7f6f8f642c examples/demuxing: fix braino
s/video/audio/ in a log message.
2012-11-06 01:10:12 +01:00
Stefano Sabatini
794cea588c examples/demuxing: dump input information *after* trying to open audio stream
Implement more logical code flow.
2012-11-06 01:10:12 +01:00
Paul B Mahol
c99564492c fate: add more pix_fmt tests for xwd
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 22:31:24 +00:00
Michael Niedermayer
6493842900 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a 24-bit FLAC encoding test
  FATE: rename FLAC tests from flac-* to flac-16-*
  flacenc: use RICE2 entropy coding mode for 24-bit
  flacenc: add 24-bit encoding
  flacdsp: move lpc encoding from FLAC encoder to FLACDSPContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 23:01:34 +01:00
Michael Niedermayer
7d26be63c2 Merge commit '5ff998a233d759d0de83ea6f95c383d03d25d88e'
* commit '5ff998a233d759d0de83ea6f95c383d03d25d88e':
  flacenc: use uint64_t for bit counts
  flacenc: remove wasted trailing 0 bits
  lavu: add av_ctz() for trailing zero bit count
  flacenc: use a separate buffer for byte-swapping for MD5 checksum on big-endian
  fate: aac: Place LATM tests and general AAC tests in different groups
  build: The A64 muxer depends on rawenc.o for ff_raw_write_packet()

Conflicts:
	doc/APIchanges
	libavutil/version.h
	tests/fate/aac.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 22:51:20 +01:00
Michael Niedermayer
e859339e7a Merge commit '930e26a3ea9d223e04bac4cdde13697cec770031'
* commit '930e26a3ea9d223e04bac4cdde13697cec770031':
  x86: h264qpel: Only define mmxext QPEL functions if H264QPEL is enabled
  x86: PABSW: port to cpuflags
  x86: vc1dsp: port to cpuflags
  rtmp: Use av_strlcat instead of strncat

Conflicts:
	libavcodec/x86/h264_qpel.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 22:36:05 +01:00
Martin Storsjö
f0615557e0 rtmpproto: Use av_strlcat instead of strncat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Fixes: [FFmpeg-devel] rtmpproto compile error
Similar patch: [FFmpeg-devel] [PATCH] call to strncat replaced with av_strlcat to avoid compile issue with systems implementing strncat via strcat.
2012-11-05 21:47:43 +01:00
Paul B Mahol
10ac70d249 avrndec: use more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 20:47:22 +00:00
Paul B Mahol
70727e8774 lavf/avr: make .long_name consistent with others
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 20:47:22 +00:00
Paul B Mahol
efbe162f7d cljr: use meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 20:47:13 +00:00
Justin Ruggles
8a58894fc6 FATE: add a 24-bit FLAC encoding test 2012-11-05 15:32:30 -05:00
Justin Ruggles
5ff998a233 flacenc: use uint64_t for bit counts
Needed to avoid integer overflows for 24-bit encoding.
2012-11-05 15:32:30 -05:00
Justin Ruggles
31c3b9c95e FATE: rename FLAC tests from flac-* to flac-16-*
This will distinguish FLAC 16-bit tests from FLAC tests with other bit
depths.
2012-11-05 15:32:30 -05:00
Justin Ruggles
e783316322 flacenc: remove wasted trailing 0 bits 2012-11-05 15:32:30 -05:00
Justin Ruggles
2e76f34387 flacenc: use RICE2 entropy coding mode for 24-bit 2012-11-05 15:32:30 -05:00
Justin Ruggles
13e1ee6c84 flacenc: add 24-bit encoding 2012-11-05 15:32:30 -05:00
Justin Ruggles
799e232490 flacdsp: move lpc encoding from FLAC encoder to FLACDSPContext
Also, templatize the functions for 16-bit and 32-bit sample range. This will
be used for 24-bit FLAC encoding.
2012-11-05 15:32:30 -05:00
Justin Ruggles
dfde8a34e5 lavu: add av_ctz() for trailing zero bit count 2012-11-05 15:32:29 -05:00
Justin Ruggles
6a744d2619 flacenc: use a separate buffer for byte-swapping for MD5 checksum on big-endian
This is much faster than calculating the MD5 one sample at a time.
2012-11-05 15:32:29 -05:00
Michael Niedermayer
282a6308bf udp: check ff_socket_nonblock() return code
Fixes CID733719
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 21:21:04 +01:00
Diego Biurrun
2253df76c1 fate: aac: Place LATM tests and general AAC tests in different groups 2012-11-05 20:48:50 +01:00
Diego Biurrun
92fec47d69 build: The A64 muxer depends on rawenc.o for ff_raw_write_packet() 2012-11-05 20:48:50 +01:00
Diego Biurrun
930e26a3ea x86: h264qpel: Only define mmxext QPEL functions if H264QPEL is enabled
This fixes compilation with --disable-everything and components enabled.
2012-11-05 20:48:43 +01:00
Michael Niedermayer
30d27685b1 segment: fix null ptr deref
Fixes CID732220
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 20:26:10 +01:00
Paul B Mahol
962314fe27 AVR demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 17:31:22 +00:00
Piotr Bandurski
8d88920578 dpcm: use AV_LOG_ERROR for error message. 2012-11-05 17:44:24 +01:00
Piotr Bandurski
461797f6aa riff: add "lsvm" FourCC for H263. 2012-11-05 17:43:01 +01:00
Michael Niedermayer
b2b67fd610 docs/ffserver: document ffm/ffm2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 16:36:44 +01:00
Michael Niedermayer
9829ec1a9c ffm: redesign header format to make it extensible
Currently FFM files generated with one versions of ffmpeg generally
cannot be read by another.
By spliting data into chunks, more fields can saftely be appended to
chunks as well as new chunks added.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 16:36:44 +01:00
Paul B Mahol
2a2d39c721 fate: add more pix_fmt tests for pam
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 14:59:31 +00:00
Diego Biurrun
dbb37e7711 x86: PABSW: port to cpuflags 2012-11-05 14:51:10 +01:00
Diego Biurrun
6c104826bd x86: vc1dsp: port to cpuflags 2012-11-05 14:51:10 +01:00
Martin Storsjö
d578f94746 rtmp: Use av_strlcat instead of strncat
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-05 15:37:09 +02:00
Paul B Mahol
e870a7dd4a lavfi: stop using -1 instead use AV_PIX_FMT_NONE/AV_SAMPLE_FMT_NONE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 13:34:08 +00:00
Michael Niedermayer
f4aaf987a5 frame_thread_encoder: fix handling of case where the encoder does not output a packet.
This case could cause a deadlock

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 13:30:08 +01:00
Paul B Mahol
17e67c5321 fate: add smjpegenc test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-05 11:22:53 +00:00
Clément Bœsch
a8b3130181 lavf/srtdec: recognize subtitles starting at event index 0. 2012-11-05 07:37:45 +01:00
Carl Eugen Hoyos
c673ef1288 Write tiff tag YCbCrPositioning if chroma_sample_location is top-left. 2012-11-05 04:43:17 +01:00
Michael Niedermayer
b015cd7eda fate: try to fix mxpeg failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 02:20:52 +01:00
Paul B Mahol
cc5bcaa48e pnm: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 23:35:09 +00:00
Paul B Mahol
ae5ecb8e60 pnm: remove duplicated check for maxval > 255
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 23:33:17 +00:00
Michael Niedermayer
e82afa3e2d filmstripenc: fix rounding that caused fate failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 00:28:21 +01:00
Michael Niedermayer
a147c1b2b1 oggenc: remove unneeded null check.
The code would have segfaulted before if it where null

Fixes CID732218
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 00:28:21 +01:00
Michael Niedermayer
1ba0d9b5d1 oss: warn when non block mode cannot be enabled.
Fixes CID732183
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 00:28:21 +01:00
Paul B Mahol
a0348d0966 pnm: remove nonsense code
If maxval is more than 255 than each value takes 2 bytes with most
significant byte first.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 23:17:12 +00:00
Paul B Mahol
bf8f4db413 fate: add MxPEG test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 22:23:43 +00:00
Paul B Mahol
992a6a53ef cdxl: add read_probe function
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 20:19:43 +00:00
Paul B Mahol
6e625d4198 fate: add some missing dependencies
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 19:11:26 +00:00
Michael Niedermayer
5eaeb4237b ivi_common: dc_transform is needed for intra
Fixes CID90582 CID90536
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 19:27:15 +01:00
Michael Niedermayer
712287ef45 ff_ac3_apply_rematrixing: set flags to NULL
This makes the code more robust

Related to CID703820
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 19:26:54 +01:00
Marton Balint
747c749d42 ffplay: adjust external clock speed based on buffer fullness for realtime sources
This provides a means to synchronize the player clock to the clock of the
encoder.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-04 18:29:49 +01:00
Stefano Sabatini
74a50e75a8 lavu: drop disabled FF_API_OLD_TC_ADJUST_FRAMENUM code 2012-11-04 18:10:39 +01:00
Stefano Sabatini
008ace3524 doc/libavcodec: apply misc minor typo fixes 2012-11-04 18:01:16 +01:00
Stefano Sabatini
1ba2459fbb lavfi/scale: declare the filter private class
Allow to show the supported options in the ffmpeg -h full output.
2012-11-04 18:01:16 +01:00
Paul B Mahol
1b3dbe3f75 lcldec: fix decoding of uncompressed rgb24 sample
Sample from ticket #1216 does not use any compression but bitstream
claims it is. Reference decoder decodes sample just fine.

Fixes #1216.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 16:58:14 +00:00
Paul B Mahol
c4dd4f19f3 smush: improve probing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 16:50:58 +00:00
Michael Niedermayer
a15adabdd3 aacsbr: fix integer overflow
Fixes CID603186
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 17:37:28 +01:00
Carl Eugen Hoyos
b5d496f3a4 Support new transparency colour-spaces with libopenjpeg.
Reviewed-by: Michael Bradshaw
2012-11-04 17:32:31 +01:00
Paul B Mahol
b0428741c6 indeo3: move get_buffer() above decode_plane() calls
This ensure that decode_plane() mmx code like AV_COPY64()
does not interfere with possible float instructions in
release_buffer/get_buffer.

Found-by: Carl Eugen Hoyos

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 14:42:32 +00:00
Michael Niedermayer
a04698c4a9 ffserver: zero dest_addr
Fixes CID733838
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 13:00:20 +01:00
Michael Niedermayer
bbd7b46b94 sab_diamond_search: add assert to double check the minima_count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 13:00:20 +01:00
Stefano Sabatini
617d0d41a2 doc: add libavcodec.texi
The option chapter is based on the avoptions_codec.texi auto-generated
file.
2012-11-04 11:54:57 +01:00
Nicolas George
1fa47f8dea cmdutils: allow to set the report file name.
The file name can be set by setting the FFREPORT environment
variable to "file=something".

Fix trac ticket #1823.
2012-11-04 10:52:43 +01:00
Nicolas George
3bdf4971ba lavu/opt: implement av_opt_get_key_value().
This function does the low-level work of av_opt_set_from_string()
but can be used when there is no option context or when a generic
handling of unknown keys is needed.

av_opt_set_from_string() is changed to make use of it.
2012-11-04 10:47:52 +01:00
Nicolas George
e021eeb9f0 lavu/opt: parse key into a mallocated buffer.
It removes the hardcoded limit on the key size without making
the code much more complex, and it makes for a more versatile API.
2012-11-04 10:47:52 +01:00
Michael Niedermayer
4e6fa5be3c Revert "cmdutils: allow specifying the file for -report"
This reverts commit 841bf0ef24.
This does not fully work as the file is used before the filename is parsed
so not all information is written in the specified file.
2012-11-04 10:47:52 +01:00
Paul B Mahol
50d3a1a962 vocenc: fix 10l regression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 04:46:10 +00:00
Paul B Mahol
1c5b56eec7 vocenc: abort if unsupported codec is used
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-04 03:59:08 +00:00
Michael Niedermayer
4a2599b0e6 transform: give avfilter_transform() a return value for returning an error
Fixes CID703674
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 01:30:16 +01:00
Michael Niedermayer
5f53138621 movenc: remove unneeded check
Fixes CID741417
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 01:03:52 +01:00
Michael Niedermayer
c9e4554329 cook: fix use of uninitialized variable
Fixes CID741418
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-04 01:03:52 +01:00
Stefano Sabatini
d034847f7a lavfi/earwax: add missing NULL check in filter_samples() 2012-11-04 00:17:27 +01:00
Stefano Sabatini
3af7919be4 add tools/fourcc2pixfmt to .gitignore 2012-11-03 23:40:28 +01:00
Stefano Sabatini
aa48446c9a lavc/xfaceenc: prefer do{}while() over for(){} construct in xface_encode_frame() loop
Slightly simplify readability, since the initial check is unnecessary.
2012-11-03 23:35:50 +01:00
Michael Niedermayer
33d54af427 fate: add filmstrip test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 22:47:14 +01:00
Xidorn Quan
0ecef3a0ef amr_decode_fix_avctx should not return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 21:38:37 +01:00
Stefano Sabatini
6450c05ba5 lswr/swresample: adopt globally consistent rules for options help message
The help text tells what the option does, not what the accepted parameter
is. Thus convert strings of the kind:

Bikeshed Color
to
set bikeshed color
2012-11-03 20:38:02 +01:00
Stefano Sabatini
0372ecfa48 lavc/options_table: force non-negative bitrate range
It does not make sense to set a negative bitrate.
2012-11-03 20:38:02 +01:00
Michael Niedermayer
930226cf52 crystalhd: fix missing braces warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 20:22:53 +01:00
Michael Niedermayer
ab796ded75 avstring: fix compiler warning about freeing const pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 20:22:53 +01:00
Nicolas George
73180ecd0a doc/faq: make the -sameq question more explicit.
Wording suggested by Stefano Sabatini, should have been
merged with the previous commit.
2012-11-03 17:13:44 +01:00
Nicolas George
8cf6377ac1 doc/faq: explain why -sameq is gone. 2012-11-03 17:03:13 +01:00
Paul B Mahol
94f224516c westwood_aud: remove stale comment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-03 14:54:17 +00:00
Michael Niedermayer
2581d9bcbb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: add apidoc target for doxygen API documentation
  matroskadec: do not use avpacket internals

Conflicts:
	doc/Makefile
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 14:48:51 +01:00
Michael Niedermayer
37e81996dc Merge commit '9221efef7968463f3e3d9ce79ea72eaca082e73f'
* commit '9221efef7968463f3e3d9ce79ea72eaca082e73f':
  lavf: fix av_interleaved_write_frame() doxy.
  lavf: clarify the lifetime of demuxed packets.
  avconv: do not free muxed packet on streamcopy.
  crc: move doxy to the header
  vf_drawtext: do not use deprecated av_tree_node_size
  x86: Refactor PSWAPD fallback implementations and port to cpuflags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 14:24:11 +01:00
Michael Niedermayer
1885ffb03d Merge commit '9a07c1332cfe092b57b5758f22b686ca58806c60'
* commit '9a07c1332cfe092b57b5758f22b686ca58806c60':
  parser: Move Doxygen documentation to the header files
  PGS subtitles: Expose forced flag
  x86: PMINUB: port to cpuflags

Conflicts:
	libavcodec/avcodec.h
	libavcodec/pgssubdec.c
	libavcodec/version.h
	libavcodec/x86/ac3dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 14:13:45 +01:00
Stefano Sabatini
b91fa5fcca lavu/opt: set sample format default value, and accept NULL value
Fix commit c9eaa98a3e.
+10l.
2012-11-03 13:53:49 +01:00
Michael Niedermayer
1dad486714 Merge commit '9ce02e14f01de50fcc6f7f459544b140be66d615'
* commit '9ce02e14f01de50fcc6f7f459544b140be66d615':
  x86: ac3dsp: port to cpuflags
  x86util: Add cpuflags_mmxext alias for cpuflags_mmx2
  x86inc: Only define program_name if the macro is unset

Conflicts:
	libavcodec/x86/ac3dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 13:38:38 +01:00
Stefano Sabatini
1c755f7667 lavc/options_table: make "request_sample_fmt" an AV_OPT_TYPE_SAMPLE_FMT option
Simplify, increase robustness in case a new sample format is added.
2012-11-03 12:15:42 +01:00
Stefano Sabatini
ca11f6b240 lavu/opt: prefer if(){}else{} over if()else{} construct
Improve consistency.
2012-11-03 12:14:53 +01:00
Stefano Sabatini
481fdeeecf lavu/opt: add AV_OPT_SAMPLE_FMT option 2012-11-03 12:14:26 +01:00
Stefano Sabatini
7be09a91c2 lswr/swresample.h: use consistent inclusion guard header name 2012-11-03 12:06:43 +01:00
Stefano Sabatini
a62242678f ffmpeg: complain loudly and exit in case removed -sameq option is specified
This is better than silently ignoring the option, which results in
unexpected quality results.
2012-11-03 12:05:43 +01:00
Stefano Sabatini
c9eaa98a3e doc/ffmpeg: remove -debug option description
The option belongs to libavcodec, so it results duplicated in the file.
2012-11-03 11:01:48 +01:00
Michael Niedermayer
b7280cff9a asfdec: check stream_index for validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 05:58:12 +01:00
Michael Niedermayer
e5927910c2 asfdec: flip the interpretation of the header aspect back
This reverts 2de8877689

Fixes Ticket 1883

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 05:49:07 +01:00
Michael Niedermayer
343c73e252 asfdec: parse aspect ratio payload extension
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 05:49:07 +01:00
Michael Niedermayer
8c93269e42 asfdec: correctly parse payload extensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 05:37:18 +01:00
Michael Niedermayer
2d8c76eb1f asfdec: parse payload extension list
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 05:35:35 +01:00
Michael Niedermayer
ac2a3a7a05 vf_tinterlace: check av_image_get_linesize() return value
Fixes CID703717
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 02:38:30 +01:00
Michael Niedermayer
03764f6735 af_earwax: remove unused pointer value
Fixes CID703849
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 02:38:23 +01:00
Michael Niedermayer
d3dfe99bc5 libgsmdec: fix decoding of non 8khz gsm files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 00:50:22 +01:00
Michael Niedermayer
6e6033b793 gsmdec: fix decoding of non 8khz gsm files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03 00:50:22 +01:00
Paul B Mahol
20ac916e6d indeo3: release buffer before calling decode_plane 2012-11-02 23:43:23 +00:00
Paul B Mahol
b02116cc4a Revert "Partly revert f174fba: indeo3 decoder does not support direct rendering."
f174fba did not introduce DR1 flag it was already available before that.

This reverts commit 8bf44d5c96.
2012-11-02 23:36:57 +00:00
Michael Niedermayer
4ad6ef00a2 libvo-amrwbenc: allow sampling rates other than 16khz
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 23:47:58 +01:00
Michael Niedermayer
b30f4510d8 libopencore-amr: allow sampling rates other than 8khz
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 23:47:58 +01:00
Michael Niedermayer
0aaf0a07d4 libopencore-amrdec: allow sampling rates other than 8khz
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 23:47:58 +01:00
Michael Niedermayer
2c1e9383a2 amrwbdec: allow sample rates other than 16khz
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 23:47:58 +01:00
Michael Niedermayer
d8aaec38fc amrnbdec: allow sample rates other than 8khz
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 23:47:58 +01:00
Paul B Mahol
f58f600c68 lclenc: make compression level user selectable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-02 22:14:14 +00:00
Heesuk Jung
25b7aa980b Fix bit_rate in MPEG1/2 Video
In ISO/IEC 13818-2, bit rate is differently determined according to video type

1) MPEG1 Video
 Bit_rate and vbv_delay are set to 3FFFF and FFFF respectively
 to indicate variable bitrate. Other values are for constant bitrate.
 VBV is only defined for constant bit rate operation.
 Ths STD supersedes the VBV model for vbr.

2) MPEG2 Video
 Even if the bitrate is constant, the value of bit_rate may not be the actual bitrate
 since bit_rate need only be an upper bound to that actual bitrate.
 VBV is only defined for variable bit rate operation.
 Constant bit rate is viewed as a special case of vbr.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 22:27:17 +01:00
Paul B Mahol
77d89a5b16 apedec: consume packet after it has been fully decoded
Timestamp handling of decoded frames are much simpler now.

Fixes #1675.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-02 19:44:49 +00:00
Janne Grunau
b3fab1f2cd doc: add apidoc target for doxygen API documentation
Documentation includes only the externally visible API of the installed
headers.

Based on a patch by Anton Khirnov <anton@khirnov.net>.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-11-02 18:28:56 +01:00
Anton Khirnov
9221efef79 lavf: fix av_interleaved_write_frame() doxy.
A sentence was mistakenly inserted in the middle of another sentence.
2012-11-02 18:28:56 +01:00
Anton Khirnov
34871beb5e matroskadec: do not use avpacket internals 2012-11-02 18:28:56 +01:00
Anton Khirnov
717a450993 lavf: clarify the lifetime of demuxed packets. 2012-11-02 18:28:56 +01:00
Anton Khirnov
c8977f6d26 avconv: do not free muxed packet on streamcopy.
The packet belongs to lavf, the caller must not free it or access it in
any other way.
No change in practice, since destruct is set to NULL anyway.
2012-11-02 18:28:56 +01:00
Anton Khirnov
b4dc6dccba crc: move doxy to the header 2012-11-02 18:28:56 +01:00
Anton Khirnov
b68aac7ea3 vf_drawtext: do not use deprecated av_tree_node_size 2012-11-02 18:28:55 +01:00
Paul B Mahol
c39fb30816 smjpegdec: set nb_frames for video stream
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-02 16:32:51 +00:00
Diego Biurrun
0a7a94f2e5 x86: Refactor PSWAPD fallback implementations and port to cpuflags 2012-11-02 17:05:29 +01:00
Diego Biurrun
9a07c1332c parser: Move Doxygen documentation to the header files 2012-11-02 16:44:23 +01:00
John Stebbins
85f67c4865 PGS subtitles: Expose forced flag
Useful for detection of subtitles displayed during foreign language
scenes.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-02 16:13:35 +01:00
Diego Biurrun
26f01bd106 x86: PMINUB: port to cpuflags 2012-11-02 15:38:15 +01:00
Diego Biurrun
9ce02e14f0 x86: ac3dsp: port to cpuflags 2012-11-02 15:24:50 +01:00
Diego Biurrun
61bc2bc7d4 x86util: Add cpuflags_mmxext alias for cpuflags_mmx2
"mmxext" is a more sensible name and more common in outside projects.
2012-11-02 15:22:34 +01:00
Nicolas George
805b57001f lavc/pngdec: decode textual data (tEXt and zTXt).
Requested in trac ticket #1857.
2012-11-02 15:12:29 +01:00
Nicolas George
483c1aa5f1 lavu/bprint: add av_bprint_get_buffer().
It is useful to use bprint to handle a growing buffer
used with another API.
2012-11-02 15:12:29 +01:00
Michael Niedermayer
8551c6bec0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dv1394: Swap the min and max values of the 'standard' option
  rtpdec_vp8: Don't parse fields that aren't used
  lavc: add some AVPacket doxy.
  audiointerleave: deobfuscate a function call.
  rtpdec: factorize identical code used in several handlers
  a64: remove interleaved mode.
  doc: Point to the new location of the c99-to-c89 tool
  decode_audio3: initialize AVFrame
  ws-snd1: set channel layout
  wmavoice: set channel layout
  wmapro: use AVCodecContext.channels instead of keeping a private copy
  wma: do not keep private copies of some AVCodecContext fields

Conflicts:
	libavcodec/wmadec.c
	libavcodec/wmaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 14:57:36 +01:00
Diego Biurrun
012f73e271 x86inc: Only define program_name if the macro is unset
This allows overriding the value from outside of the file.
2012-11-02 14:38:00 +01:00
Michael Niedermayer
6788350281 Merge commit '50a65e7a540ce6747f81d6dbf6a602ad35be77ff'
* commit '50a65e7a540ce6747f81d6dbf6a602ad35be77ff': (24 commits)
  vmdaudio: set channel layout
  twinvq: validate sample rate code
  twinvq: set channel layout
  twinvq: validate that channels is not <= 0
  truespeech: set channel layout
  sipr: set channel layout
  shorten: validate that the channel count in the header is not <= 0
  ra288dec: set channel layout
  ra144dec: set channel layout
  qdm2: remove unneeded checks for channel count
  qdm2: make sure channels is not <= 0 and set channel layout
  qcelpdec: set channel layout
  nellymoserdec: set channels to 1
  libopencore-amr: set channel layout for amr-nb or if not set by the user
  libilbc: set channel layout
  dpcm: use AVCodecContext.channels instead of keeping a private copy
  imc: set channels to 1 instead of validating it
  gsmdec: always set channel layout and sample rate at initialization
  libgsmdec: always set channel layout and sample rate at initialization
  g726dec: do not validate sample rate
  ...

Conflicts:
	libavcodec/dpcm.c
	libavcodec/qdm2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 14:20:33 +01:00
Michael Niedermayer
00aa7fa786 pcm: fix handling of more than 8 channels for planar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 14:00:23 +01:00
Michael Niedermayer
db9f426cab Merge commit '8ac0f6767bf63d3e6b308ee6648ff02598b81e03'
* commit '8ac0f6767bf63d3e6b308ee6648ff02598b81e03':
  dcadec: allow the decoder to change the channel layout mid-stream
  cook: use av_dlog() for debug logging instead of av_log() with AV_LOG_ERROR
  cook: move samples_per_frame from COOKSubpacket to where it is used
  cook: use av_get_channel_layout_nb_channels() instead of cook_count_channels()
  cook: reverse a condition so that the code makes more sense
  cook: remove unneeded COOKContext variable, sample_rate
  cook: remove unneeded COOKContext variable, bit_rate
  cook: use AVCodecContext.channels instead of keeping a private copy
  bmvaudio: set channel layout at init() rather than validating it
  atrac1: do not keep a copy of channel count in the private context
  dsicinaudio: set channels and channel layout
  g722dec: set channel layout at initialization instead of validating it
  amrwbdec: set channels, channel_layout, and sample_rate
  amrnbdec: set channels, channel_layout, and sample_rate
  dca_parser: allow the parser to change the sample rate
  lavc: check channel count after decoder init
  lavc: move SANE_NB_CHANNELS to internal.h and use it in the PCM decoders

Conflicts:
	libavcodec/dcadec.c
	libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 13:43:57 +01:00
Michael Niedermayer
e1c804d883 dv1394: Swap the min and max values of the 'standard' option
DV1394_NTSC has a lower value than DV1394_PAL.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-02 11:25:48 +02:00
Martin Storsjö
2b831a59d9 rtpdec_vp8: Don't parse fields that aren't used
This avoids warnings about unused variables.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-02 10:59:17 +02:00
Anton Khirnov
0876c28080 lavc: add some AVPacket doxy. 2012-11-02 07:58:38 +01:00
Anton Khirnov
fdc8672886 audiointerleave: deobfuscate a function call.
right above there is if (pkt) {<do stuff>; pkt = NULL}, so pkt is just a
fancy name for NULL at this point.
2012-11-02 07:58:38 +01:00
Anton Khirnov
179a5c37e0 rtpdec: factorize identical code used in several handlers 2012-11-02 07:58:37 +01:00
Anton Khirnov
f70381ab9d a64: remove interleaved mode.
It has been disabled since it was added two years ago.
2012-11-02 07:58:37 +01:00
Jason
a5f6720f13 Add QT CC track mux support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 05:00:27 +01:00
Michael Niedermayer
ebfc212b02 dv1394: fix order of AVOption fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 02:07:15 +01:00
Alexis Ballier
1475815a1a Apply again [916352f282] that got lost in the merges.
Do not quote second argument to filter{,_out} in check_ld. We want to keep/remove all the space-separated words matching the -l* pattern, not keep everything if the whole argument begins with -l and remove it otherwise.

This also fixes errors like:
./configure: eval: line 418: syntax error near unexpected token `-l*'
./configure: eval: line 418: `case  in -l*) ;; *) echo  ;; esac'
when run with ./configure --enable-openal

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02 00:28:25 +01:00
Michael Niedermayer
099786a638 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: remove redundant !codec check
  ffplay: only initialize codec opts before using it
  ffplay: always free buffersink_params in configure_video_filters
  ffplay: remove uneeded format filter, buffersink format is set
  ffplay: check for buffersink_params allocation success
  ffplay: always free inputs and outputs in configure_filtergraph
  ffplay: fill the unused part of the window with black
  ffplay: add update parameter to fill_rectangle

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 22:09:02 +01:00
Martin Storsjö
c19e9d00a7 doc: Point to the new location of the c99-to-c89 tool
This location contains prebuilt binaries as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-11-01 22:47:50 +02:00
Michael Niedermayer
f742c7b2ce lavf: fix integer overflow in rfps calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 21:37:29 +01:00
Michael Niedermayer
bacebe1f95 avienc: force a valid timebase for video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 20:26:59 +01:00
Ilkka Ollakka
6d1270a0f9 decode_audio3: initialize AVFrame
Same fix and issue as in a25d912dca

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-11-01 19:43:05 +01:00
Stefano Sabatini
7669144ada doc/platform: Comply With All Capitalized Words Convention 2012-11-01 19:37:41 +01:00
Michael Niedermayer
4695ee71b0 lavfi/fifo: add assert to ensure request was successfull.
We would crash a moment later anyway if this fails.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 18:02:23 +01:00
Michael Niedermayer
304ebed586 mpegts_probe: detect files with garbage at the begin.
Fixes Ticket1811

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 17:22:04 +01:00
Justin Ruggles
5459848b14 ws-snd1: set channel layout 2012-11-01 11:30:04 -04:00
Justin Ruggles
f7b8506573 wmavoice: set channel layout 2012-11-01 11:30:04 -04:00
Justin Ruggles
50a65e7a54 vmdaudio: set channel layout 2012-11-01 11:29:19 -04:00
Justin Ruggles
002097a00b wmapro: use AVCodecContext.channels instead of keeping a private copy 2012-11-01 11:29:19 -04:00
Justin Ruggles
b5f628e227 twinvq: validate sample rate code
A large invalid value could cause undefined behavior when left-shifted
by 8 later in the function.
2012-11-01 11:29:19 -04:00
Justin Ruggles
2ed40608e9 wma: do not keep private copies of some AVCodecContext fields
channels, sample_rate, bit_rate, and block_align can be used directly from
the AVCodecContext
2012-11-01 11:29:19 -04:00
Justin Ruggles
335826cf5f twinvq: set channel layout 2012-11-01 11:29:19 -04:00
Justin Ruggles
8cc72ce5a0 twinvq: validate that channels is not <= 0
This could occur due to integer overflow when reading the channel count from
the extradata.
2012-11-01 11:29:19 -04:00
Justin Ruggles
cebea00c8a truespeech: set channel layout 2012-11-01 11:29:18 -04:00
Justin Ruggles
523734eb6a sipr: set channel layout 2012-11-01 11:29:18 -04:00
Justin Ruggles
4c53f4aed3 shorten: validate that the channel count in the header is not <= 0 2012-11-01 11:29:18 -04:00
Justin Ruggles
4e13e50432 ra288dec: set channel layout 2012-11-01 11:29:18 -04:00
Justin Ruggles
6159f64364 ra144dec: set channel layout 2012-11-01 11:29:18 -04:00
Justin Ruggles
eb38d8fe92 qdm2: remove unneeded checks for channel count 2012-11-01 11:29:18 -04:00
Justin Ruggles
be2ab8b75a qdm2: make sure channels is not <= 0 and set channel layout 2012-11-01 11:29:18 -04:00
Justin Ruggles
e3d6ab5704 qcelpdec: set channel layout 2012-11-01 11:29:18 -04:00
Justin Ruggles
d26701ce2f nellymoserdec: set channels to 1 2012-11-01 11:29:17 -04:00
Justin Ruggles
d40dab907a libopencore-amr: set channel layout for amr-nb or if not set by the user 2012-11-01 11:29:17 -04:00
Justin Ruggles
30f8da29bf libilbc: set channel layout 2012-11-01 11:29:17 -04:00
Justin Ruggles
0fd1ddf155 dpcm: use AVCodecContext.channels instead of keeping a private copy 2012-11-01 11:29:17 -04:00
Justin Ruggles
1c7a016153 imc: set channels to 1 instead of validating it 2012-11-01 11:29:17 -04:00
Justin Ruggles
32c7769e5c gsmdec: always set channel layout and sample rate at initialization
Only mono 8kHz is supported.
2012-11-01 11:29:17 -04:00
Justin Ruggles
8ac0f6767b dcadec: allow the decoder to change the channel layout mid-stream 2012-11-01 11:29:16 -04:00
Justin Ruggles
c5b8acad73 libgsmdec: always set channel layout and sample rate at initialization
Only mono 8kHz is supported.
2012-11-01 11:29:16 -04:00
Justin Ruggles
a346aaf148 g726dec: do not validate sample rate
For decoding it does not really matter what the sample rate is.
2012-11-01 11:29:16 -04:00
Justin Ruggles
e00eb03cd8 g726dec: set channel layout at initialization instead of validating it 2012-11-01 11:29:16 -04:00
Justin Ruggles
99d8686357 flacdec: do not warn on sample rate change 2012-11-01 11:29:16 -04:00
Justin Ruggles
90fcac0e95 flacdec: allow mid-stream channel layout change
Although the libFLAC decoder cannot handle such a change, it is allowed by the
spec and could potentially occur with live streams.
2012-11-01 11:29:16 -04:00
Justin Ruggles
268f8ba112 flacdec: use av_samples_* functions for sample buffer allocation
Also, return an error on allocation failure.
2012-11-01 11:29:16 -04:00
Justin Ruggles
93e27f86f1 cook: use av_dlog() for debug logging instead of av_log() with AV_LOG_ERROR 2012-11-01 11:29:15 -04:00
Justin Ruggles
8f173ef019 cook: move samples_per_frame from COOKSubpacket to where it is used 2012-11-01 11:29:15 -04:00
Justin Ruggles
7efbba2e36 cook: use av_get_channel_layout_nb_channels() instead of cook_count_channels() 2012-11-01 11:29:15 -04:00
Justin Ruggles
d21b2e4726 cook: reverse a condition so that the code makes more sense 2012-11-01 11:29:15 -04:00
Justin Ruggles
926e9d28f1 cook: remove unneeded COOKContext variable, sample_rate 2012-11-01 11:29:15 -04:00
Justin Ruggles
8aa5b8c5c8 cook: remove unneeded COOKContext variable, bit_rate 2012-11-01 11:29:15 -04:00
Justin Ruggles
3509eee19c cook: use AVCodecContext.channels instead of keeping a private copy 2012-11-01 11:29:14 -04:00
Justin Ruggles
a3145d0335 bmvaudio: set channel layout at init() rather than validating it 2012-11-01 11:29:14 -04:00
Justin Ruggles
a38eadf7ed atrac1: do not keep a copy of channel count in the private context 2012-11-01 11:29:14 -04:00
Justin Ruggles
4f56f9c48f dsicinaudio: set channels and channel layout 2012-11-01 11:29:14 -04:00
Justin Ruggles
ec2694d259 g722dec: set channel layout at initialization instead of validating it 2012-11-01 11:29:14 -04:00
Justin Ruggles
ee0e9678e7 amrwbdec: set channels, channel_layout, and sample_rate
Only mono 16kHz is supported.
2012-11-01 11:29:14 -04:00
Justin Ruggles
b24a4449a5 amrnbdec: set channels, channel_layout, and sample_rate
Only mono 8kHz is supported.
2012-11-01 11:29:14 -04:00
Justin Ruggles
a4202003b2 dca_parser: allow the parser to change the sample rate 2012-11-01 11:29:13 -04:00
Justin Ruggles
0366664ef9 lavc: check channel count after decoder init
Ensures the decoder did not set channel count to an insanely high value
during initialization, which could cause large memory usage when it tries to
get a buffer during decoding.
2012-11-01 11:29:13 -04:00
Justin Ruggles
bb6941af2a lavc: move SANE_NB_CHANNELS to internal.h and use it in the PCM decoders 2012-11-01 11:29:13 -04:00
Tomas Härdin
84e7d368d6 mxfdec: Fix inferred misuses of enums
This fixes CID 700457, 700458 and 703705.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 16:21:12 +01:00
Marton Balint
fec39d99d6 ffplay: remove redundant !codec check
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Marton Balint
fdb933444a ffplay: only initialize codec opts before using it
Fixes Coverity CID 733793.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Marton Balint
8cb740245d ffplay: always free buffersink_params in configure_video_filters
Fixes Coverity CID 733792.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Marton Balint
09214f494b ffplay: remove uneeded format filter, buffersink format is set
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Marton Balint
afd9e705de ffplay: check for buffersink_params allocation success
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Marton Balint
abd49a7524 ffplay: always free inputs and outputs in configure_filtergraph
Fixes Coverity CID 733791.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Marton Balint
65f6c42a9f ffplay: fill the unused part of the window with black
Should fix ticket #1667.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Marton Balint
00b70f8d29 ffplay: add update parameter to fill_rectangle
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-11-01 15:46:18 +01:00
Michael Niedermayer
e5cf100d3d mpegvideo_probe: check slice order
Fixes: Enrique.mp3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 15:08:03 +01:00
Michael Niedermayer
7fd9d49ba7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add ac3/eac3 tests to FATE_SAMPLES_AVCONV
  avconv_opt, cmdutils: Add missing function parameter Doxygen
  x86: Move optimization suffix to end of function names

Conflicts:
	cmdutils.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 13:25:46 +01:00
Michael Niedermayer
add7513e64 Merge commit 'fa8fcab1e0d31074c0644c4ac5194474c6c26415'
* commit 'fa8fcab1e0d31074c0644c4ac5194474c6c26415':
  x86: h264_chromamc_10bit: drop pointless PAVG %define
  x86: mmx2 ---> mmxext in function names
  swscale: do not forget to swap data in formats with different endianness

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavfilter/x86/gradfun.c
	libswscale/input.c
	libswscale/utils.c
	libswscale/x86/swscale.c
	tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 13:11:51 +01:00
Stefano Sabatini
14f1fa56b2 doc/filters: add "Notes on filtergraph escaping" section
Should help to clarify escaping issues in the filtergraph syntax. In
particular, should address trac ticket #1813.
2012-11-01 11:47:35 +01:00
Michael Niedermayer
6204ea17f1 rational: test add/sub too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 02:59:44 +01:00
Michael Niedermayer
841bf0ef24 cmdutils: allow specifying the file for -report
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 02:59:44 +01:00
Carl Eugen Hoyos
7139f0e6be Fix typo in platform documentation. 2012-11-01 01:45:53 +01:00
Paul B Mahol
bb9bc1fc98 flicvideo: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-11-01 00:29:05 +00:00
Michael Niedermayer
6a712e7f62 sws: bump micro for range bugfix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 00:32:15 +01:00
Michael Niedermayer
25a21c587c eval-test: add some otherwise untested functions.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 00:32:15 +01:00
Clément Bœsch
54a48d2f04 lavfi: fix references to avfilter_* functions that don't exist anymore. 2012-10-31 20:54:59 +01:00
Paul B Mahol
010f1ce954 ffv1: assert that there is at least one slice
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-31 19:42:07 +00:00
Janne Grunau
6b07830a77 fate: add ac3/eac3 tests to FATE_SAMPLES_AVCONV
Fixes typo in 2cbdd7c929.
2012-10-31 20:01:08 +01:00
Clément Bœsch
fd6707ed0e lavfi/hue: add missing GPL dependency. 2012-10-31 19:28:02 +01:00
Clément Bœsch
5b4cae50c9 LICENSE: update GPL filter list. 2012-10-31 19:28:02 +01:00
Clément Bœsch
f53112b665 lavfi: remove hqdn3d libmpcodecs wrapper.
The native filter was ported from the MPlayer project when the mp
wrapper didn't even exist, and when mp=hqdn3d was added, it was already
obsolete.
2012-10-31 19:28:02 +01:00
Michael Niedermayer
adc39b28a5 av_image_copy: check for av_image_get_linesize() failure.
Fixes CID703722
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 19:12:48 +01:00
Michael Niedermayer
6992b0bfc2 utils: fix rounding of micro seconds
Found-by: Johan Wessfeldt <johan.wessfeldt@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 19:12:47 +01:00
Diego Biurrun
fa8fcab1e0 x86: h264_chromamc_10bit: drop pointless PAVG %define
It is only used in one place so there is no need for the abstraction.
2012-10-31 18:21:55 +01:00
Diego Biurrun
02e4275180 avconv_opt, cmdutils: Add missing function parameter Doxygen 2012-10-31 18:21:55 +01:00
Diego Biurrun
c37322e68c x86: Move optimization suffix to end of function names
This simplifies cpuflags porting.
2012-10-31 18:21:55 +01:00
Diego Biurrun
d8eda37080 x86: mmx2 ---> mmxext in function names 2012-10-31 17:53:57 +01:00
Kostya Shishkov
38fdf72580 swscale: do not forget to swap data in formats with different endianness
Otherwise during scaling it will try to interpret input in the wrong way and
that leads to the test results disagreeing on different platforms and with
different optimizations.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-31 17:53:57 +01:00
Michael Niedermayer
3a34ac6541 file: typo
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 17:01:52 +01:00
Michael Niedermayer
31bf820a26 av_tempfile: document umask() issue
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 16:24:04 +01:00
Stefano Sabatini
1b21642149 lavfi/scale: avoid to print a NULL value in log message
Fix possible crash occurring when libc does not support NULL printing.
2012-10-31 15:46:46 +01:00
Nick Brereton
09ea482d5d Fix #1827, segfault with XXCH samples when downsampling.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 14:49:46 +01:00
Stefano Sabatini
be0b37c649 lavf/avienc: fix/extend error message, in case of too large number of skipped frames 2012-10-31 14:46:40 +01:00
Stefano Sabatini
f35d5f966f lavf/avienc: enable debug log 2012-10-31 14:46:24 +01:00
Stefano Sabatini
29a9e4d5c9 lavfi/mp: drop the mp=rectangle filter
All the rectangle features have been ported to the native drawbox filter,
which has an equivalent syntax.
2012-10-31 14:46:18 +01:00
Stefano Sabatini
9d478f38cd lavfi/drawbox: add "width" and "height" aliases for "w" and "h" options 2012-10-31 14:43:47 +01:00
Stefano Sabatini
93399e9381 lavfi/drawbox: add thickness option 2012-10-31 14:43:47 +01:00
Michael Niedermayer
84833b028b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacdec: Drop some unused function arguments
  x86: Fix assembly with NASM
  x86: fmtconvert: Refactor cvtps2pi emulation through cpuflags

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 14:27:11 +01:00
Michael Niedermayer
28c0678eb7 Merge commit 'be923ed659016350592acb9b3346f706f8170ac5'
* commit 'be923ed659016350592acb9b3346f706f8170ac5':
  x86: fmtconvert: port to cpuflags
  x86: MMX2 ---> MMXEXT in macro names

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 14:16:18 +01:00
Michael Niedermayer
4b874fc4fc Merge commit 'a65bdceb060628881578afb29df4eb222421381f'
* commit 'a65bdceb060628881578afb29df4eb222421381f':
  x86: mmx2 ---> mmxext in variable names

Conflicts:
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 14:08:49 +01:00
Michael Niedermayer
78ec407d5a Merge commit '652f5185945c8405fc57aed353286858df8d066f'
* commit '652f5185945c8405fc57aed353286858df8d066f':
  x86: mmx2 ---> mmxext in comments and messages

Conflicts:
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 14:02:35 +01:00
Michael Niedermayer
9766d9c985 Merge commit '04581c8c77ce779e4e70684ac45302972766be0f'
* commit '04581c8c77ce779e4e70684ac45302972766be0f':
  x86: yasm: Use complete source path for macro helper %includes

Conflicts:
	Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 13:57:09 +01:00
Dave Yeo
264f12342c x86: Fix assembly with NASM
Unlike YASM, NASM only looks for include files in the current
directory, not in the directory that included files reside in.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-31 13:50:01 +01:00
Michael Niedermayer
3174616f59 Merge commit '6860b4081d046558c44b1b42f22022ea341a2a73'
* commit '6860b4081d046558c44b1b42f22022ea341a2a73':
  x86: include x86inc.asm in x86util.asm
  cng: Reindent some incorrectly indented lines
  cngdec: Allow flushing the decoder
  cngdec: Make the dbov variable have the right unit
  cngdec: Fix the memset size to cover the full array
  cngdec: Update the LPC coefficients after averaging the reflection coefficients
  configure: fix print_config() with broke awks

Conflicts:
	libavcodec/x86/ac3dsp.asm
	libavcodec/x86/dct32.asm
	libavcodec/x86/deinterlace.asm
	libavcodec/x86/dsputil.asm
	libavcodec/x86/dsputilenc.asm
	libavcodec/x86/fft.asm
	libavcodec/x86/fmtconvert.asm
	libavcodec/x86/h264_chromamc.asm
	libavcodec/x86/h264_deblock.asm
	libavcodec/x86/h264_deblock_10bit.asm
	libavcodec/x86/h264_idct.asm
	libavcodec/x86/h264_idct_10bit.asm
	libavcodec/x86/h264_intrapred.asm
	libavcodec/x86/h264_intrapred_10bit.asm
	libavcodec/x86/h264_weight.asm
	libavcodec/x86/vc1dsp.asm
	libavcodec/x86/vp3dsp.asm
	libavcodec/x86/vp56dsp.asm
	libavcodec/x86/vp8dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 13:43:33 +01:00
Michael Niedermayer
976175fbe5 probetest: fix possible use of uninitialized data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 13:16:52 +01:00
Stefano Sabatini
755038d07d lavfi/drawbox: remove some unnecessary parentheses 2012-10-31 12:20:50 +01:00
Stefano Sabatini
003bd88d99 lavfi/drawbox: reindent after previous commit 2012-10-31 12:14:21 +01:00
Stefano Sabatini
1b3fdd9731 lavfi/drawbox: implement color=invert mode
Based on a libmpcodecs/vf_rectangle.c feature.
2012-10-31 12:14:21 +01:00
Stefano Sabatini
652fab5996 lavfi/mp: drop wrapped field filter
The filter has been ported to a native libavfilter filter.
2012-10-31 12:14:09 +01:00
Stefano Sabatini
3c4aa50620 lavfi: add field filter
The filter is a port of libmpcodecs/vf_field.c, since there is no common
code I relicensed it as LGPL, while keeping the original author
copyright.
2012-10-31 12:07:11 +01:00
Diego Biurrun
5707af8d0b aacdec: Drop some unused function arguments 2012-10-31 10:54:52 +01:00
Dave Yeo
9c167914a1 x86: Fix assembly with NASM
Unlike YASM, NASM only looks for include files in the current
directory, not in the directory that included files reside in.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-31 10:20:35 +01:00
Paul B Mahol
dc239b3b40 av_get_audio_frame_duration: add IAC
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-31 03:44:37 +00:00
Michael Niedermayer
0e4d34e087 pix_fmt_info: add 9/10 bit YUVA formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 03:10:35 +01:00
Michael Niedermayer
6c49562d79 tree-test: fix printf() types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 03:10:35 +01:00
Michael Niedermayer
370e397256 sws: fix handling of big endian alpha
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 03:10:35 +01:00
Diego Biurrun
be923ed659 x86: fmtconvert: port to cpuflags 2012-10-31 01:05:03 +01:00
Diego Biurrun
be2c456e96 x86: fmtconvert: Refactor cvtps2pi emulation through cpuflags 2012-10-31 01:05:03 +01:00
Diego Biurrun
588fafe7f3 x86: MMX2 ---> MMXEXT in macro names 2012-10-31 01:04:55 +01:00
Diego Biurrun
a65bdceb06 x86: mmx2 ---> mmxext in variable names 2012-10-31 00:37:42 +01:00
Diego Biurrun
652f518594 x86: mmx2 ---> mmxext in comments and messages 2012-10-31 00:37:42 +01:00
Diego Biurrun
04581c8c77 x86: yasm: Use complete source path for macro helper %includes
This is more consistent with the way we handle C #includes and
it simplifies the build system.
2012-10-31 00:37:42 +01:00
Diego Biurrun
6860b4081d x86: include x86inc.asm in x86util.asm
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-31 00:37:42 +01:00
Stefano Sabatini
1730dcf093 doc/filters: fix typo in drawbox section 2012-10-30 23:48:24 +01:00
Stefano Sabatini
b6248299f6 doc/filters: itemize examples for drawbox, add an example, fix grammar 2012-10-30 23:38:50 +01:00
Stefano Sabatini
2ed7e6cce5 lavfi/drawbox: extend syntax, accept named options 2012-10-30 23:36:36 +01:00
Stefano Sabatini
b420b87848 lavfi/tinterlace: remove poll_frame() callback
That interface is deprecated, and apparently useless.
2012-10-30 23:32:20 +01:00
Paul B Mahol
7adc600219 av_get_audio_frame_duration: add G723_1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 21:53:38 +00:00
Paul B Mahol
7b378c2fb7 lavfi: remove yuvcsp and yvu9 libmpcodecs wrappers
Same functionality is provided by libswscale.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 21:24:29 +00:00
Michael Niedermayer
f7a9a99661 wavenc: fix curruption of metadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 21:48:39 +01:00
Michael Niedermayer
2f84f13806 fate: remove typo, reenable AC3 tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 20:53:30 +01:00
Michael Niedermayer
28bcca46ed av_get_audio_frame_duration: fix IMC
Fixes Ticket1658
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 20:31:06 +01:00
Paul B Mahol
b90d7840df lavc: const correctness for avpicture_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 18:40:24 +00:00
Clément Bœsch
03179c2426 lavfi/smartblur: add missing draw slice call.
This fixes output with filtergraphs such as 'split[a][b];
[a]pad=iw*2[src]; [b]smartblur=1:1:1[filt]; [src][filt]overlay=w'
2012-10-30 19:37:20 +01:00
Michael Niedermayer
5cac0656a3 af_ashowinfo: integrate config_input() in filter_samples.
This is simpler and also should allow the code to function when the
channel number changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 19:26:07 +01:00
Mans Rullgard
674c4a11cb configure: fix print_config() with broke awks
Some awk versions do not treat the result of unary + on a (numeric)
string as numeric, giving wrong results when used in a boolean context
Using unary - instead is logically equivalent works as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-30 19:26:07 +01:00
Michael Niedermayer
4d2f1d8c93 swscale.c:remove fill_plane9or10() use fillPlane16()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 18:51:21 +01:00
Michael Niedermayer
70c25c6205 sws: move fillPlane16() to header so it can be used from more than 1 place
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 18:51:21 +01:00
Michael Niedermayer
89d2f014bc sws_unscaled: drop fill_plane9or10()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 18:51:21 +01:00
Tomas Härdin
a44c3ae3b0 Change my GPG fingerprint
The old key expired

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 18:51:21 +01:00
Michael Niedermayer
65e0a3ccd8 sws: fix BE/LE handling for fillPlane16()
Based on fill_plane9or10() by luca barbato

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 18:51:15 +01:00
Michael Niedermayer
a201639a01 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pixfmt: support more yuva formats
  swscale: support gray to 9bit and 10bit formats
  configure: rewrite print_config() function using awk
  FATE: fix (AD)PCM test dependencies broken in e519990
  Use ptrdiff_t instead of int for intra pred "stride" function parameter.
  x86: use PRED4x4/8x8/8x8L/16x16 macros to declare intrapred prototypes.

Conflicts:
	libavcodec/h264pred.c
	libavcodec/h264pred_template.c
	libavutil/pixfmt.h
	libswscale/swscale_unscaled.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 17:47:36 +01:00
Paul B Mahol
788afee86e lavfi: remove palette libmpcodecs wrapper
The filter is useless, swscale should be used instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 16:21:33 +00:00
Paul B Mahol
8a4284adbf ff: fix case where image does not have alpha channel
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 15:28:13 +00:00
Martin Storsjö
ab9545a290 cng: Reindent some incorrectly indented lines
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-30 16:51:29 +02:00
Martin Storsjö
6b68223d31 cngdec: Allow flushing the decoder
After a flush, don't average the output envelope and energy with
previous iterations.

Also start directly from the target values for the first iteration
at startup.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-30 16:51:25 +02:00
Martin Storsjö
036e6c37d3 cngdec: Make the dbov variable have the right unit
Previously the unit of the variable was Bov, not dBov.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-30 16:51:21 +02:00
Martin Storsjö
cafefd889b cngdec: Fix the memset size to cover the full array
This was a leftover from previous iterations of the code, where the
refl coef arrays were statically allocated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-30 16:51:16 +02:00
Martin Storsjö
9b50d20cd2 cngdec: Update the LPC coefficients after averaging the reflection coefficients
I somehow messed up the placement of this one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-30 16:51:12 +02:00
Michael Niedermayer
6f5f7f705d Merge commit '08b028c18dc31b6de741861b9555669dcca4d12a'
* commit '08b028c18dc31b6de741861b9555669dcca4d12a':
  Remove INIT_AVX from x86inc.asm.
  Remove usage of INIT_AVX in h264_intrapred_10bit.asm.
  dv: fix indentation

Conflicts:
	libavformat/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 15:28:24 +01:00
Michael Niedermayer
e79c3858b3 Merge commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8'
* commit '14f031d7ecfabba0ef02776d4516aa3dcb7c40d8':
  dv: use AVStream.index instead of abusing AVStream.id
  lavfi: add ashowinfo filter
  avcodec: Add a RFC 3389 comfort noise codec
  lpc: Add a function for calculating reflection coefficients from samples
  lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients
  lavr: document upper bound on number of output samples.
  lavr: add general API usage doxy
  indeo3: remove duplicate capabilities line.
  fate: ac3: Add dependencies

Conflicts:
	Changelog
	doc/filters.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h
	libavfilter/Makefile
	libavfilter/af_ashowinfo.c
	libavfilter/allfilters.c
	libavfilter/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 14:40:22 +01:00
Mans Rullgard
d16c4aebba configure: fix print_config() with broke awks
Some awk versions do not treat the result of unary + on a (numeric)
string as numeric, giving wrong results when used in a boolean context
Using unary - instead is logically equivalent works as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-30 13:33:29 +00:00
Michael Niedermayer
cd37963684 Merge commit '381dc1a5ec0925b281c573457c413ae643567086'
* commit '381dc1a5ec0925b281c573457c413ae643567086':
  fate: ac3: Place E-AC-3 tests and AC-3 tests in different groups
  fate: Add shorthands for acodec PCM and ADPCM tests
  avconv: Drop unused function argument from do_video_stats()
  cmdutils: Conditionally compile libswscale-related bits
  aacenc: Drop some unused function arguments
  rtsp: Avoid a cast when calling strtol
  nut: support textual data
  nutenc: verbosely report unsupported negative pts

Conflicts:
	cmdutils.c
	ffmpeg.c
	libavformat/nut.c
	libavformat/nutenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 13:52:03 +01:00
Michael Niedermayer
60e957476e rawdec: check avpicture_get_size() return value
Fixes CID205019
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 13:18:57 +01:00
Carl Eugen Hoyos
d3de3a16d1 Partly revert f174fba: yop decoder does not support direct rendering. 2012-10-30 12:09:25 +01:00
Luca Barbato
7658295ba3 pixfmt: support more yuva formats
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-30 12:02:42 +01:00
Luca Barbato
26b5ad2543 swscale: support gray to 9bit and 10bit formats
With the input of Kostya and Ronald.
2012-10-30 12:02:41 +01:00
Carl Eugen Hoyos
8bf44d5c96 Partly revert f174fba: indeo3 decoder does not support direct rendering. 2012-10-30 11:51:58 +01:00
Mans Rullgard
f454e87923 configure: rewrite print_config() function using awk
This is much faster with slow shells and noticeably faster even
with bash on a fast Linux system.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-30 10:28:25 +00:00
Paul B Mahol
5f614bcf2c vqavideo: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-30 03:29:08 +00:00
Anton Khirnov
02e6364259 FATE: fix (AD)PCM test dependencies broken in e519990
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-30 03:13:41 +01:00
Michael Niedermayer
4b7f34a34e mpeg12videodec: dont pass mpeg1 VBR special case value on as bitrate.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 02:27:50 +01:00
Heesuk Jung
c349177b8c mpeg12video_parser: Wrong bit rate in MPEG2 video file (Ticket #1862)
mpegvideo parser sometime get wrong stream bit rate which is 0x3FFFF*400.
But maximum bit rate of MPEG2 video is up to 80 Mbps in case 1920x1080 resolution.
When bit rate is 0x3FFFF*400, set bit rate zero.

* Problematic link
https://docs.google.com/open?id=0B6r7ZfWFIypCUkhPa0dyTGdFSE0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 02:19:52 +01:00
Michael Niedermayer
740959fdbf mpeg12parser: cleanup bitrate parsing.
This fixes several bugs in the code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-30 02:19:21 +01:00
Ronald S. Bultje
95c89da36e Use ptrdiff_t instead of int for intra pred "stride" function parameter.
This way, SIMD-optimized functions don't have to sign-extend their
stride argument manually to be able to do pointer arithmetic.
2012-10-29 17:49:13 -07:00
Ronald S. Bultje
bad8e33dc9 x86: use PRED4x4/8x8/8x8L/16x16 macros to declare intrapred prototypes. 2012-10-29 17:48:23 -07:00
Ronald S. Bultje
08b028c18d Remove INIT_AVX from x86inc.asm. 2012-10-29 14:51:14 -07:00
Michael Niedermayer
11d695d120 x11grab: fix mixed declaration and code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 22:24:10 +01:00
Michael Niedermayer
977cb54f94 tree: fix type used for testing the tree
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 22:21:25 +01:00
Michael Niedermayer
1838961357 qt-faststart: fix signedness of variable used to hold return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 22:11:22 +01:00
Michael Niedermayer
91295f03d4 mp3dec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 22:11:21 +01:00
Michael Niedermayer
ba8adf9be5 truemotion2: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 22:11:19 +01:00
Ronald S. Bultje
c285edd06e Remove usage of INIT_AVX in h264_intrapred_10bit.asm.
Replace INIT_AVX by INIT_XMM avx. Port the whole file to use cpuflag
based function declarations. Remove (now unused) cputype argument in
function declaration macros. Change function prototypes to have mmx2
instead of mmxext as suffix, since that's required by cpuflags.
2012-10-29 14:10:51 -07:00
Anton Khirnov
ede4cedf47 dv: fix indentation 2012-10-29 21:35:09 +01:00
Anton Khirnov
14f031d7ec dv: use AVStream.index instead of abusing AVStream.id 2012-10-29 21:34:05 +01:00
Piotr Bandurski
bf0d098a98 pictordec: decode 1bpp / 4bpp images when extra header marker is missing
based on 56f6628bca

samples:

http://www.datafilehost.com/download-94b5bc1b.html

Reviewed-and-Tested-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 21:32:03 +01:00
Anton Khirnov
20dd41af85 lavfi: add ashowinfo filter
It can be useful for debugging.

Based on a patch by Stefano Sabatini <stefano.sabatini-lala@poste.it>
2012-10-29 21:29:58 +01:00
Piotr Bandurski
a29ed50ed7 avuidec: correct long_name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 21:13:50 +01:00
Paul B Mahol
9051025102 lavc: remove duplicated .capabilities
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-29 20:06:52 +00:00
Martin Storsjö
9b500b8f6c avcodec: Add a RFC 3389 comfort noise codec
This isn't too useful as a normal codec, but can be used in
voip style applications. The decoder updates the noise
generator parameters when a packet is given to it for decoding,
but if called with an empty packet, it generates more noise
according to the last parameters.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-29 22:00:43 +02:00
Martin Storsjö
8b25a20efb lpc: Add a function for calculating reflection coefficients from samples
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-29 21:53:16 +02:00
Justin Ruggles
39ef66f530 lpc: Add a function for calculating reflection coefficients from autocorrelation coefficients
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-29 21:53:13 +02:00
Anton Khirnov
dc5793062e lavr: document upper bound on number of output samples.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-29 20:05:47 +01:00
Anton Khirnov
01b760190d lavr: add general API usage doxy
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-29 20:05:41 +01:00
Anton Khirnov
bff5e5f8b3 indeo3: remove duplicate capabilities line. 2012-10-29 20:04:56 +01:00
Diego Biurrun
381dc1a5ec fate: ac3: Place E-AC-3 tests and AC-3 tests in different groups 2012-10-29 19:07:58 +01:00
Diego Biurrun
2cbdd7c929 fate: ac3: Add dependencies 2012-10-29 19:07:58 +01:00
Diego Biurrun
e519990ced fate: Add shorthands for acodec PCM and ADPCM tests 2012-10-29 19:07:58 +01:00
Diego Biurrun
70478746a9 avconv: Drop unused function argument from do_video_stats() 2012-10-29 19:07:58 +01:00
Diego Biurrun
ab79966475 cmdutils: Conditionally compile libswscale-related bits
This fixes compilation with libswscale disabled.
2012-10-29 19:02:12 +01:00
rogerdpack
c1804dc4ce lavfi/frei0r: allow for Windows style paths
Update path handling against the latest Frei0r specification changes.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-10-29 18:50:48 +01:00
Stefano Sabatini
7691860c73 lavfi/frei0r: update link to spec
Fri0r project moved from piksel.org to frei0r.dyne.org.
2012-10-29 18:48:00 +01:00
Diego Biurrun
72c758f1fd aacenc: Drop some unused function arguments 2012-10-29 18:27:54 +01:00
Stefano Sabatini
19add3224f lavfi/scale: implement clever/insane parsing heuristic, and add a size option
If the first argument can be read as a video size, set that output size
in the scale. This allows to specify in a filtergraph scale=qcif or
scale=320x240.

This is not completely safe, for example in case of a typo in the video
size string the first argument will be read as the input width
expression, giving rise to a confusing comment.
2012-10-29 17:44:53 +01:00
Stefano Sabatini
d4604d10fe lavu/parseutils: add trailing characters check in av_parse_video_size()
Return an error in case the video size specifications contains spurious
trailing chars, like in "320x240foobar".
2012-10-29 17:39:26 +01:00
Stefano Sabatini
adf0cd1456 doc/filters: itemize scale examples, and create a dedicated subsection for them 2012-10-29 17:39:26 +01:00
Stefano Sabatini
c2428ada71 lavfi/scale: return error code in case of failed reconfiguration in start_frame()
Avoid an assert, since now the function supports error code return.
2012-10-29 17:39:26 +01:00
Stefano Sabatini
83938c3d4c lavfi/scale: accept named options, make parsing more robust
Also update documentation accordingly.
2012-10-29 17:39:26 +01:00
Martin Storsjö
f21d5c905d rtsp: Avoid a cast when calling strtol
This gets rid of this warning:

libavformat/rtsp.c: In function ‘rtsp_parse_transport’:
libavformat/rtsp.c:794: warning: cast discards qualifiers from pointer target type

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-29 17:47:25 +02:00
Tim Nicholson
8a9b48bfa9 movenc: Add required 'prof' atom to 'tapt' atom set.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 16:45:37 +01:00
Michael Niedermayer
67420b3de5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add CODEC_CAP_DR1 to all video decoders missing them
  rtpdec: Cosmetic cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 13:15:27 +01:00
Luca Barbato
d4bff9f1ab nut: support textual data
Plain text (utf8 encoded) data can be muxed and demuxed in nut.
2012-10-29 12:03:28 +01:00
Stefano Sabatini
7d1e003abd doc/syntax: add a "Quoting and escaping" section 2012-10-29 11:56:15 +01:00
Luca Barbato
07585ffa62 nutenc: verbosely report unsupported negative pts
Additionally use the correct error number.
2012-10-29 10:52:13 +01:00
Anton Khirnov
f174fbac3c lavc: add CODEC_CAP_DR1 to all video decoders missing them 2012-10-29 09:51:23 +01:00
Michael Niedermayer
b4e6265136 dcadec: skip QMF on unused channels
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 05:21:47 +01:00
Michael Niedermayer
a3886ea3c5 smoothstreamingenc: check return value of mkdir()
Fixes CID732188
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 03:34:17 +01:00
Michael Niedermayer
b399816d9c smoothstreamingenc: fix integer overflow
Fixes CID732248
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 03:17:08 +01:00
Michael Niedermayer
224afddc7c ismindex: check return value of avio_open_dyn_buf()
Fixes CID733723
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-29 02:53:43 +01:00
Leon van Stuivenberg
c5be6192f0 cmdutils: avoid using cpp directives within printf macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

It appears such construct has undefined behavior
2012-10-29 01:03:02 +01:00
Paul B Mahol
c2e2b3029e cafdec: fix parsing of chunks which may have unused data
Specification mentions 'strg', 'mark', 'regn', 'info', .. chunks
to have data section size larger than chunk's current meaningful
content in order to reserve room for additional data.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-28 20:33:29 +00:00
Clément Bœsch
3d6a246b4b lavf/srtenc: add AVFMT_TS_NONSTRICT flag.
There is not really a problem in having two events at the same time.
Even if it's not perfectly correct, it helps remuxing more files
(typically our FATE sample).
2012-10-28 20:45:58 +01:00
Martin Storsjö
48f01398ba rtpdec: Cosmetic cleanup
Mainly clean up the RTP statistics code, plus a few other obviously
misindentend lines.

Remove some useless comments, de-doxygenize some comments,
add spacing around operators and fix a typo.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-28 20:50:01 +02:00
Michael Niedermayer
d41c019da0 fate/scalenorm: unbreak fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 18:26:11 +01:00
Stefano Sabatini
74e81b4de1 tests: do not set bogus scale sws_flags option in the scalenorm test
sws_flags is not a valid scale option, and thus is ignored.
2012-10-28 17:20:50 +01:00
Michael Niedermayer
f472d01c25 frame_thread_encode: fix context memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 17:04:11 +01:00
Michael Niedermayer
991db63951 frame_thread_encoder: fix packet memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 16:47:23 +01:00
Michael Niedermayer
d8246d475c vc1dec: mark by assert that the default path cannot occur
Fixes CID703827, CID703828
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 16:11:14 +01:00
Paul B Mahol
07ed191b15 parse ID3v2 chapters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-28 15:10:28 +00:00
Carl Eugen Hoyos
3f44809415 Synchronize libmpcodecs: Support 16bit yuv in telecine filter.
Fixes ticket 1782.
2012-10-28 15:46:35 +01:00
Carl Eugen Hoyos
96fac764fa Add an additional AAC TwoCC.
Mentioned on http://msdn.microsoft.com/en-us/library/dd341376%28prot.20%29.aspx
Originally committed to vlc by Jean-Baptiste.
2012-10-28 14:50:11 +01:00
bbraun
d72aef4e92 movenc: add more metadata types
Fixes Ticket1052

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 14:36:57 +01:00
Michael Niedermayer
ac090fa68c lavu: keep context size variables
They are essential to be able to use the utils without av_malloc()
That is for example use with malloc(), memalign(), some other
private allocation function, on the stack or others.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 14:33:41 +01:00
Michael Niedermayer
c73fcc8de3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  yuv4mpeg: reject unsupported codecs
  nutenc: K&R formatting cosmetics
  assdec: fix qsort() callback signature
  configure: detect sparc64 automatically
  vp8: fix memset() crossing array boundary
  h264: fix invalid pointer arithmetic
  amrwbdec: fix invalid pointer arithmetic

Conflicts:
	libavformat/nutenc.c
	libavformat/yuv4mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 14:24:27 +01:00
Michael Niedermayer
8943ad4014 Merge commit '4521645b1aee9e9ad8f5cea7b2392cd5f6ffcd26'
* commit '4521645b1aee9e9ad8f5cea7b2392cd5f6ffcd26':
  avio: fix pointer type mismatches in avio_enum_protocols()
  avserver: use socklen_t where appropriate
  udp: use socklen_t where appropriate
  network: use HAVE_THREADS instead of local hack
  af_channelmap: remove stray enum declaration
  buffersink: remove stray semicolon after function definition

Conflicts:
	libavformat/avio.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 13:19:11 +01:00
Michael Niedermayer
f9f79cb0ec fate: make sure the global sws flags are set to be bitexact for scalenorm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 13:05:35 +01:00
Nicolas George
14f69a0516 fate: add a test for scale with variable input format. 2012-10-28 09:59:03 +01:00
Nicolas George
b0e2f4a757 lavfi/concat: implement unsafe mode. 2012-10-28 09:14:34 +01:00
Luca Barbato
424b1e7642 yuv4mpeg: reject unsupported codecs
The muxer already rejects unsupported pixel formats, reject also
unsupported codecs to prevent dangerous misuses.
2012-10-28 05:07:55 +01:00
Luca Barbato
fce4450dec nutenc: K&R formatting cosmetics 2012-10-28 05:07:55 +01:00
Michael Niedermayer
c4a36b6f70 lpc: check that lpc_type is valid in ff_lpc_calc_coefs
Fixes CID700759
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 03:27:16 +01:00
Michael Niedermayer
8edf9b1fa4 sws: rgb has no range, avoid random results if the user tries to mess with it anyway.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 02:46:56 +02:00
Michael Niedermayer
d23e8f53ad swr: use 64bit index/len for x86_64 mix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 02:09:08 +02:00
Michael Niedermayer
2aecfd4f20 vf_showinfo: check return code of av_image_get_linesize()
Fixes CID703716
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-28 00:40:28 +02:00
Michael Niedermayer
0f943ed3c8 swfenc: zero fifo after freeing
Fixes CID602000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 23:03:07 +02:00
Michael Niedermayer
189fbcede8 tak_parser: check ff_combine_frame() return code
Fixes CID733706
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 23:03:07 +02:00
Clément Bœsch
6078bd8024 lavf/showspectrum: fix unaligned rdft data. 2012-10-27 22:59:05 +02:00
Piotr Bandurski
2ef26b5e73 riff: support 0xa100 TwoCC
fixes decoding of file "4790b7f1c44f98e35f3b806468fa615f5930a5b3.wav" from ticket #1856
(0xa100 = Comverse Infosys Ltd. G723 1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 21:41:59 +02:00
Michael Niedermayer
6c8d259ab1 msmpeg4dec: fix init code to not fail when called from 2 threads at the same time.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 21:39:06 +02:00
Michael Niedermayer
f44be0da94 ff_h263_decode_init_vlc: fix order of operations to avoid failure with 2 threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 21:31:49 +02:00
Mans Rullgard
4cbae57cef assdec: fix qsort() callback signature
This changes the event_cmp() function to the correct signature,
avoiding an ugly cast.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 18:26:28 +01:00
Mans Rullgard
4cd217c065 configure: detect sparc64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 18:24:55 +01:00
Mans Rullgard
4471a24207 vp8: fix memset() crossing array boundary
Indexing across array boundaries is not allowed by C99.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 17:02:46 +01:00
Mans Rullgard
c4cccc8d3f h264: fix invalid pointer arithmetic
Subtracting a (positive) value from the address of an array violates
C99 section 6.5.6:

  If both the pointer operand and the result point to elements of the
  same array object, or one past the last element of the array object,
  the evaluation shall not produce an overflow; otherwise, the
  behavior is undefined.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 17:02:46 +01:00
Mans Rullgard
50be207759 amrwbdec: fix invalid pointer arithmetic
Subtracting a (positive) value from the address of an array violates
C99 section 6.5.6:

  If both the pointer operand and the result point to elements of the
  same array object, or one past the last element of the array object,
  the evaluation shall not produce an overflow; otherwise, the
  behavior is undefined.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 17:02:45 +01:00
Reimar Döffinger
5f9cbad603 Port MPlayer fixes for coverity issues in libmpcodecs.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-10-27 17:52:41 +02:00
Michael Niedermayer
425c30ddae sws: loose the minimum dimension checks
A few quick tests show no fundamental problem with such diemnsions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 16:54:31 +02:00
Michael Niedermayer
733f85b7ae sws: improve error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 16:54:05 +02:00
Michael Niedermayer
7de2196029 sws: fix extreem downscaling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 16:29:24 +02:00
Michael Niedermayer
95760b33e7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: fix tests for 2-arg math functions
  doc: git-howto: Clarify comment about pushing series of commits
  ivi_common: Drop unused function parameter from decode_band()
  cook: Remove some silly Doxygen comments
  cook: Remove senseless maybe_reformat_buffer32() function
  cook: cosmetics: Better names for joint_decode() function parameters
  cook: cosmetics: Better name for ccpl COOKSubpacket member
  doxygen: Add av_alloc_size to list of predefined macros
  doxygen: Drop some pointless entries from PREDEFINED macros list
  h263: avoid memcpys over array bound in motion vector caching for obmc

Conflicts:
	configure
	doc/git-howto.texi
	libavcodec/cook.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 15:02:35 +02:00
Mans Rullgard
4521645b1a avio: fix pointer type mismatches in avio_enum_protocols()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:43:44 +01:00
Mans Rullgard
cc64ec570c avserver: use socklen_t where appropriate
Various socket functions expect a pointer to socklen_t which is not
necessarily int.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:11:49 +01:00
Mans Rullgard
be2efe0c7b udp: use socklen_t where appropriate
getsockname() takes a pointer to socklen_t which is not necessarily
int.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:11:46 +01:00
Mans Rullgard
9efbfe57e0 network: use HAVE_THREADS instead of local hack
HAVE_THREADS is set in config.h if pthreads or w32threads is
available, which presumably the proper condition here.

Also fixes undefined behaviour in preprocessor directives.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:11:17 +01:00
Mans Rullgard
67a68dcec2 af_channelmap: remove stray enum declaration
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:06:43 +01:00
Mans Rullgard
6b776c61da buffersink: remove stray semicolon after function definition
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:06:27 +01:00
Xidorn Quan
c25e9292ba fix a compiling error with llvm-gcc
Move some #include in vda.h down to prevent libavutil headers
from interfering with system headers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 04:32:40 +02:00
Michael Niedermayer
1909dbf11d ffmpeg: use av_rescale_delta() for audio stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 04:01:31 +02:00
Michael Niedermayer
2bcbdd8456 lavu: add more doxy to av_rescale_delta
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 02:58:09 +02:00
Michael Bradshaw
c430cb49fd Update my email address
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 02:06:21 +02:00
Michael Niedermayer
e823e73677 sws_getGaussianVec: check variance and quality
Found-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 01:25:00 +02:00
Michael Niedermayer
fe573d1a9b sws_allocVec: check length validity
Found-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 01:24:51 +02:00
Michael Niedermayer
a9d97e1b0a ffmpeg: use av_rescale_delta() on the audio filter input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 00:26:35 +02:00
Michael Niedermayer
8766ad9eb1 lavu: add av_rescale_delta()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 00:26:35 +02:00
Michael Niedermayer
03e44bcb3f ffmpeg: trivial simplification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 00:26:35 +02:00
Michael Niedermayer
90d4b07063 mathemathics: update copyright years
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 00:26:35 +02:00
Michael Niedermayer
ae52eb7fc7 lavu: add av_clip64()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27 00:26:35 +02:00
Mans Rullgard
1aa07aa21c configure: fix tests for 2-arg math functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-26 22:50:42 +01:00
Clément Bœsch
5f0105b820 lavf/srtenc: allow zero duration events.
This is useful when you want to remux events with zero (or too small)
durations.
2012-10-26 21:48:27 +02:00
Clément Bœsch
eb36ee1ee1 lavc/srtenc: fix invalid read in case of SubRip.
Regression since 6057de19b. The ptr-2 is used to eat the \r\n and add
the position information on the timing line. This can't be done in case
of SubRip where the timing isn't present in the payload.

Note that we can't use yet the side data to transmit the position
information since the encode subtitles API is still using buffer+size
instead AVPacket as input.
2012-10-26 21:48:27 +02:00
Diego Biurrun
ca7f59119b doc: git-howto: Clarify comment about pushing series of commits 2012-10-26 18:28:38 +02:00
Diego Biurrun
87cdd7c694 ivi_common: Drop unused function parameter from decode_band() 2012-10-26 18:28:38 +02:00
Diego Biurrun
707f58f515 cook: Remove some silly Doxygen comments 2012-10-26 18:28:38 +02:00
Diego Biurrun
8a61ba0e81 cook: Remove senseless maybe_reformat_buffer32() function 2012-10-26 18:28:38 +02:00
Diego Biurrun
f23b4a0682 cook: cosmetics: Better names for joint_decode() function parameters 2012-10-26 18:28:38 +02:00
Diego Biurrun
20015379a4 cook: cosmetics: Better name for ccpl COOKSubpacket member 2012-10-26 18:28:38 +02:00
Diego Biurrun
13bbefd57e doxygen: Add av_alloc_size to list of predefined macros
This avoids Doxygen believing the attribute is the function name.
2012-10-26 18:28:38 +02:00
Diego Biurrun
74e742d6ad doxygen: Drop some pointless entries from PREDEFINED macros list 2012-10-26 18:28:38 +02:00
Michael Niedermayer
5b45b66220 cws2fws: check fstat return code.
Fixes CID733720
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 18:24:50 +02:00
Michael Niedermayer
86aba86b1b cws2fws: check lseek() return
Fixes: CID733721
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 18:24:50 +02:00
Michael Niedermayer
59eae88429 cws2fws: check inflateInit return value
Fixes CID733722
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 18:24:50 +02:00
Janne Grunau
154ff81870 h263: avoid memcpys over array bound in motion vector caching for obmc
Fixes CID602232.
2012-10-26 17:38:07 +02:00
Paul B Mahol
adc61d68b0 bit: check av_new_packet() return value
Fixes CID703626.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-26 15:34:25 +00:00
Michael Niedermayer
ca28cb5f83 examples: fix doxy so they appear on the example page
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 16:32:32 +02:00
Michael Niedermayer
c01a462cda rmdec: fix null derefercne
Fixes CID733714
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 16:18:09 +02:00
Michael Niedermayer
1bf5071104 rmdec: use av_assert for audio_pkt_cnt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 16:13:16 +02:00
Michael Niedermayer
9aa630a520 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: sanitise sparc vis check
  configure: recognise more sparc variants as --cpu argument
  build: Include HEADERS-yes in the HEADERS variable
  pcm: change references to raw to pcm
  ffv1: set the range coder state in decode_slice_header
  pcmdec: change default of channels parameter to 1

Conflicts:
	libavformat/pcmdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 15:20:48 +02:00
Mans Rullgard
6aa93689ab configure: sanitise sparc vis check
It is wrong to force -mcpu=ultrasparc when checking for vis.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-26 12:29:03 +01:00
Michael Kostylev
eadfb0560a configure: recognise more sparc variants as --cpu argument
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-26 12:29:03 +01:00
Paul B Mahol
7fe6f6e2b1 caf muxer: write metadata
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-26 03:12:45 +00:00
Michael Niedermayer
507f2940cc Merge commit '1b891d17c531e8a63c2974aab4bf997ce70746f3'
* commit '1b891d17c531e8a63c2974aab4bf997ce70746f3':
  avconv: fix bitrate report when writing to /dev/null
  avfilter: fix graphparser memleaks on error paths
  rawdec: remove ff_raw_read_header
  pcmdec: remove dependency from rawdec
  g722: refactor out of rawdec.c
  rawvideo: use a specific read_header

Conflicts:
	ffmpeg.c
	libavformat/Makefile
	libavformat/rawdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 14:24:57 +02:00
Michael Niedermayer
9f36ec6aa9 aacps: fix order of operands of ipdopd_reset().
With the current implementation this is purely cosmetic

Fixes CID732285
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 03:24:13 +02:00
Michael Niedermayer
0018aa9013 aacps: loose self assignment
Fixes CID604123
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 03:24:13 +02:00
Michael Niedermayer
f69f9b3876 aacenc: replace scale factor warning by assert
The code would crash after printing the warning

Fixes CID717903, CID717904
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 03:24:13 +02:00
Matthieu Bouron
cfb1c3c9f0 aiffdec: read ID3 attached pictures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-26 01:52:40 +02:00
Paul B Mahol
73f9d2e887 cafenc: make .long_name match demuxer
While here reindent .codec_tag .

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-25 23:04:13 +00:00
Stefano Sabatini
15f52e50fe tools: add ffescape utility 2012-10-25 23:56:16 +02:00
Paul B Mahol
04a585f054 fraps: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-25 21:51:45 +00:00
Paul B Mahol
43f662d9bf lvfdec: cosmetics: fix identation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-25 20:57:40 +00:00
Clément Bœsch
13d26716fb lavfi/showspectrum: add sliding mode. 2012-10-25 22:20:22 +02:00
Stefano Sabatini
b19bfd6c9f lavd/lavfi: fix leak in case of failure
Jump to the common release code in case of failure.
2012-10-25 21:35:40 +02:00
Nicolas George
48ec8b25a7 lavfi/af_volumedetect: print stats in uninit().
If the stats are printed when request_frame on the input
returns EOF, then they are never printed if the filter is
not flushed, in particular when using the -t ffmpeg option.

Fix trac ticket #1727.
2012-10-25 20:16:09 +02:00
Alexis Ballier
ce028ab9a7 Restore installation of libavutil/lzo.h after 2a91ada828
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 20:00:19 +02:00
Nicolas George
77a72d3485 lavfi/vf_fps: allow to set the rounding method.
By default, fps selects frames near PTS 0, 0.5, 1.5, 2.5, etc.
With round=down, it selects the frames near PTS 0, 1, 2, 3, etc.
2012-10-25 19:42:44 +02:00
Martin Ettl
cc72d52dc1 ffserver: fix printf argument type 2012-10-25 16:35:57 +00:00
Martin Storsjö
121604b024 build: Include HEADERS-yes in the HEADERS variable
This makes sure the previously always installed public header
lzo.h is installed if the LZO functionality is enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-25 18:36:11 +03:00
Luca Barbato
254056c4ab pcm: change references to raw to pcm 2012-10-25 17:08:58 +02:00
Paul B Mahol
d8245c3bcd dsicinav: return proper error code in case of malloc failure
Fixes null pointer dereference.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-25 13:46:19 +00:00
Paul B Mahol
296f9c2b3b dsicinav: return meaningful error code
While here remove redundant references in error message.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-25 13:10:23 +00:00
Janne Grunau
1b891d17c5 avconv: fix bitrate report when writing to /dev/null
avio_size() reports the filesize which returns 0 for /dev/null.
avio_tell() reports the current position.

Also handle errors from avio_tell().
2012-10-25 15:00:15 +02:00
Janne Grunau
285b706b55 avfilter: fix graphparser memleaks on error paths
Fixes CID700635, CID700636 and CID732274.
2012-10-25 15:00:15 +02:00
Luca Barbato
587874ef1c rawdec: remove ff_raw_read_header
It is not used anymore and is a kludge.
2012-10-25 14:05:13 +02:00
Luca Barbato
2ef4d586d6 pcmdec: remove dependency from rawdec
The code shared is not actually shared with anything else.
2012-10-25 14:05:13 +02:00
Luca Barbato
5f0e161dd6 g722: refactor out of rawdec.c 2012-10-25 14:05:05 +02:00
Luca Barbato
42c26a4864 rawvideo: use a specific read_header
ff_raw_read_header is used only for this demuxer for video.
2012-10-25 14:04:18 +02:00
Tomas Härdin
5c108092a3 mxfenc: Write MultipleDescriptor ref in Preface
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 13:56:24 +02:00
Michael Niedermayer
da4e4d65f4 aacdec: reorder multiuplications to make code safer against too large input values.
Fixes CID700697
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 13:45:26 +02:00
Michael Niedermayer
aa604e8e33 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Make LZO decoder code configure-time selectable
  avutil: Move memcpy_backptr() to mem.c
  configure: detect parisc64 automatically
  configure: detect ppc64 automatically
  configure: detect mips64 automatically
  configure: generalise 64-bit test
  smoothstreamingenc: Don't assume streams start from timestamp 0

Conflicts:
	configure
	libavutil/Makefile
	libavutil/lzo.c
	libavutil/lzo.h
	libavutil/mem.c
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 13:15:58 +02:00
Diego Biurrun
2a91ada828 avutil: Make LZO decoder code configure-time selectable 2012-10-25 11:49:49 +02:00
Diego Biurrun
5bac2d0c30 avutil: Move memcpy_backptr() to mem.c
The function is used elsewhere and does not belong with the LZO code.
2012-10-25 11:36:57 +02:00
Michael Niedermayer
d312ffdd79 mpegvideo: fix lowres on field pictures
Fixes Ticket1846

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 04:03:58 +02:00
Michael Niedermayer
1a535fc477 fate: reenable some recently lost audio tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 03:13:32 +02:00
Michael Niedermayer
fa48da1ee9 ffmpeg: fix null ptr deref in psnr printing code
Fixes CID205005
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 01:38:15 +02:00
Michael Niedermayer
a1af505d66 roqaudioenc: remove dead code
Fixes CID703669
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 01:38:15 +02:00
Michael Niedermayer
4a2297294f qt-faststart: check return of ftello()
Fixes CID739863
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 01:32:45 +02:00
Michael Niedermayer
ed68085104 asfdec: fixed signedness in comparission
Fixes CID739864
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 00:35:55 +02:00
Michael Niedermayer
0008e0d632 cmdutils: fix unclosed file on error
Fixes CID739865
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 00:32:34 +02:00
Michael Niedermayer
58c2c17f1d mov_probe: use correct variable
Fixes CID739867
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 00:24:25 +02:00
Michael Niedermayer
aa47821344 cmdutils: remove writes in never read variable
Fixes CID739868
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-25 00:24:25 +02:00
Clément Bœsch
2ecf9492ff lavf/srtenc: set codec to subrip by default.
We don't have a text encoder yet, so this commit makes automatic
encoding working with srt output.
2012-10-25 00:17:56 +02:00
Clément Bœsch
fd090a5d09 lavf/srtenc: simplify timing printing. 2012-10-25 00:17:46 +02:00
Clément Bœsch
c27b3816e4 srt: make the demuxer output SubRip packets.
The SRT format should never have outputted CODEC_ID_SRT packets in the
first place: SRT is a subtitle format containing SubRip text markup
events. The timing information is part of the format, not the codec, and
thus CODEC_ID_SRT should not exist.

Creating packets with the timing information within the payload only
leads to problem (such as remuxing with timing alteration not working),
especially when the SubRip markup is being used in container like
Matroska in addition to this standalone SRT format.

The main reason the timing line was included in those CODEC_ID_SRT
packets is likely because it contained extra information (the event
position) the codec actually needs. This issue is solved by using the
AV_PKT_DATA_SUBTITLE_POSITION side data type.
2012-10-25 00:09:36 +02:00
Clément Bœsch
4d46fd0b3e lavc: add AV_PKT_DATA_SUBTITLE_POSITION side data type.
This commit introduces a new packet side data type for the subtitle
position information. This is meant to be used by the SRT format where
that information is stored along with the timing, which is not part of
the subrip packets.
2012-10-24 23:58:18 +02:00
Clément Bœsch
60d9ee1b75 lavc/utils: make sub decode consistent with A/V.
This allows side data to be transmitted properly with subtitles.
2012-10-24 23:56:43 +02:00
Clément Bœsch
a96b39de62 lavf/srtdec: simplify start/end computation.
Also fix potential overflow (CID733778)
2012-10-24 23:56:43 +02:00
Stefano Sabatini
a945607a78 ffprobe: add an array of section print buffers to the WriterContext
Allow to factorize buffers initialization/release, for all the writers
which use it. Simplify.
2012-10-24 23:40:21 +02:00
Stefano Sabatini
a161def1e4 Doxyfile: update examples path and patterns 2012-10-24 23:40:15 +02:00
Stefano Sabatini
ce875a613a doc/texi2pod.pl: drop unnecessary rule, which was converting "\," to ","
I cannot find a reason for such a rule, which was resulting in badly
escaped filtergraph snippets.

Fix trac ticket #1610.
2012-10-24 23:33:47 +02:00
Michael Niedermayer
f68ff2e0e7 fourcc2pixfmt: fix compilation
If someone finds a cleaner fix, dont hesitate to revert this!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 22:25:43 +02:00
Michael Niedermayer
95d07f33dc libavfilter: include needed header for AVDictionary
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 22:24:54 +02:00
Clément Bœsch
c01d1d4ddf http: add -content_type user option. 2012-10-24 22:15:31 +02:00
Paul B Mahol
6ddb03caf0 pgmyuvenc: do not create files which are not supported
It is possible to support files with odd width and/or height
if real width and height are stored in header.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-24 18:38:31 +00:00
Paul B Mahol
e12cfd044c lavf: const correctness for avformat_new_stream
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-24 17:55:35 +00:00
Tomas Härdin
e3ba817b95 mxfenc: Fix possible integer overflows
None of these are likely unless the user is writing a file with two billion
streams or a duration of around two months.

This fixes CIDs 700568, 700569, 700570, 700571, 700572 and 700573.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 17:46:27 +02:00
Tomas Härdin
fbb39f44f1 mxfdec: Fix potential leak in mxf_read_local_tags()
This fixes CID 733800.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 17:45:49 +02:00
Tomas Härdin
1d22d269f5 mxfdec: Fix a potential DoS vector in mxf_read_pixel_layout()
There's a a potential DoS problem in this function. Say an MXF file is
created with a PixelLayout with a long run of non-zeroes. Such a file could be
sent quickly (packed) over the net and would unpack quite fast. mxfdec would
then read it byte-by-byte, which would take considerable time.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 17:44:35 +02:00
Tomas Härdin
187630b244 mxfdec: Fix CID 732262
Coverity thinks ofs can end up 15, thus writing past the end of layout[]. This
is incorrect since it's always incremented by 2. Checking ofs <= 14 makes
Coverity happy and doesn't hurt.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 17:44:35 +02:00
Mans Rullgard
a6e9d64977 configure: detect parisc64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Mans Rullgard
56203596ae configure: detect ppc64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Mans Rullgard
2acda282eb configure: detect mips64 automatically
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Mans Rullgard
d4c99513f4 configure: generalise 64-bit test
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-24 16:26:51 +01:00
Stefano Sabatini
55c77a0ca3 doc/filters: escape special Texinfo character @ in overlay example 2012-10-24 17:22:00 +02:00
Stefano Sabatini
51467ee868 doc/filters: remove unnecessary and inconsistent double ',' escaping 2012-10-24 17:21:25 +02:00
Michael Niedermayer
7d0ca5b7e4 doxygen: disable header/footer/stylesheet
They dont work at all and trash the output totally
also they are unmaintained -> that is if you want to maintain them
contact us !

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 17:14:50 +02:00
Michael Niedermayer
8a34b85fa8 avio: detect implicit truncation by assert in avio_w*
This check is somewhat more lenient as would be ideal because we dont
know if the input is signed or unsigned

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 15:42:00 +02:00
Michael Niedermayer
a3fb3a670e avio: avoid implicit truncation in avio_w*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 15:27:03 +02:00
Michael Niedermayer
e377b50b2d matroskaenc: avoid implicit truncation in avio_w*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 15:27:01 +02:00
Michael Niedermayer
d0ab71ed11 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asfdec: cosmetics, reformat ff_asf_parse_packet()
  g.723.1: add missing CODEC_CAP_DR1
  avconv: remove now unneeded calls to avcodec_get_frame_defaults().
  lavc: initialize output AVFrame before decoding.

Conflicts:
	libavformat/asfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 14:26:13 +02:00
Michael Niedermayer
719fde47ca Merge commit 'c68317ebbe4915035df0b08c23eea7a0b80ab881'
* commit 'c68317ebbe4915035df0b08c23eea7a0b80ab881':
  lavc: fix documentation for AVCodecContext.delay
  atrac3: return an error if extradata_size is not a specific known size
  lavc: use the correct API version guard macro for avcodec_encode_audio()
  Move Doxyfile into the doc/ subdirectory
  doxygen: Build Doxygen documentation in the doc/ subdirectory
  dfa: use av_memcpy_backptr() where previously impossible
  av_memcpy_backptr: Drop no longer necessary malloc padding

Conflicts:
	.gitignore
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 14:18:17 +02:00
Michael Niedermayer
5cf794e0c1 Merge commit 'd82f188504410fdfa446c5682c128c31bb5851a4'
* commit 'd82f188504410fdfa446c5682c128c31bb5851a4':
  Remove need for padding in av_memcpy_backptr()

Conflicts:
	libavutil/lzo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 14:10:44 +02:00
Michael Niedermayer
5555d2075a Merge commit 'ceb754d041f5f6327fd9195a5f43575af9516daa'
* commit 'ceb754d041f5f6327fd9195a5f43575af9516daa':
  lzo: Use AV_COPY*U macros where appropriate
  prepare 9_beta2 release
  dsputil: Replace AV_WNxx(AV_RNxx()) combinations by AV_COPYxxU
  intreadwrite: Add AV_COPYxxU macros for copying to/from unaligned addresses
  dxtory: Replace AV_WN16A(AV_RN16A()) combination by AV_COPY16
  mp3: properly forward mp_decode_frame errors

Conflicts:
	RELEASE
	libavcodec/mpegaudiodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 14:01:36 +02:00
Martin Storsjö
c44cef978b smoothstreamingenc: Don't assume streams start from timestamp 0
Also use dts instead of pts for deciding where to split fragments.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-24 14:46:08 +03:00
Michael Niedermayer
f3b8096bc0 Merge commit '0c03cc68386443f1e96ab6fb358220faf67cd5ff'
* commit '0c03cc68386443f1e96ab6fb358220faf67cd5ff':
  mp3: exit on parsing error in mp_decode_frame
  rtmppkt: Avoid unescaped backslash in Doxygen comment
  fate-lavfi: replace sed/grep/cut combos with awk
  build: Plan 9 support

Conflicts:
	configure
	tests/lavfi-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 13:42:58 +02:00
Michael Niedermayer
42ee9f3981 build: fix detection of math functions with 2 parameters.
The code from libav seems to have been entirely untested.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 13:15:42 +02:00
Michael Niedermayer
2dbc93455c Merge commit '80521c1997a23e148edf89e11b939ab8646297ca'
* commit '80521c1997a23e148edf89e11b939ab8646297ca':
  build: allow targets to specify extra objects to link with executables
  swscale: avoid pointless use of compound literals
  libm: add fallbacks for various single-precision functions
  network: use getservbyport() only if available
  network: add fallbacks for INADDR_LOOPBACK and INET_ADDRSTRLEN
  Include sys/time.h before sys/resource.h

Conflicts:
	Makefile
	configure
	libavutil/libm.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 12:53:26 +02:00
Anton Khirnov
292a08cbab asfdec: cosmetics, reformat ff_asf_parse_packet() 2012-10-24 08:46:45 +02:00
Anton Khirnov
5a9567631a g.723.1: add missing CODEC_CAP_DR1 2012-10-24 08:46:45 +02:00
Anton Khirnov
8e84f2055c avconv: remove now unneeded calls to avcodec_get_frame_defaults(). 2012-10-24 08:46:45 +02:00
Anton Khirnov
1bc64c2814 lavc: initialize output AVFrame before decoding.
Avoids memleaks with audio when extended_data is nontrivial and the user
doesn't reset the frame.
Shouldn't have any effect for video for now, but might be useful in the
future.
2012-10-24 08:46:45 +02:00
Michael Niedermayer
cccb45751e yuv2rgb: fix integer overflow in fill_gv_table()
Fixes CID703747
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 01:24:26 +02:00
Michael Niedermayer
a494792961 yuv2rgb: fix integer overflow in fill_table
Fixes CID703748
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 01:22:56 +02:00
Michael Niedermayer
6c87b2be72 swscale_unscaled: remove unused variables
Fixes CID739472
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 01:09:14 +02:00
Michael Niedermayer
3556e7ce73 mpegvideo enc: choose VBV buffer size for mpeg4 when none is specified instead of failing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 00:40:18 +02:00
Michael Niedermayer
1856162caa mpegvideo enc: choose VBV buffer size for mpeg1/2 when none is specified instead of failing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 00:40:18 +02:00
Stefano Sabatini
33c4535db7 examples/decoding_encoding: add and use the decode_write_frame function
Allow to factorize code in video_decode_example(), simplify.
2012-10-24 00:29:37 +02:00
Stefano Sabatini
4a227a706d lavc/utils: fix a few grammar/style nits in log messages
In avcodec_open2(), apply consistent casing and avoid "or" conjunction at
the beginning of a sentence, in the messages issued in case of
experimental codec usage.
2012-10-24 00:29:37 +02:00
Stefano Sabatini
5ffadec30a lavc/utils: propagate or return meaningful error codes in avcodec_open2() 2012-10-24 00:29:37 +02:00
Carl Eugen Hoyos
2fdc6f355c Do not detect mov with maximum score if the atom size is too small.
Fixes mpegts-in-mov, ticket #987 / issue 2223.
2012-10-23 22:41:15 +02:00
Stefano Sabatini
8b03cd3cd7 lavd/lavfi: add graph_file option
Allow to specify a filename where to put the filtergraph description.

This is useful to override limitations or glitches of particular shell
environments, and allows a level of indirection for specifying
filtergraphs.
2012-10-23 22:08:55 +02:00
Stefano Sabatini
bd6240e7e9 lavfi/sendcmd: move buf init() variable to internal scope where it is used 2012-10-23 22:08:55 +02:00
Stefano Sabatini
c7065f1f89 lavfi/sendcmd: release file in case of failed allocation
Avoid hanging file.
2012-10-23 22:08:55 +02:00
Isaac Dooley
469a65b150 x11: Fix x11grab BadCursor
Fixes Ticket1738

Based-on: A fix found in a perl module (http://ffmpeg.org/pipermail/ffmpeg-user/2012-August/008804.html)
Reviewed-by: Clemens Fruhwirth <clemens@endorphin.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 21:49:01 +02:00
Justin Ruggles
c68317ebbe lavc: fix documentation for AVCodecContext.delay 2012-10-23 14:35:27 -04:00
Justin Ruggles
44d854a518 atrac3: return an error if extradata_size is not a specific known size
Also fixes 3 compiler warnings about using uninitialized variables.
2012-10-23 14:35:27 -04:00
Justin Ruggles
a5ef830b12 lavc: use the correct API version guard macro for avcodec_encode_audio() 2012-10-23 14:35:27 -04:00
Diego Biurrun
5e28e97433 Move Doxyfile into the doc/ subdirectory 2012-10-23 20:25:41 +02:00
Diego Biurrun
d7a39b3340 doxygen: Build Doxygen documentation in the doc/ subdirectory 2012-10-23 20:25:30 +02:00
Mans Rullgard
d82f188504 Remove need for padding in av_memcpy_backptr()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 18:57:24 +01:00
Mans Rullgard
a153e45b95 dfa: use av_memcpy_backptr() where previously impossible
Since the requirement for output padding has been lifted, we can
use av_memcpy_backptr() here as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 18:57:24 +01:00
Diego Biurrun
e831b3b852 av_memcpy_backptr: Drop no longer necessary malloc padding
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 18:57:24 +01:00
Paul B Mahol
e2820d99f2 pnmdec: use more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-23 17:25:38 +00:00
Diego Biurrun
ceb754d041 lzo: Use AV_COPY*U macros where appropriate 2012-10-23 18:45:50 +02:00
Reinhard Tartler
a9f0dce283 prepare 9_beta2 release 2012-10-23 18:30:36 +02:00
Michael Niedermayer
5442c6cce3 lavf: fix duration estimation for multi program TS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 18:11:26 +02:00
Michael Niedermayer
31cdf6002a lavf: increase retries to guess duration from pts by 1
This fixes finding the duration for one TS file

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 17:31:31 +02:00
Diego Biurrun
330b864cda dsputil: Replace AV_WNxx(AV_RNxx()) combinations by AV_COPYxxU 2012-10-23 16:54:17 +02:00
Diego Biurrun
af6dd6de08 intreadwrite: Add AV_COPYxxU macros for copying to/from unaligned addresses 2012-10-23 16:54:08 +02:00
Diego Biurrun
aa91fe8091 dxtory: Replace AV_WN16A(AV_RN16A()) combination by AV_COPY16 2012-10-23 16:53:42 +02:00
Michael Niedermayer
d8f27eceaa asfdec: ignore stored duration for truncated files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 16:11:38 +02:00
Peter Ross
8469fc17e2 wtvdec: display warning for encrypted wtv files (instead of 'unsupported chunk' messages)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 15:26:57 +02:00
Michael Niedermayer
4d54ecf4b8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: check that dependencies actually exist
  fate: fix ENCMUX macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 15:12:20 +02:00
Michael Niedermayer
79ec524ff5 Merge commit 'ec444c84cfd30ef34a4e7b4ec7ee77d7e5250d25'
* commit 'ec444c84cfd30ef34a4e7b4ec7ee77d7e5250d25':
  mpegaudiodec: Fix buffer handling on random access
  mpegaudio: Refactor mp3on4 flush function
  fate: Add dependencies for audio tests
  fate: cosmetics: Group idct8x8 test together with all other libavcodec tests
  fate: More fine-grained dependencies for libavcodec test programs

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 15:08:55 +02:00
Michael Niedermayer
35ce42e070 Merge commit '8b8899ac3233b4f7af83ded0dc032fad8902d714'
* commit '8b8899ac3233b4f7af83ded0dc032fad8902d714':
  fate: Declare avcodec/avformat deps in the respective Makefile snippets
  fate: Add dependencies for WMA and WavPack tests
  Improve wording and spelling of av_log_missing_feature messages.
  lavu: remove disabled FF_API_AV_FIFO_PEEK cruft

Conflicts:
	libavcodec/aacsbr.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 15:00:27 +02:00
Michael Niedermayer
d0ac26a264 Merge commit 'c692957c4edd119920cd7f2121628dd183589e6a'
* commit 'c692957c4edd119920cd7f2121628dd183589e6a':
  lavu: remove disabled avoptions cruft
  lavu: remove disabled FF_API_GET_BITS_PER_SAMPLE_FMT cruft

Conflicts:
	libavutil/opt.c
	libavutil/opt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 14:50:31 +02:00
Luca Barbato
0c03cc6838 mp3: exit on parsing error in mp_decode_frame
Properly forward mp_decode_layer3 errors, mp_decode_layer1 and
mp_decode_layer2 do not return errors.

Based on a patch by Michael Niedermayer.
2012-10-23 14:22:16 +02:00
Luca Barbato
9ab0874ea8 mp3: properly forward mp_decode_frame errors
The function can return either a parsing error or a memory management
error.
2012-10-23 14:22:16 +02:00
Diego Biurrun
c2dac8ac7a rtmppkt: Avoid unescaped backslash in Doxygen comment 2012-10-23 13:36:58 +02:00
Michael Niedermayer
a65bc2712d Merge commit '468ea9d5b14f92fe61f47f034e67066f65163f5f'
* commit '468ea9d5b14f92fe61f47f034e67066f65163f5f':
  Revert "avutil: make some tables visible again"
  Revert "avutil: Add a copy of ff_sqrt_tab back into avutil to restore ABI compatibility"

Conflicts:
	libavcodec/sqrt_tab.c
	libavutil/libavutil.v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 13:34:42 +02:00
Michael Niedermayer
c2a25e141e Merge commit 'add3a6902ea4d459f36655656a1f8daa409118a7'
* commit 'add3a6902ea4d459f36655656a1f8daa409118a7':
  lavu: bump major to 52

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 13:17:47 +02:00
Michael Niedermayer
af3fe43d84 Merge commit '2b8dd371e4d276ca0d342e82b8b4cc281be0630a'
* commit '2b8dd371e4d276ca0d342e82b8b4cc281be0630a':
  lavu: postpone recent deprecations until the next major bump
  APIchanges: update lavr bump date
  avconv: only apply presets when we have an encoder.
  atrac3: replace a calculation with FFALIGN()
  atrac3: remove unused ATRAC3Context field, sample_rate
  atrac3: use sizeof(variable) instead of sizeof(type)
  atrac3: simplify MDCT window calculation

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 13:05:52 +02:00
Mans Rullgard
2a222a7255 fate-lavfi: replace sed/grep/cut combos with awk
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:01:18 +01:00
Mans Rullgard
4ebc6a7410 build: Plan 9 support
This adds support for building on Plan 9 x86-32.  The compat/plan9
directory contains these items:

- replacements for the 'head' and 'printf' shell commands
- wrapper for main() to disable FPU exceptions

Larger required changes to the system are described in the
documentation.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:01:18 +01:00
Mans Rullgard
80521c1997 build: allow targets to specify extra objects to link with executables
This allows targets to include special objects when linking
executables without including them in (shared) libraries.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:22 +01:00
Mans Rullgard
a805cefd8b swscale: avoid pointless use of compound literals
Some compilers (e.g. old gcc) have trouble with these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:21 +01:00
Mans Rullgard
fab0a8b2c6 libm: add fallbacks for various single-precision functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:21 +01:00
Mans Rullgard
c3e73100af network: use getservbyport() only if available
The absence of this function will only give a less informative
string back from our fallback implementation of getnameinfo().

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:21 +01:00
Mans Rullgard
da0d0ae9a4 network: add fallbacks for INADDR_LOOPBACK and INET_ADDRSTRLEN
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:21 +01:00
Mans Rullgard
3f65eff408 Include sys/time.h before sys/resource.h
Some systems require sys/time.h being explicitly included before
sys/resource.h.  The configure check already does this.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:21 +01:00
Michael Niedermayer
7bc6631dd0 Merge commit '5d1007f74dd496d54b932242004382f44e3b22b4'
* commit '5d1007f74dd496d54b932242004382f44e3b22b4':
  atrac3: initialize static tables in AVCodec.init_static_data()
  atrac3: separate window initialization from IMDCT initialization
  atrac3: move the 'frame_factor' field from ATRAC3Context to where it is used
  atrac3: remove unused ATRAC3Context field, bit_rate

Conflicts:
	libavcodec/atrac3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 12:51:13 +02:00
Michael Niedermayer
8748472f39 Merge commit 'a2664c91fba15a1307f676ffad511f8f86fb3a27'
* commit 'a2664c91fba15a1307f676ffad511f8f86fb3a27':
  atrac3: move the 'samples_per_frame' field from ATRAC3Context to where it is used
  atrac3: remove unused ATRAC3Context field, samples_per_channel
  atrac3: use AVCodecContext.block_align instead of keeping a private copy
  atrac3: move the 'delay' field from ATRAC3Context to where it is used
  atrac3: move the 'version' field from ATRAC3Context to where it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 12:41:08 +02:00
Michael Niedermayer
dcb0d1193a Merge commit '5ac673b5531d846b79a3d77e3e932e0cb1234c45'
* commit '5ac673b5531d846b79a3d77e3e932e0cb1234c45':
  atrac3: use AVCodecContext.channels instead of keeping a private copy
  atrac3: simplify some loop indexing
  atrac3: cosmetics: pretty-printing and renaming
  pcm: define AVCodec instances only for enabled codecs
  libxvid: remove useless doxy comments.
  lavc: remove stats_out from the options table.

Conflicts:
	libavcodec/atrac3.c
	libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 12:36:16 +02:00
Mans Rullgard
a1f6ad69c7 fate: check that dependencies actually exist
This causes make to exit with an error message if a nonexistent
dependency is specified rather than silently dropping the test.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 11:12:24 +01:00
Mans Rullgard
6f9018fc5e fate: fix ENCMUX macro
This matches how it is actually being called.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 11:12:24 +01:00
Michael Niedermayer
ec444c84cf mpegaudiodec: Fix buffer handling on random access 2012-10-23 10:52:25 +02:00
Diego Biurrun
2f17f265ed mpegaudio: Refactor mp3on4 flush function 2012-10-23 10:52:25 +02:00
Diego Biurrun
88bdec03b9 fate: Add dependencies for audio tests 2012-10-23 10:52:25 +02:00
Diego Biurrun
71f3eb4536 fate: cosmetics: Group idct8x8 test together with all other libavcodec tests 2012-10-23 10:52:15 +02:00
Diego Biurrun
8b8899ac32 fate: Declare avcodec/avformat deps in the respective Makefile snippets 2012-10-23 10:28:40 +02:00
Diego Biurrun
7d420a4294 fate: More fine-grained dependencies for libavcodec test programs 2012-10-23 10:28:40 +02:00
Diego Biurrun
e273a1a542 fate: Add dependencies for WMA and WavPack tests 2012-10-23 10:28:40 +02:00
Diego Biurrun
8f4c414df6 Improve wording and spelling of av_log_missing_feature messages. 2012-10-23 10:28:40 +02:00
Anton Khirnov
c692957c4e lavu: remove disabled avoptions cruft 2012-10-23 07:33:05 +02:00
Anton Khirnov
468ea9d5b1 Revert "avutil: make some tables visible again"
This reverts commit def8c94699.

After the major bump this is no longer necessary.
2012-10-23 07:33:05 +02:00
Anton Khirnov
add3a6902e lavu: bump major to 52
In addition to the recent tables mess, the AVOption defaults behavior
changed, so an old lavc used with a new lavu will get completely messed
up defaults.
2012-10-23 07:33:05 +02:00
Anton Khirnov
2b8dd371e4 lavu: postpone recent deprecations until the next major bump 2012-10-23 07:33:05 +02:00
Anton Khirnov
00ed7f5958 lavu: remove disabled FF_API_AV_FIFO_PEEK cruft 2012-10-23 07:33:05 +02:00
Anton Khirnov
8207c67a24 lavu: remove disabled FF_API_GET_BITS_PER_SAMPLE_FMT cruft 2012-10-23 07:33:05 +02:00
Anton Khirnov
c6b25d1d5e Revert "avutil: Add a copy of ff_sqrt_tab back into avutil to restore ABI compatibility"
This reverts commit d15c21e5fa.

After the major bump this is no longer necessary.
2012-10-23 07:33:05 +02:00
Anton Khirnov
9cac8a5199 APIchanges: update lavr bump date 2012-10-23 07:33:05 +02:00
Anton Khirnov
4e61a38aa0 avconv: only apply presets when we have an encoder.
Fixes a crash when using a preset with stream copy.

CC: libav-stable@libav.org
2012-10-23 07:30:58 +02:00
Michael Niedermayer
34ccb94796 g723_1: remove unneeded cliping
Fixes CID703731
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 03:03:59 +02:00
Michael Niedermayer
e9b61fffbe g722dec: s/Libav/FFmpeg/ The copyright years predate the existence of Libav
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 03:03:53 +02:00
Michael Niedermayer
7770c0da07 fate/mapchan: add bitexact flag
fixes fate breakage

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 02:19:38 +02:00
Paul B Mahol
a57d560db3 LVF demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-22 23:22:39 +00:00
Michael Niedermayer
3318d6b940 ffmpeg: check avpicture_get_size() retuen value
Fixes CID205018
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 00:22:23 +02:00
Michael Niedermayer
da317efd92 j2k: reorder multiplications to avoid interger overflows related to precincts
Fixes CID703778, CID703777
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 00:03:49 +02:00
Michael Niedermayer
45ae9a8fc9 j2k: reorder multiplications to avoid interger overflows related to code blocks
Fixes CID703776, CID703775
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 00:03:49 +02:00
Clément Bœsch
7c2d5eec29 fate: quote file paths in movie/amovie filtergraphs.
This should avoid some nasty ':' escaping.
2012-10-22 23:13:54 +02:00
Clément Bœsch
2649b78384 fate: improve metadata filter deps readability. 2012-10-22 23:13:53 +02:00
Clément Bœsch
ae69c683e5 fate: add scale filter to the scene detect dependencies.
The select filter requires some conversion to rgb24 for the scene
detection.
2012-10-22 23:13:53 +02:00
Clément Bœsch
7be9c0c10f fate: fix SAMPLES dependency for ffprobe.
FATE_SAMPLES_FFPROBE is a different list than FATE_FFPROBE, the same way
FATE_SAMPLES_FFMPEG is a different list than FATE_FFMPEG; these
FATE_SAMPLES_<tool> lists are in the FATE_EXTERN list, which is only
used when SAMPLES is set.
2012-10-22 23:13:53 +02:00
Michael Niedermayer
0de41ead6f qt-faststart: check fseeko() return codes
Fixes CID733725

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 22:42:51 +02:00
Michael Niedermayer
250fe6eeb4 cmdutils: apply option to codec and format contexts if possible.
This is needed for setting both contexts -err_detect at once.

Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 22:24:23 +02:00
Matthieu Bouron
c68a8a1340 lavf/aiffdec: don't stop parsing after SSND chunk
Some file has ID3 chunk placed after SSND.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 19:38:27 +02:00
Matthieu Bouron
d8173f264f dv: fix a check on dv_extract_timecode return value
Fixes CID733808

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 19:09:47 +02:00
Michael Niedermayer
22793d7bb3 ffmpeg/lavc: move experimental warnings to libavcodec.
This way they are available to all applications and not just ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 17:58:33 +02:00
Justin Ruggles
5d1007f74d atrac3: initialize static tables in AVCodec.init_static_data() 2012-10-22 10:10:08 -04:00
Justin Ruggles
a1f4cd371a atrac3: replace a calculation with FFALIGN()
This allocates 4 bytes less than the previous code if avctx->block_align is
a multiple of 4, but the extra 4 bytes is not really needed.
2012-10-22 10:10:08 -04:00
Justin Ruggles
78edce3f19 atrac3: separate window initialization from IMDCT initialization 2012-10-22 10:10:08 -04:00
Justin Ruggles
808686fc1e atrac3: remove unused ATRAC3Context field, sample_rate 2012-10-22 10:10:08 -04:00
Justin Ruggles
c51311b907 atrac3: move the 'frame_factor' field from ATRAC3Context to where it is used 2012-10-22 10:10:08 -04:00
Justin Ruggles
89a6c32bc1 atrac3: use sizeof(variable) instead of sizeof(type) 2012-10-22 10:10:08 -04:00
Justin Ruggles
327747de15 atrac3: simplify MDCT window calculation 2012-10-22 10:10:08 -04:00
Justin Ruggles
a2664c91fb atrac3: move the 'samples_per_frame' field from ATRAC3Context to where it is used 2012-10-22 10:10:07 -04:00
Justin Ruggles
7e76f27081 atrac3: remove unused ATRAC3Context field, bit_rate 2012-10-22 10:10:07 -04:00
Justin Ruggles
7c1f93afe6 atrac3: remove unused ATRAC3Context field, samples_per_channel 2012-10-22 10:10:07 -04:00
Justin Ruggles
cdd0e0de81 atrac3: use AVCodecContext.block_align instead of keeping a private copy 2012-10-22 10:10:07 -04:00
Justin Ruggles
64ebbb8f89 atrac3: move the 'delay' field from ATRAC3Context to where it is used 2012-10-22 10:10:07 -04:00
Justin Ruggles
5ac673b553 atrac3: use AVCodecContext.channels instead of keeping a private copy 2012-10-22 10:10:06 -04:00
Justin Ruggles
56a9d2b44e atrac3: move the 'version' field from ATRAC3Context to where it is used 2012-10-22 10:10:06 -04:00
Justin Ruggles
aefdb735c3 atrac3: simplify some loop indexing 2012-10-22 10:10:06 -04:00
Justin Ruggles
e55d53905f atrac3: cosmetics: pretty-printing and renaming
also does some minor refactoring.
2012-10-22 10:10:06 -04:00
Mans Rullgard
abdee95224 pcm: define AVCodec instances only for enabled codecs
This defines an AVCodec only if the corresponding CONFIG option is
enabled instead of using the broad CONFIG_ENCODERS/DECODERS.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-22 14:40:57 +01:00
Anton Khirnov
5957aefc7c libxvid: remove useless doxy comments. 2012-10-22 15:20:23 +02:00
Michael Niedermayer
f9cf14c8da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  riff: remove a write-only variable
  lavc: extend frame_size doxy.
  alacdec: set bits_per_raw_sample

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 14:50:06 +02:00
Anton Khirnov
b691135d0c lavc: remove stats_out from the options table.
Since it is declared as a string AVOption, the generic freeing code
attempts to free it on codec close. Some codecs might have already freed
it elsewhere (or didn't even allocate it with av_malloc() in the first
place), so this might lead to an invalid free.

There is no point in having this field accessible as an AVOption, so
remove it from the options table.

Fixes Bug 380.

CC: libav-stable@libav.org
2012-10-22 14:44:07 +02:00
Michael Niedermayer
e3a91c51f7 Merge commit 'c3e15f7b39aac2012f09ee4ca86d2bc674ffdbd4'
* commit 'c3e15f7b39aac2012f09ee4ca86d2bc674ffdbd4':
  rtpdec: Don't pass a non-AVClass pointer as log context
  rtsp: Update a comment to the current filename scheme
  avcodec: handle AVERROR_EXPERIMENTAL
  avutil: Add AVERROR_EXPERIMENTAL
  avcodec: prefer decoders without CODEC_CAP_EXPERIMENTAL

Conflicts:
	doc/APIchanges
	ffmpeg.c
	libavcodec/utils.c
	libavformat/rtpdec.c
	libavutil/error.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 14:39:12 +02:00
Michael Niedermayer
c3778df2d4 ffmpeg: fix negative array index
Fixes CID733808
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 13:58:19 +02:00
Michael Niedermayer
6182e0a6f6 vf_aspect: unbreak avoption system
This fixes ff* -h infinite looping

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 13:12:15 +02:00
Stefano Sabatini
6752aac6bc lavfi/aspect: add max option 2012-10-22 10:46:43 +02:00
Stefano Sabatini
ccd6def9b3 lavfi/aspect: extend syntax for the setdar and setsar filters
Add support for named options, and deprecate old "num:den" ambiguous
syntax.
2012-10-22 10:46:34 +02:00
Stefano Sabatini
b6e36a4244 lavu/parseutils: remove unused gcd variable in av_parse_ratio()
Fix warning.
2012-10-22 10:41:51 +02:00
Paul B Mahol
cb0add3ce9 lavf/flacenc: disallow creation of invalid files with -c copy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-22 08:07:09 +00:00
Anton Khirnov
6173a8fe5d riff: remove a write-only variable 2012-10-22 08:49:58 +02:00
Anton Khirnov
d6f4fe68c8 lavc: extend frame_size doxy. 2012-10-22 08:49:58 +02:00
Justin Ruggles
46a86c6194 alacdec: set bits_per_raw_sample 2012-10-21 23:54:51 -04:00
Martin Storsjö
c3e15f7b39 rtpdec: Don't pass a non-AVClass pointer as log context
The log context is assumed to start with an AVClass pointer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-22 01:46:33 +03:00
Martin Storsjö
e0d5ac6ae3 rtsp: Update a comment to the current filename scheme
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-22 01:46:10 +03:00
Michael Niedermayer
2d11ee4bfc fate: fix fate-filter-metadata-scenedetect
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 00:07:53 +02:00
Michael Niedermayer
39747d87d0 avfilter_graph_parse: add support for parsing sws_flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-22 00:07:35 +02:00
Michael Niedermayer
248b1ff26b Fix various uses of av_log_missing_feature()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 23:13:53 +02:00
Nathan Caldwell
c854102da7 avcodec: handle AVERROR_EXPERIMENTAL
Error out on init if a codec with CODEC_CAP_EXPERIMENTAL is requested
and strict_std_compliance is not FF_COMPLIANCE_EXPERIMENTAL.

Move the check from avconv to avcodec_open2() and return
AVERROR_EXPERIMENTAL accordingly.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 23:03:26 +02:00
Nathan Caldwell
a893655bda avutil: Add AVERROR_EXPERIMENTAL
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 22:38:21 +02:00
Nathan Caldwell
a4aa20fbdb avcodec: prefer decoders without CODEC_CAP_EXPERIMENTAL
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 22:27:58 +02:00
Stefano Sabatini
8f37a1e8dc lavfi/avfiltergraph: avoid to print "(null)" in the scale args
Fix parsing.
2012-10-21 21:44:53 +02:00
Stefano Sabatini
2969abd908 lavfi/graphparser: fix parsing error in case of NULL sws_opts addition
If sws_opts was NULL it was resulting in the args being set to
"W:H:(null)", which with the new parsing code was generating a syntax
failure.
2012-10-21 21:44:45 +02:00
Stefano Sabatini
8c2dbc3805 lavc/utils: provide more feedback in case of experimental codec 2012-10-21 21:11:02 +02:00
Michael Niedermayer
5713091818 mpegaudiodec: Fix buffer handling on random access
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 20:59:08 +02:00
Clément Bœsch
e168165489 doc/muxers: document mov faststart option. 2012-10-21 20:23:09 +02:00
Clément Bœsch
c0d56bf8a4 fate: fix filter metadata dependency to ffprobe. 2012-10-21 20:10:37 +02:00
Carl Eugen Hoyos
fa190b3cd7 Improve MPEG-PS-in-MOV detection.
Fixes issue 1520.
2012-10-21 19:30:43 +02:00
Michael Niedermayer
747a00b688 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: if there is no audio stream, use external clock by default
  ffplay: use get_master_sync_type where necessary
  ffplay: add get_master_sync_type function
  ffplay: only check external clock if current frame serial matches the displayed frame serial
  ffplay: add serial field to PacketQueue entry and populate it
  ffplay: fix external time sync mode
  ffplay: initialize audio and video pts drift
  ffplay: fix nosync threshold check in synchronize_audio
  ffplay: use framedrop by default when sync is not done to video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:56:58 +02:00
Marton Balint
d6e9566949 h264: add support for AFD detection
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Kieran Kunhya <kierank@ob-encoder.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:22:50 +02:00
Michael Niedermayer
40ceb6d49f libavformat/oggenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
c2c066784f libavformat/mxfenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
b8a64d69a9 libavformat/mpegvideodec: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
fefe9bd782 libavformat/movenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
217193facd bavformat/mov: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:23 +02:00
Michael Niedermayer
f72b735d41 libavcodec/vorbisenc: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:22 +02:00
Michael Niedermayer
4ce9312d76 libavcodec/cook: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:22 +02:00
Michael Niedermayer
38797dc31b compat/getopt: add {} to complex ifs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:05:22 +02:00
Clément Bœsch
fbedce6b85 lavfi/silencedetect: export silence info to metadata. 2012-10-21 17:29:11 +02:00
Clément Bœsch
de23953de2 lavfi/select: store scene score in buf ref metadata. 2012-10-21 17:29:11 +02:00
Clément Bœsch
6fb2fd895e lavc: add lavfi metadata support.
This commit introduces a new AVPacket side data type:
AV_PKT_DATA_STRINGS_METADATA. Its main goal is to provide a way to
transmit the metadata from the AVFilterBufferRef up to the AVFrame. This
is at the moment "only" useful for lavfi input from libavdevice:
lavd/lavfi only outputs packets, and the metadata from the buffer ref
kept in its context needs to be transmitted from the packet to the frame
by the decoders. The buffer ref can be destroyed at any time (along with
the metadata), and a duplication of the AVPacket needs to duplicate the
metadata as well, so the choice of using the side data to store them was
selected.

Making sure lavd/lavfi raises the metadata is useful to allow tools like
ffprobe to access the filters metadata (it is at the moment the only
way); ffprobe will now automatically show the AVFrame metadata in any
customizable output format for users. API users will also be able to
access the AVFrame->metadata pointer the same way ffprobe does
(av_frame_get_metadata).

All the changes are done in this single commit to avoid some memory
leaks: for instances, the changes in lavfi/avcodec.c are meant to
duplicate the metadata from the buffer ref into the AVFrame. Unless we
have an internal way of freeing the AVFrame->metadata automatically, it
will leak in most of the user apps. To fix this problem, we introduce
AVCodecContext->metadata and link avctx->metadata to the current
frame->metadata and free it at each decode frame call (and in the codec
closing callback for the last one). But doing this also means to update
the way the tiff decoder already handles the AVFrame->metadata (it's the
only one decoder with frame metadata at the moment), by making sure it
is not trying to free a pointer already freed by the lavc internals.

The lavfi/avcodec.c buffer ref code is based on an old Thomas Kühnel
work, the rest of the code belongs to the commit author.

Signed-off-by: Thomas Kühnel <kuehnelth@googlemail.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2012-10-21 17:29:10 +02:00
Marton Balint
3166a6fc37 ffplay: if there is no audio stream, use external clock by default
Otherwise playing the video could be much slower than realtime if the system
can't decode or display the frames fast enough.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
d30c69251f ffplay: use get_master_sync_type where necessary
We should make decisions based on the real sync type. This also simplifies
the code.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
fca16a1571 ffplay: add get_master_sync_type function
The real av_sync_type may be different to VideoState->av_sync_type, because the
required audio or video stream for audio or video clock may not be available.
We will use a function to query the real av_sync_type which is used for
determining the master clock.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
b2a8850969 ffplay: only check external clock if current frame serial matches the displayed frame serial
This way we avoid updating the external clocks with timestamps beloging to
frames before seek.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
2a4c7e6540 ffplay: add serial field to PacketQueue entry and populate it
The purpose of the serial field is to accompany the decoded data during the
decoding process to know if the decoded data belongs to the data stream after
the latest packet queue flush.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
77bd595ad2 ffplay: fix external time sync mode
We now initalize the external clock to 0 and, we use the system clock to
regulate the timings of audio and video in external clock sync mode.  We
recover from external clock sync loss, when the delay to external clock is
bigger than AV_NOSYNC_THRESHOLD.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
66bb5b1bc9 ffplay: initialize audio and video pts drift
This makes sensible audio and video clock values even before displaying the
first frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
eaa91ed863 ffplay: fix nosync threshold check in synchronize_audio
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Marton Balint
da56955621 ffplay: use framedrop by default when sync is not done to video
When using external sync, framedrop is perfectly fine.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-10-21 17:18:12 +02:00
Michael Niedermayer
d7b8a9a589 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: adpcm: cosmetics: Sort test entries
  fate: adpcm: Add dependencies
  svq3: cosmetics: Drop useless parentheses

Conflicts:
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 17:09:36 +02:00
Michael Niedermayer
0e09761686 Merge commit 'a7d2861d36756b913e85681b86ed3385274e8ced'
* commit 'a7d2861d36756b913e85681b86ed3385274e8ced':
  svq3: K&R formatting cosmetics
  fate: Introduce ENCMUX macro for tests that require encoders and a muxer
  ffv1: Add missing #includes to header file

Conflicts:
	libavcodec/ffv1.h
	libavcodec/svq3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 17:01:01 +02:00
Michael Niedermayer
aa760b1735 Merge commit '2d09b36c0379fcda8f984bc8ad8816c8326fd7bd'
* commit '2d09b36c0379fcda8f984bc8ad8816c8326fd7bd':
  doc/platform: Add info on shared builds with MSVC
  doc/platform: Move a caveat down to the notes section
  ARM: reinstate optimised intmath.h
  ffv1: update to ffv1 version 3

Conflicts:
	doc/platform.texi
	libavcodec/ffv1.c
	libavcodec/ffv1.h
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 16:13:55 +02:00
Michael Niedermayer
99ea47fe5a Merge commit '4a2a4524a3f50ed302820ba971ddd48e78c7436f'
* commit '4a2a4524a3f50ed302820ba971ddd48e78c7436f':
  ffv1: propagate errors

Conflicts:
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 14:55:21 +02:00
Michael Niedermayer
69fd0b7adb Merge commit '71f7b22dba60524b2285643ae0b49d8f64977129'
* commit '71f7b22dba60524b2285643ae0b49d8f64977129':
  ffv1: split decoder and encoder

Conflicts:
	libavcodec/Makefile
	libavcodec/ffv1.c
	libavcodec/ffv1.h
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 14:37:15 +02:00
Michael Niedermayer
e4255eaf47 ffv1: split decoder and encoder
This is not based on lucas work due to code divergence (its less work this way
than trying to merge from a split based on 2 years outdated code)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 14:26:23 +02:00
Michael Niedermayer
dcbff35199 Merge commit 'd15c21e5fa3961f10026da1a3080a3aa3cf4cec9'
* commit 'd15c21e5fa3961f10026da1a3080a3aa3cf4cec9':
  avutil: Add a copy of ff_sqrt_tab back into avutil to restore ABI compatibility
  avutil: make some tables visible again
  avutil: remove inline av_log2 from public API
  celp_math: rename ff_log2 to ff_log2_q15

Conflicts:
	libavutil/libavutil.v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 13:35:42 +02:00
Michael Niedermayer
05f228b0a0 ffv1: fix gray
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 04:25:30 +02:00
Michael Niedermayer
b6267901c4 mp3demux: Rewrite xing TOC based seeking
The libav code depends on mp3 startcodes only occuring at the start of
frames. But there is nothing in mp3 that prevents them occuring elsewhere
by chance. Thus the code would fail randomly, the new code searches for 3
consecutive valid frames. If this turns out to be still insufficient the
number can be raised further, or additional checks added.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 03:13:46 +02:00
Michael Niedermayer
7696a392e2 mp3dec: propagate error code correctly.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 02:52:10 +02:00
Clément Bœsch
273fca9ac0 lavfi/silencedetect: increase duration precision.
This should also fix CID717889.
2012-10-21 01:28:19 +02:00
Clément Bœsch
99a520000d lavf/webvttdec: fix potential timing overflows.
Should fix CID733781 and CID733782.
2012-10-21 01:16:49 +02:00
Clément Bœsch
1ea3c03743 lavf/subviewerdec: fix potential timing overflows.
Should fix CID733779 and CID733780.
2012-10-21 01:08:17 +02:00
Michael Niedermayer
044c0e62ea udp: add missing mutex unlock
Fixes CID703688
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 23:31:32 +02:00
Michael Niedermayer
c4503a2e40 rtpdec: check av_new_packet() return value
Fixes CID733715
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 23:07:16 +02:00
Michael Niedermayer
3a8b66af6c rtmp_write_amf_data: remove dead code
Fixes CID732199
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 22:57:30 +02:00
Michael Niedermayer
e4ef2e073c riff_has_valid_tags: remove unused variable
Fixes CID739471
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 22:34:01 +02:00
Diego Biurrun
620345f930 fate: adpcm: cosmetics: Sort test entries
This also places tests of related formats together.
2012-10-20 21:10:21 +02:00
Diego Biurrun
a7d2861d36 svq3: K&R formatting cosmetics 2012-10-20 21:10:21 +02:00
Diego Biurrun
2e0c410485 fate: adpcm: Add dependencies 2012-10-20 21:10:21 +02:00
Diego Biurrun
8860878291 fate: Introduce ENCMUX macro for tests that require encoders and a muxer 2012-10-20 21:10:21 +02:00
Diego Biurrun
af1ede069c svq3: cosmetics: Drop useless parentheses 2012-10-20 21:10:21 +02:00
Diego Biurrun
6cfca5b6ae ffv1: Add missing #includes to header file 2012-10-20 21:10:21 +02:00
Michael Niedermayer
73581afe01 nutdec: fix integer overflow
Fixes CID700575
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 20:45:32 +02:00
Michael Niedermayer
d633e15d7d nsvdec: fix division by 0
Fixes CID717749
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 20:20:39 +02:00
Michael Niedermayer
ee23dcf534 avformat_free_context: allow NULL as argument
Fixes CID703682
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 20:13:18 +02:00
Michael Niedermayer
830f7f189f mmsh: fix integer overflow in mmsh_seek()
Fixes CID703745
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 20:13:18 +02:00
Stefano Sabatini
d3b8d56e06 examples/decoding_encoding: prefer 'frame' over 'picture' for an AVFrame
Decrease confusion.
2012-10-20 19:42:55 +02:00
Michael Niedermayer
dd84efe3c7 matroskaenc: Fix hypothetical integer overflows
Fixes CID700562-7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 19:05:15 +02:00
Michael Niedermayer
b1f517f503 matroskaenc: check avio_open_dyn_buf() retuen code
Fixes CID703629
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 19:05:15 +02:00
Derek Buitenhuis
eed7406416 doc/platform: Add info on shared builds with MSVC
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-20 13:00:12 -04:00
Derek Buitenhuis
11a73745d5 doc/platform: Move a caveat down to the notes section
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-20 12:59:20 -04:00
Derek Buitenhuis
2d09b36c03 doc/platform: Add info on shared builds with MSVC
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-20 12:55:59 -04:00
Derek Buitenhuis
f2a7236d0c doc/platform: Move a caveat down to the notes section
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-20 12:55:59 -04:00
Mans Rullgard
ebe46b8063 ARM: reinstate optimised intmath.h
Use of the ARM optimised intmath.h was accidentally dropped in 9734b8b.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-20 17:26:37 +01:00
Luca Barbato
0f13cd3187 ffv1: update to ffv1 version 3
Based on code from Carl Eugen Hoyos, Michael Niedermayer and Paul B Mahol.
2012-10-20 18:14:52 +02:00
Luca Barbato
4a2a4524a3 ffv1: propagate errors 2012-10-20 18:14:51 +02:00
Luca Barbato
71f7b22dba ffv1: split decoder and encoder 2012-10-20 18:14:43 +02:00
Hendrik Leppkes
79393a8363 Replace usage of the deprecated av_pix_fmt_descriptors array with av_pix_fmt_desc_get
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 18:00:13 +02:00
Michael Niedermayer
2c5b92fe90 matroskadec: fix double negation typo
Fixes CID602563
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 16:58:33 +02:00
Michael Niedermayer
1116491c53 matroska_parse_rm_audio: check for malloc failure
Fixes CID733712
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 16:55:45 +02:00
Michael Niedermayer
d7cabb3c7e bgmc: check the correct pointers
Fixes CID90539, CID90538
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 15:33:44 +02:00
Michael Niedermayer
bf52ad1e49 lavc: revert broken hunk from 1cd9c81ddb
This should fix fate failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 13:59:53 +02:00
Martin Storsjö
d15c21e5fa avutil: Add a copy of ff_sqrt_tab back into avutil to restore ABI compatibility
Earlier versions of for instance of libavcodec expect this symbol to be
present in libavutil. This commit can be reverted after the next major
bump.

New shared builds of avcodec will link to the internal copy of the
table within that library, so those builds won't rely on this table
being present in avutil any longer either.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-20 14:31:55 +03:00
Reinhard Tartler
def8c94699 avutil: make some tables visible again
These tables are used for instance by older versions of libavcodec and
need to remain visible until the next SONAME bump.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-20 14:31:55 +03:00
Mans Rullgard
8c0a3d5fe0 avutil: remove inline av_log2 from public API
This removes inline av_log2 and av_log2_16bit from the public API,
instead exporting them as regular functions.  In-tree code still
gets the inline and otherwise optimised variants.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-20 12:28:45 +01:00
Mans Rullgard
f0c07be649 celp_math: rename ff_log2 to ff_log2_q15
This name is more descriptive as the function returns a fixed-point
value with 15 fraction bits.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-20 12:28:45 +01:00
Michael Niedermayer
6912e7a008 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Group math functions into a separate variable
  avutil/mem: K&R formatting cosmetics
  avutil/lzo: K&R formatting cosmetics

Conflicts:
	configure
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 13:18:59 +02:00
Michael Niedermayer
04c6ecb7da Merge commit 'c9ef43215c7d68c2cdcdbe02287aa114f27a32ed'
* commit 'c9ef43215c7d68c2cdcdbe02287aa114f27a32ed':
  fate-vc1: add dependencies
  ARM: fix overreads in neon h264 chroma mc
  rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packet
  gitignore: ignore files created by msvc
  fate: Add proper dependencies for the tests in video.mak
  configure: Disable Snow decoder and encoder by default
  lzo: Drop obsolete fast_memcpy reference
  build: Drop OBJS declaration for non-existing PCM_DVD encoder
  mpeg4videodec: Disable frame multithreading for GMC, its not implemented at all

Conflicts:
	libavcodec/mpegvideo.c
	libavformat/rtsp.c
	tests/fate/microsoft.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 12:37:52 +02:00
Stefano Sabatini
cdea54b4c8 lavu/parseutils: rework rational reduction logic in av_parse_ratio()
Avoid to divide num and den by gcd in case of a parsed expression, since
that is already done in av_d2q(), and force reduction in case of "a:b"
form, allowing to honour the max parameter.

The latter change is consistent with the a/b case, and with the
documentation.
2012-10-20 12:19:53 +02:00
Stefano Sabatini
935ecfb002 examples/scaling_video: remove unnecessary intermediary variable in fill_yuv_frame() 2012-10-20 12:06:45 +02:00
Stefano Sabatini
7bc533c41b lavc/utils: fix a few case/punctuation inconsistencies in avcodec_open2() 2012-10-20 12:06:20 +02:00
Stefano Sabatini
1cd9c81ddb lavc/utils: extend feedback provided by avcodec_open2() 2012-10-20 12:06:14 +02:00
Stefano Sabatini
7b116a94af examples/decoding_encoding: fix misc typos in the usage text 2012-10-20 11:30:13 +02:00
Stefano Sabatini
8c4753f7f5 examples/decoding_encoding: remove misplaced and confusing comment 2012-10-20 11:30:13 +02:00
Stefano Sabatini
6d6ccbae4c examples/decoding_encoding: add missing checks on avcodec_alloc_context3() 2012-10-20 11:30:13 +02:00
Diego Biurrun
79042ab376 configure: Group math functions into a separate variable
This avoids some duplication when listing and testing for the functions.
2012-10-20 02:34:29 +02:00
Diego Biurrun
5532cf3178 avutil/mem: K&R formatting cosmetics 2012-10-20 02:34:29 +02:00
Diego Biurrun
c08536979b avutil/lzo: K&R formatting cosmetics 2012-10-20 02:34:29 +02:00
Mans Rullgard
c9ef43215c fate-vc1: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-20 01:31:01 +01:00
Mans Rullgard
1846ddf0a7 ARM: fix overreads in neon h264 chroma mc
The loops were reading ahead one line, which could end up outside the
buffer for reference blocks at the edge of the picture.  Removing
this readahead has no measurable performance impact.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-20 01:28:38 +01:00
Hendrik Leppkes
04bf2e7f0e swresample: include ff_log2_tab for shared builds
This is done in accordance with all other libraries, which no longer access ff_log2_tab from avutil directly for shared builds, and instead obtain their own copy.

This change is required for MSVC DLL builds, as well as avoids accessing a private symbol from another library.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 01:58:04 +02:00
Hendrik Leppkes
953a3dcc4e Mark data symbols shared between libraries with av_export
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 01:56:50 +02:00
Martin Storsjö
2f41eaa9c6 rtsp: Make sure the ret variable is initialized in ff_rtsp_fetch_packet
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-20 01:59:06 +03:00
Hendrik Leppkes
33f2a49423 vc1: only disable interlaced b-frames for software decoding
Tested-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 00:07:43 +02:00
Hendrik Leppkes
b87ff34496 vc1: implement vc1 field interlaced dxva2 decoding
Tested-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 00:07:14 +02:00
Michael Niedermayer
8fb8d539a4 hlsproto: fix integer overflow
Fixes CID703743
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 23:24:03 +02:00
Michael Niedermayer
ba39303050 gxfenc: fix null ptr dereference
Fixes CID703677
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 23:21:41 +02:00
Michael Niedermayer
395caf3de8 hls: fix integer overflow
Fixes CID717892
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 23:00:47 +02:00
Michael Niedermayer
a96577df38 avio: fix sizeof argument
Fixes CID732284
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 22:35:32 +02:00
Hendrik Leppkes
d2d08d706b gitignore: ignore files created by msvc
exp files are created in every build and contain export information
of the libraries. Both pdb and ilk are created during debug builds,
and contain linking and debug information used by MSVC.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-19 22:15:03 +02:00
Michael Niedermayer
d30351363f url_alloc_for_protocol: fix use of uninitialized variable
Fixes CID703830
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 22:14:13 +02:00
Michael Niedermayer
3d48dd01fd avidec: remove unneeded null check
Fixes CID29555
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 21:46:39 +02:00
Michael Niedermayer
aaf78e4d14 vf_mp: fix null ptr deref in case of ENOMEM
Fixes CID703675
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 19:59:38 +02:00
Michael Niedermayer
042a738b45 vf_mp: check list in querry_format()
Fixes CID717772
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 19:59:38 +02:00
Michael Niedermayer
31fdf3065d vf_idet: reorder operations to avoid division by 0
Fixes CID733738
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 19:59:32 +02:00
Martin Storsjö
12549db653 fate: Add proper dependencies for the tests in video.mak
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-19 20:27:16 +03:00
Michael Niedermayer
0fa26bd470 utvideoenc: fix theoretical integer overflow
The image sizes needed for this overflow to happen are currently not
supported in lavc, thus this should have no effect execpt making the
code more robust in light of future changes.

Fixes CID732245
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 18:57:57 +02:00
Michael Niedermayer
d86ef54476 avcodec_align_dimensions2: add missing breaks
This should have just cosmetic effects

Fixes CID603265
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 18:50:09 +02:00
Ash Hughes
2470851f12 lavc: enable recursively using avcodec_open2/close.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 18:05:12 +02:00
Diego Biurrun
4b587848ce configure: Disable Snow decoder and encoder by default
Snow has serious unfixed bugs and no real-world use.
2012-10-19 17:10:10 +02:00
Diego Biurrun
8fb1e26405 lzo: Drop obsolete fast_memcpy reference 2012-10-19 17:04:41 +02:00
Diego Biurrun
c896aa984e build: Drop OBJS declaration for non-existing PCM_DVD encoder 2012-10-19 17:04:41 +02:00
Petter Ericson
7abf394814 mov.c: Check for stsd + m1s tag indicating MOV-wrapped MPEG-PS, and force continued probing if found.
Fixes Ticket241
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 16:07:49 +02:00
Michael Niedermayer
6bcdfe48d0 mpeg4videodec: Disable frame multithreading for GMC, its not implemented at all
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-19 15:42:35 +03:00
jamal
9434ead2f3 fate: Handle lavf-fate tests in a makefile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 14:20:11 +02:00
Michael Niedermayer
c5fd9d3c35 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Add proper dependencies in qt.mak
  fate: Add proper dependencies in lossless-video.mak
  indeo3: do not try to output more lines than we can fit
  bmv: get a new frame on every decode_frame(), so we can use direct rendering

Conflicts:
	libavcodec/bmv.c
	tests/fate/lossless-video.mak
	tests/fate/qt.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 14:15:47 +02:00
Michael Niedermayer
81ff0c24ef Merge commit '1cd432e167b1a80853760c89a33606e2b5f229c2'
* commit '1cd432e167b1a80853760c89a33606e2b5f229c2':
  configure: fix libcdio check
  rtsp: Allow setting the reordering buffer size via an AVOption
  rtsp: Vertically align a constant definition
  rtp: Update the check for distinguishing between RTP and RTCP
  aac: fix build with hardcoded tables
  fate: dependencies for screen codec tests
  riff: Move functions around to be covered by appropriate #ifdefs

Conflicts:
	configure
	tests/fate/screen.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 13:58:14 +02:00
Michael Niedermayer
93f244e3ab Merge commit '0af1fe845a9d7112da0a58d33a4fc81fe7c47e95'
* commit '0af1fe845a9d7112da0a58d33a4fc81fe7c47e95':
  avformat: Fix references to the removed function av_write_header in comments
  changelog: Mention the MSVC DLL support
  fate: add dependencies for misc microsoft codecs
  fate-twinvq: add dependencies
  fate-mpc: add dependencies
  fate-indeo: add dependencies
  fate-als: add dependencies
  fate: dependencies for demux tests

Conflicts:
	Changelog
	tests/Makefile
	tests/fate/demux.mak
	tests/fate/microsoft.mak
	tests/fate/mpc.mak
	tests/fate/vqf.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 13:47:47 +02:00
Michael Niedermayer
b0554fec04 Merge commit 'c0329748b04e1f175dad8c9c2ebf22a5e2dc5b72'
* commit 'c0329748b04e1f175dad8c9c2ebf22a5e2dc5b72':
  fate: add a dependency helper macro
  Add support for building shared libraries with MSVC
  avcodec: Rename avpriv_frame_rate_tab to ff_mpeg12_frame_rate_tab
  gxf: Add a local copy of the relevant parts of the frame rate table
  configure: Split out msvc as a separate target OS
  aviobuf: Remove a senseless ifdef in avio_seek

Conflicts:
	configure
	libavcodec/dirac.c
	libavcodec/mpeg12data.h
	libavcodec/mpeg12enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 13:29:24 +02:00
Martin Storsjö
61cc99748c fate: Add proper dependencies in qt.mak
The output of make fate-list is identical to before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-19 10:43:14 +03:00
Martin Storsjö
91485e744f fate: Add proper dependencies in lossless-video.mak
The output of make fate-list is identical to before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-19 10:43:13 +03:00
Kostya Shishkov
169514c440 indeo3: do not try to output more lines than we can fit
Internally chroma planes have multiple of four height while allocated image
planes might be smaller if CODEC_FLAG_EMU_EDGE is set. Thus we should not
output more lines of chroma than frame can accept.

Also the decoder can be safely switched to direct rendering now.
2012-10-19 07:58:51 +02:00
Kostya Shishkov
8774d58358 bmv: get a new frame on every decode_frame(), so we can use direct rendering 2012-10-19 07:58:51 +02:00
Michael Niedermayer
d50aa006fb tiffenc: fix integer overflow
Fixes CID700699
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 03:36:42 +02:00
Michael Niedermayer
a06f943f9d roqvideodec: replace dead code by assert
Fixes CID732195
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 03:15:06 +02:00
Michael Niedermayer
c0b17ea106 roqaudioenc: Fix crash with very small roq files
Fixes CID703669
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 02:57:57 +02:00
Paul B Mahol
4ebf305951 lavc/tta: do not overwrite bits_per_coded_sample
It is supposed to be set in libavformat only.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-19 00:08:02 +00:00
Paul B Mahol
445f36d7c8 kmvc: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-19 00:08:02 +00:00
Paul B Mahol
be536f084a xxan: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-19 00:08:01 +00:00
Paul B Mahol
0bf40e0ef4 lavc/yop: remove redudant YOP in av_log() messages
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-19 00:08:01 +00:00
Paul B Mahol
4c6c6a266e jvdec: use more meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-19 00:08:01 +00:00
Paul B Mahol
527224830a idcinvideo: if decoding fails return error
Previously if frame decoding failed it would be
silently reported as valid frame.

The fate ref is updated because sample have
truncated last video packet.

While here return meaningful error codes.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-19 00:08:01 +00:00
Paul B Mahol
aadb7b3ac4 lavc/c93: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-19 00:08:01 +00:00
Mans Rullgard
1cd432e167 configure: fix libcdio check
The compiler/linker flags passed to check_lib2 should not be quoted.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-19 01:02:58 +01:00
Michael Niedermayer
05b0337025 motionpixels/mp_decode_frame_helper: assert that the first pixel doesnt reuse the last.
reusing the last would use uninitialized data, this should be
impossible currently, but better to check by assert.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 01:20:27 +02:00
Michael Niedermayer
df727d408c mlp_parser: print error when ff_combine_frame() fails to add the current buffer
Fixes part of CID602338
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-19 00:05:03 +02:00
Clément Bœsch
e807a2b648 lavc: add raw text subtitles decoder. 2012-10-18 22:51:44 +02:00
Martin Storsjö
3f055f8f5f rtsp: Allow setting the reordering buffer size via an AVOption
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 23:10:48 +03:00
Martin Storsjö
1c37744963 rtsp: Vertically align a constant definition
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 23:10:42 +03:00
Martin Storsjö
0de9380be5 rtp: Update the check for distinguishing between RTP and RTCP
Also add enums for more RTCP packet types, according to the IANA
list of registered types.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 23:10:20 +03:00
Michael Niedermayer
c753b56b4d ff_convert_matrix: fix integer overflow
Fixes CID608053
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 21:51:04 +02:00
Michael Niedermayer
5537c92f84 mpegvideoenc: check return value of ff_MPV_frame_start()
Fixes CID703622
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 21:42:31 +02:00
Michael Niedermayer
2472f3facb lzwenc: change assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 21:42:04 +02:00
Michael Niedermayer
97d1cb5cd4 bmv: remove unreachable default case
Fixes CID732191
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 21:13:28 +02:00
Mans Rullgard
7a12d97eb1 aac: fix build with hardcoded tables
aac_tablegen.h includes aac.h for the POW_SF2_ZERO definition, but
this also pulls in a raft of other headers, some of which are not
safe to use in code built with the host compiler.

Moving POW_SF2_ZERO to aac_tablegen_decl.h, where the declaration
of the array it relates to already resides, fixes the problems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 19:59:43 +01:00
Michael Niedermayer
23b203014f indeo4: prevent printing uninitialized variable
Fixes CID703822
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 20:41:51 +02:00
Michael Niedermayer
2b1a2466c7 dv: change assert(a2 < 4) to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 20:29:03 +02:00
Diego Biurrun
e8fe208be8 fate: dependencies for screen codec tests 2012-10-18 18:44:06 +02:00
Diego Biurrun
7b2121e7e2 riff: Move functions around to be covered by appropriate #ifdefs
This fixes compilation with --disable-muxers.
2012-10-18 16:12:45 +02:00
Michael Niedermayer
d0c27e88d2 riff: retry reading metadata without padding if it fails with
Fixes Ticket1821

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 16:03:16 +02:00
Michael Niedermayer
1350dffdc6 riff: dont discard truncated metadata
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 16:02:50 +02:00
Martin Storsjö
0af1fe845a avformat: Fix references to the removed function av_write_header in comments
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 16:33:48 +03:00
Martin Storsjö
22310eef9f changelog: Mention the MSVC DLL support
Also retroactively add a changelog entry to the 9beta1 list
for general MSVC support, which was present there already.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 16:33:34 +03:00
Mans Rullgard
55351de9f4 fate: add dependencies for misc microsoft codecs
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:31 +01:00
Mans Rullgard
c0329748b0 fate: add a dependency helper macro
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Mans Rullgard
22f5149ec4 fate-twinvq: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Mans Rullgard
08c6a12a56 fate-mpc: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Mans Rullgard
2e05143a8d fate-indeo: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Mans Rullgard
b55dda4a72 fate-als: add dependencies
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Mans Rullgard
eccd0671cc fate: dependencies for demux tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-18 13:12:28 +01:00
Martin Storsjö
d66c52c2b3 Add support for building shared libraries with MSVC
This requires the makedef perl script by Derek, from the
c89-to-c99 repo. That scripts produces a .def file, listing
the symbols to be exported, based on the gcc version scripts
and the built object files.

To properly load non-function symbols from DLL files, the
data symbol declarations need to have the attribute
__declspec(dllimport) when building the calling code. (On mingw,
the linker can fix this up automatically, which is why it has not
been an issue so far. If this attribute is omitted, linking
actually succeeds, but reads from the table will not produce the
desired results at runtime.)

MSVC seems to manage to link DLLs (and run properly) even if
this attribute is present while building the library itself
(which normally isn't recommended) - other object files in the
same library manage to link to the symbol (with a small warning
at link time, like "warning LNK4049: locally defined symbol
_avpriv_mpa_bitrate_tab imported" - it doesn't seem to be possible
to squelch this warning), and the definition of the tables
themselves produce a warning that can be squelched ("warning C4273:
'avpriv_mpa_bitrate_tab' : inconsistent dll linkage, see previous
definition of 'avpriv_mpa_bitrate_tab').

In this setup, mingw isn't able to link object files that refer to
data symbols with __declspec(dllimport) without those symbols
actually being linked via a DLL (linking avcodec.dll ends up with
errors like "undefined reference to `__imp__avpriv_mpa_freq_tab'").
The dllimport declspec isn't needed at all in mingw, so we simply
choose not to declare it for other compilers than MSVC that requires
it. (If ICL support later requires it, the condition can be extended
later to include both of them.)

This also implies that code that is built to link to a certain
library as a DLL can't link to the same library as a static library.
Therefore, we only allow building either static or shared but not
both at the same time. (That is, static libraries as such can be,
and actually are, built - this is used for linking the test tools to
internal symbols in the libraries - but e.g. libavformat built to
link to libavcodec as a DLL cannot link statically to libavcodec.)

Also, linking to DLLs is slightly different from linking to shared
libraries on other platforms. DLLs use a thing called import
libraries, which is basically a stub library allowing the linker
to know which symbols exist in the DLL and what name the DLL will
have at runtime.

In mingw/gcc, the import library is usually named libfoo.dll.a,
which goes next to a static library named libfoo.a. This allows
gcc to pick the dynamic one, if available, from the normal -lfoo
switches, just as it does for libfoo.a vs libfoo.so on Unix. On
MSVC however, you need to literally specify the name of the import
library instead of the static library.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 14:26:15 +03:00
Martin Storsjö
eaa9b2e66c avcodec: Rename avpriv_frame_rate_tab to ff_mpeg12_frame_rate_tab
This table doesn't need to be shared with libavformat any longer.
Add mpeg12 to the name to make it less ambiguous, while renaming it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 14:26:14 +03:00
Martin Storsjö
fc085c5b33 gxf: Add a local copy of the relevant parts of the frame rate table
This avoids having to share this table across the library
boundaries.

This shared table used to be problematic, if always declaring
all exported data symbols with the dllimport attribute (even
while building that same library), since it needs to be a
link-time constant when it is used in AVCodec declarations
(in mpeg12enc.c).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 14:26:13 +03:00
Martin Storsjö
53e8cd68b7 configure: Split out msvc as a separate target OS
The name mingw32 as target OS is both misleading, and very little
of the target OS specific settings actually match.

Since the target OS default is set based on uname, the default
(which on MSYS is set to mingw) is overridden by --toolchain=msvc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 14:26:12 +03:00
Michael Niedermayer
3777e6b3bf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mips64: mark hi/lo registers clobbered in MAC64/MLS64 macros
  fate: list lavfi tests in a makefile

Conflicts:
	configure
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 12:16:08 +02:00
Michael Niedermayer
9317b73f11 Merge commit '36ac9a16a19a365ce58cc871484c20cffe9b6401'
* commit '36ac9a16a19a365ce58cc871484c20cffe9b6401':
  fate: dependencies for seek tests
  fate: handle lavf test dependencies entirely in make

Conflicts:
	configure
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 11:42:42 +02:00
Michael Niedermayer
5806cd9365 fate: dependencies for ffmpeg vsynth tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 11:01:53 +02:00
Michael Niedermayer
aadaa8112a fate: dependencies for ffmpeg acodec tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 11:01:15 +02:00
Michael Niedermayer
17e4b0644b Merge commit '292d1e78743855404c7d07e3e7cb3f9c9ae6275b'
* commit '292d1e78743855404c7d07e3e7cb3f9c9ae6275b':
  fate: dependencies for acodec tests
  fate: dependencies for vsynth tests
  fate: add macros useful for conditionally enabling things
  libmp3lame: resize the output buffer if needed

Conflicts:
	tests/fate/acodec.mak
	tests/fate/vcodec.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 10:48:00 +02:00
Michael Niedermayer
eb19d89d8e cache: check lseek() return
Fixes CID717496
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 00:55:03 +02:00
Martin Storsjö
b760ffdd07 aviobuf: Remove a senseless ifdef in avio_seek
This seemed to assume that one never used writing avio unless
muxers or networking was enabled.

This ifdef is a remnant since 8fa641f8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-18 01:44:05 +03:00
Michael Niedermayer
ce739e66f4 cmdutils: add missing check for ftell() return
Fixed CID703706
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-18 00:10:59 +02:00
Mans Rullgard
b93e934aee mips64: mark hi/lo registers clobbered in MAC64/MLS64 macros
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:37:12 +01:00
Mans Rullgard
36ac9a16a1 fate: dependencies for seek tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
292d1e7874 fate: dependencies for acodec tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
206a070dce fate: list lavfi tests in a makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
fa26335003 fate: handle lavf test dependencies entirely in make
This makes the lavf tests depend on all codecs and formats they use.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
b262e45597 fate: dependencies for vsynth tests
This makes the vsynth tests run only if the required codecs and
formats are enabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Mans Rullgard
21fed588cb fate: add macros useful for conditionally enabling things
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-17 22:31:18 +01:00
Alexis Ballier
916352f282 configure: do not quote arguments passed to filter{,_out} in check_ld.
This fixes the following error:
./configure: eval: line 417: syntax error near unexpected token `-lcdio_cdda'
[...]
Broken by 66a1ccd74 when doing, e.g., ./configure --enable-gpl --enable-libcdio.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 23:28:50 +02:00
Michael Niedermayer
35daf3ca81 cmdutils: remove unneeded null check
Fixes CID703769
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 23:28:50 +02:00
Stefano Sabatini
eebde404bc examples/muxing: merge add_audio_stream() and add_video_stream()
Factorize.
2012-10-17 21:39:13 +02:00
Stefano Sabatini
eda0a52bf1 examples/muxing: check on frame
Fix crash in case frame is not defined (e.g. with muxing out.wav).
2012-10-17 21:39:13 +02:00
Stefano Sabatini
d6196d9421 examples/muxing: fix bogus setting of st->id 2012-10-17 21:39:12 +02:00
Stefano Sabatini
5ca298df2d examples/muxing: remove misleading comment about pending API change
The API was never changed since 2003. Replace with a comment about the
performed operation.
2012-10-17 21:39:12 +02:00
Stefano Sabatini
1f7962625c examples/muxing: remove video_outbuf unused and useless code 2012-10-17 21:39:12 +02:00
Nicolas George
709628aa71 lavfi/avf_concat: fix invalid exclusive test.
The invalid test did not cause any actual problem since
the first branch is only possible with bogus filters.

Fix coverity issue CID 733850.
2012-10-17 21:28:58 +02:00
Michael Niedermayer
d185c8a79b tiff: run strlen() after setting the pointer
Fixes CID733803
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:58:08 +02:00
Michael Niedermayer
f03c0f6afc ffmdec: check av_new_packet() return value
Fixes CID733711
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:45:59 +02:00
Michael Niedermayer
a0e0e1e192 ffmdec: fix hypothetical overflows
Fixes CID703739
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:36:30 +02:00
Michael Niedermayer
71bc8c95d7 ffm_read_write_index: check lseek return code
Fixes CID732184
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:35:16 +02:00
Michael Niedermayer
378a5b9c5f ffm_write_write_index: check lseek() return code
Fixes CID732185
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:23:16 +02:00
Michael Niedermayer
7fd65104f4 ffm_seek: fix division by zero
Fixes CID732202
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:14:43 +02:00
Michael Niedermayer
657998b5ee libavfilter/lavfutils: remove useless NULL check on format context
Fixes: CID733804
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:00:31 +02:00
Michael Niedermayer
fd9e88fe60 libavfilter/lavfutils: remove useless NULL check on codec context
The code would crash before if it was NULL

Fixes CID733804
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 20:00:20 +02:00
Michael Niedermayer
a4fe661157 mov_probe: fix integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 17:50:14 +02:00
Paul B Mahol
9b762e2cba idcinvideo: remove redundant " id CIN Video: " from av_log()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-17 14:09:47 +00:00
Justin Ruggles
abd8b9e7e0 libmp3lame: resize the output buffer if needed
The LAME API documentation for the required buffer size refers to the size for
a single encode call. However, we store multiple frames in the same output
buffer but only read 1 frame at a time out of it. As a result, the buffer size
given in lame_encode_buffer() is actually smaller than what it should be.
Since we do not know how many frames it will end up buffering, it is best to
just reallocate if needed.
2012-10-17 09:59:13 -04:00
Michael Niedermayer
775d41b617 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Add support for Tilera processors
  wavdec: check size before reading the data, not after.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 15:53:42 +02:00
Michael Niedermayer
940ee63630 Merge commit '79922d7237aba2b8c6abbd2e06a0c08e4f498ad4'
* commit '79922d7237aba2b8c6abbd2e06a0c08e4f498ad4':
  wav: do not fail on empty INFO tags

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 15:52:04 +02:00
Michael Niedermayer
df5e089da9 Merge commit '31c54711cc3f1484af101d629bbb805820d37ad1'
* commit '31c54711cc3f1484af101d629bbb805820d37ad1':
  lavf: split wav muxer and demuxer into separate files.

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 15:46:08 +02:00
Michael Niedermayer
d8cfa98358 Merge commit '58b619c8a226cc4564ad5af291bc99a04f89ee56'
* commit '58b619c8a226cc4564ad5af291bc99a04f89ee56':
  wav muxer: write metadata

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 15:16:23 +02:00
Michael Niedermayer
c079da5073 Merge commit '0bca0283ccded5e32da143a462168ad1988a58fd'
* commit '0bca0283ccded5e32da143a462168ad1988a58fd':
  riff: do not write empty INFO tags

Conflicts:
	tests/ref/fate/vsynth1-cljr
	tests/ref/fate/vsynth1-ffvhuff
	tests/ref/fate/vsynth1-h261
	tests/ref/fate/vsynth1-h263
	tests/ref/fate/vsynth1-h263-obmc
	tests/ref/fate/vsynth1-h263p
	tests/ref/fate/vsynth1-huffyuv
	tests/ref/fate/vsynth1-jpegls
	tests/ref/fate/vsynth1-mjpeg
	tests/ref/fate/vsynth1-mpeg4-adap
	tests/ref/fate/vsynth1-mpeg4-adv
	tests/ref/fate/vsynth1-mpeg4-error
	tests/ref/fate/vsynth1-mpeg4-nr
	tests/ref/fate/vsynth1-mpeg4-qpel
	tests/ref/fate/vsynth1-mpeg4-qprd
	tests/ref/fate/vsynth1-mpeg4-rc
	tests/ref/fate/vsynth1-mpeg4-thread
	tests/ref/fate/vsynth1-msmpeg4
	tests/ref/fate/vsynth1-msmpeg4v2
	tests/ref/fate/vsynth1-rgb
	tests/ref/fate/vsynth1-wmv1
	tests/ref/fate/vsynth1-wmv2
	tests/ref/fate/vsynth1-yuv
	tests/ref/fate/vsynth2-cljr
	tests/ref/fate/vsynth2-ffvhuff
	tests/ref/fate/vsynth2-h261
	tests/ref/fate/vsynth2-h263
	tests/ref/fate/vsynth2-h263-obmc
	tests/ref/fate/vsynth2-h263p
	tests/ref/fate/vsynth2-huffyuv
	tests/ref/fate/vsynth2-jpegls
	tests/ref/fate/vsynth2-mjpeg
	tests/ref/fate/vsynth2-mpeg4-adap
	tests/ref/fate/vsynth2-mpeg4-error
	tests/ref/fate/vsynth2-mpeg4-nr
	tests/ref/fate/vsynth2-mpeg4-qpel
	tests/ref/fate/vsynth2-mpeg4-qprd
	tests/ref/fate/vsynth2-mpeg4-rc
	tests/ref/fate/vsynth2-mpeg4-thread
	tests/ref/fate/vsynth2-msmpeg4
	tests/ref/fate/vsynth2-msmpeg4v2
	tests/ref/fate/vsynth2-rgb
	tests/ref/fate/vsynth2-wmv1
	tests/ref/fate/vsynth2-wmv2
	tests/ref/fate/vsynth2-yuv
	tests/ref/lavf/avi
	tests/ref/seek/h261_avi
	tests/ref/seek/h263_avi
	tests/ref/seek/h263p_avi
	tests/ref/seek/lavf_avi
	tests/ref/seek/mjpeg_avi
	tests/ref/seek/mpeg4_adap_avi
	tests/ref/seek/mpeg4_error_avi
	tests/ref/seek/mpeg4_nr_avi
	tests/ref/seek/mpeg4_qpel_avi
	tests/ref/seek/mpeg4_qprd_avi
	tests/ref/seek/mpeg4_rc_avi
	tests/ref/seek/mpeg4_thread_avi
	tests/ref/seek/msmpeg4_avi
	tests/ref/seek/msmpeg4v2_avi
	tests/ref/seek/wmv1_avi
	tests/ref/seek/wmv2_avi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 14:43:26 +02:00
Michael Niedermayer
fadfbb354b Merge commit '71e92414bfd79e56ea6fff174a665ff7b9b86e68'
* commit '71e92414bfd79e56ea6fff174a665ff7b9b86e68':
  lavf: move RIFF INFO tag writing from avienc to riff
  avconv: fix disabling auto mappings with -map_metadata

Conflicts:
	ffmpeg_opt.c
	libavformat/riff.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 14:30:25 +02:00
Michael Niedermayer
d6e87190fd Merge commit 'a25d912dca9cd553440167e0476c47581359c0fc'
* commit 'a25d912dca9cd553440167e0476c47581359c0fc':
  avcodec_encode_audio(): fix invalid free
  pcm-mpeg: correct bitrate calculation
  ffv1: K&R formatting cosmetics
  fate: Add rangecoder test
  network: #include stdint.h in network.h
  nut: export codec_tag provided by rawvideo
  avserver: move avserver-specific code from ffmdec.c to avserver.c

Conflicts:
	ffserver.c
	libavcodec/ffv1.c
	libavformat/ffmdec.c
	libavformat/nutenc.c
	tests/ref/lavfi/crop
	tests/ref/lavfi/crop_scale
	tests/ref/lavfi/crop_scale_vflip
	tests/ref/lavfi/crop_vflip
	tests/ref/lavfi/null
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_crop
	tests/ref/lavfi/pixfmts_hflip
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_pad
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip
	tests/ref/lavfi/scale200
	tests/ref/lavfi/scale500
	tests/ref/lavfi/vflip
	tests/ref/lavfi/vflip_crop
	tests/ref/lavfi/vflip_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 14:17:55 +02:00
Paul B Mahol
1ade37ae9c lavc/tta: use meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-17 12:11:34 +00:00
Paul B Mahol
d6ea59b860 tta: datalen is unsigned integer per reference library
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-17 11:58:08 +00:00
Michael Niedermayer
364c60bf64 sws-test: parse command line args before initing contexts
This fixes parsing comand line args after ref

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 11:56:36 +02:00
Clément Bœsch
711ffb84df lavf/swfdec: support DefineBitsLossless{,2} tag. 2012-10-17 07:49:17 +02:00
Michael Niedermayer
4e2e3d943e ffv1: fix packed rgb with 1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 03:19:11 +02:00
Michael Niedermayer
adbb75dbd8 mov: fix time types related to mov_metadata_creation_time
Fixes Ticket1817
Based on patch by: Przemyslaw Wesolek <przemyslaw.wesolek@go.art.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 02:48:30 +02:00
Michael Niedermayer
7b8fd29816 examples/muxing: fix video pts
Fixes Ticket1801
Based on suggestion from AztecC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 02:40:00 +02:00
Derek Buitenhuis
c75848cd4c configure: Add support for Tilera processors
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-16 18:24:18 -04:00
Michael Niedermayer
5d2b885074 lavfi: limit matching w/h/fmt asserts to non scale filters
This fixes a regression with the scale filters input changing.
In the long run filters should get a flag to indicate support of this
and then this flag be used here.
But the regression should not be left standing until thats done.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 00:06:12 +02:00
Michael Niedermayer
6cbb8a450f libavfilter/buffersrc: Do not fail hard on changes of input parameters.
Several filters support this already.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 00:06:12 +02:00
Michael Niedermayer
3e0b29ccd0 ffmpeg: Make video filter graph reinit user selectable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-17 00:06:12 +02:00
Michael Niedermayer
a07e9d72a1 yuvPlanartouyvy_c: fix sign extension
Fixes CID732281
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 21:06:24 +02:00
Michael Niedermayer
a30972609c yuvPlanartoyuy2_c: fix sign extension
Fixes CID732282
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 20:50:53 +02:00
Michael Niedermayer
cb65b32c97 mp3enc: remove unneeded null ptr check
Fixes: CID733746
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 20:27:16 +02:00
Michael Niedermayer
6d55a40b00 mov: print warning if ff_get_wav_header() fails
Fixes CID717497
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 20:21:31 +02:00
Michael Niedermayer
24d6af0f7e sierravmd: flip reduce arg order.
This should make no difference but might help static analyzers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 20:03:37 +02:00
Michael Niedermayer
de6c150444 nut: fix int32 overflow
Fixes CID700574
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 19:59:01 +02:00
Michael Niedermayer
340305646a riff: fix division by zero for G726
Fixes CID717752
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 19:56:05 +02:00
Michael Niedermayer
9de5b11d58 swr-test: fix division by 0
Fixes CID733739
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 19:40:57 +02:00
Michael Niedermayer
dd3e5baa59 swr-test: check pointers before use
Fixes: CID733807, CID733806
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 19:39:25 +02:00
Anton Khirnov
a43283b6f4 wavdec: check size before reading the data, not after. 2012-10-16 18:52:21 +02:00
Anton Khirnov
79922d7237 wav: do not fail on empty INFO tags
Fixes Bug 379

CC: libav-stable@libav.org
2012-10-16 18:52:14 +02:00
Anton Khirnov
31c54711cc lavf: split wav muxer and demuxer into separate files. 2012-10-16 18:52:07 +02:00
Victor Vasiliev
58b619c8a2 wav muxer: write metadata
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-16 18:51:56 +02:00
Victor Vasiliev
0bca0283cc riff: do not write empty INFO tags
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-16 18:51:16 +02:00
Victor Vasiliev
71e92414bf lavf: move RIFF INFO tag writing from avienc to riff
It will be useful in the wav muxer.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-16 18:50:36 +02:00
Anton Khirnov
a119c64e38 avconv: fix disabling auto mappings with -map_metadata
CC: libav-stable@libav.org
2012-10-16 18:49:59 +02:00
Rafaël Carré
a25d912dca avcodec_encode_audio(): fix invalid free
Since 2bc0de385, AVFrame needs to be initialized
before calling avcodec_get_frame_defaults().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-16 18:49:31 +02:00
Christian Schmidt
4a7429203a pcm-mpeg: correct bitrate calculation
Bitrate calculation is off since the bluray spec always specifies
an even number of coded channels. This was honored in the decoder,
but not for bitrate calculation.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-16 16:03:03 +02:00
Luca Barbato
9a978b334b ffv1: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-16 15:45:55 +02:00
Diego Biurrun
c0a6cac292 fate: Add rangecoder test 2012-10-16 15:45:55 +02:00
Mans Rullgard
1fbaabefc4 network: #include stdint.h in network.h
This header uses various types provided by stdint.h without
explicitly including it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-16 14:45:29 +01:00
Luca Barbato
21de6ba5c1 nut: export codec_tag provided by rawvideo
Raw audio does not provide valid audio tags while rawvideo does.
The fate refs have to be updated because it undoes the previous tag
change.
2012-10-16 15:26:31 +02:00
Mans Rullgard
3b20eb25e7 avserver: move avserver-specific code from ffmdec.c to avserver.c
This way avserver only depends on the data structures of the ffm
demuxer, which it already does, and not also on private functions
being exported by the library.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-16 14:20:05 +01:00
Michael Niedermayer
8227d36bd3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: simplify linking tools with cmdutils.o
  tiny_psnr: fix range calculation for sample size of 32 bits

Conflicts:
	Makefile
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 14:15:16 +02:00
Michael Niedermayer
83962004f7 Merge commit '3dc06b6972cf389269e9c36ff0a4373f80f7149b'
* commit '3dc06b6972cf389269e9c36ff0a4373f80f7149b':
  tiny_psnr: check for specified sample size less than 1
  fate: improve md5sum utility selection
  rangecoder-test: Drop timer output that clutters stderr

Conflicts:
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 14:04:14 +02:00
Michael Niedermayer
5717562c78 Merge commit 'c1fcfdec75468009dc7de29a5d1c6adf3b2ef77d'
* commit 'c1fcfdec75468009dc7de29a5d1c6adf3b2ef77d':
  rangecoder-test: Return in case of an error
  build: simplify enabling of compat objects

Conflicts:
	configure
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 13:57:10 +02:00
Stefano Sabatini
25f3827e1d tools/ffeval: do not use UNIX-specific /dev/std{in,out} files
Should fix behavior when the /dev/ directory is not defined (e.g. on
Windows).
2012-10-16 13:51:44 +02:00
Stefano Sabatini
7ca102a7d7 examples: add README file with simple compilation instructions 2012-10-16 13:34:48 +02:00
Michael Niedermayer
d15be9108e Merge commit '66a1ccd7467ab1913cd8877114c6d4c2588bb12f'
* commit '66a1ccd7467ab1913cd8877114c6d4c2588bb12f':
  configure: simplify argument handling in check_ld

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 13:27:19 +02:00
Michael Niedermayer
9270a2b374 Merge commit '4c995fafd861f537360b3717901cdbed6a6844e7'
* commit '4c995fafd861f537360b3717901cdbed6a6844e7':
  configure: simplify get_version() function
  build: support asan and tsan toolchain shortcuts
  rmdec: Move SIPR code shared with Matroska demuxer to a separate file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 13:20:46 +02:00
Andrew Euell
36b3b2376d gitignore: add *.dylib for those of us on Darwin/OS X systems.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 04:14:09 +02:00
Michael Niedermayer
4cc4ca5847 mandelbrot: fix inner=period coloring routine
Fixes CID717571
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 04:00:55 +02:00
Michael Niedermayer
9c669672c7 x86/motion_est: widen before multiply.
This fixes CID700558, CID700557, CID700556
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 03:09:28 +02:00
Michael Niedermayer
3896cd11a1 mxfenc: explicitly truncate continuity count.
The field is intended to overflow and have only its low 16bits stored.
This commit avoids the implicit truncation and clarifies that its
intended and not a bug

S326m section 7.6 ("Continuity count"):
> The continuity count word consists of 2 bytes allow-
> ing a number to be created by a modulo 65536
> counter (bits C15 to C0 in figure 7). The continuity
> count shall increment by 1 for each newly transmit-
> ted content package with the same SDTI source and
> destination addresses. The continuity count may
> be used to detect whether the content package
> sequence has been broken by an operation such as
> a routing switch.

Approved-by: Tjoppen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 03:01:15 +02:00
Michael Niedermayer
1fe45903b8 msvideo1enc: fix interframe encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 02:22:27 +02:00
Michael Niedermayer
ba31e59e83 ffmpeg: Override r_frame_rate by corrected timebase only for interlaced streams
Fixes Ticket1664

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 01:04:42 +02:00
Michael Niedermayer
901f4bb6fc utils: consider mpeg4 in mp4/mov to have a unreliable timebase
Partly fixes Ticket1664

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 01:04:02 +02:00
Michael Niedermayer
f5581266f7 ra288: assert order to be withinn supported range in do_hybrid_window()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 23:55:54 +02:00
Michael Niedermayer
db3a0aae9f msvideo1enc: fix initial keyframe value
keyframe was never set to anything but 1

Fixes CID733730
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 23:52:08 +02:00
Mans Rullgard
07b3790d36 build: simplify linking tools with cmdutils.o
This avoids repeating cmdutils.o in both the prerequisites and
the link command.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 22:28:07 +01:00
Mans Rullgard
bf868c4a9b tiny_psnr: fix range calculation for sample size of 32 bits
For a sample size of 32 bits, the shift would overflow producing
undefined results.  Incidentally, in the only test currently using
32-bit samples, the output matches the reference exactly on most
systems meaning the bad 'max' value is never used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 21:41:25 +01:00
Mans Rullgard
3dc06b6972 tiny_psnr: check for specified sample size less than 1
A zero or negative sample size is impossible and should be
reported as an error.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 21:40:18 +01:00
Stefano Sabatini
faa1cb50ed lavfi/ass: extend syntax for ass filter
Make the filter accept named options for the first argument, and update
documentation accordingly.
2012-10-15 22:40:08 +02:00
Mans Rullgard
099294577c fate: improve md5sum utility selection
The 'md5sum' command is used with the -b flag so the presence test
must also use this flag.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 21:40:08 +01:00
Stefano Sabatini
22c5cc239c tools/ffeval: include compat/getopt.c in case of missing system getopt() 2012-10-15 21:58:02 +02:00
Stefano Sabatini
a726ac9a11 examples/muxing: extend usage notice 2012-10-15 21:36:14 +02:00
Michael Niedermayer
0cc3cd5c65 Merge branch 'docu' of https://github.com/rdp/FFmpeg
* 'docu' of https://github.com/rdp/FFmpeg:
  docu: add word resize to scale filter, to make searching for the word resize simpler
  docu: change verb flite
  docu: add flite ffmpeg example
  docu: fix flite example

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 21:22:10 +02:00
Diego Biurrun
f1be514540 rangecoder-test: Drop timer output that clutters stderr 2012-10-15 21:16:36 +02:00
Diego Biurrun
c1fcfdec75 rangecoder-test: Return in case of an error 2012-10-15 21:15:17 +02:00
Michael Niedermayer
547ec4d303 ffmpeg: check timebase validity before using it.
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 20:35:45 +02:00
Nicolas Noirbent
af32a1f2d1 doc/filters: pad examples should be a @subsection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 20:35:45 +02:00
rogerdpack
dfd085aae2 docu: add word resize to scale filter, to make searching for the word resize simpler
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2012-10-15 11:28:45 -06:00
rogerdpack
a8eaa9ebc6 docu: change verb flite
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2012-10-15 11:26:39 -06:00
rogerdpack
7f5a78a0da docu: add flite ffmpeg example
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2012-10-15 11:26:07 -06:00
rogerdpack
d9d5470636 docu: fix flite example
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2012-10-15 11:24:08 -06:00
Paul B Mahol
3ca8a23288 lavf/audiointerleave: check return value of av_new_packet()
Fixes CID733709.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 17:03:41 +00:00
Paul B Mahol
bb502411dd nutdec: check return value of av_new_packet()
Fixes CID733173.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 17:03:41 +00:00
Tomas Härdin
8cbb8f5357 dv: Set FS flag from AVFrame.top_field_first
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 18:53:44 +02:00
Tomas Härdin
7b383bd9d7 dvdec: Set top_field_first from FS flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 18:53:44 +02:00
Tomas Härdin
2b4bbd12c2 dvdec: Move the VSC pack parsing to before avctx->execute()
This allows the next commit to parse the FS flag.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 18:53:44 +02:00
Tim Nicholson
0ee57f8b14 rawdec.c: Extract interlace information from quicktime flag if it exisits.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 18:53:44 +02:00
Mans Rullgard
84e65c763d build: simplify enabling of compat objects
Add a configure function to pull in a compat object and set up
redirects in one operation.  This avoids duplicating conditions
across configure and makefiles.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 17:46:19 +01:00
Mans Rullgard
66a1ccd746 configure: simplify argument handling in check_ld
Use the existing filter functions instead of open-coding the
separation of general flags and libraries.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 17:46:18 +01:00
Mans Rullgard
4c995fafd8 configure: simplify get_version() function
awk alone can do this, no need for grep.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 17:46:18 +01:00
Luca Barbato
0fbb62a8e6 build: support asan and tsan toolchain shortcuts 2012-10-15 18:25:35 +02:00
Paul B Mahol
d7d5b5dfc1 flvdec: check return value of create_stream()
Fixes null pointer dereference. Fixes CID732242.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 15:59:53 +00:00
Paul B Mahol
295218f531 idcin: check chunk_size value before using it
Fixes integer overflow. Fixes CID732223.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 15:48:13 +00:00
Paul B Mahol
3f8148911c img2dec: check return value of av_new_packet()
Fixes CID703626.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 14:53:56 +00:00
Paul B Mahol
011f3892ff h264: use designated initializers for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 13:43:33 +00:00
Stefano Sabatini
59e31aa2ca examples/muxing: provide more information in case of avcodec_open2 failure 2012-10-15 15:35:50 +02:00
Stefano Sabatini
6133149e0c examples/muxing: add missing error checks 2012-10-15 15:35:50 +02:00
Stefano Sabatini
e56b3a5ebb examples/muxing: fix case inconsistency in message 2012-10-15 15:35:49 +02:00
Paul B Mahol
e75357ea7c xbmenc: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 13:28:23 +00:00
Paul B Mahol
5864fe62ef flacdec: replace -1 with AV_SAMPLE_FMT_NONE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 13:26:47 +00:00
Michael Niedermayer
5c7a62aef5 movenc: fix tmcd parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 15:09:46 +02:00
Michael Niedermayer
5bac83dae8 shorten: fix U8 to be planar too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 15:09:46 +02:00
Paul B Mahol
916e40b5b4 smacker: return more meaningfull error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 12:48:38 +00:00
Michael Niedermayer
ae237a117a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: try to use mmap only if available
  configure: check for mprotect
  wmapro: use planar sample format
  wmalossless: output in planar sample format
  wmadec: use float planar sample format output
  shorten: use planar sample format
  lavc: update documentation for AVFrame.extended_data

Conflicts:
	libavcodec/shorten.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 14:09:35 +02:00
Diego Biurrun
7e68c91e24 rmdec: Move SIPR code shared with Matroska demuxer to a separate file 2012-10-15 13:34:07 +02:00
Paul B Mahol
4f5e5a0513 lavf/txd: cosmetics: fix identation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-15 08:12:25 +00:00
Clément Bœsch
b08273c9ca lavf/mkv: avoid negative ts by default.
This fixes playback in some circumstances (like webm in firefox).
Regression after 2c34367b.

It is also matching the Matroska specifications:
http://matroska.org/technical/specs/notes.html, "The quick eye will
notice that if a Cluster's Timecode is set to zero, it is possible to
have Blocks with a negative Raw Timecode. Blocks with a negative Raw
Timecode are not valid."
2012-10-15 09:19:21 +02:00
Stefano Sabatini
304c37b216 tests: add fate-xface test 2012-10-15 08:32:34 +02:00
Stefano Sabatini
cd559bb49a lavc: add xface image decoder and encoder
Based on libcompface code by James Ashton <James.Ashton@anu.edu.au>, and
relicensed to LGPL with the author's consent.
2012-10-15 08:32:18 +02:00
Mans Rullgard
95cd815c36 swscale: try to use mmap only if available
Some systems, e.g. Minix, have sys/mman.h defining MAP_ANONYMOUS without
providing (working) mmap and friends.  The mmx filter generation code
checks only for MAP_ANONYMOUS, not for availability of mmap itself which
leads to build errors on aforementioned systems.

This changes the conditional compilation to use mmap only if all the
required functions are available.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 02:39:49 +01:00
Mans Rullgard
e98b02de5f configure: check for mprotect
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 02:39:49 +01:00
Michael Niedermayer
35782bfbca h264: Change asserts to av_asserts in ff_h264_fill_default_ref_list()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 03:22:00 +02:00
Michael Niedermayer
151469db33 j2kenc: remove unneeded dereference
Fixes CID703723
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 03:18:08 +02:00
Michael Niedermayer
1b8f4d773c ffmpeg: use framerate not fieldrate as filter input.
Fixes a problem described in Ticket1065

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-15 00:40:36 +02:00
Michael Niedermayer
a63d7213b3 ffplay: Prevent 0/0 aspect from being passed on to lavfi
0/0 fails to be parsed

Fixes Ticket1814
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 23:40:14 +02:00
Justin Ruggles
f9d732c264 wmapro: use planar sample format 2012-10-14 16:48:23 -04:00
Justin Ruggles
2725ce7c7c wmalossless: output in planar sample format 2012-10-14 16:48:23 -04:00
Justin Ruggles
7ebfe5b44a wmadec: use float planar sample format output 2012-10-14 16:48:23 -04:00
Justin Ruggles
977eb7d567 shorten: use planar sample format 2012-10-14 16:48:22 -04:00
Michael Niedermayer
bc077ca6b5 j2kdec: remove unneeded operation
Fixes CID717554
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 22:16:31 +02:00
Michael Niedermayer
1e6cbb01e9 j2kdec: make curtilenum integer.
This fixes a potential crash.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 22:16:31 +02:00
Michael Niedermayer
0de0ae5a20 tag_tree_decode: check node being non null
Fixes CID717843
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 22:16:31 +02:00
Michael Niedermayer
a6cac64f69 compute_lpc_coefs: assert that normalize and fail have a supported combination
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 22:16:31 +02:00
Michael Niedermayer
93ef29b6f4 noise_bsf: fix division by 0
Fixes CID733737
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 21:45:42 +02:00
Justin Ruggles
8441909f49 lavc: update documentation for AVFrame.extended_data 2012-10-14 15:00:45 -04:00
Michael Chinen
c73b1a1d80 flac_parser.c: fix issue with looping output for small files.
see trac 1345
https://ffmpeg.org/trac/ffmpeg/ticket/1345

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 20:39:10 +02:00
Thilo Borgmann
41bf943f70 bgmc: fix sizeof arguments (should fix CIDs: 700724 and 608084)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 20:37:43 +02:00
Michael Niedermayer
45bd0d15f4 lavf: fix fps detection with PAFF H.264
Fixes Ticket1065
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 19:20:23 +02:00
Hendrik Leppkes
572781b25f h264: fix parsing of old lossless profile (profile_idc == 144)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 16:04:10 +02:00
Peter Ross
6bf43441f0 eatgq: raise error on unsupported macroblock mode
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 16:01:22 +02:00
Peter Ross
0ea55365b9 ansi: by design nb_args may exceed the size of the args array, so guard accordingly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 15:56:36 +02:00
Michael Niedermayer
d6f6a7557c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: Do not make ff_ symbols globally visible.
  avutil: Rename ff_set_systematic_pal2() ---> avpriv_set_systematic_pal2()
  build: tms470: work around glibc math.h problems
  configure: improve tms470 compiler usage with glibc

Conflicts:
	libavcodec/bmpenc.c
	libavcodec/rawdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 15:11:34 +02:00
Paul B Mahol
de3b1116da eatgq: fix small overread
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-14 12:54:10 +00:00
Michael Niedermayer
82c0055c5e Merge commit 'b5198a2637b7b45b0049a1d4b386a06f016f2520'
* commit 'b5198a2637b7b45b0049a1d4b386a06f016f2520':
  configure: tms470: add mapping for -mfpu=vfpv3-d16 flag
  configure: recognise Minix as OS
  configure: work around bug in ash shell
  eval-test: make table static const
  lavr: handle clipping in the float to s32 conversion
  nut: support pcm codecs not mapped in avi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 14:46:13 +02:00
Michael Niedermayer
db51c65961 Merge commit '1bd442c276e6688b43777a198cad0d7e3a92123f'
* commit '1bd442c276e6688b43777a198cad0d7e3a92123f':
  nut: prioritize native tags

Conflicts:
	tests/ref/lavfi/crop
	tests/ref/lavfi/crop_scale
	tests/ref/lavfi/crop_scale_vflip
	tests/ref/lavfi/crop_vflip
	tests/ref/lavfi/null
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_crop
	tests/ref/lavfi/pixfmts_hflip
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_pad
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip
	tests/ref/lavfi/scale200
	tests/ref/lavfi/scale500
	tests/ref/lavfi/vflip
	tests/ref/lavfi/vflip_crop
	tests/ref/lavfi/vflip_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 14:31:55 +02:00
Michael Niedermayer
03760297b1 doc/nut: Clarify what/where is the official nut specification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 14:05:41 +02:00
Paul B Mahol
039341eb43 wv: do not report invalid stream duration
If total number of samples is -1 it means stream is of unknown length.

Fixes ticket #1777.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-14 10:41:16 +00:00
Paul B Mahol
dd5aff001e svq1dec: use log level that have more common sense
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-14 09:21:48 +00:00
Paul B Mahol
7b9fc769e4 svq1dec: use more common way to check if result is not zero
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-14 09:18:36 +00:00
Paul B Mahol
8f4020d8a4 svq1dec: check return value of get_bits1() in more common way
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-14 09:14:35 +00:00
Paul B Mahol
e2bf1082cc svq1dec: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-14 09:12:19 +00:00
Michael Niedermayer
d31098113f mp3enc: fix signed C99 overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 05:52:50 +02:00
Michael Niedermayer
2217a2249d dpxenc: fix signed c99 overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 05:48:02 +02:00
Michael Niedermayer
7a32ab5ed0 sws: get rid of C99 signed overflows try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 05:16:59 +02:00
Michael Niedermayer
693097c355 paf: avoid C99 overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 04:01:41 +02:00
Michael Niedermayer
3ee8eefbf2 sws: avoid signed C99 overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:59:45 +02:00
Michael Niedermayer
555f352f99 swr/rematrix: fix C99 left shift overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:48:05 +02:00
Michael Niedermayer
014b178f84 g723_1: fix overflow in square_root()
the intermediate does not fit in a signed 32bit int

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:42:28 +02:00
Michael Niedermayer
2fed05f53a avoid more "0xFF << 24" as it is considered a integer overflow in C99
missed these in my previous search and replace

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:34:16 +02:00
Michael Niedermayer
b12d92efd6 avoid "0xFF << 24" as it is considered a integer overflow in C99
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:26:31 +02:00
Michael Niedermayer
d3d715ff13 mpeg4videodec: Recalculate timebase in case of guessing time increment bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 03:26:31 +02:00
Clément Bœsch
096d96ffda lavfi/select/scene: use pointer increments instead of y*linesize. 2012-10-14 02:09:05 +02:00
Clément Bœsch
0852648301 lavfi/select/scene: fix potential overread.
Also make sure we use the actual width of the image and not the whole
linesize.
2012-10-14 02:08:06 +02:00
Clément Bœsch
dff826b4a8 lavfi/select/scene: move out convoluted sad variable init from loop. 2012-10-14 01:23:00 +02:00
Thilo Borgmann
feaff427c0 alsdec: fix clipping of weightings for MCC decoding
Fixes CID717905
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 00:18:46 +02:00
Michael Niedermayer
20ec0d2a75 mpegvideo: fix motion_val checks
Fixes CID604124
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 00:08:53 +02:00
Michael Niedermayer
f4d73f0fb5 mpegvideo: check return value of ff_MPV_common_init()
Fixes CID703621
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 00:08:44 +02:00
Michael Niedermayer
8cda27b753 avcodec_find_best_pix_fmt_of_2: fix handling or PIX_FMT_NONE
Fixes CID733775
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 00:08:44 +02:00
Michael Niedermayer
b3eb4f54c0 flashsv: check deflateInit() return value
Fixes CID703620
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 22:48:32 +02:00
Michael Niedermayer
6581b6cef4 dnxhdenc: assert ff_dnxhd_get_cid_table() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 22:40:14 +02:00
Michael Niedermayer
1037e484f0 dnxhddata_ Fix mixup of sizeof() and array elements in ff_dnxhd_find_cid()
Fixes CID717910
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 22:36:15 +02:00
Michael Niedermayer
670b927aa2 ffv1: make sure gob_count is not 0
Fixes division by 0
Fixes CID733736

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 22:33:40 +02:00
Michael Niedermayer
f70a651b3f sws-test: raise limigts a bit.
these cases arent used but theres no point in failing on them

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 21:19:52 +02:00
Michael Niedermayer
3689ec3d28 pp: avoid overflow in w*h
Fixes CID700580
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 21:17:43 +02:00
Michael Niedermayer
c0f0bec2f2 sws-test: check W/H
Fixes CID733834
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 21:17:43 +02:00
Paul B Mahol
2c85727f6c lavc/codec_desc: add/update properties of some codecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 18:50:23 +00:00
Michael Niedermayer
225d3cc1cc ffeval: avoid folding EOF onto a valid char
Fixes CID733704
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 20:35:56 +02:00
Michael Niedermayer
80db07adfe probetest: check command line arguments
Fixes CID733835
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 20:35:56 +02:00
Michael Niedermayer
8ab0b9caba trasher: check seek return value.
Fixes CID733726
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 20:35:56 +02:00
Diego Biurrun
7638f0b2fe avutil: Do not make ff_ symbols globally visible. 2012-10-13 20:01:56 +02:00
Paul B Mahol
a5e0046a73 xbmdec: s/av_reverse/ff_reverse
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 18:00:48 +00:00
Diego Biurrun
52d113ee06 avutil: Rename ff_set_systematic_pal2() ---> avpriv_set_systematic_pal2()
Functions used across libraries should have avpriv_ and not ff_ prefixes.
2012-10-13 19:59:20 +02:00
Mans Rullgard
b5198a2637 configure: tms470: add mapping for -mfpu=vfpv3-d16 flag
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 18:21:36 +01:00
Mans Rullgard
b6f8d635f2 build: tms470: work around glibc math.h problems
The glibc definitions of INFINITY and NAN do not work with the
tms470 compiler, nor do our usual fallbacks.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 18:21:36 +01:00
Mans Rullgard
5ab432fa35 configure: improve tms470 compiler usage with glibc
Apply flags to work around glibc quirks only if glibc is detected,
and add a few more such flags.

Do not mess with as/ld settings in probe_cc.  This is not the
proper place.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 18:21:36 +01:00
Michael Niedermayer
183117fed7 libavutil: loose idiotic circular dependancies between version and avutil.h
This fixes the recently appearing PIX_FMT warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 18:47:18 +02:00
Dmitry Samonenko
083c7bf701 sdp: output speex optional vbr parameter
Optional sdp speex payload parameter is outputed only when
data is encoded. It's not printed in case of stream copy.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 18:47:18 +02:00
Michael Niedermayer
c45b829d52 tests: fix checksums for png aspect ratio change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 18:47:18 +02:00
Paul B Mahol
93931143fe lavc: return s->get_buffer() error code if it errors out
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 16:03:03 +00:00
Paul B Mahol
f58f90238f pngenc: write sample aspect ratio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 16:02:09 +00:00
Paul B Mahol
8288c2b6cb pngdec: read sample aspect ratio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 16:02:09 +00:00
Michael Niedermayer
2a56e65c3b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1: Use codec ID from AVCodecContext while parsing frame header
  avplay: support mid-stream sample rate changes

Conflicts:
	ffplay.c
	libavcodec/vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 17:09:13 +02:00
Michael Niedermayer
d0707677fa ffplay: use audio parameters from the decoded frame instead of AVCodecContext
Based on commit by Justin Ruggles (the changed code is too different to apply as is)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 16:47:50 +02:00
Michael Niedermayer
15ef1cfe64 Merge commit 'f5962229bfcb14c2879e69ccdf7f1a4934168609'
* commit 'f5962229bfcb14c2879e69ccdf7f1a4934168609':
  avplay: use audio parameters from the decoded frame instead of AVCodecContext
  dca: allocate a secondary buffer for extra channels when downmixing
  configure: use utilities from /usr/xpg4/bin if it exists
  avstring-test: fix memory leaks

Conflicts:
	ffplay.c
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 16:39:42 +02:00
Paul B Mahol
6571833d1a smjpegdec: use url_feof()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 14:15:58 +00:00
Michael Niedermayer
18884f159b Merge commit '0a7005bebd23ade7bb852bce0401af1a8fdbb723'
* commit '0a7005bebd23ade7bb852bce0401af1a8fdbb723':
  rtpdec_xiph: fix function return type
  smjpeg: fix type of 'ret' variable in smjpeg_read_packet()
  mpegvideo: remove write-only variable
  Use proper return values in case of missing features
  fate: add avstring test
  rangecoder-test: Set error message log level to error, instead of debug

Conflicts:
	libavcodec/aacdec.c
	libavcodec/amrnbdec.c
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 15:42:49 +02:00
Michael Niedermayer
c55bebe2cc Merge commit '90558e848a29ef1e85ecb1832ad9a26eebe958e0'
* commit '90558e848a29ef1e85ecb1832ad9a26eebe958e0':
  rangecoder: K&R formatting cosmetics

Conflicts:
	libavcodec/rangecoder.c
	libavcodec/rangecoder.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 15:35:05 +02:00
Michael Niedermayer
85fe70b64c Merge commit 'ca411fc1d34329cd17b28627f697e391ae52073f'
* commit 'ca411fc1d34329cd17b28627f697e391ae52073f':
  avcodec: Remove broken MMI optimizations

Conflicts:
	arch.mak
	configure
	libavcodec/avcodec.h
	libavcodec/mips/Makefile
	libavcodec/mips/dsputil_mmi.c
	libavcodec/mips/idct_mmi.c
	libavcodec/mips/mmi.h
	libavcodec/mips/mpegvideo_mmi.c
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 15:25:11 +02:00
Mans Rullgard
741a8b724e configure: recognise Minix as OS
No special setup is required for Minix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 14:05:55 +01:00
Mans Rullgard
ac17ccf73a configure: work around bug in ash shell
The ash 'test' builtin misbehaves if the first operand of a binary
operator looks like a unary operator.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 14:05:55 +01:00
Michael Niedermayer
b4ca1b159f Merge commit 'bc4620e5d61a4dd9a1f654fadd281a172aab04be'
* commit 'bc4620e5d61a4dd9a1f654fadd281a172aab04be':
  Remove libmpeg2 #define remnants
  De-doxygenize some top-level files

Conflicts:
	ffmpeg.c
	ffmpeg.h
	ffmpeg_filter.c
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 15:01:39 +02:00
Michael Niedermayer
d6c342fdc0 Merge commit 'd5c62122a7b26704bf867a1262df358623bf5edf'
* commit 'd5c62122a7b26704bf867a1262df358623bf5edf':
  Move av_reverse table to libavcodec

Conflicts:
	libavcodec/asvenc.c
	libavcodec/vble.c
	libavutil/common.h
	libavutil/mathematics.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 14:35:42 +02:00
Michael Niedermayer
d197bd4f5e Merge commit '930c9d4373e0f3cb7c64fcfc129127a309f6d066'
* commit '930c9d4373e0f3cb7c64fcfc129127a309f6d066':
  avutil: Duplicate ff_log2_tab instead of sharing it across libs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 14:24:58 +02:00
Michael Niedermayer
3b0bb321a5 Merge commit 'f6c38c5f4ed6683a6a61db2ed418a68bbe5f5507'
* commit 'f6c38c5f4ed6683a6a61db2ed418a68bbe5f5507':
  avfilter: call x86 init functions under if (ARCH_X86), not if (HAVE_MMX)
  rtspdec: Set the default port for listen mode, if none is specified
  tscc2: Fix an out of array access
  rtmpproto: Fix an out of array write
  rtspdec: Fix use of uninitialized byte
  vp8: reset loopfilter delta values at keyframes.
  avutil: add yuva422p and yuva444p formats

Conflicts:
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 14:14:11 +02:00
Sami Pietilä
3cc0252732 vp8dec: reset loopfilter delta values at keyframes
while testing a VP8 encoder I found a mismatch between FFMPEG and libvpx
VP8 decoders. The reason for this mismatch is that FFMPEG doesn't reset
loopfilter delta values at keyframes. Patch that fixes the issue is below.
I've verified that the output of ffmpeg after this patch matches libvpx.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 12:43:24 +02:00
Mans Rullgard
74c39bc682 eval-test: make table static const
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13 11:39:25 +01:00
Justin Ruggles
10e645e9cb lavr: handle clipping in the float to s32 conversion
We cannot clip to INT_MAX because that value cannot be exactly
represented by a float value and ends up overflowing during conversion
anyway. We need to use a slightly smaller float value, which ends up
with slightly inaccurate results for samples which clip or nearly clip,
but it is close enough. Using doubles as intermediates in the conversion
would be more accurate, but it takes about twice as much time.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-13 12:34:34 +02:00
Luca Barbato
1bd442c276 nut: prioritize native tags
Use native tags instead of avi ones, simplifies a lot raw video codecs
handling.
2012-10-13 12:33:18 +02:00
Luca Barbato
92281850a2 nut: support pcm codecs not mapped in avi
The native tags will be used when available.
2012-10-13 12:33:18 +02:00
Carl Eugen Hoyos
6254ffe0ca Allow autodetection of some dnxhd files that can be decoded correctly.
Fixes ticket #1807.
2012-10-13 11:59:37 +02:00
Paul B Mahol
e8b50385cf fate: update pcx reference
It changed because encoder now writes 0/1 for
sample aspect ratio instead of 0/0.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 09:07:12 +00:00
Paul B Mahol
79133fd0e5 pcxenc: store sample aspect ratio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 08:22:27 +00:00
Paul B Mahol
f2f711cde2 pcx: read sample aspect ratio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 08:22:26 +00:00
Paul B Mahol
92b3d8bc53 bethsoftvideo: return meaningfull error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 08:07:41 +00:00
Paul B Mahol
efb0e4e7af truemotion2: use more meaningful return codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-13 07:55:50 +00:00
Mashiat Sarker Shakkhar
5d2be71b9e vc1: Use codec ID from AVCodecContext while parsing frame header
This fixes a segfault with samples that I have (both of them MPEG-TS). Looks like
avctx->codec is not being set during parsing.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-10-13 08:33:07 +02:00
Justin Ruggles
6304f78edf avplay: support mid-stream sample rate changes
Resample to the rate that was configured in SDL.
2012-10-13 00:19:00 -04:00
Justin Ruggles
f5962229bf avplay: use audio parameters from the decoded frame instead of AVCodecContext 2012-10-13 00:18:48 -04:00
Justin Ruggles
61d5313d94 dca: allocate a secondary buffer for extra channels when downmixing
The output AVFrame buffer only has data for the downmix channels.
Fixes a segfault when decoding dca with request_channels == 2.
2012-10-13 00:07:10 -04:00
Michael Niedermayer
ff814c75a3 ffserver: fix return value of add_codec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 05:36:41 +02:00
Michael Niedermayer
8dc8994427 jpegls: increase run_index to 4
Fixes part of CID717913
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:54:04 +02:00
Michael Niedermayer
4acfe3d193 jpegls: fix off limit
Fixes part of CID717913
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:54:04 +02:00
Michael Niedermayer
9f9307ff2a rv30_decode_intra_types: make check tighter
This makes no differnce as the affected values cannot occur
But it will likely help static analyzers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:32:38 +02:00
Michael Niedermayer
3f01042142 ff_celp_lp_synthesis_filterf: change loop end check
This makes no difference for supported input but avoids a
out of array read with input that is never passed in currently

Fixes CID717919
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:32:38 +02:00
Michael Niedermayer
3f350a482f ff_celp_lp_synthesis_filterf: check that filter_length is within the supported range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:32:38 +02:00
Michael Niedermayer
f657d495b0 rtpdec_qdm2: change one assert to av_assert0
Failure of this assert could lead to hard to debug behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 03:32:37 +02:00
Michael Niedermayer
e47024d72f wtvdec: fix memleak on error
Fixes CID718002
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 02:37:47 +02:00
Michael Niedermayer
120b38b966 avio: redesign ffio_rewind_with_probe_data()
This prevents a double free

Fixes CID718285
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 02:08:59 +02:00
Michael Niedermayer
54b2d317ed ffv1: avoid checking a double for equality
if 0.0 != 0.0 a out of array read would occur, equal checks
with floating point may behave in such odd ways, though
this is very unlikely in a real implementation of a compiler

Fixes: CID718936
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 01:51:45 +02:00
Michael Niedermayer
d2a618ab22 af_pan: fix memleak of arg
Fixes CID718988
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 01:51:45 +02:00
Michael Niedermayer
f374e9989b vf_fade: fix memleaks of args
Fixes: CID718989
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 01:08:08 +02:00
Mans Rullgard
a77f01c725 configure: use utilities from /usr/xpg4/bin if it exists
Solaris defaults to non-standard utilities (grep, sed, ...) with
proper ones being in /usr/xpg4/bin.  Prefixing PATH with this
directory when it exists ensures we get correct variants.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 23:57:01 +01:00
Mans Rullgard
0daac647af avstring-test: fix memory leaks
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 23:51:12 +01:00
Michael Niedermayer
0f46825d98 ffserver: prevent nb_streams from becoming too large
Fixes CID732249

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 00:31:21 +02:00
Michael Niedermayer
c2340831b8 aacsbr: change order of operation to prevent out of array read
Fixes CID732250
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 00:31:21 +02:00
Georg Lippitsch
24778c32d8 Fix writing 12 bit DPX
The DPX encoder now writes 12 DPX that open correctly (tested with
ImageMagick), and also correspond to the 12 bit sample files at
http://samples.ffmpeg.org/image-samples/dpx_samples.zip

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 00:31:21 +02:00
Georg Lippitsch
05b7315412 Fix DPX decoder
Rewrite the DPX decoder to work with provided sample DPXs at
http://samples.ffmpeg.org/image-samples/dpx_samples.zip

The decoder could only decode 8 and 10 bit without alpha correctly,
failing or even crashing at other flavors. This patch aims to fix
these issues, properly decoding all variants of DPX provided in the
referenced DPX sample zip. For 10 and 12 bit, the alpha channel
is ignored, but decoding is still possible.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 00:31:21 +02:00
Mans Rullgard
0a7005bebd rtpdec_xiph: fix function return type
parse_packed_headers() returns either zero or a negative error code
so its return type must be signed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 22:21:10 +01:00
Mans Rullgard
366484fff1 smjpeg: fix type of 'ret' variable in smjpeg_read_packet()
The 'ret' variable is used for negative error codes so it should
be a signed type.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 22:21:10 +01:00
Mans Rullgard
7e76fc528d mpegvideo: remove write-only variable
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 22:21:10 +01:00
Clément Bœsch
cdfa926415 lavf/swf: transform the swf tags define in an enum. 2012-10-12 23:15:21 +02:00
Clément Bœsch
a1d2210deb lavf/swf: re-align after previous commit. 2012-10-12 23:15:12 +02:00
Clément Bœsch
91fad50f63 lavf/swf: define more tags.
Based on swf specs v10, page 271-273.
2012-10-12 23:15:08 +02:00
Clément Bœsch
cd78192d09 lavf/swfdec: return more meaningful error codes. 2012-10-12 23:15:05 +02:00
Michael Niedermayer
5e885275f1 mpeg4videodec: disable frame multithreading for GMC, its not implemented at all
This fixes race conditions in decoding MPEG-4 GMC files

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 22:53:22 +02:00
Clément Bœsch
0c40220b9d lavf/swfdec: fix flushing with compressed swf.
We now only return in the middle of the refill in case of read error, so
inflate can be re-called if zlib needs an empty (z.avail_in=0) inflate
call for flushing.
2012-10-12 21:59:06 +02:00
Diego Biurrun
90558e848a rangecoder: K&R formatting cosmetics 2012-10-12 20:56:54 +02:00
Diego Biurrun
ca411fc1d3 avcodec: Remove broken MMI optimizations
The code fails to compile and is broken beyond repair.
2012-10-12 20:56:54 +02:00
Diego Biurrun
bc4620e5d6 Remove libmpeg2 #define remnants 2012-10-12 20:56:54 +02:00
Diego Biurrun
717addecad Use proper return values in case of missing features 2012-10-12 20:56:54 +02:00
Diego Biurrun
c1ef30a6ba De-doxygenize some top-level files 2012-10-12 20:56:54 +02:00
Diego Biurrun
9e6ea3cef9 fate: add avstring test 2012-10-12 20:56:54 +02:00
Diego Biurrun
4c66af6141 rangecoder-test: Set error message log level to error, instead of debug 2012-10-12 20:56:54 +02:00
Diego Biurrun
d5c62122a7 Move av_reverse table to libavcodec
It is only used in that library.
2012-10-12 20:39:18 +02:00
Diego Biurrun
930c9d4373 avutil: Duplicate ff_log2_tab instead of sharing it across libs
The table is so small that the space gain is not worth the
performance overhead of cross-library access.
2012-10-12 20:39:17 +02:00
Michael Niedermayer
b8d64559d5 movenc: fix timescale for timecode track
regression since b02493e476

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 20:16:48 +02:00
Diego Biurrun
f6c38c5f4e avfilter: call x86 init functions under if (ARCH_X86), not if (HAVE_MMX) 2012-10-12 19:58:51 +02:00
rogerdpack
8684e39656 add dshow maintainer
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 19:52:05 +02:00
Michael Niedermayer
3a48e38ad0 motion_est: more complete SAB diamond size check
This makes no difference with the current #defines

Fixes CID732255
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 19:33:39 +02:00
Michael Niedermayer
6f557a2e12 caca: fix 10l typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 19:05:58 +02:00
Paul B Mahol
a291345b1e sws: do not use av_pix_fmt_descriptors directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 16:57:04 +00:00
Paul B Mahol
82eba22667 lavd: do not use av_pix_fmt_descriptors directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 15:58:37 +00:00
Michael Niedermayer
0d002de4a4 exr: fix twin ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:58:15 +02:00
Heesuk Jung
e3301459f6 avidec: Use sample size in case incorrect timestamps for aac in AVI (Ticket #1755)
In some case for aac in AVI, avidec extracts wrong PTS value.
(www.ffmpeg.org/trac/ffmpeg/ticket/1755)

I found additional case(ss=4096) and add condition.

Problematic file link : https://docs.google.com/open?id=0B6r7ZfWFIypCOTdZQUtGVEdJUUE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:57:35 +02:00
Paul B Mahol
77e6b085a3 imgutils: do not use av_pix_fmt_descriptors directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 15:39:50 +00:00
Michael Bradshaw
a41c824c53 Parse DEFINESOUND tags in swf (fix ticket 1638)
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:37:34 +02:00
Paul B Mahol
a51540d811 lavc: do not use av_pix_fmt_descriptors directly
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 15:31:42 +00:00
Michael Niedermayer
27ccc82e1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavu,lavd: do not use av_pix_fmt_descriptors directly.

Conflicts:
	libavutil/imgutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:21:01 +02:00
Martin Storsjö
5a2cb78219 rtspdec: Set the default port for listen mode, if none is specified
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-12 18:17:24 +03:00
Michael Niedermayer
c80b59f679 tscc2: Fix an out of array access
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-12 18:17:10 +03:00
Michael Niedermayer
2f1b2ff934 rtmpproto: Fix an out of array write
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-12 18:16:59 +03:00
Michael Niedermayer
eae35eadc0 rtspdec: Fix use of uninitialized byte
ffurl_read_complete can return 0 as well as negative error codes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-12 18:16:57 +03:00
Michael Niedermayer
13afee951a Merge commit '59ee9f78b0cc4fb84ae606fa317d8102ad32a627'
* commit '59ee9f78b0cc4fb84ae606fa317d8102ad32a627':
  lavfi: do not use av_pix_fmt_descriptors directly.

Conflicts:
	libavfilter/buffersrc.c
	libavfilter/drawutils.c
	libavfilter/filtfmts.c
	libavfilter/vf_ass.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 17:04:58 +02:00
Michael Niedermayer
af7dd79a32 Merge commit '50ba57e0ce63d9904269ea0728936a0c79f8bfb5'
* commit '50ba57e0ce63d9904269ea0728936a0c79f8bfb5':
  lavc: do not use av_pix_fmt_descriptors directly.

Conflicts:
	libavcodec/imgconvert.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/mpegvideo.c
	libavcodec/rawdec.c
	libavcodec/rawenc.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 16:48:26 +02:00
Paul B Mahol
3d179edf6d yop: check return value of avformat_new_stream()
Fixes null pointer dereference, fixes CID703729.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 14:25:00 +00:00
Sami Pietila
0bf511d579 vp8: reset loopfilter delta values at keyframes.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-10-12 07:17:38 -07:00
Michael Niedermayer
a9bd51b1e6 Merge commit '9953ff3cd844eb5f6d8dfce98cad94b78a0fc7dc'
* commit '9953ff3cd844eb5f6d8dfce98cad94b78a0fc7dc':
  mpegvideo: fix indentation
  sws: do not use av_pix_fmt_descriptors directly.

Conflicts:
	libavcodec/mpegvideo.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 15:57:28 +02:00
Michael Niedermayer
a33ed6bc74 Merge commit 'b7f1010c8fce09096057528f7cd29589ea1ae7df'
* commit 'b7f1010c8fce09096057528f7cd29589ea1ae7df':
  tools: do not use av_pix_fmt_descriptors directly.
  pixdesc: add functions for accessing pixel format descriptors.
  build: add support for Tru64 (OSF/1)
  md5: Allocate a normal private context for the opaque md5 context pointer

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffprobe.c
	libavformat/md5enc.c
	libavutil/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 15:34:49 +02:00
Luca Barbato
6d5600e855 avutil: add yuva422p and yuva444p formats 2012-10-12 15:09:51 +02:00
Michael Niedermayer
f391e405df Merge commit 'e002e3291e6dc7953f843abf56fc14f08f238b21'
* commit 'e002e3291e6dc7953f843abf56fc14f08f238b21':
  Use the new aes/md5/sha/tree allocation functions
  avutil: Add functions for allocating opaque contexts for algorithms
  svq3: fix pointer type warning
  svq3: replace unsafe pointer casting with intreadwrite macros
  parseutils-test: various cleanups

Conflicts:
	doc/APIchanges
	libavcodec/svq3.c
	libavutil/parseutils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 14:52:34 +02:00
Michael Niedermayer
d6135a886d Merge commit '15ba7f6525c0f56f0c8e3e3e0c0c5129de054f41'
* commit '15ba7f6525c0f56f0c8e3e3e0c0c5129de054f41':
  parseutils: fix const removal warning
  prepare 9_beta1 release

Conflicts:
	Changelog
	RELEASE
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 14:38:04 +02:00
Michael Niedermayer
e335658370 Merge commit '9734b8ba56d05e970c353dfd5baafa43fdb08024'
* commit '9734b8ba56d05e970c353dfd5baafa43fdb08024':
  Move avutil tables only used in libavcodec to libavcodec.

Conflicts:
	libavcodec/mathtables.c
	libavutil/intmath.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 14:26:46 +02:00
Michael Niedermayer
43cce41267 Merge commit '0a75d1da23b8659ec49391469bb592da12760077'
* commit '0a75d1da23b8659ec49391469bb592da12760077':
  options_table: refs option is not snow-only
  random_seed: Support using CryptGenRandom on windows
  doc: update the faq entry about custom I/O

Conflicts:
	doc/faq.texi
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 14:15:33 +02:00
Paul B Mahol
caa7e24eb1 truemotion2: remove unreachable code
Fixes CID610345.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 11:54:38 +00:00
Anton Khirnov
22c8cbc0da lavu,lavd: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:39 +02:00
Anton Khirnov
59ee9f78b0 lavfi: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:39 +02:00
Anton Khirnov
50ba57e0ce lavc: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:39 +02:00
Anton Khirnov
9953ff3cd8 mpegvideo: fix indentation 2012-10-12 12:45:38 +02:00
Anton Khirnov
b7f1010c8f tools: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:38 +02:00
Anton Khirnov
0a7068fa5d sws: do not use av_pix_fmt_descriptors directly. 2012-10-12 12:45:38 +02:00
Anton Khirnov
d2fcb356ca pixdesc: add functions for accessing pixel format descriptors.
Make av_pix_fmt_descriptors table static on next major bump.

Making the table public is dangerous, since the caller has no way to
know how large it actually is. It also prevents adding new fields to
AVPixFmtDescriptor without a major bump.
2012-10-12 12:45:25 +02:00
Paul B Mahol
4dcf71aacc takdec: stop decoding in case of unknown bps
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 09:18:58 +00:00
Paul B Mahol
56519d7d14 takdec: s/bits_per_coded_sample/bits_per_raw_sample
bits_per_coded_sample should be set from demuxer and
not from decoder.

Prior to this change value set from demuxer would get
overwritten in decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-12 09:07:31 +00:00
Michael Niedermayer
62722ae2d4 nellymoserenc: fix array element ordering
Fixes assertion failures in trellis encoder
Fixes valgrind warnings in trellis encoder
Fixes CID732257
Fixes CID732256
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 04:19:38 +02:00
Mans Rullgard
fdd666094d build: add support for Tru64 (OSF/1)
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-12 02:17:54 +01:00
Michael Niedermayer
927d866a99 tscc2: fix out of array access
Fixes CID732260
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 02:26:50 +02:00
Michael Niedermayer
5a75924dfd rtmpproto: fix out of array write
Fixes CID732263
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 02:06:51 +02:00
Michael Niedermayer
e576105d84 motion-test: zero dsp context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 01:44:35 +02:00
Michael Niedermayer
5e689b65ce dv: zero dsp before init, this fixes use of uninitialized dct_bits
Fixes CID732292
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 01:43:11 +02:00
Michael Niedermayer
e0909ff158 lavc: Fix use of uninitialized field.
Fixes CID732297
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 00:22:15 +02:00
Michael Niedermayer
0c6b9b9fe5 rtspdec:read_line: fix use of uninitialized byte
Fixes CID732301
Fixes CID723300
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 00:08:28 +02:00
Michael Niedermayer
1b5069aa41 sanm: fix off by 1 error in draw_glyph()
This fix changes nothing as nothing passed a so large value

Fixes CID733785
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 00:08:28 +02:00
Michael Niedermayer
59cbedfc3d update_initial_timestamps: increase pts_buffer size
Fixes CID733786
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 00:08:28 +02:00
Martin Storsjö
da18e918a4 md5: Allocate a normal private context for the opaque md5 context pointer
This avoids having to overestimate the md5 context size, which
isn't known beforehand, allowing us to use the new allocate functions
instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-11 23:35:29 +03:00
Martin Storsjö
e002e3291e Use the new aes/md5/sha/tree allocation functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-11 23:35:28 +03:00
Martin Storsjö
9a92aea27b avutil: Add functions for allocating opaque contexts for algorithms
The current API where the plain size is exposed is not of much
use - in most cases it is allocated dynamically anyway.

If allocated e.g. on the stack via an uint8_t array, there's no
guarantee that the struct's members are aligned properly (unless
the array is overallocated and the opaque pointer within it
manually aligned to some unspecified alignment).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-11 23:35:27 +03:00
Paul B Mahol
3632f35c8e bethsoftvid: check return value of av_packet_new_side_data()
Fixes null pointer dereference, fixes CID733777.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-11 19:40:27 +00:00
Mans Rullgard
fb32f31af7 svq3: fix pointer type warning
Fixes:
libavcodec/svq3.c:661:9: warning: passing argument 2 of 'svq3_decode_block' from incompatible pointer type
libavcodec/svq3.c:208:19: note: expected 'DCTELEM *' but argument is of type 'DCTELEM (*)[32]'

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-11 20:40:23 +01:00
Mans Rullgard
366b72f149 svq3: replace unsafe pointer casting with intreadwrite macros
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-11 20:40:23 +01:00
Paul B Mahol
313b40efbd bmp: unbreak non BMP_RGB compression for v4 and v5
Fixes CID733728 & CID733729.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-11 18:05:06 +00:00
Mans Rullgard
15ba7f6525 parseutils: fix const removal warning
The const qualifier is still removed although it happens inside
the strtol() function so no warning is generated.

Fixes:
libavutil/parseutils.c:110:11: warning: assignment discards qualifiers from pointer target type

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-11 18:00:27 +01:00
Mans Rullgard
68e360a83c parseutils-test: various cleanups
- make tables static const
- remove useless use of compound literal
- break long lines
- fix a comma/semicolon typo

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-11 18:00:27 +01:00
Clément Bœsch
9ad1ea13e0 lavfi/ebur128: fix typo in condition.
Fixes CID733727.
2012-10-11 18:41:07 +02:00
Janne Grunau
e578f8f468 prepare 9_beta1 release 2012-10-11 18:36:40 +02:00
Diego Biurrun
9734b8ba56 Move avutil tables only used in libavcodec to libavcodec. 2012-10-11 18:29:36 +02:00
Michael Niedermayer
26474d1098 random_seed: fix digest size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 18:28:21 +02:00
Michael Niedermayer
7fe5548531 random_seed: fix out of array read
Fixes CID733787
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 18:28:21 +02:00
Diego Biurrun
0a75d1da23 options_table: refs option is not snow-only 2012-10-11 18:27:44 +02:00
Michael Niedermayer
adcbb3fd8b yuv2rgb: fix declared array sizes, so they match actuals.
Fixes CID733789, and others
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 18:20:24 +02:00
Martin Storsjö
1093383d6c random_seed: Support using CryptGenRandom on windows
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-11 18:49:34 +03:00
Michael Niedermayer
b96d1859d5 jpeglsenc: favor av_freep() for saftey over av_free() when a variable is still accessible afterwards
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 17:45:36 +02:00
Michael Niedermayer
34bbab432c jpeglsnec: fix memleak of state in error case
Fixes CID733794
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 17:44:58 +02:00
Michael Niedermayer
104b1d9e10 libvpxenc: fix memleak on error path
Fixes CID733795
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 17:41:36 +02:00
Michael Niedermayer
c9454cb643 av_tempfile: fix leak in error case
Fixes CID733796 Part2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 17:09:57 +02:00
Michael Niedermayer
229ccce6cc libxvid_rc: fix leaks in ff_xvid_rate_control_init()
Fixes CID733796 Part1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 17:08:33 +02:00
Michael Niedermayer
4b20b21b8d tiff: fix leak on error return in doubles2str()
Fixes CID733797
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 16:51:08 +02:00
Michael Niedermayer
9ba2484ece af_aresample: fix leak on alloc failure
Fixes CID733798
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 16:48:25 +02:00
Michael Niedermayer
7457da3698 drawtext: fix leak with timecodes
Fixes CID733799
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 16:45:50 +02:00
Michael Niedermayer
bb35864759 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mlpdsp: adding missing file
  dsputil: split out mlp dsp function
  sh4: add required #include, fix build
  averror: make error values proper negative values
  build: do not use LIB as variable name
  build: whitespace cosmetics
  build: remove single-use variable THIS_LIB

Conflicts:
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 15:55:41 +02:00
Michael Niedermayer
526cb36e4b Merge commit '4436f25a1682ada3f7226cb6fadf429946933161'
* commit '4436f25a1682ada3f7226cb6fadf429946933161':
  build: remove references to unused EXTRAOBJS variable
  lavfi: convert input/ouput list compound literals to named objects
  fate: add h263 obmc vsynth tests
  avconv: remove bogus warning when using avconv -h without parameter
  averror: explicitly define AVERROR_* values
  flashsv: propagate inflateReset() errors
  indeo4/5: remove constant parameter num_bands from wavelet recomposition
  mxfdec: return error if no segments are available in mxf_get_sorted_table_segments
  Double motion vector range for HPEL interlaced picture in proper place

Conflicts:
	libavcodec/v210dec.h
	libavfilter/af_aformat.c
	libavfilter/af_amix.c
	libavfilter/af_asyncts.c
	libavfilter/af_channelmap.c
	libavfilter/af_join.c
	libavfilter/asrc_anullsrc.c
	libavfilter/buffersrc.c
	libavfilter/f_setpts.c
	libavfilter/f_settb.c
	libavfilter/fifo.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_fps.c
	libavfilter/vf_hflip.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_select.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_testsrc.c
	libavformat/mxfdec.c
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 15:46:48 +02:00
Luca Barbato
26b3fde6a7 doc: update the faq entry about custom I/O
URLProtocols are private and custom AVIOContexts are a simple and
easier solution for most of the situations.
2012-10-11 15:12:30 +02:00
Michael Niedermayer
a75dd13b1b Merge commit 'eb657ecefdeb8b2ed9bfb55d3c2c9e0f568486bf'
* commit 'eb657ecefdeb8b2ed9bfb55d3c2c9e0f568486bf':
  vc1dec: Set opposite to the correct value for 1REF field pictures

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 14:36:36 +02:00
Michael Niedermayer
ce27c9eb25 Merge commit '7cc3c4e1d4179aeabcd891090e31ee5e5bfd9692'
* commit '7cc3c4e1d4179aeabcd891090e31ee5e5bfd9692':
  vc1dec: Invoke edge emulation regardless of MV precision for 1-MV chroma

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 14:32:41 +02:00
Michael Niedermayer
b6c3487e7f Merge commit '88058d9a994f42e4e9ed4e67baf696bbfe53128c'
* commit '88058d9a994f42e4e9ed4e67baf696bbfe53128c':
  vc1dec: Set chroma reference field from REFFIELD for 1REF field pictures
  segment: support applehttp style list

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 14:28:18 +02:00
Michael Niedermayer
de31814ab0 Merge commit 'b522000e9b2ca36fe5b2751096b9a5f5ed8f87e6'
* commit 'b522000e9b2ca36fe5b2751096b9a5f5ed8f87e6':
  avio: introduce avio_closep
  mpegtsenc: set muxing type notification to verbose
  vc1dec: Use correct spelling of "opposite"
  a64multienc: change mc_frame_counter to unsigned
  arm: call arm-specific rv34dsp init functions under if (ARCH_ARM)
  svq1: Drop a bunch of useless parentheses
  parseutils-test: do not print numerical error codes
  svq1: K&R formatting cosmetics

Conflicts:
	doc/APIchanges
	libavcodec/svq1dec.c
	libavcodec/svq1enc.c
	libavformat/version.h
	libavutil/parseutils.c
	tests/ref/fate/parseutils

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 14:03:12 +02:00
Luca Barbato
1ec6293086 mlpdsp: adding missing file 2012-10-11 12:34:36 +02:00
Luca Barbato
2d6caade22 dsputil: split out mlp dsp function 2012-10-11 12:01:08 +02:00
Mans Rullgard
25dc79bc14 sh4: add required #include, fix build
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-11 10:55:26 +01:00
Stefano Sabatini
c4aaff8c02 Revert "configure: link flite against libasound"
This reverts commit 396648cc6a.

The commit made impossible to build against libflite if libasound is not
available (e.g. on Windows). Thus remove the -lasound flag. In case of
libflite static linking the workaround is to enable
--extra-ldflags=-lasound (or disable the ALSA output device in libflite).
2012-10-11 11:19:18 +02:00
Stefano Sabatini
396648cc6a configure: link flite against libasound
libflite depends on libasound. Fix a linking failure when linking against
a static version of libflite.

Reported-by: Vladimir Kraljevic
2012-10-11 11:08:48 +02:00
Paul B Mahol
8cd1c0febe pcx: convert to bytestream2 API
Protects against overreads in input buffer.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-11 08:06:45 +00:00
Michael Niedermayer
492b8ec4c5 av_opt_set_from_string: fix memleak
Fixes CID733801
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 04:42:52 +02:00
Michael Niedermayer
7df9f595c9 swri_resample_init: unsupported sample formats are an internal error.
This condition cannot happen.

Fixes CID733802
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 04:36:23 +02:00
Michael Niedermayer
e47ab0b2c9 ffmpeg_opt: dont fail for sameq/same_quant.
Instead print a warning.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 04:00:16 +02:00
Michael Niedermayer
4334ba043e ffprobe: fix use of uninitialized pointer in av_strtok()
Fixes CID733837
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 03:37:43 +02:00
Michael Niedermayer
bdcff5af7f af_volumedetect: fix use of uninitilaized variable in case of planar audio.
Fixes: CID733841
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 03:12:40 +02:00
Michael Niedermayer
989c91b504 asrc_aevalsrc: Fix use of uninitialized pointer inside av_strtok()
Fixes CID733842
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 03:00:34 +02:00
Michael Niedermayer
4e4ae2f82c sha: change loop condition to be tighter.
This makes no change to the way the code functions, but should make
it easier for static analyzers to see the valid range for i

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:42:18 +02:00
Michael Niedermayer
fac1ccbda1 swscale-test: fix freeing of uninitialized variable
Fixes: CID733844
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:21:28 +02:00
Matthieu Bouron
e782d8728f fate: add vf_idet filter to lavfi regression tests
This test only make sure that the idet filter does not crash.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:21:28 +02:00
Michael Niedermayer
4d4f431ab7 vf_idet: zero pointers after freeing references
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:21:28 +02:00
Michael Niedermayer
cac749a551 vf_idet: fix free after use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 02:21:28 +02:00
Janne Grunau
1a2c7880aa averror: make error values proper negative values
Fixes stupid mistake in 25227c3a78.
2012-10-11 01:07:57 +02:00
Mans Rullgard
4436f25a16 build: remove references to unused EXTRAOBJS variable
This was part of a ghastly hack that is long since gone.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 23:46:31 +01:00
Mans Rullgard
effe443877 build: do not use LIB as variable name
The Microsoft linker uses the LIB environment variable which
clashes with a make variable of the same name.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 23:46:31 +01:00
Mans Rullgard
1c7428e655 build: whitespace cosmetics
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 23:46:31 +01:00
Mans Rullgard
e5c6e9a6f2 build: remove single-use variable THIS_LIB
Replace the single use of THIS_LIB with its value.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 23:46:31 +01:00
Carl Eugen Hoyos
1a104bf641 Fix broken timestamps for some mp3 in avi samples.
Mostly based on 73ad355 by Michael Niedermayer.
Fixes ticket #606.
2012-10-10 23:59:43 +02:00
Mans Rullgard
568c70e79e lavfi: convert input/ouput list compound literals to named objects
A number of compilers, for example those from TI and IBM, choke on
these initialisers.  The current style is also quite ugly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 22:26:12 +01:00
Michael Niedermayer
317505b566 lavf: do not prematurely accept a format with low score in init_input()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 21:41:20 +02:00
Michael Niedermayer
b47396b614 img2dec: detect .raw files only with a low score as img2
They can be many other things and this otherwise breaks probing of some .raw files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 21:40:03 +02:00
Michael Niedermayer
94f5470a20 lavf: add a AVPROBE_SCORE_RETRY instead of using hardcoded values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 21:39:19 +02:00
Janne Grunau
b404c66056 fate: add h263 obmc vsynth tests 2012-10-10 21:24:32 +02:00
Janne Grunau
8d09d39a4b avconv: remove bogus warning when using avconv -h without parameter 2012-10-10 21:24:32 +02:00
Janne Grunau
25227c3a78 averror: explicitly define AVERROR_* values 2012-10-10 21:24:32 +02:00
Janne Grunau
c466eb1746 flashsv: propagate inflateReset() errors
Fixes CID717493.
2012-10-10 21:24:32 +02:00
Janne Grunau
6d556e8327 indeo4/5: remove constant parameter num_bands from wavelet recomposition
Fixes bogus uninitialized value compiler and coverity warnings.
2012-10-10 21:24:32 +02:00
Janne Grunau
bd141f5ec9 mxfdec: return error if no segments are available in mxf_get_sorted_table_segments
Fixes CID732275.
2012-10-10 21:24:32 +02:00
Mashiat Sarker Shakkhar
35a35d49d2 Double motion vector range for HPEL interlaced picture in proper place
The existing code is not in the right place and it should cover both
interlaced frame and field pictures.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-10 14:56:02 -04:00
Mashiat Sarker Shakkhar
eb657ecefd vc1dec: Set opposite to the correct value for 1REF field pictures
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-10 14:55:38 -04:00
Mashiat Sarker Shakkhar
7cc3c4e1d4 vc1dec: Invoke edge emulation regardless of MV precision for 1-MV chroma
This is required due to the way VC-1 handles chroma pull-back which may end
up causing negative chroma MV for zero luma MV. Edge emulation needs to be
invoked in such cases.

This only affects vertical component of chroma motion vector.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-10 14:54:19 -04:00
Mashiat Sarker Shakkhar
88058d9a99 vc1dec: Set chroma reference field from REFFIELD for 1REF field pictures
Interlaced field pictures can have one or two reference pictures, signaled
by NUMREF syntax element. For single reference pictures, reference picture
is determined by REFFIELD syntax element.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-10 14:50:07 -04:00
Luca Barbato
b522000e9b avio: introduce avio_closep 2012-10-10 18:56:55 +02:00
Luca Barbato
26db9100b2 segment: support applehttp style list 2012-10-10 18:56:55 +02:00
Luca Barbato
82569b01a1 mpegtsenc: set muxing type notification to verbose 2012-10-10 18:56:54 +02:00
Michael Niedermayer
9586db6ae5 lavc: docs: the field_order is set by the demuxer and not libavcodec for decoding
This makes the documentation match the implementation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 18:50:56 +02:00
Michael Niedermayer
92c3173c84 qt-faststart: fix printf argument type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 18:50:56 +02:00
Paul B Mahol
2c5b1a2a6a txd: remove duplicated header inclusion
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-10 16:48:13 +00:00
Paul B Mahol
ee109c6bc2 dtshd: fix seeking
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-10 15:50:32 +00:00
Michael Niedermayer
73ad355d23 avidec: fix 10l typo
found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 17:06:12 +02:00
Michael Niedermayer
229e33a2b6 avidec: override sample size of 1024 for VBR AAC
Fixes Ticket1755

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 16:48:58 +02:00
Matthieu Bouron
f94edfe484 vf_idet: remove some unnecessary statement and unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 16:48:58 +02:00
Mashiat Sarker Shakkhar
7fb35ee931 vc1dec: Use correct spelling of "opposite"
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-10 16:28:31 +02:00
Janne Grunau
706a559b30 a64multienc: change mc_frame_counter to unsigned
GCC cannot proof that c->mc_frame_counter is always >- 0, changing the
type from int to unsigned fixes following warning:

libavcodec/a64multienc.c: In function ‘a64multi_encode_frame’:
libavcodec/a64multienc.c:342:17: warning: ‘buf’ may be used uninitialized in this function[-Wuninitialized]

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-10-10 15:33:06 +02:00
Jean-Baptiste Kempf
507dce2536 arm: call arm-specific rv34dsp init functions under if (ARCH_ARM)
Assign NEON specific function pointers after runtime check via
av_get_cpu_flags().

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-10-10 15:28:50 +02:00
Diego Biurrun
63a46c6101 svq1: Drop a bunch of useless parentheses 2012-10-10 15:10:53 +02:00
Paul B Mahol
03cc52a07d takdec: fix seeking
The previous approach was just wrong.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-10 13:09:26 +00:00
Mans Rullgard
41e46a5fba parseutils-test: do not print numerical error codes
The error codes differ between systems so printing the value makes
the fate test fail on some systems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 13:33:45 +01:00
Diego Biurrun
ada12f8366 svq1: K&R formatting cosmetics 2012-10-10 14:14:22 +02:00
Michael Niedermayer
c6d39fb3c5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: sanitize linking of tools and test programs
  fate: Refactor setting of environment variables for groups of tests

Conflicts:
	tests/fate/audio.mak
	tests/fate/real.mak
	tests/fate/voice.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 14:13:51 +02:00
Michael Niedermayer
cd6f5c4895 Merge commit '6d0beefbf6ee6dbf8efb522a9307e54c6ed5f702'
* commit '6d0beefbf6ee6dbf8efb522a9307e54c6ed5f702':
  swscale: Do not make ff_ symbols globally visible.
  rtspdec: use av_strlcpy for writing into fixed size buffer
  g722enc: fix size argument in memset
  http: use av_strlcpy instead of strcpy() without size checks
  avfilter: correct memcpy size avfilter_copy_buf_props()
  lavc: split asv12 encoder/decoder

Conflicts:
	libavcodec/asvdec.c
	libavfilter/buffer.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 14:07:05 +02:00
Michael Niedermayer
b7ebb49d03 Merge commit 'fb722a900fc5cc9e003b9fef25b27ed7fc5547a2'
* commit 'fb722a900fc5cc9e003b9fef25b27ed7fc5547a2':
  avconv: remove -same_quant

Conflicts:
	Changelog
	doc/faq.texi
	ffmpeg.c
	ffmpeg.h
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 13:51:07 +02:00
Paul B Mahol
eb71f027f0 dtshd: remove redundant/wrong avio_tell()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-10 11:25:36 +00:00
Paul B Mahol
1470c8a9a3 takdec: remove redundant/wrong avio_tell()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-10 11:25:36 +00:00
Michael Niedermayer
50b5477616 Merge commit 'b94e4acb4874843e914fd3cb8e089aff0756bb4a'
* commit 'b94e4acb4874843e914fd3cb8e089aff0756bb4a':
  cmdutils_read_file: increment *size after writing the trailing \0
  af_resample: unref out_buf when avresample_convert returns 0
  af_amix: prevent memory leak on error path
  vc1dec: prevent memory leak in error path
  vc1dec: prevent memory leak on av_realloc error
  af_channelmap: free old extended_data on reallocation
  avconv: simplify memory allocation in copy_chapters
  matroskaenc: check cue point validity before reallocation
  swfenc: error out for more than 1 audio or video stream
  build: link test programs only against static libs

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 13:18:05 +02:00
Michael Niedermayer
eadba3e94d Merge commit 'cbcd497f384f0f8ef3f76f85b29b644b900d6b9f'
* commit 'cbcd497f384f0f8ef3f76f85b29b644b900d6b9f':
  adxdec: use planar sample format
  adpcmdec: use planar sample format for adpcm_thp
  adpcmdec: use planar sample format for adpcm_ea_xas
  adpcmdec: use planar sample format for adpcm_ea_r1/r2/r3
  adpcmdec: use planar sample format for adpcm_xa
  adpcmdec: use planar sample format for adpcm_ima_ws for vqa version 3
  adpcmdec: use planar sample format for adpcm_4xm
  adpcmdec: use planar sample format for adpcm_ima_wav
  adpcmdec: use planar sample format for adpcm_ima_qt
  pcmdec: use planar sample format for pcm_lxf
  mace: use planar sample format
  atrac1: use planar sample format
  build: non-x86: Only compile mpegvideo optimizations when necessary
  rtpdec_mpeg4: au_headers is a single array, simple av_free is enough
  avcodec: free extended_data instead address of it
  fate: Add tests of the ff_make_absolute_url function
  url: Handle relative urls starting with two slashes
  url: Handle relative urls being just a new query string
  url: Don't treat slashes in query parameters as directory separators

Conflicts:
	libavcodec/adxdec.c
	libavcodec/mips/Makefile
	libavcodec/pcm.c
	libavcodec/utils.c
	libavformat/Makefile
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 13:01:27 +02:00
Mans Rullgard
4b895cb294 build: sanitize linking of tools and test programs
This makes sure proper linker arguments are used for the tools and
test programs when shared libraries are enabled.  The tools are
linked using the usual -l flag while for test programs the full
name of the static library is used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 11:24:09 +01:00
Diego Biurrun
096a5d76a5 fate: Refactor setting of environment variables for groups of tests 2012-10-10 10:49:51 +02:00
Paul B Mahol
b4e516e30e pcx: use meaningful return values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-10 07:49:03 +00:00
Michael Niedermayer
25f44b041c x86/dsputil_mmx: change assert() to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 04:49:41 +02:00
Diego Biurrun
6d0beefbf6 swscale: Do not make ff_ symbols globally visible. 2012-10-10 02:08:01 +02:00
Duncan Salerno
f3f35f7430 crypto should allow passing of options to the underlying protocol via the url_open2 interface
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 22:52:25 +02:00
Clément Bœsch
6ac5e3fe9d lavfi/silencedetect: add av_opt_free() call.
This avoids a memleak with noise_str.
2012-10-09 22:37:29 +02:00
Duncan Salerno
bd2f8e8f79 Fix second use of AVOptions in HLS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 22:12:34 +02:00
Janne Grunau
d5ef9354ce rtspdec: use av_strlcpy for writing into fixed size buffer
Fixes CID231347.
2012-10-09 21:05:15 +02:00
Janne Grunau
f1de23faaa g722enc: fix size argument in memset
Fixes CID700725.
2012-10-09 21:05:15 +02:00
Janne Grunau
4a7c0c4555 http: use av_strlcpy instead of strcpy() without size checks
Fixes CID700730.
2012-10-09 21:05:14 +02:00
Janne Grunau
79e6e8eba2 avfilter: correct memcpy size avfilter_copy_buf_props()
Does not make a difference in this case since sizeof(uint8_t*) ==
sizeof(uint8_t**). Fixes CID703814.
2012-10-09 21:05:14 +02:00
Anton Khirnov
233a5a807e lavc: split asv12 encoder/decoder 2012-10-09 20:32:35 +02:00
Anton Khirnov
fb722a900f avconv: remove -same_quant
It has not worked for anything other than fringe codecs (asv1/2, mdec,
mjpeg[b]) since about 2003 and nobody ever noticed or complained. This
sufficiently proves that there are no users of this option who have a
clue of what they are doing, so it is completely useless.
2012-10-09 20:32:34 +02:00
Janne Grunau
b94e4acb48 cmdutils_read_file: increment *size after writing the trailing \0
Fixes CID732166.
2012-10-09 18:43:30 +02:00
Janne Grunau
ac9a89562a af_resample: unref out_buf when avresample_convert returns 0
Fixes CID732273.
2012-10-09 18:43:30 +02:00
Andrey Utkin
b6f435fbc8 http: add 'timeout' AVOption
This option is passed though to underlying tcp protocol context

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 17:47:14 +02:00
Andrey Utkin
2e009c6042 tcp: accept params through avio_open2() options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 17:24:55 +02:00
Andrey Utkin
949acefc11 tcp: use timeout option consistently
Default _connection_ timeout value 5 seconds is left as i/o timeout also

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 17:18:43 +02:00
Andrey Utkin
d2b18c8f5b Introduce ff_network_wait_fd_timeout()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 17:17:05 +02:00
KO Myung-Hun
3a45688abc lavc: include os2threads.h in vp8.h if HAVE_OS2THREADS is enabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 16:55:36 +02:00
Anuj Mittal
8d2e0e2c70 Check for resync marker based on vop coding type- vop_fcode_forward and vop_fcode_backward L
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 16:48:51 +02:00
Anuj Mittal
ce19aec15b Check resync marker only when enabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 16:48:43 +02:00
Janne Grunau
8501c09868 af_amix: prevent memory leak on error path
Fixes CID732272.
2012-10-09 16:15:15 +02:00
Janne Grunau
6f8ef5320f vc1dec: prevent memory leak in error path
Fixes CID732271.
2012-10-09 16:09:41 +02:00
Janne Grunau
714f5ab597 vc1dec: prevent memory leak on av_realloc error 2012-10-09 16:07:12 +02:00
Janne Grunau
1afd7a118f af_channelmap: free old extended_data on reallocation
Prevents writes to freed memory and the leak of the old extended data.
Fixes CID732303.
2012-10-09 15:41:24 +02:00
Janne Grunau
18ff4d2020 avconv: simplify memory allocation in copy_chapters
Make just a single reallocation per call instead of one reallocation
per copied chapters. This fixes possible memory leaks on realloc
failures. Also correct the allocation since it needs multiples of
sizeof(AVChapter*) and not sizeof(AVChapter).

Fixes CID700633 and CID700719.
2012-10-09 15:39:05 +02:00
Janne Grunau
4ffbe3f3a5 matroskaenc: check cue point validity before reallocation
Prevents memory leak and possible access to freed memory.
Fixes CID605744.
2012-10-09 15:39:05 +02:00
Janne Grunau
53e122dd4a swfenc: error out for more than 1 audio or video stream
Prevents CID602000.
2012-10-09 15:39:05 +02:00
Mans Rullgard
0fb3b24ada build: link test programs only against static libs
The test programs use internal symbols so cannot be linked against the
shared libs.  Linking against both shared and static is pointless and
might do something strange depending on the linker.  This changes the
dependencies so the test programs are linked only against the static
library for the component they belong to.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-09 14:16:21 +01:00
Justin Ruggles
cbcd497f38 adxdec: use planar sample format 2012-10-09 09:03:52 -04:00
Justin Ruggles
4ebd74cec7 adpcmdec: use planar sample format for adpcm_thp 2012-10-09 09:03:52 -04:00
Justin Ruggles
327cdb04e3 adpcmdec: use planar sample format for adpcm_ea_xas 2012-10-09 09:03:52 -04:00
Justin Ruggles
da9620e8e5 adpcmdec: use planar sample format for adpcm_ea_r1/r2/r3 2012-10-09 09:03:52 -04:00
Justin Ruggles
d2b6ae02aa adpcmdec: use planar sample format for adpcm_xa 2012-10-09 09:03:52 -04:00
Justin Ruggles
8b854283c3 adpcmdec: use planar sample format for adpcm_ima_ws for vqa version 3 2012-10-09 09:03:52 -04:00
Justin Ruggles
4356d66d78 adpcmdec: use planar sample format for adpcm_4xm 2012-10-09 09:03:52 -04:00
Justin Ruggles
1b9ac72908 adpcmdec: use planar sample format for adpcm_ima_wav 2012-10-09 09:03:52 -04:00
Justin Ruggles
176db0b892 adpcmdec: use planar sample format for adpcm_ima_qt 2012-10-09 09:03:52 -04:00
Justin Ruggles
7e5f045039 pcmdec: use planar sample format for pcm_lxf 2012-10-09 09:03:51 -04:00
Justin Ruggles
c1a9cfd1fe mace: use planar sample format 2012-10-09 09:03:51 -04:00
Justin Ruggles
23d53c5473 atrac1: use planar sample format 2012-10-09 09:03:51 -04:00
Diego Biurrun
ac56ff9cc9 build: non-x86: Only compile mpegvideo optimizations when necessary 2012-10-09 14:45:59 +02:00
Janne Grunau
8dd0650fe6 rtpdec_mpeg4: au_headers is a single array, simple av_free is enough
Fixes CID700204.
2012-10-09 14:24:36 +02:00
Janne Grunau
3fbda309e5 avcodec: free extended_data instead address of it
Fixes CID732173.
2012-10-09 14:04:46 +02:00
Martin Storsjö
7bc433b36d fate: Add tests of the ff_make_absolute_url function
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:34 +03:00
Duncan Salerno
33893e6abc url: Handle relative urls starting with two slashes
This is defined by RFC 3986 section 5.4.1 to be handled this way.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:33 +03:00
Duncan Salerno
eea003814c url: Handle relative urls being just a new query string
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:32 +03:00
Duncan Salerno
a6363e3d89 url: Don't treat slashes in query parameters as directory separators
Strip off query parameters from the original url before
applying the new relative path.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:31 +03:00
Michael Niedermayer
ef9fe5bedd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mingw/cygwin: Stop adding -fno-common to gcc CFLAGS
  Restructure av_log_missing_feature message
  rtp: Support packetization/depacketization of opus
  file: Set the return value type for lseek to int64_t.
  ppc: fix Altivec build with old compilers
  build: add LTO support for PGI compiler
  build: add -Mdse to PGI optimisation flags
  rtpenc_vp8: Update the packetizer to the latest spec version
  rtpdec_vp8: Make the depacketizer implement the latest spec draft
  doc: allow building with old texi2html versions
  avutil: skip old_pix_fmts.h since it is just a list

Conflicts:
	libavcodec/aacdec.c
	libavcodec/h264.c
	libavcodec/ppc/fmtconvert_altivec.c
	libavcodec/utils.c
	libavformat/file.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 13:06:04 +02:00
Diego Biurrun
a75b9a1804 mingw/cygwin: Stop adding -fno-common to gcc CFLAGS
This was done to work around toolchain bugs that have long been fixed.
2012-10-09 11:39:26 +02:00
Diego Biurrun
f75f4194d1 Restructure av_log_missing_feature message
Some invocations include a verb in the log message, others do not.  Yet
av_log_missing_feature expects callers to provide a verb.  Change the
function to include a verb instead and update the callers accordingly.
The result is a more natural function API and correct English in the
function invocations.
2012-10-09 11:39:26 +02:00
Paul B Mahol
238e904df3 DTS-HD demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-09 08:59:09 +00:00
Martin Storsjö
c136a813d7 rtp: Support packetization/depacketization of opus
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 11:57:11 +03:00
Paul B Mahol
3a2d3df0e0 fate-lossless-tak: remove unneeded -f s16le
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-09 08:48:36 +00:00
Yusuke Nakamura
e04826c34e file: Set the return value type for lseek to int64_t.
This fixes a regression in 4ed5ac5.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 11:27:12 +03:00
Carl Eugen Hoyos
61a9f099b7 Write 32bit palette to Targa files.
Current ImageMagick fails to read such files,
therefore only write the 32bit palette if the
palette actually contains any transparency
information.
2012-10-09 10:13:14 +02:00
Michael Niedermayer
1e83e6ad7a ra144: fix code with ftrapv.
A better solution is welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 06:02:34 +02:00
Michael Niedermayer
03f5043f5d eval: Fix eval test with ftrapv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 06:02:34 +02:00
Michael Niedermayer
e73bac484f configure: add support to nicely enable ftrapv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 06:02:34 +02:00
Bobby Bingham
b56f94cc36 targa: cosmetics - add some whitespace
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:49:23 -05:00
Bobby Bingham
50787fe350 targa: remove unused context members
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:47:58 -05:00
Bobby Bingham
c2eec3df89 targa: support 2-way and 4-way interleaved files
Fixes ticket #701

Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:47:57 -05:00
Bobby Bingham
3d9cdfdce7 targa: use named constants for flag values
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-08 22:47:57 -05:00
Michael Niedermayer
d07940b76d motion_est: switch asserts to av_asserts
note, the asserts where enabled by default before this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 05:06:39 +02:00
Michael Niedermayer
72c2d8a346 dsputil: convert asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 04:07:30 +02:00
Michael Niedermayer
8da7907a4a adpcmenc: switch to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 04:00:55 +02:00
Carl Eugen Hoyos
b49d94e4f2 Support decoding of targa files with 32bit palette. 2012-10-09 01:58:48 +02:00
Mans Rullgard
f79364b2c3 ppc: fix Altivec build with old compilers
The vec_splat() intrinsic requires a constant argument for the
element number, and the code relies on the compiler unrolling
the loop to provide this.  Manually unrolling the loop avoids
this reliance and works with all compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-08 23:14:51 +01:00
Tim Nicholson
a02762995b movenc.c: Force correct value for "Samples per packet" for pcm audio
Apple spec is for it to always be "1" for uncompressed audio.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-09 00:01:09 +02:00
Mans Rullgard
643933f51d build: add LTO support for PGI compiler
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-08 22:30:41 +01:00
Mans Rullgard
8f23907f3e build: add -Mdse to PGI optimisation flags
Enable dead store elimination.  The last few releases work no worse
with this flag than without.  Older versions failed to build some
source files when using this flag.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-08 22:30:41 +01:00
Martin Storsjö
c9b10cc4db rtpenc_vp8: Update the packetizer to the latest spec version
Tested to work with the gstreamer depacketizer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-08 23:55:53 +03:00
Martin Storsjö
66d652cbf3 rtpdec_vp8: Make the depacketizer implement the latest spec draft
Not all details are implemented, but it's enough for proper
playback as long as there is no packet loss.

Tested to work with the packetizer in gstreamer (which although
uses a different codec name, to clarify that it is still a spec
draft).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-08 23:55:52 +03:00
Michael Niedermayer
52dc18d414 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86)
  x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86)
  x86: call most of the x86 dsp init functions under if (ARCH_X86)
  doc: support the new website layout
  doc: remove a warning from filters.texi
  doc: initial nut documentation
  segment: drop global headers setting
  lavu: fix typo in Makefile

Conflicts:
	doc/Makefile
	doc/filters.texi
	doc/t2h.init
	libavcodec/fmtconvert.c
	libavcodec/proresdsp.c
	libavcodec/x86/Makefile
	libavcodec/x86/vc1dsp_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:46:34 +02:00
Mans Rullgard
27a310e381 doc: allow building with old texi2html versions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-08 20:08:51 +01:00
Michael Niedermayer
ac627b3d38 Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
* commit '716d413c13981da15323c7a3821860536eefdbbb':
  Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat

Conflicts:
	doc/examples/muxing.c
	ffmpeg.h
	ffmpeg_filter.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	libavcodec/8bps.c
	libavcodec/aasc.c
	libavcodec/aura.c
	libavcodec/avcodec.h
	libavcodec/avs.c
	libavcodec/bfi.c
	libavcodec/bmp.c
	libavcodec/bmpenc.c
	libavcodec/c93.c
	libavcodec/cscd.c
	libavcodec/cyuv.c
	libavcodec/dpx.c
	libavcodec/dpxenc.c
	libavcodec/eatgv.c
	libavcodec/escape124.c
	libavcodec/ffv1.c
	libavcodec/flashsv.c
	libavcodec/fraps.c
	libavcodec/h264.c
	libavcodec/huffyuv.c
	libavcodec/iff.c
	libavcodec/imgconvert.c
	libavcodec/indeo3.c
	libavcodec/kmvc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/ljpegenc.c
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c
	libavcodec/motionpixels.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pamenc.c
	libavcodec/pcxenc.c
	libavcodec/pgssubdec.c
	libavcodec/pngdec.c
	libavcodec/pngenc.c
	libavcodec/pnm.c
	libavcodec/pnmdec.c
	libavcodec/pnmenc.c
	libavcodec/ptx.c
	libavcodec/qdrw.c
	libavcodec/qpeg.c
	libavcodec/qtrleenc.c
	libavcodec/raw.c
	libavcodec/rawdec.c
	libavcodec/rl2.c
	libavcodec/sgidec.c
	libavcodec/sgienc.c
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavcodec/sunrast.c
	libavcodec/targa.c
	libavcodec/targaenc.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/tmv.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavcodec/vb.c
	libavcodec/vp3.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/xwddec.c
	libavcodec/xwdenc.c
	libavcodec/yop.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/drawutils.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_format.c
	libavfilter/vf_hflip.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/movenc.c
	libavformat/mxf.h
	libavformat/utils.c
	libavformat/yuv4mpeg.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libswscale/input.c
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	libswscale/x86/yuv2rgb.c
	libswscale/x86/yuv2rgb_template.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Anton Khirnov
89715a3cf1 lavu: fix typo in Makefile 2012-10-08 20:12:00 +02:00
Michael Niedermayer
ae77266fce Merge commit '78071a1420b425dfb787ac739048f523007b8139'
* commit '78071a1420b425dfb787ac739048f523007b8139':
  pixfmt: add AV_ prefixes to PIX_FMT_*

Conflicts:
	doc/APIchanges
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 19:42:49 +02:00
Michael Niedermayer
43c157f4a4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_resample: avoid conversion of identical sample formats for 1 channel
  avcodec: allow either planar or interleaved sample format when encoding mono
  adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
  timefilter: De-doxygenize normal code comments and drop silly ones
  gxf: Include the right header for the avpriv_frame_rate_tab declaration

Conflicts:
	libavcodec/adpcmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 13:11:11 +02:00
Janne Grunau
ea14a655f7 avutil: skip old_pix_fmts.h since it is just a list 2012-10-08 12:09:16 +02:00
Janne Grunau
7e522859fc x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) 2012-10-08 11:54:05 +02:00
Janne Grunau
cb36febcbc x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) 2012-10-08 11:54:05 +02:00
Janne Grunau
f101eab1be x86: call most of the x86 dsp init functions under if (ARCH_X86)
Rename the called dsp init functions to *_init_x86.
2012-10-08 11:54:05 +02:00
Luca Barbato
d19d01bf62 doc: support the new website layout 2012-10-08 11:22:42 +02:00
Luca Barbato
91f5f87561 doc: remove a warning from filters.texi
The tag @table expects @item to mark entries.
2012-10-08 11:22:42 +02:00
Luca Barbato
175d0d94da doc: initial nut documentation 2012-10-08 11:22:42 +02:00
Luca Barbato
0826d8513d segment: drop global headers setting
avconv provides an option to set it externally and there isn't a way for
the outer demuxer to report the inner demuxer flag.

Solves a bad interaction between mpegts and x264, but requires
additional setting for the user.
2012-10-08 11:22:42 +02:00
Paul B Mahol
d7a4739265 TAK demuxer, decoder and parser
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-08 09:06:25 +00:00
Clément Bœsch
208a5d1322 fate/ffprobe: add some stream metadata. 2012-10-08 11:03:27 +02:00
Clément Bœsch
f7c46d251c ffserver: fix seeking with ?date=...
Regression since 5f847bf61d.

After this commit, timestamps pushed by FFmpeg won't be relative
anymore, but absolute (based on the date/time at the beginning of the
push). This will allow seeking to work properly. Before this patch, the
seek was done, but ffm timestamps were way smallers than the absolute
requested timestamp (based on a date), so the seek was done, but to the
end of the stream (which was similar to no effect at all).
2012-10-08 09:03:19 +02:00
Anton Khirnov
8728b958ff lavu: fix typo in Makefile 2012-10-08 08:10:23 +02:00
Anton Khirnov
716d413c13 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat 2012-10-08 07:13:26 +02:00
Anton Khirnov
78071a1420 pixfmt: add AV_ prefixes to PIX_FMT_* 2012-10-08 07:12:16 +02:00
Pavel Koshevoy
9425dc3dba Fix build failure on osx 10.5.8 ppc
Second parameter to vec_splat must be a literal, not a variable
value.  Therefore the second nested for-loop in
float_to_int16_stride_altivec had to be unrolled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 05:40:26 +02:00
Michael Niedermayer
f464b02d22 mpegts: fuzzy crc check for not so spec compliant files
Fixes Ticket598

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 05:25:27 +02:00
Michael Niedermayer
43bbc3f477 xtea: give constants the correct type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:44:18 +02:00
Michael Niedermayer
89074e9066 wmalosslessdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:12:44 +02:00
Michael Niedermayer
b9a7719828 tscc: fix "assignment discards qualifiers from pointer target type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:11:02 +02:00
Michael Niedermayer
c5fdd0696a tiff: fix "assignment discards qualifiers from pointer target type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:09:16 +02:00
Michael Niedermayer
bd2613a322 rangecoder: fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 03:06:04 +02:00
Michael Niedermayer
106790a4e9 ffv1: fix array data types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 02:11:25 +02:00
Michael Niedermayer
fc6860a3eb 8svx: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 02:09:28 +02:00
Michael Niedermayer
adcfc0535d mxfenc: fix av_log data type for dts paramater
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 02:08:28 +02:00
Michael Niedermayer
f2a7e1a62b mux: change 1 assert->av_assert1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 23:31:27 +02:00
Michael Niedermayer
2714e841bc x86/motion_est: assert->av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 23:31:27 +02:00
Michael Niedermayer
f9b0694cc8 motion-test: fix height parameter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 23:31:27 +02:00
Justin Ruggles
7b556be673 af_resample: avoid conversion of identical sample formats for 1 channel
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Justin Ruggles
37f701f1c3 avcodec: allow either planar or interleaved sample format when encoding mono
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Justin Ruggles
5364327186 adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
Should fix fate-acodec-adpcm-ima_wav with several compilers.
2012-10-07 16:45:50 -04:00
Diego Biurrun
62ae37decd timefilter: De-doxygenize normal code comments and drop silly ones 2012-10-07 22:31:29 +02:00
Justin Ruggles
d58b25aaa2 adpcmenc: ensure calls to adpcm_ima_compress_sample() are in the right order
Should fix fate-acodec-adpcm-ima_wav with several compilers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 22:29:42 +02:00
Paul B Mahol
27a341518e avformat: fix typo in comment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-07 17:57:13 +00:00
Michael Niedermayer
979b9b1f47 h264: switch some asserts to av_assert1/2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 19:39:49 +02:00
Michael Niedermayer
1822aee7e6 dsputil_template: replace assert() by av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 19:31:15 +02:00
Martin Storsjö
e67b0f9952 gxf: Include the right header for the avpriv_frame_rate_tab declaration
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-07 14:14:37 +03:00
Michael Niedermayer
87244c8f20 matroskaenc: remove MATROSKA_ID_VIDEODISPLAYUNIT 3
Should fix ticket 1754

Thanks-to: Moritz Bunkus <moritz@bunkus.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 12:48:31 +02:00
Michael Niedermayer
79d30321a2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmaenc: use float planar sample format
  (e)ac3enc: use planar sample format
  aacenc: use planar sample format
  adpcmenc: use planar sample format for adpcm_ima_wav and adpcm_ima_qt
  adpcmenc: move 'ch' variable to higher scope
  adpcmenc: fix 3 instances of variable shadowing
  adpcm_ima_wav: simplify encoding
  libvorbis: use planar sample format
  libmp3lame: use planar sample formats
  vorbisenc: use float planar sample format
  ffm: do not write or read the audio sample format
  parseutils: fix parsing of invalid alpha values
  doc/RELEASE_NOTES: update for the 9 release.
  smoothstreamingenc: Add a more verbose error message
  smoothstreamingenc: Ignore the return value from mkdir
  smoothstreamingenc: Try writing a manifest when opening the muxer
  smoothstreamingenc: Move the output_chunk_list and write_manifest functions up
  smoothstreamingenc: Properly return errors from ism_flush to the caller
  smoothstreamingenc: Check the output UrlContext before accessing it

Conflicts:
	doc/RELEASE_NOTES
	libavcodec/aacenc.c
	libavcodec/ac3enc_template.c
	libavcodec/wmaenc.c
	tests/ref/lavf/ffm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 11:28:38 +02:00
Michael Niedermayer
537ef8bebf movenc: support an alternative to edit lists to handle the first DTS != 0 case.
Some software does not support edit lists at all, the adobe flash
player seems to be one of these. Which results in AV sync errors when
edit lists are used to adjust AV sync.

2nd try on implementing this, the first try had various issues

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 06:04:40 +02:00
Michael Niedermayer
d067e25437 mov: fix integer avoption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
c6c560deed mpeg4videodec: fix integer avoption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
57e1553e9f libvpcenc: fix flags voption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
3c9502b0f6 h264: fix integer avoption types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
jamal
ffc1d959a0 tests/Makefile: fix ffprobe-test.nut with target-exec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 03:20:36 +02:00
Michael Niedermayer
19a4e10360 gmc_mmx: enable also for large pictures when emu edge isnt needed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 23:12:57 +02:00
Michael Niedermayer
e063ffbf4b dsputil_mmx: put optimized gmc code back and avoid a VLA without loosing features.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 23:04:31 +02:00
Michael Niedermayer
094a82c7de get_bits: get_bits_long() support n=0 as the docs allow it
also the 0 case is indeed used in some code pathes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 23:04:10 +02:00
Michael Niedermayer
ac6659aff7 movenc: fix regression with yuyv caused by c5f23d
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 20:23:17 +02:00
Justin Ruggles
31b2262dca wmaenc: use float planar sample format 2012-10-06 13:23:13 -04:00
Justin Ruggles
b1540fc884 (e)ac3enc: use planar sample format 2012-10-06 13:23:13 -04:00
Justin Ruggles
f3e2d68df6 aacenc: use planar sample format 2012-10-06 13:23:13 -04:00
Bobby Bingham
51211d351c vf_tile: fix typos/grammar in comments
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-10-06 11:34:10 -05:00
Justin Ruggles
095be4fbf6 adpcmenc: use planar sample format for adpcm_ima_wav and adpcm_ima_qt 2012-10-06 12:25:33 -04:00
Justin Ruggles
d9a13c2f56 adpcmenc: move 'ch' variable to higher scope
It is used for multiple codecs.
2012-10-06 12:25:33 -04:00
Justin Ruggles
9606f19b4e adpcmenc: fix 3 instances of variable shadowing 2012-10-06 12:25:33 -04:00
Justin Ruggles
1e35574bad adpcm_ima_wav: simplify encoding 2012-10-06 12:25:33 -04:00
Justin Ruggles
cfc0a80a1d libvorbis: use planar sample format 2012-10-06 12:25:32 -04:00
Justin Ruggles
473b297f26 libmp3lame: use planar sample formats 2012-10-06 12:25:32 -04:00
Justin Ruggles
233783e2c1 vorbisenc: use float planar sample format 2012-10-06 12:25:32 -04:00
Justin Ruggles
11dcddb97b ffm: do not write or read the audio sample format 2012-10-06 12:21:54 -04:00
Mans Rullgard
6221e2478c parseutils: fix parsing of invalid alpha values
An alpha specifier outside the valid range results in a conversion from
double to long with undefined result.  Range-checking the double and
only converting it after it passes avoids this.

Fixes fate-parseutils errors on some systems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-06 17:08:29 +01:00
Michael Niedermayer
293e5423c6 configure: enable -Werror=vla
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 14:03:32 +02:00
Michael Niedermayer
24702a91e4 pca: get rid of VLA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 14:03:15 +02:00
Michael Niedermayer
56d7f7d955 snowenc: get rid of VLA (well it wasnt really variable anyway)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 13:59:35 +02:00
Anton Khirnov
37ac11d92e doc/RELEASE_NOTES: update for the 9 release.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-06 13:55:18 +02:00
Michael Niedermayer
13a215236b swr-test: avoid VLA
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 13:48:47 +02:00
Michael Niedermayer
55c49afc42 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  yuv4mpeg: return proper error codes.
  Give all anonymously typedeffed structs in headers a name
  fate: Add parseutils test
  parseutils-test: Drop random colors from parsing test
  vf_pad/scale: use double precision for aspect ratios.
  build: error on variable-length arrays
  ppc: swscale: rework yuv2planeX_altivec()
  ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
  x86: dsputil: kill VLA in gmc_mmx()
  libspeexenc: Updated commentary to reflect recent changes
  libspeexenc: Add an option for enabling DTX
  doc/APIchanges: fill in missing dates and hashes.
  lavr: bump major to 1 and declare it stable.
  lavr: change the type of the data buffers to uint8_t**.
  lavc: deprecate the audio resampling API.

Conflicts:
	cmdutils.h
	configure
	doc/APIchanges
	ffplay.c
	libavcodec/dwt.h
	libavcodec/libspeexenc.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavformat/asf.h
	tests/fate/libavutil.mak
	tests/ref/fate/parseutils

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 13:45:08 +02:00
Stefano Sabatini
886c3662d3 doc/filters: fix typo 2012-10-06 12:53:11 +02:00
Michael Niedermayer
9d19d7c335 segment: reverse pass avoid_negative_ts from the muxer
This fixes failures with formats not supporting negative TS

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 12:07:26 +02:00
Martin Storsjö
cde26748ae smoothstreamingenc: Add a more verbose error message
This helps tracking down the cause if this happens to be an issue.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-06 13:05:35 +03:00
Martin Storsjö
fadd3a6821 smoothstreamingenc: Ignore the return value from mkdir
We don't need to return an error if the directory already existed.
We make sure that the directory actually is properly writeable later
within ism_write_header by writing a manifest anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-06 13:05:34 +03:00
Martin Storsjö
8e2763786d smoothstreamingenc: Try writing a manifest when opening the muxer
This allows failing cleaner and earlier if unable to write to
the output directory.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-06 13:05:33 +03:00
Martin Storsjö
3ea06ac59e smoothstreamingenc: Move the output_chunk_list and write_manifest functions up
This allows calling write_manifest from ism_write_header without
a forward declaration.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-06 13:05:32 +03:00
Martin Storsjö
5fa43f76aa smoothstreamingenc: Properly return errors from ism_flush to the caller
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-06 13:05:31 +03:00
Martin Storsjö
eb2f391018 smoothstreamingenc: Check the output UrlContext before accessing it
This code can be called with a NULL UrlContext if writing of the
trailer involves seeking.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-06 13:05:30 +03:00
Michael Niedermayer
2c34367b4a libvorbisenc: fix afq delay setting
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 11:51:18 +02:00
Anton Khirnov
d3a72becc6 yuv4mpeg: return proper error codes.
Fixes Bug 373.

CC:libav-stable@libav.org
2012-10-06 10:42:39 +02:00
Diego Biurrun
e4cbf7529b Give all anonymously typedeffed structs in headers a name
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Diego Biurrun
76f644d9f7 fate: Add parseutils test 2012-10-06 09:24:54 +02:00
Diego Biurrun
c010fce6c9 parseutils-test: Drop random colors from parsing test
This guarantees stable output for comparing test results.
2012-10-06 09:21:54 +02:00
Anton Khirnov
ba04177eeb vf_pad/scale: use double precision for aspect ratios.
Fixes Bug 203.

CC:libav-stable@libav.org
2012-10-06 07:27:53 +02:00
Carl Eugen Hoyos
7548c80acc Pinnacle TARGA CineWave YUV16 decoder (fourcc Y216).
Fixes ticket #1354
2012-10-06 06:20:52 +02:00
Michael Niedermayer
5de75336a1 mpegvideo_armv5te: change asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 04:45:57 +02:00
Michael Niedermayer
ed015f67a2 ffv1enc: fix assert in put_vlc_symbol() and update to av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 03:29:37 +02:00
Michael Niedermayer
856834a77f ffv1: change w/h asserts to check as the condition can likely happen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 03:16:24 +02:00
Michael Niedermayer
5709e20199 ffv1: remove commented asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-06 03:16:24 +02:00
Stefano Sabatini
1578d01d8f Changelog: add empty line after version lines
Fix spacing inconsistency.
2012-10-06 00:05:40 +02:00
Stefano Sabatini
531872d763 ffprobe: reindent after previous commit 2012-10-05 23:58:23 +02:00
Stefano Sabatini
3d189d41c1 ffprobe: add -select_streams option 2012-10-05 23:58:18 +02:00
Mans Rullgard
c07d56a684 build: error on variable-length arrays
With all the VLAs gone, make sure they never come back.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Mans Rullgard
07eb7e20af ppc: swscale: rework yuv2planeX_altivec()
This gets rid of the variable-length scratch buffer by filtering 16
pixels at a time and writing directly to the destination.  The extra
loads this requires to load the source values are compensated by not
doing a round-trip to memory before shifting.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Mans Rullgard
642b4efaf7 ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Mans Rullgard
bcf07a15a0 x86: dsputil: kill VLA in gmc_mmx()
Instead of using an evil VLA, fall back to C version when edge
emulation is needed.  MPEG4 GMC is a rarely used fringe feature
so the speed loss is an acceptable cost for safer code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-05 22:33:32 +01:00
Dmitry Samonenko
f1c6a740fc libspeexenc: Updated commentary to reflect recent changes
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-05 23:29:24 +03:00
Dmitry Samonenko
978d5bd2a7 libspeexenc: Add an option for enabling DTX
Discontinuous transmission is an addition to VAD/VBR operation, that
allows to greatly reduce bitrate for silent chunks or stationary
noises.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-05 23:29:24 +03:00
Carl Eugen Hoyos
d9dfe9a5ae Fix libcdio detection. 2012-10-05 21:45:02 +02:00
Carl Eugen Hoyos
eb63a74789 Do not print debug output for the (MPlayer) pullup filter. 2012-10-05 21:03:59 +02:00
Carl Eugen Hoyos
4c5a9fd65a Fix showspectrum dependencies: Add rdft. 2012-10-05 20:13:02 +02:00
Paul B Mahol
0a7d4ea31b configure: dts demuxer needs dca_parser
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-05 17:22:20 +00:00
Giorgio Vazzana
db4bb4c983 oggparsetheora: fix comment header parsing
Pass the correct header size to ff_vorbis_comment()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 18:07:13 +02:00
Michael Niedermayer
0ed023275f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: don't touch H264Context->ref_count[] during MB decoding
  x86: get_cpu_flags: add necessary ifdefs around function body
  x86: Drop CPU detection intrinsics
  x86: Add YASM implementations of cpuid and xgetbv from x264

Conflicts:
	configure
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 17:04:15 +02:00
Michael Niedermayer
2a77d4f70b Merge commit '65d12900432ac880d764edbbd36818431484a76e'
* commit '65d12900432ac880d764edbbd36818431484a76e':
  configure: add --enable-lto option
  x86: cpu: Break out test for cpuid capabilities into separate function
  x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection
  build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO
  segment: Add comments about calls that only are relevant for some muxers
  segment: Add an option for omitting the first header and final trailer

Conflicts:
	configure
	libavcodec/Makefile
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 16:52:13 +02:00
Michael Niedermayer
f74f8bc864 Merge commit 'a854362b40f0e458db5a1fb0d2612a5702ee0ace'
* commit 'a854362b40f0e458db5a1fb0d2612a5702ee0ace':
  segment: Flush buffered data before finishing a segment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 16:41:50 +02:00
Michael Niedermayer
b26cbf75bc Merge commit 'f7b240434c015056bc6319ddbdb8483757cc13e2'
* commit 'f7b240434c015056bc6319ddbdb8483757cc13e2':
  segment: Set the resend_headers flag for each segment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 16:30:34 +02:00
Michael Niedermayer
50c555e396 Merge commit '378a6315b7c48195ffd94e6aa9aa6d663d42b35e'
* commit '378a6315b7c48195ffd94e6aa9aa6d663d42b35e':
  segment: Add an option for disabling writing of a header/trailer to each segment

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 16:21:16 +02:00
Michael Niedermayer
008d36ba1d Merge commit 'eb447d515956b3ce182d9750083131735f00324c'
* commit 'eb447d515956b3ce182d9750083131735f00324c':
  segment: Free and reinit the muxer before calling avformat_write_header

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 15:48:23 +02:00
Michael Niedermayer
1bd22229d7 Merge commit '73871dc96ff78053b9dcd0eb259b7f5a5308ec87'
* commit '73871dc96ff78053b9dcd0eb259b7f5a5308ec87':
  segment: Use the public av_write_header/av_write_trailer functions

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 15:12:54 +02:00
Michael Niedermayer
d19728da6f Merge commit '0edae4e6286096023cdd6adea74722fa06029867'
* commit '0edae4e6286096023cdd6adea74722fa06029867':
  segment: Properly create new AVStreams for the chained muxer
  segment: Add a missing space

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 15:03:02 +02:00
Anton Khirnov
2f49e3da33 doc/APIchanges: fill in missing dates and hashes. 2012-10-05 14:01:39 +02:00
Anton Khirnov
006afc7a0b lavr: bump major to 1 and declare it stable. 2012-10-05 13:50:13 +02:00
Anton Khirnov
e7ba5b1de0 lavr: change the type of the data buffers to uint8_t**.
This is more consistent with what the rest of Libav does.

This breaks API.
2012-10-05 13:49:44 +02:00
Anton Khirnov
30223b3bf2 lavc: deprecate the audio resampling API.
It has been superseded by lavr.
2012-10-05 13:47:56 +02:00
Ronald S. Bultje
2e59210edf lavc/h264: don't touch H264Context->ref_count[] during MB decoding.
The variable is copied to subsequent threads at the same time, so this
may cause wrong ref_count[] values to be copied to subsequent threads.

This bug was found using TSAN and Helgrind.

Original patch by Ronald, adapted with a local_ref_count by Clément,
following the suggestion of Michael Niedermayer.

Signed-off-by: Clément Bœsch <clement.boesch@smartjog.com>
2012-10-05 07:35:58 +02:00
Duncan Salerno
5cdd3b995c hls: Disable http seekability probing
Some HLS servers return 403 when the Range header is present. Disabling http
seekability probing prevents the header from being added.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 05:15:55 +02:00
Duncan Salerno
8a33210d1b http: prevent the Range header being sent when seekability probing isnt used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 05:13:28 +02:00
Duncan Salerno
dd1e6b2a13 http: add option to prevent probing for HTTP seekability
Add an tri-state (seek, non seek, automatic detection) option to HTTP to control seekability (default: automatic).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 05:11:58 +02:00
Michael Niedermayer
cf5a98b9e3 mpeg2videodec: fix list of supported frame rates to include sane ext rates.
This only adds a subset of the frame rates that can be stored, a full list
would be more than 500 entries. Such full list could (and should) be added
if it has a usecase but the number of users of even the now added rates
seem rather small.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 02:51:19 +02:00
Ronald S. Bultje
f6f7d15041 h264: don't touch H264Context->ref_count[] during MB decoding
The variable is copied to subsequent threads at the same time, so this
may cause wrong ref_count[] values to be copied to subsequent threads.

This bug was found using TSAN.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-05 02:49:45 +02:00
Dmitry Samonenko
66a4ac5182 libspeexenc: Updated commentary to reflect recent changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 00:17:38 +02:00
Dmitry Samonenko
038325ac05 libspeexenc: Add an option for enabling DTX
Discontinuous transmission is an addition to VAD/VBR operation, that
allows to greatly reduce bitrate for silent chunks or stationary
noises.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 00:18:01 +02:00
Michael Niedermayer
d56834201b aacenc: fix out of array writes
The value used in allocation is based on a estimate of the
maximum size of the spectral coefficients multiplied with 2
and rounded up. The exact or a tighter limit should be
found and used instead. But this issue shouldnt be left
open until someone works on that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-05 00:18:01 +02:00
Tim Nicholson
60b433d905 movenc.c: Add support for >16bit BE flavours
Currently only LE handled correctly
Updated fate checksums to reflect new headers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 21:31:10 +02:00
Diego Biurrun
a7329e5fc2 x86: get_cpu_flags: add necessary ifdefs around function body
ff_get_cpu_flags_x86() requires cpuid(), which is conditionally defined
elsewhere in the file.  Surrounding the function body with ifdefs allows
building even when cpuid is not defined.  An empty cpuflags mask is
returned in this case.
2012-10-04 19:29:14 +02:00
Diego Biurrun
f6fbce761e x86: Drop CPU detection intrinsics
Now that there is CPU detection in YASM, there will always be one of
inline or external assembly enabled, which obviates the need to fall
back on CPU detection through compiler intrinsics.
2012-10-04 19:29:14 +02:00
Diego Biurrun
1f6d86991f x86: Add YASM implementations of cpuid and xgetbv from x264
This allows detecting CPU features with builds that have neither
gcc inline assembly nor the right compiler intrinsics enabled.
2012-10-04 19:29:14 +02:00
Mans Rullgard
65d1290043 configure: add --enable-lto option
This works with gcc.  Other compilers might need to have a flag
mapping added.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-04 18:21:49 +01:00
Diego Biurrun
54b243141e x86: cpu: Break out test for cpuid capabilities into separate function 2012-10-04 18:09:21 +02:00
Diego Biurrun
cc5e9e5ff0 x86: ff_get_cpu_flags_x86(): Avoid a pointless variable indirection 2012-10-04 17:58:42 +02:00
Diego Biurrun
1e164c0bcc build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIO
A new hidden config variable is added for the codecs that depend on the
mpegaudio parts.
2012-10-04 17:58:42 +02:00
Michael Niedermayer
2e8dcde1fe ffplay: autodetect realtime streams and enable infbuf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 17:35:20 +02:00
Michael Niedermayer
cb3fd029b7 ffplay: add a 3rd state to infbuf for autodetection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 17:34:47 +02:00
Martin Storsjö
91c1567beb segment: Add comments about calls that only are relevant for some muxers
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 18:22:47 +03:00
Michael Niedermayer
e214306775 mpeg2enc: support and use frame_rate_ext when needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 15:25:30 +02:00
Michael Niedermayer
489d8a79a6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_overlay: properly sync inputs.

Conflicts:
	libavfilter/vf_overlay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 13:20:50 +02:00
Michael Niedermayer
0f1446a4d0 Merge commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b'
* commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b':
  vf_overlay: get rid of pointless messing with timebase.
  samplefmt: make av_samples_alloc() initialize the data to silence.
  libspeexdec: handle NULL return value from speex_packet_to_header()
  h264probe: Don't error out on bits that no longer are reserved
  mpegvideo: set extended_data in ff_update_duplicate_context()
  libspeexdec: properly handle DTX for multiple frames-per-packet
  libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used
  libspeexdec: simplify setting of frame_size
  libspeexdec: set channel_layout

Conflicts:
	libavfilter/vf_overlay.c
	libavformat/h264dec.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 13:11:45 +02:00
Martin Storsjö
a854362b40 segment: Flush buffered data before finishing a segment
This makes sure any buffered data is written to the segment, for
muxers that buffer up data internally (e.g. fragmented mp4).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
f7b240434c segment: Set the resend_headers flag for each segment
This makes sure new inline headers are emitted when the next
packet is written. This allows segmenting mpegts without calling
write_header/write_trailer (nor freeing/reiniting the muxer)
for each segment.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
378a6315b7 segment: Add an option for disabling writing of a header/trailer to each segment
Some segmented formats (such as fragmented mp4) are "bare", as in,
the segment files do not have the same headers/trailers as full normal
files of that format have.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
eb447d5159 segment: Free and reinit the muxer before calling avformat_write_header
This makes sure the muxers are set up in the way they expect
with no data left around from the previous run (which could
cause various issues including memory leaks, depending on the chaine
muxer).

This fixes memory leaks with the mpegts and flv muxers. It also
makes the usage of chained muxers correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
73871dc96f segment: Use the public av_write_header/av_write_trailer functions
With this change, the segmenter muxer doesn't rely on anything
not available/supported to libavformat external users, making
the segmenter muxer do things just like a normal segmenter
application using libavformat would do.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
0edae4e628 segment: Properly create new AVStreams for the chained muxer
Before, the chained muxer reused the AVStreams array from
the outer muxer, which made it impossible to use the proper
public functions (such as av_write_frame) when calling the
chained muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
c864c3968a segment: Add an option for omitting the first header and final trailer
This allows writing totally bare segments, without any header/trailer
included anywhere.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
aa9f128b7c segment: Add a missing space
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:08 +03:00
Michael Niedermayer
741f5b021a Merge commit '29abb04e73b0580ebe38703cadb988d26df6a76a'
* commit '29abb04e73b0580ebe38703cadb988d26df6a76a':
  libspeexdec: If the channel count is not valid, decode as stereo.
  libspeexdec: improve setting of Speex mode and sample rate
  libspeex: Add a private option for enabling VAD
  xtea: Test inplace decryption
  xtea: Fix CBC decryption when src==dst
  xtea: Factorize testing into a separate function
  configure: Refactor HAVE_ options available on the command line
  avconv/avprobe: Add missing 'void' to exit_program() definition
  Allow use of strncpy()
  blowfish: Add more tests
  blowfish: Fix CBC decryption with dst==src
  blowfish: Factorize testing into a separate function

Conflicts:
	configure
	libavcodec/libspeexdec.c
	libavutil/xtea.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 12:30:25 +02:00
Anton Khirnov
4673a5a761 vf_overlay: properly sync inputs.
Right now it incorrectly assumes that the frames are sent in the proper
order, which worked with old ffmpeg and avconv versions by accident.
2012-10-04 10:23:25 +02:00
Anton Khirnov
ab35ec29a4 vf_overlay: get rid of pointless messing with timebase.
Output frames correspond 1:1 to input frames on the main input.
So use the main input timebase for output.
2012-10-04 10:21:58 +02:00
Anton Khirnov
cd15b7c03d samplefmt: make av_samples_alloc() initialize the data to silence.
Right now the buffer is zeroed, which does not represent silence for U8(P).
2012-10-04 08:05:21 +02:00
Michael Niedermayer
047dcfabc7 afq: sanity assert on remaining_samples
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 03:01:36 +02:00
Michael Niedermayer
b27e2b6e12 afq: update remaining samples variable.
Fixes Ticket1785 (opusenc used this variable)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 02:41:41 +02:00
Michael Niedermayer
b02493e476 movenc: force video timebase to be 0.1ms precisse at least.
The timebases before where only guranteed to be 1/fps precisse
and could cause AV sync errors on low fps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 01:33:49 +02:00
Justin Ruggles
c9df48909e libspeexdec: handle NULL return value from speex_packet_to_header()
This will happen when the extradata is not a valid Speex header.
2012-10-03 18:26:25 -04:00
Michael Niedermayer
769ed3057e h264probe: Don't error out on bits that no longer are reserved
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 00:59:34 +03:00
Janne Grunau
1481e19825 mpegvideo: set extended_data in ff_update_duplicate_context()
AVFrame.extended_data has to reset to the AVFrame.data of the current
thread context after copying the frame contents.
Fixes crashes with frame-threading after 2bc0de3858.
2012-10-03 22:08:49 +02:00
Justin Ruggles
29abb04e73 libspeexdec: If the channel count is not valid, decode as stereo.
When initialized as stereo, libspeex can decode either mono or stereo packets
and will output stereo.
2012-10-03 16:03:32 -04:00
Justin Ruggles
45e5d0c3ac libspeexdec: properly handle DTX for multiple frames-per-packet 2012-10-03 16:03:32 -04:00
Justin Ruggles
908e22b93a libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used 2012-10-03 16:03:32 -04:00
Justin Ruggles
892695c851 libspeexdec: simplify setting of frame_size 2012-10-03 16:03:32 -04:00
Justin Ruggles
27c3f9c03e libspeexdec: set channel_layout 2012-10-03 16:03:32 -04:00
Justin Ruggles
3b061c5e10 libspeexdec: improve setting of Speex mode and sample rate
If there is no extradata and the sample rate given by the user is not valid,
decode as ultra-wideband.
2012-10-03 16:03:31 -04:00
Michael Niedermayer
5e6439a125 ff_choose_timebase: only try factors upto 14
otherwise a unexpected timebase could be choosen
that is one that is thousand times more precisse than requested
which can have sideeffects.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 21:38:56 +02:00
Michael Niedermayer
de707bc8bd mux/nut: factorize ff_choose_timebase() out of nut
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 21:34:43 +02:00
Dmitry Samonenko
ad11681acd libspeex: Add a private option for enabling VAD
Speex detects non-speech periods and encodes them with just enough bits
to reproduce the background noise, aka ``comfort noise generation''.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:23:39 +03:00
Michael Niedermayer
05e5a24f79 tiffenc: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 18:20:28 +02:00
Michael Niedermayer
f0fce9f33e xtea: Test inplace decryption
Based on test code by: Giorgio Vazzana <mywing81@gmail.com>

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:53 +03:00
Michael Niedermayer
b434500431 xtea: Fix CBC decryption when src==dst
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:49 +03:00
Martin Storsjö
ca074cc313 xtea: Factorize testing into a separate function
Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 19:19:37 +03:00
Diego Biurrun
fd712a5584 configure: Refactor HAVE_ options available on the command line 2012-10-03 18:08:25 +02:00
Diego Biurrun
8be5b0d6d5 avconv/avprobe: Add missing 'void' to exit_program() definition 2012-10-03 18:07:49 +02:00
Michael Niedermayer
dc82b2c0f1 framecrcenc: print flags and side data elements
The new fields are only printed when they differ from their defaults
this way only few fate refs change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 16:51:30 +02:00
Michael Niedermayer
6a697b42d0 parser: fix large overreads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 16:14:59 +02:00
Clément Bœsch
1e2e2c8095 lavc/h264: move ff_init_cabac_states() from decode_slice() to ff_h264_decode_init().
This fixes one of the potential races spotted by Helgrind.
2012-10-03 15:38:22 +02:00
Mans Rullgard
05e209c04c Allow use of strncpy()
There are cases where strncpy() does exactly what is required.
A blanket ban forces more convoluted solutions to be used in those
cases and has been a cause of bugs.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-03 14:36:51 +01:00
Martin Storsjö
75366a504d blowfish: Add more tests
Test inplace ECB, normal CBC and inplace CBC encryption/decryption.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:54 +03:00
Martin Storsjö
87f023f2c0 blowfish: Fix CBC decryption with dst==src
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:23 +03:00
Martin Storsjö
0cc9a64b92 blowfish: Factorize testing into a separate function
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-03 16:05:05 +03:00
Michael Niedermayer
7e5496fc41 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: use numeric ID for Tag_ABI_align_preserved
  segment: Pass the interrupt callback on to the chained AVFormatContext, too
  ARM: bswap: drop armcc version of av_bswap16()
  ARM: set Tag_ABI_align_preserved in all asm files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 13:35:02 +02:00
Mans Rullgard
51a15ed740 ARM: use numeric ID for Tag_ABI_align_preserved
Some old assemblers still in use do not support named tags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-03 11:49:55 +01:00
Michael Niedermayer
695f086939 ffv1dec: print bps for pict debug too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 05:43:32 +02:00
Justin Ruggles
df824548d0 8svx: Fixing header size, move decoding to per call instead of the first call.
The fate checksum change is due to the header size having been wrong.

Credit&Authorship for the code belongs to Justin Ruggles
Blame for bugs in this merging of the code belong to the Commiter
Commit message by Commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 03:49:24 +02:00
Michael Niedermayer
26d1c7d9c3 8svx: avoid custom clip, avoid +128 for compressed data.
Based on:
	commit e371878416
	Author: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 02:50:10 +02:00
Michael Niedermayer
6eed92a2b7 8svx: fix delta_decode cliping limits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 01:52:29 +02:00
Nicolas George
72f10d5473 8svx: copy start value in output samples.
Otherwise, the last byte of each stream is left uninitialized.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 01:45:27 +02:00
Martin Ettl
f077e1fb4c ffserver: fix potential buffer overflow, based on wrong fscanf format indentifier.
Fixed Ticket1780

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 22:59:03 +02:00
Michael Niedermayer
d4e82a341e 8svx: remove malloc and memcpy that have become unneeded
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 22:44:09 +02:00
Martin Storsjö
4edb34f6cc segment: Pass the interrupt callback on to the chained AVFormatContext, too
This might not be needed at the moment, but it's good practice to
pass it to all chained AVFormatContexts, if it would happen to be
used there at a later point.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-02 22:14:07 +02:00
Michael Niedermayer
8f0168a3b9 fix exit_program() prototypes
This fixes 2 warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 21:55:31 +02:00
Mans Rullgard
1ca3b62b10 ARM: bswap: drop armcc version of av_bswap16()
This function causes several versions of armcc to miscompile code,
and the performance impact is small.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 19:47:56 +01:00
Mans Rullgard
5e826fd65e ARM: set Tag_ABI_align_preserved in all asm files
All our ARM asm preserves alignment so setting this attribute
in a common location is simpler.  This removes numerous warnings
when linking with armcc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 19:47:56 +01:00
Michael Niedermayer
032ba74ed2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: fix Thumb PIC on Apple
  nut: add do {} while (0) to GET_V
  tiffenc: Check av_malloc() results.
  tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
  Use atexit() instead of defining a custom exit_program() interface.
  msvc: Fix detection of VFW & Avisynth required libs

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	ffserver.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 19:48:54 +02:00
Michael Niedermayer
dd78e1090b Merge commit '1e46c63eb72be752e044ba32257d77f35cbd9dac'
* commit '1e46c63eb72be752e044ba32257d77f35cbd9dac':
  avformat: refactor avformat_write_header

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:48:56 +02:00
Michael Niedermayer
6cbbf4a274 Merge commit '86bbdf865e04bc5ddc2021b0620e6de634375253'
* commit '86bbdf865e04bc5ddc2021b0620e6de634375253':
  avformat: refactor avformat_write_header

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:36:09 +02:00
Michael Niedermayer
513042c926 Merge commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd'
* commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd':
  avformat: split muxing functions from util.c

Conflicts:
	libavformat/internal.h
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:20:24 +02:00
Michael Niedermayer
f5b31daa5e libopusenc: use more specific and correct name for the channel order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 17:34:10 +02:00
Michael Niedermayer
e88ca80dc3 Merge commit 'bfcd4b6a1691d20aebc6d2308424c2a88334a9f0'
* commit 'bfcd4b6a1691d20aebc6d2308424c2a88334a9f0':
  adpcmdec: set AVCodec.sample_fmts
  twinvq: use planar sample format
  ralf: use planar sample format
  mpc7/8: use planar sample format
  iac/imc: use planar sample format
  dcadec: use float planar sample format
  cook: use planar sample format
  atrac3: use float planar sample format
  apedec: output in planar sample format
  8svx: use planar sample format

Conflicts:
	libavcodec/8svx.c
	libavcodec/dcadec.c
	libavcodec/mpc7.c
	libavcodec/mpc8.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 17:27:52 +02:00
Michael Niedermayer
82db8ee321 Merge commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d'
* commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d':
  avconv: improve sample format negotiation for decoder request
  Opus encoder using libopus
  mpegts: Drop pointless casting of hex_dump_debug arguments
  avformat: const correctness for av_hex_dump / av_hex_dump_log
  wmadec: Adjust debug printf argument length modifier

Conflicts:
	Changelog
	ffmpeg.c
	libavcodec/libopusdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:58:19 +02:00
Michael Niedermayer
f7f5370b4b mov: add option to ignore edit lists.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:18:46 +02:00
Mans Rullgard
7bda4ed780 ARM: fix Thumb PIC on Apple
LDR with register offset and PC as base register is not available in
the Thumb instruction set so the addition must be done separately.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-02 13:12:33 +01:00
Luca Barbato
72d30b2792 nut: add do {} while (0) to GET_V
Make it consistent with the other function-like macros.
2012-10-02 12:16:47 +02:00
Stefano Sabatini
e97e0eff84 doc/swresample.txt: fix typos 2012-10-02 09:43:27 +02:00
Stefano Sabatini
c053f48662 lavfi/transpose: add passthrough option 2012-10-02 09:43:06 +02:00
Stefano Sabatini
6300062774 lavfi/transpose: add support to named options and shortands
Allow extensibility.
2012-10-02 09:20:10 +02:00
Alex Converse
b92dfb56d4 tiffenc: Check av_malloc() results. 2012-10-01 17:46:44 -07:00
Alex Converse
9bc055e358 tiffenc: Simplify pixel format setup using AVPixFmtDescriptor. 2012-10-01 17:46:44 -07:00
Dmitry Samonenko
c785b6db73 Libspeex VAD support
Option for Voice Activity Detection is added to speex encoder.

Speex detects non-speech periods and encodes them with just enough bits
to reproduce the background noise, aka ``comfort noise generation''.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 02:24:55 +02:00
Michael Niedermayer
44ae7badae ffmpeg: print muxed packet sizes in debug output too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 02:14:02 +02:00
Michael Niedermayer
4abc411b97 nutenc: choose for non audio streams a timebase with finer resolution.
While a 25 fps stream can in general store frame durations in 1/25
units, this is not true for the timestamps. For example a 25fps
and a 25000/1001 fps stream when they are stored together might have
a matching 0 timestamp point but when for example a chapter from
this is cut the new start is no longer aligned. The issue gets
MUCH worse when the streams are lower fps, like 1 or 2 fps.

This commit thus makes the muxer choose a multiple of the
framerate as timebase that is at least about 20 micro seconds precise

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 01:09:12 +02:00
Michael Niedermayer
e3fb5bc147 nut: store and read the r_frame_rate
With this, when we use a finer timebase than neccessary to store
durations the demuxer still knows what the original timebase was.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 01:09:12 +02:00
Michael Niedermayer
4eb0f5f635 nutenc: use 1/sample rate as timebase for audio instead of framesize/sample rate
This way audio frames can be exactly stored even when they are not
aligned with timestamp 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 01:09:12 +02:00
Clément Bœsch
c4dba58f47 isom: fix redundant redeclaration of ff_mov_read_chan().
Silence a GCC warning. A leftover of the disabled version is still
available in lavf/isom.c.
2012-10-02 00:26:15 +02:00
Diego Elio Pettenò
5e3f9979fa Use atexit() instead of defining a custom exit_program() interface. 2012-10-01 17:17:42 -04:00
Derek Buitenhuis
bd680c7b49 msvc: Fix detection of VFW & Avisynth required libs
It should be vfw32.lib with MSVC.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-10-01 16:39:40 -04:00
Clément Bœsch
2308c5bb25 lavfi/edgedetect: add missing minus in a comment. 2012-10-01 22:31:14 +02:00
Clément Bœsch
d771b1d137 lavfi: EBU R.128 scanner. 2012-10-01 22:26:19 +02:00
Clément Bœsch
81bbce9cf3 Move xGA font data from lavc to lavu.
This needs to be accessible for libavfilter in the next commit.
2012-10-01 22:24:17 +02:00
Luca Barbato
1e46c63eb7 avformat: refactor avformat_write_header
Split away option settings, sanity checks and general setup.
2012-10-01 19:57:57 +02:00
Luca Barbato
86bbdf865e avformat: refactor avformat_write_header
Mostly cosmetic changes adding some intermediate to shorten the lines.
2012-10-01 19:57:57 +02:00
Luca Barbato
55f9037f38 avformat: split muxing functions from util.c 2012-10-01 19:57:57 +02:00
Justin Ruggles
bfcd4b6a16 adpcmdec: set AVCodec.sample_fmts 2012-10-01 13:42:44 -04:00
Justin Ruggles
1478a3601e twinvq: use planar sample format 2012-10-01 13:42:44 -04:00
Justin Ruggles
a34be78546 ralf: use planar sample format 2012-10-01 13:42:44 -04:00
Justin Ruggles
1a3459033d mpc7/8: use planar sample format 2012-10-01 13:42:44 -04:00
Justin Ruggles
fd41cb4370 avconv: improve sample format negotiation for decoder request
This takes into account planar vs. packed when comparing to find the closest
sample format match.
2012-10-01 13:42:43 -04:00
Justin Ruggles
3fca0d7210 iac/imc: use planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
64c312aa29 dcadec: use float planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
cbf6ee7823 cook: use planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
9af4eaa8ea atrac3: use float planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
461ba7e97a apedec: output in planar sample format 2012-10-01 13:42:43 -04:00
Justin Ruggles
cf8c93ada4 8svx: use planar sample format 2012-10-01 13:42:43 -04:00
Michael Niedermayer
c39916bc2f jpeglsdec: move pict debug log under correct if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:45:59 +02:00
Michael Niedermayer
64604e2679 cpu: improve av_get_cpu_flags() doxy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:41:37 +02:00
Michael Niedermayer
31ab1575e5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Convert some commented-out printf/av_log instances to av_dlog
  avcodec: Drop silly and/or broken printf debug output
  avcodec: Drop some silly commented-out av_log() invocations
  avformat: Convert some commented-out printf/av_log instances to av_dlog
  avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
  Remove some silly disabled code.
  ac3dec: ensure get_buffer() gets a buffer for the correct number of channels

Conflicts:
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h264.c
	libavcodec/h264_parser.c
	libavcodec/mjpegdec.c
	libavcodec/motion_est_template.c
	libavcodec/mpegaudiodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/put_bits.h
	libavcodec/ratecontrol.c
	libavcodec/wmaenc.c
	libavdevice/timefilter.c
	libavformat/asfdec.c
	libavformat/avidec.c
	libavformat/avienc.c
	libavformat/flvenc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:12:38 +02:00
Nathan Caldwell
6cb8c85409 Opus encoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-10-01 14:42:40 +02:00
Diego Biurrun
15d35bee83 mpegts: Drop pointless casting of hex_dump_debug arguments 2012-10-01 13:18:28 +02:00
Diego Biurrun
d3c40a7d1d avformat: const correctness for av_hex_dump / av_hex_dump_log 2012-10-01 13:18:28 +02:00
Diego Biurrun
d25fe4cc65 wmadec: Adjust debug printf argument length modifier 2012-10-01 12:46:41 +02:00
Diego Biurrun
1218777ffd avcodec: Convert some commented-out printf/av_log instances to av_dlog 2012-10-01 10:24:28 +02:00
Diego Biurrun
9c6cf7f2c9 avcodec: Drop silly and/or broken printf debug output 2012-10-01 10:24:28 +02:00
Diego Biurrun
6f6b0311a3 avcodec: Drop some silly commented-out av_log() invocations 2012-10-01 10:24:28 +02:00
Diego Biurrun
72eaba5e4f avformat: Convert some commented-out printf/av_log instances to av_dlog 2012-10-01 10:24:28 +02:00
Diego Biurrun
11d4e92ed9 avformat: Remove non-compiling and/or silly commented-out printf/av_log statements 2012-10-01 10:24:28 +02:00
Diego Biurrun
14d3e7ad11 Remove some silly disabled code. 2012-10-01 10:24:28 +02:00
Paul B Mahol
adc5539e7b smacker: read escape codes in single get_bits() call
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-01 07:51:47 +00:00
Justin Ruggles
56b6a43056 ac3dec: ensure get_buffer() gets a buffer for the correct number of channels
If there is an error during frame parsing, but AVCodecContext.channels was
changed and AC3DecodeContext.out_channels was set previously, the two may not
match.

Fixes CVE-2012-2802
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

CC: libav-stable@libav.org
2012-10-01 00:10:59 -04:00
Michael Niedermayer
14fd34d73b movenc: fix edit list for the case of negative pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 04:53:40 +02:00
Michael Niedermayer
015b805d13 sws: drop unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 23:14:20 +02:00
Michael Niedermayer
115e291b53 swscale: move main swscale wraper to swscale.c
It never belonged to swscale_unscaled.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 23:10:56 +02:00
Michael Niedermayer
59003fe7c0 qt-faststart: simplify code by using FFMIN
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 22:19:54 +02:00
Michael Niedermayer
610efb6773 qt-faststart: dont allocate a bigger buffer than needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 22:19:54 +02:00
Jan Ehrhardt
f4d9148fe2 qt-faststart: speedup
qt-faststart is terribly slow when the input file and the output file
are on a slow disk like a SD card. By increasing the copy_buffer from
1K to 32M I decreased the processing time on a sample file from
1600 seconds to 4 seconds. The timing difference is during 'copying
rest of file'.

S:\SD_VIDEO\PRG001>e:\utils\qt-faststart 00005.mp4 5.mp4
ftyp          0 32
free         32 8
mdat         40 13744391
moov   13744431 141848
 patching stco atom...
 patching stco atom...
 writing ftyp atom...
 writing moov atom...
 copying rest of file...

Execution time: 1576.259 s

S:\SD_VIDEO\PRG001>s:\utils\qt-faststart 00005.mp4 5.mp4
ftyp          0 32
free         32 8
mdat         40 13744391
moov   13744431 141848
 patching stco atom...
 patching stco atom...
 writing ftyp atom...
 writing moov atom...
 copying rest of file...

Execution time: 3.846 s

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 22:19:54 +02:00
Clément Bœsch
13d878366f lavfi/ashowinfo: check plane value before deferencing. 2012-09-30 21:00:52 +02:00
Giorgio Vazzana
a8cb21fd62 xtea: fix decryption with --enable-small
iv decrypt handling code needs to be executed regardless of CONFIG_SMALL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 20:52:13 +02:00
Clément Bœsch
178ecfc257 swscale: fix To{Y,UV} extern prototypes.
This fix a bunch of "assignment from incompatible pointer type" warnings
with GCC.
2012-09-30 20:45:32 +02:00
Clément Bœsch
0065d31dcd APIchanges: fill hashes.
Also fix some dates (use the commit date instead of the author date).
2012-09-30 20:43:26 +02:00
Clément Bœsch
a04cb9823b Move subrip/text API change info from Changelog to doc/APIchanges.
Note that a lavf bump was missing so I'm using 54.28.100 as a reference.
2012-09-30 20:38:05 +02:00
Michael Niedermayer
29619f47c1 fft-test: fix order of operations for calculating the average error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 20:10:07 +02:00
Paul B Mahol
857797bc14 vima: check packet size before initializing bitstream reader
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 17:29:37 +00:00
Paul B Mahol
06f5edc9be vima: fix typo in license header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 17:29:37 +00:00
Michael Niedermayer
48154c2594 xtea: move iv decrypt handling code into xtea_crypt_ecb()
this simplifies things are avoids a temporary

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:52:45 +02:00
Michael Niedermayer
a4dcdd04d7 xtea-test: test inplace decryption
Based on test code by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:51:45 +02:00
Giorgio Vazzana
8c3ee93be5 xtea: fix CBC mode when src=dst
In CBC mode, when src=dst and we are decrypting a block different
from the first one, we need to save the current block of ciphertext
(which will constitute the initialization vector for the next block)
before we overwrite it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:51:45 +02:00
Michael Niedermayer
a0321dadfd xtea-test: factorize test code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 17:51:45 +02:00
Paul B Mahol
3fa100244f flac: use get_bits_longlong()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 14:05:04 +00:00
Paul B Mahol
01c9ffa913 tta: let samples declaration match cast
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-09-30 13:39:38 +00:00
Michael Niedermayer
f51c4bfe3f bitstream: add get_bits_longlong() to support more than 32bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 15:20:40 +02:00
The makemkv authors
89a823ace9 ffmpeg: disable buffering for stderr, needed for win32 runtime
Found in http://www.makemkv.com/download/ffmpeg/mmffmpeg-1.7.7.patch.gz

Commit message by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 15:13:35 +02:00
Michael Niedermayer
20bd921082 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: avoid stuck buffer pointer in decode_nal_units
  mpeg12: fix the semantics of the int* parameter of decode()

Conflicts:
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 14:28:35 +02:00
Michael Niedermayer
853a93804d Merge commit 'd9a2e87b1ce44cce23801e7ec6810f8bf994fa23'
* commit 'd9a2e87b1ce44cce23801e7ec6810f8bf994fa23':
  mpeg12: move mpeg_decode_frame() lower
  avsdec: Set dimensions instead of relying on the demuxer.
  wmalosslessdec: Reset put bit buffer when num_saved_bits is reset.

Conflicts:
	libavcodec/avs.c
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 14:10:25 +02:00
Michael Niedermayer
e5ce6d447b Merge commit 'd05f72c75445969cd7bdb1d860635c9880c67fb6'
* commit 'd05f72c75445969cd7bdb1d860635c9880c67fb6':
  dfa: improve boundary checks in decode_dds1()
  wmalosslessdec: Fix reading too many bits in decode_channel_residues()
  wmalosslessdec: fix a get_bits(0) in decode_ac_filter
  wmalosslessdec: make MCLMS arrays big enough for what is written into them.
  indeo4/5: check empty tile size in decode_mb_info().
  ivi_common: make ff_ivi_process_empty_tile() static.
  indeo5: check tile size in decode_mb_info().
  indeo3: fix out of cell write.

Conflicts:
	libavcodec/dfa.c
	libavcodec/indeo3.c
	libavcodec/indeo5.c
	libavcodec/ivi_common.c
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 13:52:48 +02:00
Stefano Sabatini
301f6da039 ffprobe: extend disposition printing support
This generalizes the previous work on disposition printing.

Disposition flags are shown in a dedicated section, which should improve
output intellegibility, extensibility and filtering operations.

This breaks output syntax with the recently introduced disposition
printing.
2012-09-30 12:22:19 +02:00
Stefano Sabatini
50efde6bcb ffprobe: generalize nesting model for the XML writer
Do not make use of ad-hoc "tags" code, introduce a new section flag
SECTION_FLAG_HAS_VARIABLE_FIELDS to deal with the tags in a
content-agnostic way.

This is required by the pending disposition change.
2012-09-30 12:07:47 +02:00
Nicolas George
e4b1fcd474 lavu/opt: cosmetic fixes forgotten in the previous patch. 2012-09-30 10:23:08 +02:00
Nicolas George
438978fb4b opt: implement av_opt_set_from_string().
It is similar to av_set_options_string() but accepts a list
of options that can be in shorthand: if the key is omitted
on the first fields, the keys from the shorthand list are
assumed, in order.
2012-09-30 09:21:29 +02:00
Michael Niedermayer
5f1c3c785c get_bits_long: fix variable type
This fixes a theoretical signed overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 02:37:40 +02:00
Michael Niedermayer
01aa664f21 cyuv: implement raw cyuv
Fixes Ticket1620

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-30 00:13:54 +02:00
Jindřich Makovička
1a8c6917f6 h264: avoid stuck buffer pointer in decode_nal_units
When decode_nal_units() previously encountered a NAL_END_SEQUENCE,
and there are some junk bytes left in the input buffer, but no start codes,
buf_index gets stuck 3 bytes before the end of the buffer.

This can trigger an infinite loop in the caller code, eg. in
try_decode_trame(), as avcodec_decode_video() then keeps returning zeroes,
with 3 bytes of the input packet still available.

With this change, the remaining bytes are skipped so the whole packet gets
consumed.

CC:libav-stable@libav.org

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:31:17 +02:00
Alexander Strasser
99b18b110c doc/fate: Move fate config example into doc subdirectory
Be compatible with texi2html 5.0 which doesn't search relative
file names in search paths anymore.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-29 19:27:01 +02:00
Anton Khirnov
0f583d20d5 mpeg12: fix the semantics of the int* parameter of decode()
It is got_output, not data_size.
2012-09-29 19:18:39 +02:00
Anton Khirnov
d9a2e87b1c mpeg12: move mpeg_decode_frame() lower
Avoids a forward declaration of decode_chunks().
2012-09-29 19:18:24 +02:00
Michael Niedermayer
85f477935c avsdec: Set dimensions instead of relying on the demuxer.
The decode function assumes that the video will have those dimensions.

Fixes CVE-2012-2801

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:18:07 +02:00
Michael Niedermayer
d65d834731 wmalosslessdec: Reset put bit buffer when num_saved_bits is reset.
Fixes CVE-2012-2799

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:17:38 +02:00
Anton Khirnov
d05f72c754 dfa: improve boundary checks in decode_dds1()
Fixes CVE-2012-2798

CC:libav-stable@libav.org
2012-09-29 19:17:07 +02:00
Anton Khirnov
6a99310fce wmalosslessdec: Fix reading too many bits in decode_channel_residues()
Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 19:16:32 +02:00
Michael Niedermayer
f48fbf2eb5 wmalosslessdec: fix a get_bits(0) in decode_ac_filter
Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:15:27 +02:00
Michael Niedermayer
607f57152c wmalosslessdec: make MCLMS arrays big enough for what is written into them.
Fixes a part of CVE-2012-2795

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:14:25 +02:00
Anton Khirnov
ae3da0ae55 indeo4/5: check empty tile size in decode_mb_info().
This prevents writing into a too small array if some parameters changed
without the tile being reallocated.

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes CVE-2012-2800

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 19:13:45 +02:00
Anton Khirnov
5d2170c53b ivi_common: make ff_ivi_process_empty_tile() static.
It's not used outside of ivi_common.c
2012-09-29 19:12:57 +02:00
Michael Niedermayer
2d09cdbaf2 indeo5: check tile size in decode_mb_info().
This prevents writing into a too small array if some parameters changed
without the tile being reallocated.

Fixes CVE-2012-2794

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 19:12:36 +02:00
Anton Khirnov
e4d4044339 indeo3: fix out of cell write.
Fixes CVE-2012-2776.

CC:libav-stable@libav.org

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 19:12:04 +02:00
Michael Niedermayer
f049729e61 ffv1enc: fix integer overflow with high resolutions and lots of slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 19:11:25 +02:00
Michael Niedermayer
594b1fcb28 mov: add av_dlog() to dump edit lists.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 18:50:18 +02:00
Michael Niedermayer
3ceeb01c06 mov: only print multiple edit lists warning for actually unsupported cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 18:44:35 +02:00
Michael Niedermayer
44a7a6300d lavf: free probe data in case we close before probing finished
Fixes Ticket1634

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 17:33:05 +02:00
Michael Niedermayer
acfe69669c bink: reindent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:25:29 +02:00
Michael Niedermayer
897d336984 bink: remove unneeded special case in the init code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:25:25 +02:00
Michael Niedermayer
574e87943e bink: get rid of double precision float use
Add a small table of integers instead as this is simpler and
avoid rounding issues (though such rounding issues are unlikely in this case)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:23:57 +02:00
jamal
062cd9acc1 fate: Fix --disable-zlib
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 16:09:05 +02:00
rogerdpack
1bdb4b26a8 dshow: enhance error message
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:48:49 +02:00
Michael Niedermayer
6fcd4f3c72 dfa: replace redundant check by assert
The values are checked in the wraper function used to call this code.

This was introduced by: ee715f49a0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:34:22 +02:00
Michael Niedermayer
b96dc093ea Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmalosslessdec: increase channel_coeffs/residues size
  wmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14.
  lagarith: check count before writing zeros.
  wmaprodec: check num_vec_coeffs for validity
  avidec: use actually read size instead of requested size
  avidec: return 0, not packet size from read_packet().

Conflicts:
	libavcodec/lagarith.c
	libavcodec/wmalosslessdec.c
	libavcodec/wmaprodec.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:11:34 +02:00
Michael Niedermayer
8672fc7b04 Merge commit 'b146d74730ab9ec5abede9066f770ad851e45fbc'
* commit 'b146d74730ab9ec5abede9066f770ad851e45fbc':
  indeo4: update AVCodecContext width/height on size change
  dfa: check that the caller set width/height properly.
  indeo5dec: Make sure we have had a valid gop header.
  cavsdec: check for changing w/h.
  lavc: set channel count from channel layout in avcodec_open2().
  doc/platform: Rework the Visual Studio linking section
  doc/faq: Change the Visual Studio entry to reflect current status
  doc/platform: Replace Visual Studio section with build instructions
  doc/platform: Nuke section on linking static MinGW-built libs with MSVC
  doc/platform: Remove false claim about MinGW installer
  doc/platform: Mention MinGW-w64
  dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
  mpegaudiodec: fix short_start calculation

Conflicts:
	doc/faq.texi
	doc/platform.texi
	libavcodec/cavsdec.c
	libavcodec/indeo5.c
	libavcodec/ivi_common.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 14:45:55 +02:00
Anton Khirnov
065b3a1cfa wmalosslessdec: increase channel_coeffs/residues size
Fixes CVE-2012-2792

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-09-29 10:29:53 +02:00
Anton Khirnov
4a969030e4 wmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14. 2012-09-29 10:29:52 +02:00
Stefano Sabatini
74bd0cf49c ffprobe: rework/fix ini writer
Do not build from scratch the section header for each section, but build
it using the previous level buffer, thus improving efficiency.

Also fix some few corner cases related to numbering which are exposed by
the pending disposition patch.
2012-09-29 10:25:11 +02:00
Stefano Sabatini
01e4537f66 ffprobe: rework/fix flat writer
Do not build from scratch the section header for each section, but build
using the previous level buffer, thus improving efficiency and fix some
few corner cases which are exposed by the pending disposition patch.
2012-09-29 10:25:04 +02:00
Stefano Sabatini
06fd4c2dfa ffprobe: generalize nesting model for the compact writer
Regular section fields nested in a regular section are now prefixed by
the nested section name.

This is required by the pending change related to disposition.
2012-09-29 10:24:53 +02:00
Stefano Sabatini
44c1cc3f8e ffprobe: generalize nesting model for the default writer
Regular section fields nested in a regular section are now prefixed by
the nested section name.

This is required by the pending change related to disposition.
2012-09-29 10:24:45 +02:00
Stefano Sabatini
b6ea9c8765 ffprobe: drop SECTION_ENTRY macro
The use of the macro makes to add new optional fields somewhat harder.
2012-09-29 10:24:36 +02:00
Stefano Sabatini
23564a4a4a ffprobe: add support to library ident printing 2012-09-29 10:24:28 +02:00
Michael Niedermayer
b631e4ed64 lagarith: check count before writing zeros.
Fixes CVE-2012-2793

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:28:32 +02:00
Michael Niedermayer
99f392a584 wmaprodec: check num_vec_coeffs for validity
Fixes CVE-2012-2789

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:28:15 +02:00
Anton Khirnov
0af49a63c7 avidec: use actually read size instead of requested size
Fixes CVE-2012-2788
2012-09-29 09:27:59 +02:00
Anton Khirnov
eeade678f0 avidec: return 0, not packet size from read_packet(). 2012-09-29 09:27:51 +02:00
Michael Niedermayer
b146d74730 indeo4: update AVCodecContext width/height on size change
Fixes CVE-2012-2787

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:27:32 +02:00
Anton Khirnov
ee715f49a0 dfa: check that the caller set width/height properly.
Fixes CVE-2012-2786.
2012-09-29 09:27:08 +02:00
Michael Niedermayer
891918431d indeo5dec: Make sure we have had a valid gop header.
This prevents decoding happening on a half initialized context.

Fixes CVE-2012-2779

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:26:30 +02:00
Michael Niedermayer
c20a696306 cavsdec: check for changing w/h.
Our decoder does not support changing w/h.

Fixes CVE-2012-2777 and CVE-2012-2784.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-29 09:26:04 +02:00
Anton Khirnov
12e1e83461 lavc: set channel count from channel layout in avcodec_open2().
Some decoders (e.g. nellymoser) only set channel_layout and do not set
channel count.
2012-09-29 09:25:40 +02:00
Derek Buitenhuis
bad603c66a doc/platform: Rework the Visual Studio linking section
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 16:35:49 -04:00
Derek Buitenhuis
08c3156dbf doc/faq: Change the Visual Studio entry to reflect current status
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 16:34:18 -04:00
Derek Buitenhuis
f8241055c7 doc/platform: Replace Visual Studio section with build instructions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 16:33:22 -04:00
Derek Buitenhuis
7147efa9f5 doc/platform: Nuke section on linking static MinGW-built libs with MSVC
This practice is not supported by the MinGW developers, and even requires
patching the MinGW runtimes in newer versions. Furthermore, we now support
build with MSVC, so this section is rendered useless.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 16:31:07 -04:00
Derek Buitenhuis
d41906f65d doc/platform: Remove false claim about MinGW installer
This works just fine, and has for quite a while, using the mingw-get
installer.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 16:31:06 -04:00
Derek Buitenhuis
583661ee0d doc/platform: Mention MinGW-w64
This is the toolchain most use to build.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 16:30:53 -04:00
Derek Buitenhuis
7d1d446990 doc/platform: Rework the Visual Studio linking section
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 15:52:21 -04:00
Derek Buitenhuis
ed8a2ddeea doc/faq: Change the Visual Studio entry to reflect current status
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 15:50:45 -04:00
Derek Buitenhuis
f45b54437a doc/platform: Replace Visual Studio section with build instructions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 15:50:32 -04:00
Derek Buitenhuis
3e071551af doc/platform: Nuke section on linking static MinGW-built libs with MSVC
This practice is not supported by the MinGW developers, and even requires
patching the MinGW runtimes in newer versions. Furthermore, we now support
build with MSVC, so this section is rendered useless.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 15:27:59 -04:00
Derek Buitenhuis
55254a3f7f doc/platform: Remove false claim about MinGW installer
This works just fine, and has for quite a while, using the mingw-get
installer.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 15:27:25 -04:00
Derek Buitenhuis
6a3078bb89 doc/platform: Mention MinGW-w64
This is the toolchain most, including Libav's nightlies, use to build.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-28 15:27:13 -04:00
Michael Niedermayer
c0209facd2 mov: remove default of 1024 sample skip for aac.
It is not correct in all cases and it is less predictable than a skip of 0
for user applications.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 20:30:37 +02:00
Michael Niedermayer
bfe735b582 aacdec: detect faac and skip correct amount of startup samples
This also fixes aac in adts and other containers than mov.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 20:30:37 +02:00
Michael Niedermayer
791b5954bc dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
This should fix the utvideoenc valgrind failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 12:25:07 -04:00
Stefano Sabatini
ed2b69a4c3 ffprobe: remove unused "args" argument in writer init callback
The parameter is no longer used, since the arguments are parsed at the
framework level.
2012-09-28 16:37:27 +02:00
Luca Barbato
97cfa55eea mpegaudiodec: fix short_start calculation
The value should be always 3, as it follows from the specification.

Fix a stack buffer overflow in exponents_from_scale_factors as reported
by asan. Thanks to Dale Curtis for the sample vector.
2012-09-28 16:02:39 +02:00
jamal
a70b4935f1 Add missing version macros to libraries
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:10:18 +02:00
jamal
b75c3d2b8b swresample: Create version.h header
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:10:36 +02:00
jamal
ec87389183 postproc: Create version.h header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:06:26 +02:00
jamal
35e09036c4 avcodec: Add missing include to version.h
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 15:06:08 +02:00
Michael Niedermayer
c402d36afa nutdec: fix get_vb_trace() / -DTRACE compile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 14:21:53 +02:00
Michael Niedermayer
2acb5cd907 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopus: Remap channels using libopus' internal remapping.
  Opus decoder using libopus
  avcodec: document the use of AVCodecContext.delay for audio decoding
  vc1dec: add flush function for WMV9 and VC-1 decoders
  http: Increase buffer sizes to cope with longer URIs
  nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments
  h264_refs: Fix debug tprintf argument types
  golomb: const correctness for get_ue()/get_se() function arguments
  get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 13:54:40 +02:00
Nathan Caldwell
d16860a237 libopus: Remap channels using libopus' internal remapping.
This way we can directly remap channels from Opus' channel order to
libav's internal channel order, instead of mapping channels from
Opus' order to Vorbis' order then to libav's order.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 11:03:32 +02:00
Nicolas George
44617d6ec9 Opus decoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 11:03:20 +02:00
Nathan Caldwell
e4aa3831b7 avcodec: document the use of AVCodecContext.delay for audio decoding
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 10:50:07 +02:00
Kostya Shishkov
4dc8c8386e vc1dec: add flush function for WMV9 and VC-1 decoders
CC: libav-stable@libav.org
2012-09-28 07:08:54 +02:00
Michael Niedermayer
4fefe91a33 configure: add missing dependancies for gpl tests
fixes fate without --enable-gpl

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 05:25:22 +02:00
Michael Niedermayer
7ed9ec033f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dwt: Drop unused functions spatial_compose{53|97}i()
  nutdec: Remove unused and broken debug function stub
  avcodec: Drop long-deprecated imgconvert.h header
  Add Opus support to the Ogg muxer.
  Add Opus codec id and codec description.
  avformat: Identify anonymous AVIO typedef structs.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/imgconvert.h
	libavcodec/version.h
	libavformat/oggenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 05:11:19 +02:00
Michael Niedermayer
ac7d0c79c3 mp3dec: ask for 8khz switch point mp3s
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 04:39:10 +02:00
Michael Niedermayer
a96e3a3e77 tests/Makefile: fix ffprobe test dependancy
This fixes the ffprobe tests under mingw/wine

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 02:58:35 +02:00
Michael Niedermayer
b4c753487c asfenc: avoid negative timestamps
Fixes Ticket1606

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 02:40:53 +02:00
Michael Niedermayer
94041febc5 mp3dec: Fix possibly exploitable crash
I was sadly unable to find a non fuzzed mp3 that uses the
feature that contained the bug (and i searched hard ...), thus
while this fixes the security issue. It may or may not fix
mixed blocks in 8khz mp3s, i cant say due to lack of samples to test.

Security issue exists since: b37d945dd4

Reported-by: Dale Curtis <dalecurtis@google.com>
(Probably) Found-by: inferno@chromium.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 01:45:53 +02:00
Duncan Salerno
8bd324e9e4 http: Increase buffer sizes to cope with longer URIs
Use the MAX_URL_SIZE define where applicable. Increase buffer
sizes for all buffers that need to fit a long pathname - buffers
that need to fit only the hostname (and other short strings, but
not the pathname - such as "headers" in http_connect) are kept
at 1024 bytes for now.

Also increase the max line length in http_read_header, since it
might need to contain a full url for Location: redirects.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-28 00:09:38 +03:00
Marton Balint
13f0cd681e mxfdec: allow container_ul to override codec_ul if codec is A-law
Fixes some DNXHD files generated by AVID TM, where codec UL was set to A-law
meanwhile the real audio codec was PCM S16. According to SMPTE RP 224, A-law is
the default value for sound essence parameters therefore we should handle it
specially.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 21:28:35 +02:00
Michael Niedermayer
6226d104a3 Changelog, split next from 1.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 20:25:53 +02:00
Michael Niedermayer
9e9b5159e9 mpegvideo_enc: reduce QMAT_SHIFT to avoid overflow in dnxhd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 19:43:31 +02:00
Diego Biurrun
bc66827fb1 nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments 2012-09-27 19:32:47 +02:00
Diego Biurrun
6c5b0517e0 h264_refs: Fix debug tprintf argument types 2012-09-27 19:10:10 +02:00
Diego Biurrun
80412997c8 golomb: const correctness for get_ue()/get_se() function arguments 2012-09-27 19:10:10 +02:00
Diego Biurrun
e00215040a get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments 2012-09-27 19:10:10 +02:00
Nicolas George
9de731e9d0 lavfi/sink_buffer: implement libav compatibility API.
Implement av_buffersink_read() and av_buffersink_read_samples()
for ffmpeg's version of buffersink.

With this change, avconv linked against ffmpeg's libraries passes
the same number of tests whether it uses ffbuffersink or
buffersink_old.
2012-09-27 18:43:37 +02:00
Michael Niedermayer
279ae1cd72 lavf: move fields that appear to be intended as public API to the correct section
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 18:19:01 +02:00
Michael Niedermayer
7e9830d123 dsputil_mmx: fix reading prior of the src array in sub_hfyu_median_prediction()
This should fix the utvideoenc valgrind failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 16:43:39 +02:00
Nicolas George
8e1f063efc lavfi: enable buffersinks unconditionally.
They are part of the public API. Their libav compatibility
counterpart are already enabled unconditionally.
2012-09-27 15:57:30 +02:00
Michael Niedermayer
e760424ddd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  nutdec: const correctness for get_v_trace/get_s_trace function arguments
  truemotion2: Request samples for old TM2 headers
  rtpdec: Remove a useless ff_ prefix from a static symbol
  rtpdec: Support depacketizing speex
  rtpenc: Add support for packetizing speex

Conflicts:
	libavformat/rtpdec.c
	libavformat/sdp.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 14:29:03 +02:00
Diego Biurrun
4e5b7f31f7 dwt: Drop unused functions spatial_compose{53|97}i() 2012-09-27 12:08:09 +02:00
Diego Biurrun
83655442fa nutdec: Remove unused and broken debug function stub 2012-09-27 12:02:33 +02:00
Diego Biurrun
0ae3ba8daa avcodec: Drop long-deprecated imgconvert.h header 2012-09-27 12:02:33 +02:00
Nathan Caldwell
bcc1f7caeb Add Opus support to the Ogg muxer.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-27 10:48:35 +02:00
Andrew D'Addesio
2a3d82ab46 Add Opus codec id and codec description.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-27 10:48:35 +02:00
Dale Curtis
0575772fa0 avformat: Identify anonymous AVIO typedef structs.
Anonymous typedef structs prevent forward declaration, this
change gives the AVIOContext and AVIOInterruptCB structures
a name.  These structures are now in line with other common
structures such as AVFormatContext and AVCodecContext.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-27 09:14:22 +02:00
Clément Bœsch
00e1afd83f fate: add faststart regression test.
Also factorize the common options for the different mov-based tests.

Since the header is now on top in the last generated file, the data
offset in the seek test needed some updates as well.
2012-09-27 08:59:37 +02:00
Clément Bœsch
a714150827 lavf/movenc: add faststart option. 2012-09-27 08:59:36 +02:00
Clément Bœsch
f379a108a4 lavf/movenc: make mov_write_stco_tag() not use the offset pos for mode64 heuristic.
At the moment, the moov header is written at the end of the file, so we
can use the current offset (which focus on the end of the mdat already
written) to guess if 64-bits offset will be required or not.

Though, the next commits will make possible the writing of this table at
the beginning, so this heuristic can't work. As a consequence, we check
all the values within the potential offset table for any value >
32-bits.
2012-09-27 08:59:36 +02:00
Clément Bœsch
e17a2aba25 lavf/movenc: add get_moov_size and use it in fragment code.
This function will be re-used in the following commits.
2012-09-27 08:59:36 +02:00
Michael Niedermayer
65f7aee63b ffmpeg: add option to control copying of frames prior to start.
Normally we discard things prior to the intended start
for stream copy this is not always possible, and its not done by default
this option allows discarding to be enabled

this is primarely usefull when transcoding a video and stream copying an
audio stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 03:52:31 +02:00
Jean First
d37044647f file: set the return value type for lseek to off_t
fixes a bug introduced with 4ed5ac50d3

Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 01:47:49 +02:00
Michael Niedermayer
c76ffdc251 RELEASE: update for 1.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 01:48:14 +02:00
Michael Niedermayer
67016b3c79 MAINTAINERS: add 1.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 01:48:14 +02:00
Stefano Sabatini
163f7afbe6 ffprobe: fix indentation of the first line of packets_and_frames sections in the json output 2012-09-27 01:10:46 +02:00
Michael Niedermayer
2e4ec8947d lavf: fill in past dts based on reordered pts once the delay becomes known.
Previously we had ignored the past dts and just filled in from the
point where we have had sufficient information.

This should fix Ticket1734

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Michael Niedermayer
a8e3815db5 lavf: factorize timestamp shift in update_initial_timestamps()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Michael Niedermayer
cddbafb56a ffmpeg: allow printing muxer side packet timestamp debuging info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Diego Biurrun
93e81ee81c nutdec: const correctness for get_v_trace/get_s_trace function arguments 2012-09-26 19:10:13 +02:00
Diego Biurrun
2dc1310484 truemotion2: Request samples for old TM2 headers 2012-09-26 19:10:13 +02:00
Martin Storsjö
69673138c5 rtpdec: Remove a useless ff_ prefix from a static symbol
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-26 19:05:18 +03:00
Dmitry Samonenko
b6bf1490da rtpdec: Support depacketizing speex
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-26 19:05:10 +03:00
Dmitry Samonenko
490ae95aa8 rtpenc: Add support for packetizing speex
This packetization scheme simply places the full packets into the
RTP packet without any extra header bytes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-26 19:04:57 +03:00
Michael Niedermayer
3b92075e6c Revert "arm/h264: fix overreads in h264_chroma_mc8-and-h264_chroma_mc4"
This reverts commit d25f87f517.

This breaks decoding of some h264 files
I have tested the original patch with fate but by mistake have
forgotten to specify the fate samples so testing was limited to
the internal regression tests.
2012-09-26 17:31:25 +02:00
Michael Niedermayer
55a6f705ac ffv1dec: support decoding older 1.3 bitstream variant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 17:04:29 +02:00
Michael Niedermayer
ff0c628268 ffv1:update copyright year
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 17:00:15 +02:00
Michael Niedermayer
5c4e2e8755 nutenc: avoid negative timestamps
Fixes Ticket1468

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 15:56:06 +02:00
Michael Niedermayer
3ba0dab76a lavf: Add support offset timestamps on muxing.
This allows avoiding negative timestamps.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 15:55:16 +02:00
Michael Niedermayer
e9350c44ad nutenc: remove outdated fixme
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 15:53:17 +02:00
Michael Niedermayer
ae0449314c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xsub: feed init_get_bits the whole buffer
  libfdk-aac: Allow setting VBR modes via a private option
  libfdk-aac: Warn the user that the VBR modes are unsupported
  Revert "cbrt_tablegen: Include libm.h"

Conflicts:
	libavcodec/xsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 13:51:39 +02:00
Stefano Sabatini
4552e9b56c ffprobe: generalize writer subsection nesting model
Discard unflexible structure based on the root/chapter/section layout in
favor of a generalized concept of section.

This should allow to represent sections at a generic level of nesting,
and allow subsection fields selection.

Also, simplify the code.
2012-09-26 11:07:09 +02:00
Michael Niedermayer
299c0b30a6 lavf: fix bug that caused has_decode_delay_been_guessed() to never return !=0
Possibly fixes Ticket1724

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 04:53:03 +02:00
Duncan Salerno
4b80a619b7 Handle the following type of relative URL correctly:
http://a/b + //c/d = http://c/d
http://a/b?c + ?d = http://a/b?d
http://a/b?c/d + /e = http://a/e

Updated with feedback from Clément Bœsch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 03:43:06 +02:00
Michael Niedermayer
f75c5f07a9 diracyasm: fix win64
Fixes Ticket1412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 01:56:01 +02:00
Michael Niedermayer
5fe808578c libx264: fix open GOP
Found-by: relaxed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 01:56:01 +02:00
Derek Buitenhuis
7133d25425 configure: Fix 10l in 5ae9fa13f5
Wrong version of the patch was pushed. MinGW32 supports vsnprint properly.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-25 18:21:53 -04:00
Derek Buitenhuis
5ae9fa13f5 MinGW: Use our snprintf/vsnprintf when MinGW's is broken
All versions of MinGW-w64 prior to version 3, as well as
all versions of MinGW32 have broken implementations of
vsnprintf.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-25 18:14:14 -04:00
Michael Niedermayer
de73ae6b1a ffmpeg: avoid apics for video output if possible
Fixes Ticket1714

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 00:02:19 +02:00
Michael Niedermayer
a7b483953d ffmpeg: factor area out of video stream selection code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 23:59:34 +02:00
Michael Niedermayer
c5e2347373 mlpdec: supress layout mismatch warnings for 2 ch upmixed mono
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 22:45:52 +02:00
Michael Niedermayer
eda5db6bd1 mlpdec: discard a 2nd substream if the stream is mono
This fixes the rest of Ticket1726

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 22:36:45 +02:00
Michael Niedermayer
2a672652bb mlp_parser: dont override existing channel geometry.
This prevents race conditions
And partly fixes Ticket1726

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 22:35:26 +02:00
Alexandre Colucci
92d2b909a0 xsub: feed init_get_bits the whole buffer
Do not use rlelen field for buffer size in init_get_bits, it is
only the size of the data for the first field.
Since it is not reliable, just use the size of the whole buffer.

Additional comments add removal of unused rlelen variable by
Reimar Döffinger.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-25 22:28:53 +02:00
bruce-wu
d25f87f517 arm/h264: fix overreads in h264_chroma_mc8-and-h264_chroma_mc4
Fixes Ticket1227
2012-09-25 20:09:30 +02:00
Martin Storsjö
375bff7084 libfdk-aac: Allow setting VBR modes via a private option
This avoids using the global_quality field and QSCALE flag for
passing the VBR modes, since the value range of the global_quality
field doesn't really map cleanly to this codec's VBR modes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 20:51:47 +03:00
Martin Storsjö
a10190dcd8 libfdk-aac: Warn the user that the VBR modes are unsupported
These modes were not originally exposed by the library at all.
In practice, only a few of them work for each sample rate/profile
combination, and they don't work at all for the more uncommon
sample rates.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 20:51:46 +03:00
Derek Buitenhuis
b62d4c16c9 Revert "cbrt_tablegen: Include libm.h"
This code runs on the host and should not use libm.h, which is meant
for the target.

This reverts commit 2768b71798.
2012-09-25 12:54:26 -04:00
Michael Niedermayer
49331f7ba3 dnxhdenc: fix speed regression
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:11 +02:00
Michael Niedermayer
6b33e91899 mpegvideo: factorize ff_dct_encode_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:11 +02:00
Michael Niedermayer
71d6eb2208 dnxhdenc: remove redundant call to ff_dsputil_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:11 +02:00
Michael Niedermayer
8deddc6961 avcodec_alloc_frame: dont zero the whole struct twice
cleaning it up is already done in avcodec_get_frame_defaults()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 18:10:10 +02:00
Michael Niedermayer
d9d56712e9 oggparsetheora: print error when failing on unknown header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 17:32:11 +02:00
Michael Niedermayer
abcaacf1ac Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pthread: make sure AVFrame.extended_data is set properly.
  libfdk-aac: reindent after last commit
  libfdk-aac: Limit to supported sample rates.
  cbrt_tablegen: Include libm.h
  oggparsetheora: make it more robust
  ogg: prevent NULL pointer deference in theora gptopts

Conflicts:
	libavformat/oggparsetheora.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:11:34 +02:00
Michael Niedermayer
d3ef2da59d oggdec: add missing () for OGG_NOGRANULE_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:03:55 +02:00
Michael Niedermayer
0842e32f99 Merge commit 'd1f05dd18375f2f8e68372edee11436927e43ba8'
* commit 'd1f05dd18375f2f8e68372edee11436927e43ba8':
  ogg: calculate the start position once all the headers are parsed

Conflicts:
	libavformat/oggdec.c
	libavformat/oggparseskeleton.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:00:09 +02:00
Michael Niedermayer
4c273eb64c oggdec: print a warning if the number of headers mismatch expectations.
This is based on:
	commit 7751e4693d
	Author: Luca Barbato <lu_zero@gentoo.org>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:34:58 +02:00
Michael Niedermayer
cc4deafed1 oggdec: print error when headers couldnt be parses successfully
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:22:05 +02:00
Michael Niedermayer
46a35959d8 Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
  ogg: check that the expected number of headers had been parsed
  libx264: change default to closed gop to match x264cli
  Use avcodec_free_frame() to free AVFrames.
  lavf: use a malloced AVFrame in try_decode_frame().
  lavc: add avcodec_free_frame().
  lavc: ensure extended_data is set properly on decoding
  lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
  lavc: use av_mallocz to allocate AVFrames.
  lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/src_movie.c
	libavformat/oggdec.c
	libavformat/oggdec.h
	libavformat/oggparsetheora.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
Anton Khirnov
7a1a9dd56c pthread: make sure AVFrame.extended_data is set properly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-25 12:03:23 +02:00
Stefano Sabatini
2089f93300 ffprobe: drop pointless opaque parameter in writer init callback
The parameter was never used.
2012-09-25 11:02:52 +02:00
Stefano Sabatini
58e9025993 ffprobe: reindent after previous commit 2012-09-25 09:22:00 +02:00
Stefano Sabatini
4b370d6126 ffprobe: rework checking logic in writer_print_time() and writer_print_rational()
Make writer_print_time() and writer_print_rational() always call
writer_print_int() or writer_print_string(). This way the checks for
determining if the value should be printed or not are consistently
performed in the low level functions.

writer_print_rational() is moved downward in order to avoid a forward
reference.

Simplify/amend the overall logic.
2012-09-25 09:20:57 +02:00
Clément Bœsch
4390f8c28d Fix two "skiping" typo. 2012-09-25 07:42:32 +02:00
Nathan Caldwell
c8ba8be27e libfdk-aac: reindent after last commit
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 08:08:05 +03:00
Nathan Caldwell
94a69dee64 libfdk-aac: Limit to supported sample rates.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-25 08:08:05 +03:00
Derek Buitenhuis
2768b71798 cbrt_tablegen: Include libm.h
Needed for cbrtf fallback on systems which lack it.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-24 22:47:47 -04:00
Michael Niedermayer
aea15df3b4 ffv1dec: change bitstream end check to a exact check instead of a +-1 check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 03:43:23 +02:00
Michael Niedermayer
d8676140de ffv1: inject sentinels for RC->VLC transitions begining with 1.3
This breaks bitstream compatibility of 1.3 VLC streams
This fixes very rare errors in the RC stream at the transition point
to VLC.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 03:43:22 +02:00
Michael Niedermayer
ad9371ef24 ffv1enc: fix RC slice sentinel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 03:43:21 +02:00
Michael Niedermayer
6bcbe768bb lavf: dont add apic streams for demuxers that dont support it.
Fixes crash
Fixes ticket1730

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 02:47:09 +02:00
Alexander Strasser
dde8068856 ffprobe: Consider the chosen separator when doing CSV escaping
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:34 +02:00
Alexander Strasser
dd83028374 ffprobe: Rename variable in csv_escape_str()
Sync to 3245be9 .

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:19 +02:00
Alexander Strasser
f70122dd57 ffprobe: Simplify CSV field quoting code
Sync with bac1b31 .

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-25 01:32:13 +02:00
Mans Rullgard
7e3208a087 ARM: libswresample: NEON optimised generic fltp to s16 conversion
Adapted to swr by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:19:32 +02:00
Michael Niedermayer
97599f8c6d swr: make sure the last data element is NULL so we can use it to detect the number of channels
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:19:32 +02:00
Mans Rullgard
5dc7363446 ARM: libswresample: NEON optimised stereo fltp to s16 conversion
Adaption to swr by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:16:14 +02:00
Mans Rullgard
0eebde07a9 ARM: libswresample: NEON optimised flat float to s16 conversion
Adapted to swr by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 23:16:14 +02:00
Luca Barbato
d1f05dd183 ogg: calculate the start position once all the headers are parsed
The fisbone packets can be muxed in any order as long the last one
comes before the first data packet.
2012-09-24 22:35:29 +02:00
Luca Barbato
7751e4693d ogg: check that the expected number of headers had been parsed
Not having the header for a codec is a tell-tale of a broken file.
2012-09-24 22:35:29 +02:00
Luca Barbato
0336dea2ef oggparsetheora: make it more robust 2012-09-24 22:35:29 +02:00
Michael Niedermayer
bb146bb57b ogg: prevent NULL pointer deference in theora gptopts
Additional safety in case a special ogg stream is crafted
with the proper number of

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 22:35:29 +02:00
Stefano Sabatini
bbe9fe469a lavf/utils: remove loop on AVERROR(EAGAIN) in av_read_frame()
The loop was introduced in 64d340c62a, and
was likely breaking non blocking reads as it busy loops.
2012-09-24 21:16:48 +02:00
John Van Sickle
a716006a7d libx264: change default to closed gop to match x264cli
open-gop can be enabled with "-flags -cgop"

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-24 19:23:03 +02:00
Michael Niedermayer
fd63c2ff0c fate: fix --disable-ffprobe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 18:20:57 +02:00
Stefano Sabatini
f3bd6fa7a8 lavc/mmvideo: forward reget_buffer return value in mm_decode_frame() 2012-09-24 14:57:49 +02:00
Michael Niedermayer
ff584803b7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtp: Packetization of JPEG (RFC 2435)
  smoothstreamingenc: Copy the SAR on the AVStreams as well

Conflicts:
	Changelog
	libavformat/rtpenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 13:54:24 +02:00
Michael Niedermayer
874b9dcc4b ppc/cpu: make linux 32bit specific altivec detection depend on __linux__
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 13:41:48 +02:00
Michael Niedermayer
c75b611a38 configure: enable runtime cpu detect by default.
with the exception of libpostproc runtime_cpudetect = no is not
supported thus having no as default really is quite odd, it results in
a libpostproc where HAVE_MMX* have very different meaning from the
rest of ffmpeg and it breaks any x86 cpu that doesnt support mmx2
because mmx2 is hardcoded as a result

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 13:17:29 +02:00
Anton Khirnov
11d1ca4b2c Use avcodec_free_frame() to free AVFrames. 2012-09-24 12:31:25 +02:00
Anton Khirnov
9eb296572e lavf: use a malloced AVFrame in try_decode_frame().
This allows using avcodec_free_frame() to free it properly.
2012-09-24 12:31:24 +02:00
Anton Khirnov
a42aadabc6 lavc: add avcodec_free_frame().
Since an AVFrame now has malloced members (extended_data), it must have
a destructor.
2012-09-24 12:31:24 +02:00
Anton Khirnov
b437cec143 lavc: ensure extended_data is set properly on decoding 2012-09-24 12:31:24 +02:00
Anton Khirnov
2bc0de3858 lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults() 2012-09-24 12:31:24 +02:00
Anton Khirnov
c084a975aa lavc: use av_mallocz to allocate AVFrames.
Otherwise the frame is uninitialized, so avcodec_get_frame_defaults()
cannot determine whether to free extended_data.
2012-09-24 12:31:24 +02:00
Anton Khirnov
a83499b13b lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
AVFrame is used for both audio and video, so calling the argument 'pic'
is misleading.
2012-09-24 12:31:24 +02:00
Stefano Sabatini
efa3d5af1e lavc/roqvideodec: fix error message
Remove redundant reference to codec name, it is already mentioned in the
log header.
2012-09-24 12:02:38 +02:00
Stefano Sabatini
b1fee1be61 lavc/roqvideodec: propagate reget_buffer() error code 2012-09-24 12:02:31 +02:00
Stefano Sabatini
d2c70ec07f lavc/roqvideodec: remove useless headers 2012-09-24 12:02:23 +02:00
Stefano Sabatini
d40b197ca8 tests/fate-ffprobe: fix typo in metadata comment 2012-09-24 10:32:52 +02:00
Stefano Sabatini
10c00f7a04 tests/fate-ffprobe: use an ffmetadata file for the injected metadata
Workaround commandline msys issues, also allow more flexibility.
Should fix ffprobe tests on mingw+MSVC.
2012-09-24 10:04:44 +02:00
Stefano Sabatini
64d340c62a lavf/utils: add error check in av_read_frame()
In particular, fix crash when the input file contains no packets (e.g. an
ffmeta input).
2012-09-24 00:41:13 +02:00
Michael Niedermayer
127b70e423 ra144: factor division out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 21:12:23 +02:00
Nicolas George
7200fecd9b cmdutils: sort codec lists.
The lists are sorted first by type (video first)
and then alphabetically by name.

Fix ticket #1669.
2012-09-23 21:05:29 +02:00
Samuel Pitoiset
cee1950bbb rtp: Packetization of JPEG (RFC 2435) 2012-09-23 21:58:41 +03:00
Martin Storsjö
71908f0838 smoothstreamingenc: Copy the SAR on the AVStreams as well
This is required in chained muxers, if the SAR happens to be set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-23 21:28:58 +03:00
Sebastien Zwickert
f25d53d95f configure: disable VDA on ppc, fix build
Fixes Ticket1760

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 17:27:44 +02:00
Reimar Döffinger
033f53fb8f Document why we always send a Range HTTP header.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-09-23 15:40:17 +02:00
Reimar Döffinger
3905caf251 Document that the MPEG12 "fast" functions can read out of bounds.
This is intentional (and a reason why fast usually should not be used),
but a few people sent patches to "fix" this recently so it would be
better to document this.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-09-23 15:40:17 +02:00
Clément Bœsch
2599541b3d WebVTT demuxer and decoder. 2012-09-23 15:24:08 +02:00
Dmitry Samonenko
697ea4fccf Introducing speex RTP demuxing (RFC 5574)
RTPDynamicProtocolHandler for speex is added. Initial support for
speex depacketization from RTP stream comes with it.
Currently, only codec audio rate can be applied based on sdp:
* Narrowband    ( 8K)
* Wideband      (16K)
* Ultrawideband (32K)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 14:20:13 +02:00
Dmitry Samonenko
b024c41e1e Add initial support for speex RTP packetization (RFC 5574)
* libspeex audio codec is no longer considered unsupported
  when using rtp as output format.
* SDP rtpmap is added for speex payload, formatted according to RFC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 14:08:48 +02:00
Michael Niedermayer
fecfdf6e72 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: fix memleak in avcodec_encode_audio2()

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 13:55:43 +02:00
Michael Niedermayer
f0bb88e2bc Revert "http: only send range header when necessary"
This reverts commit 48cf0f1c18.
This can cause problems with seekability detection
2012-09-23 13:21:35 +02:00
Michael Niedermayer
21c4393f1c lavf/find_stream_info: make sure we decode at least one frame for DTS
The channel layout at the demuxer layer is commonly wrong and would
otherwise be used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 04:56:51 +02:00
Michael Niedermayer
61a84755a9 lavf: dont open a decoder at the top of find_stream_info before probing has finished
It could open the wrong decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 04:56:21 +02:00
Duncan Salerno
48cf0f1c18 http: only send range header when necessary
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 02:36:08 +02:00
Duncan Salerno
0a8cc1179a http: larger buffer for long URIs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 02:35:42 +02:00
rogerdpack
641c0eea0b bitmap header lookup: add code comment
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 02:12:34 +02:00
Michael Niedermayer
697b476c07 wav: Fix DTS detection
Fixes Ticket1474

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 01:22:16 +02:00
Michael Niedermayer
a9f522d1b7 lavf: document request_probe properly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 01:22:16 +02:00
Michael Niedermayer
a380f82c53 lavf: allow using request_probe as a score threshold to accept a codec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 01:22:16 +02:00
Stefano Sabatini
740c995288 lavfi: add asendcmd and sendcmd filters 2012-09-23 00:50:06 +02:00
Stefano Sabatini
7fe1ecefe1 lavfi/hue: simplify/fix setting logic in set_options()
Parse expression only when a new value is explicitly specified.

In particular, avoid double free in case an old expression value is
cached, it is set in the context, it is freed as the old value, and
finally the pointer stored in the context is freed again when the filter
is released.
2012-09-23 00:46:33 +02:00
Michael Niedermayer
eb949544ca ffmpeg: fix 10l (use of uninitilaized variable)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 22:09:41 +02:00
Michael Niedermayer
374033ee93 ffmpeg: remove now unneeded old *_codec_name code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 18:58:51 +02:00
Michael Niedermayer
8ccb56abee ffmpeg/opt_output_file: extract subtitle codec name through new API
This should fix specifying subtitle codecs with the new syntax in some cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 18:57:47 +02:00
Michael Niedermayer
a4271f3d4e ffmpeg: dont match unspecified media types in MATCH_PER_TYPE_OPT
This would change existing behavior, and should if done, done seperately.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 18:56:10 +02:00
Michael Niedermayer
3db4c88ac1 ffmpeg/opt_preset: update to new option API for reading codec names.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 18:16:49 +02:00
Michael Niedermayer
bad953bc2d ffmpeg: fix overriding codecs with the new syntax
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 17:56:35 +02:00
Justin Ruggles
0ccf051a9d avcodec: fix memleak in avcodec_encode_audio2()
Ensure that padded_frame is freed before returning when needed.
2012-09-22 09:24:24 -04:00
Michael Niedermayer
8364bde02b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sipr: fall back to setting mode based on bit_rate.

Conflicts:
	libavcodec/sipr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 14:04:44 +02:00
Michael Niedermayer
79bf1f0ad0 rawdec: fix "warning: assignment from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 13:48:40 +02:00
Andrew Wason
225efccefc lavfi/buffersink: fix check on pixel_fmts in the opaque parameter
Fix programmatic selection of accepted pixel formats.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-22 10:59:40 +02:00
Stefano Sabatini
ab4ee9fd5e tests: update fate-ffprobe test to make use of -bitexact flag
Should fix tests with --enable-small.
2012-09-22 09:34:56 +02:00
Stefano Sabatini
42047c3e86 ffprobe: reindent after the previous commit 2012-09-22 09:34:56 +02:00
Stefano Sabatini
4cd1addcc4 ffprobe: add -bitexact boolean option
The option is mostly useful to make ffprobe output independent from the
build, and in particular to fix FATE --enable-small failures.
2012-09-22 09:34:56 +02:00
Michael Niedermayer
07cdd39478 pnmdec: use explicit casts to remove const to avoid warning with clang
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:51:47 +02:00
Michael Niedermayer
28e88a24f6 rtsp: fix "warning: ret may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:49:04 +02:00
Michael Niedermayer
0079232299 rtsp: kill a pointer type warning (void **) vs. (AVFormatContext **)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:45:12 +02:00
Michael Niedermayer
8d45c001a8 flac_parser: fix fifo ptr wrap check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:40:10 +02:00
Loren Merritt
1b1b902e2c hqdn3d: Fix out of array read in LOWPASS
Fixes ticket1752

Commit message by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 03:17:28 +02:00
Clément Bœsch
ea5bd7ea6f lavf/oggdec: check for begin-of-stream flag in case of chained streams.
Fix Ticket #1617, revealing a regression I introduced in 8f3eebd.

We need to make sure no stream is added in between Ogg context save and
restore operations (because it would likely lead to a mismatch between
ogg->nstreams and AVFormatContext->nb_streams after the restore op).
This is the reason the ogg->state check is added in ogg_new_stream().
Before this patch, checking for ogg->headers was preventing this:
ogg->headers is always set before any ogg save/restore (though, it was
also preventing from creating the stream when necessary).
2012-09-22 00:40:51 +02:00
Reimar Döffinger
c54e00610f sipr: fall back to setting mode based on bit_rate.
Not all applications (e.g. MPlayer) set block_align, and
when using a different demuxer it might not even be
easily available.
So fall back to selecting mode based on bit rate as before
if block_align has not useful value.
It can't be worse than failing to decode completely.

(cherry picked from commit 1d0d63052b)

CC: libav-stable@libav.org
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-09-21 20:11:23 +02:00
Clément Bœsch
405ee405c9 ffmpeg: complete mov/mp4 based timebase hack with "f4v" format. 2012-09-21 17:27:57 +02:00
Matthieu Bouron
41f7e0649f mxf: export ff_mxf_get_samples_per_frame to lavf
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 16:20:38 +02:00
Clément Bœsch
7bc70930dd lavf/movenc: add F4V flavor. 2012-09-21 15:14:11 +02:00
Michael Niedermayer
406cdddbdd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: add forgotten ;
  matroskadec: fix a sanity check.
  matroskadec: only return corrupt packets that actually contain data
  lavf: zero data/size of the packet passed to read_packet().
  ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
  ARM: align PIC offset pools to 4 bytes
  ARM: swap source operands in some add instructions
  configure: update tms470 detection for latest version
  lavf probe: prevent codec probe with no data at all seen
  motion_est: fix use of inline on extern functions

Conflicts:
	libavcodec/motion_est_template.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 14:44:32 +02:00
Stefano Sabatini
9543cd593e ffprobe: print format long_name only if non-NULL
Fix possible crash when long_name is not defined (for example if
--enable-small).
2012-09-21 13:59:18 +02:00
Stefano Sabatini
3aa1b53256 lavfi/hue: set to NULL freed pointers
Possibly safer.
2012-09-21 12:44:44 +02:00
Stefano Sabatini
31aa5b1a78 lavfi/hue: fix crash when resetting the saturation expression
Previously when saturation was reinited, the old value was freed when
setting options, and freed again in PARSE_EXPRESSION().
2012-09-21 12:43:52 +02:00
Stefano Sabatini
0f40105aaa ffprobe: print codec_long_name only when available
Avoid possible segmentation fault if codec_long_name is defined as
NULL (for example if --enable-small).
2012-09-21 09:27:06 +02:00
Anton Khirnov
e52e4fe10d libx264: add forgotten ; 2012-09-21 09:20:09 +02:00
Anton Khirnov
87b017a298 matroskadec: fix a sanity check. 2012-09-21 09:15:07 +02:00
Anton Khirnov
bdb939ad73 matroskadec: only return corrupt packets that actually contain data
Fixes bug 372.
2012-09-21 09:15:01 +02:00
Anton Khirnov
1cc569ddda lavf: zero data/size of the packet passed to read_packet(). 2012-09-21 09:14:37 +02:00
Mans Rullgard
8995d34972 ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
The Apple assembler refuses to assemble the 3-operand form
in Thumb2 even though it is valid syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-21 07:07:58 +01:00
Mans Rullgard
cdb7db5acd ARM: align PIC offset pools to 4 bytes
When building Thumb2 code, the end of a function, where the PIC
offsets are placed, need not be aligned.  Although the values
are only accessed with instructions allowing unaligned addresses,
keeping them aligned is preferable.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-21 07:07:58 +01:00
Michael Niedermayer
fb96ac469a nutdec: fix mixup of nb_streams and timebase_count
Fixes out of array read, should fix ffprove fate failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 06:29:24 +02:00
Michael Niedermayer
6ab1166c77 nutdec: fix type of intermediate variable for ts calculation.
Prior to this it could theoretically become negative and read
out of array.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 06:27:38 +02:00
Michael Niedermayer
3dc24600ba vsrc_testsrc: Fix case without a specified duration
Fixes regression since 98f753ec51

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 03:00:15 +02:00
Andrey Utkin
cc07a7925e Add av_copy_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 01:03:31 +02:00
Andrey Utkin
d33908a5fc Move av_dup_packet() copy logic to separate procedure
Done to simplify next commit introducing av_copy_packet()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 00:49:12 +02:00
Michael Niedermayer
a6ec1e49f6 matroskadec: matroska_parse_rm_audio: remove unused parameter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 23:43:20 +02:00
Michael Niedermayer
6d87781758 mp3dec: fix seeking without xing TOC
fixes regression from the xing toc support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 22:00:52 +02:00
Michael Niedermayer
5864ce13d1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3dec: read Xing frame TOC index
  mp3dec: use named constants for Xing header flags
  libx264: add support for nal-hrd, required for Blu-ray streams.
  mov: support random access point grouping
  matroskadec: properly support BlockDuration

Conflicts:
	libavcodec/libx264.c
	libavformat/isom.h
	libavformat/matroskadec.c
	libavformat/mov.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 21:46:35 +02:00
Michael Niedermayer
8c51ea5489 Merge commit 'c831ebf61629d219ebcaa9f02d262e67aad09d83'
* commit 'c831ebf61629d219ebcaa9f02d262e67aad09d83':
  matroskadec: split frame parsing
  matroskadec: split laces parsing

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 20:39:47 +02:00
Michael Niedermayer
b8044972c4 Merge commit '117d8c6d1f1c187ffc6098d9618457e00534e013'
* commit '117d8c6d1f1c187ffc6098d9618457e00534e013':
  matroska: implement support for ProRes
  matroska: implement support for ALAC

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 19:43:38 +02:00
Michael Niedermayer
0da50055eb matroskadec: fix typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 19:12:07 +02:00
Michael Niedermayer
6902c3acb0 Merge commit '870e75524aa0d00ebcd1d15589c8d29b84af1565'
* commit '870e75524aa0d00ebcd1d15589c8d29b84af1565':
  matroskadec: validate lace_size when parsed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 19:11:46 +02:00
Clément Bœsch
2f39d7ff3f lavfi/select: make lavc dependency optional. 2012-09-20 18:45:47 +02:00
Mans Rullgard
a27a690fac ARM: swap source operands in some add instructions
This allows using a 16-bit opcode when generating Thumb2 code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 17:07:18 +01:00
Mans Rullgard
0122118ec3 configure: update tms470 detection for latest version
v5.0 of the TI ARM compiler changes the version string.
This updates the detection to check for both the old and
the new strings.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 14:56:56 +01:00
Janne Grunau
6746cd7f61 lavf probe: prevent codec probe with no data at all seen
This occurs with fuzzed mpeg-ts files. set_codec_from_probe_data() is
called with a zeroed AVProbeData since no packet made through for
specific stream.
2012-09-20 14:50:06 +02:00
Michael Niedermayer
a16c512374 Merge commit 'c9a39cec70603f662f4c326b21b11c4f0112079a'
* commit 'c9a39cec70603f662f4c326b21b11c4f0112079a':
  matroskadec: return meaningful errors in matroska_decode_buffer
  matroskadec: fix incorrect unsigned->signed conversion

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 13:40:47 +02:00
Michael Niedermayer
1df2e3c707 Merge commit '8d4dd55c37b14ecea596f3477b35bf6c20688d8b'
* commit '8d4dd55c37b14ecea596f3477b35bf6c20688d8b':
  matroskadec: refactor matroska_decode_buffer

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 13:32:43 +02:00
jamal
33f92a3ea2 configure: fix git domain check with out of tree build
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 12:54:09 +02:00
Michael Niedermayer
db0087dc1d mxfdec: fix index_tables check in mxf_read_seek()
Approved-by: Tjoppen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 12:54:00 +02:00
Stefano Sabatini
5bd6a4800d tests: add fate-ffprobe test 2012-09-20 12:13:18 +02:00
Stefano Sabatini
53d71335cb lavd/lavfi: push frames until the last sink is EOF
Previously the device was returning EOF when the first sink was ending,
with the current change the device will continue to return frames until
all the sinks are EOF, which seems the most expected behavior.
2012-09-20 12:13:17 +02:00
Stefano Sabatini
98f753ec51 lavfi/testsrc: increase precision of the duration parameter
Compute duration in microseconds, rather than in timebase units. Decrease
approximation errors.
2012-09-20 12:13:17 +02:00
Mans Rullgard
a34a609fc1 motion_est: fix use of inline on extern functions
Inline functions declared without extern do not provide an external
definition in standard C99.  This code only works because most
compilers do not implement the inline semantics correctly.  With a
stricter compiler, linking fails with unresolved references to these
functions.

Declaring the functions extern inline works correctly with some
compilers while some others still fail to create external definitions.

For maximum portability, create a static inline version with an
externally visible wrapper for ff_get_mb_score.  ff_epzs_motion_search
is so large that no sane compiler inlines it anyway, so there the
inline keyword can simply be dropped with no effect.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-20 10:56:30 +01:00
Michael Niedermayer
16e52c86ba error_resilience: guess_dc: check malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 05:38:53 +02:00
Michael Niedermayer
d2981b8ef1 h263dec: disable coded dimensions = 0 handling
This code causes infinite loops

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 04:38:46 +02:00
Michael Niedermayer
61ced71d79 Merge commit '581281e242609a222233a2e5538b89dfb88fb18e'
* commit '581281e242609a222233a2e5538b89dfb88fb18e':
  matroskadec: check realloc in lzo encoding
  matroska: honor error_recognition on unknown doctypes
  tiffdec: Add support for GRAY16LE.
  tiffenc: Add support for little endian RGB48 and GRAY16
  mpeg4: support frame parameter changes with frame-mt
  mpegvideo: check ff_find_unused_picture() return value for errors
  mpegvideo: release frame buffers before freeing them
  configure: msvc: default to 'lib' as 'ar' tool
  build: support some non-standard ar variants

Conflicts:
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 03:20:29 +02:00
Matthieu Bouron
d57ca5e5a8 mxfenc: support 23.976 and 24 frame rates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 02:40:18 +02:00
Matthieu Bouron
906a263813 mxfenc: factorize samples per frame code
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 02:40:10 +02:00
Michael Niedermayer
d1974e05d1 j2k: fix "static is not at beginning of declaration" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 02:13:52 +02:00
Michael Niedermayer
161c6d1682 configure: Detect old git domain and inform the user about it.
Based on code by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 00:53:56 +02:00
Michael Niedermayer
168bc5f2c5 mov: fix 32/64 format type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 23:36:35 +02:00
Michael Niedermayer
36c2694d83 dcadec: fix "set but not used" variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 23:29:37 +02:00
Michael Niedermayer
c1f3a4d1e3 libavfilter/filtfmts: fix argv/argc checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 22:43:03 +02:00
Michael Niedermayer
f5326dc68e bavfilter/filtfmts: fix type for channel layouts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 22:19:06 +02:00
Michael Niedermayer
270a325f0c av_des_init: suppress warning about unused parameter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 21:57:58 +02:00
Anton Khirnov
50d1f4437b mp3dec: read Xing frame TOC index 2012-09-19 20:59:45 +02:00
Anton Khirnov
2d1a1a7f62 mp3dec: use named constants for Xing header flags 2012-09-19 20:59:44 +02:00
John Van Sickle
9bf41210a9 libx264: add support for nal-hrd, required for Blu-ray streams.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-19 20:59:24 +02:00
Yusuke Nakamura
d17d0ec8c2 mov: support random access point grouping
Frames described by this grouping are the starter of a closed or
an open GOP.
This is useful for open GOP of H.264 stream which is not described
by sync sample atom.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:15 +02:00
Luca Barbato
c831ebf616 matroskadec: split frame parsing 2012-09-19 20:34:14 +02:00
Luca Barbato
117d8c6d1f matroska: implement support for ProRes
Support Matroska native formatting.

On demuxing prepend a Frame container atom (32bit big endian encoded
frame size and 'icpf' string).
On muxing remove it.
2012-09-19 20:34:14 +02:00
Luca Barbato
870e75524a matroskadec: validate lace_size when parsed
Stricter validation, explicitly exit on misparsing and some error
forwarding from the ebml parsing functions used.
2012-09-19 20:34:14 +02:00
Luca Barbato
c9a39cec70 matroskadec: return meaningful errors in matroska_decode_buffer 2012-09-19 20:34:14 +02:00
Luca Barbato
8d4dd55c37 matroskadec: refactor matroska_decode_buffer
Make MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP behave like
the other encodings and spare few lines of boilerplate code.
2012-09-19 20:34:14 +02:00
Luca Barbato
7d8431004a matroskadec: properly support BlockDuration 2012-09-19 20:34:14 +02:00
Luca Barbato
2d0e7713f9 matroskadec: split laces parsing 2012-09-19 20:34:14 +02:00
Moritz Bunkus
8071dca3d5 matroska: implement support for ALAC
Support Matroska native formatting.

On demuxing reconstruct the 36-bytes QuickTime atom that the ALAC
decoder expects by prepending the "atom size", "tag" and
"tag version" fields missing from the Matroska's CodecPrivate
element.

On muxing remove the initial 12 bytes

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: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:14 +02:00
Dale Curtis
df1d84121b matroskadec: fix incorrect unsigned->signed conversion 2012-09-19 20:34:14 +02:00
Luca Barbato
581281e242 matroskadec: check realloc in lzo encoding
Make all the compression encodings behave the same way.
2012-09-19 20:34:13 +02:00
Luca Barbato
cd4739c4f2 matroska: honor error_recognition on unknown doctypes 2012-09-19 20:34:13 +02:00
Alex Converse
df6c3f9fb3 tiffdec: Add support for GRAY16LE.
Tested with the GraphicsMagick TIFF archive and Libav generated files.
2012-09-19 11:05:36 -07:00
Alex Converse
298ed797e1 tiffenc: Add support for little endian RGB48 and GRAY16 2012-09-19 11:05:36 -07:00
Janne Grunau
8701f4f8e8 mpeg4: support frame parameter changes with frame-mt
Adds a flag context_reinit to MpegEncContext to relieable keep track
of frame parameter changes which require a context reinitialization.
This is required for broken inputs which change the frame size but
error out before the context can be reinitialized.
2012-09-19 19:58:15 +02:00
Janne Grunau
01fc5d6609 mpegvideo: check ff_find_unused_picture() return value for errors 2012-09-19 19:58:15 +02:00
Janne Grunau
32c7589bb7 mpegvideo: release frame buffers before freeing them
Fixes triggering an assert in avcodec_default_release_buffer()
introduced in 1b3439b30.
2012-09-19 19:58:15 +02:00
Andrey Utkin
cb3591e697 avutil: Cast AV_NOPTS_VALUE to int64_t explicitly
Thus comparsion against int64_t value will not raise warning
(from -Wextra set) about comparsion of unsigned and signed integer

commiter added () and changed the litteral to unsigned

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 19:49:24 +02:00
Michael Niedermayer
d5fd610dab wmavoice: initialize best_hist_ptr to NULL to prevent (incorrect) warning.
As a sideeffect this makes the code more robust if a future change leaves
a path where it may be uninitialized otherwise.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 18:33:30 +02:00
Michael Niedermayer
8846115b1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rv34: use ff_MPV_common_frame_size_change()
  mpegvideo: add reinit function for frame parameter changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 15:30:34 +02:00
Michael Niedermayer
67d501b4f1 Merge commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c'
* commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c':
  mpegvideo: move frame size dependent memory management to separate functions
  configure: add --toolchain option
  configure: Make the smoothstreaming muxer enable the ismv muxer
  smoothstreaming: Export the mp4 codec tags
  mov: check for EOF in long lasting loops
  avcodec: cleanup utils.c
  binkaudio: remove unneeded GET_BITS_SAFE macro
  binkaudio: use float sample format
  binkaudio: use a different value for the coefficient scale for the DCT codec

Conflicts:
	configure
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 15:13:53 +02:00
Mans Rullgard
ac3a9b51f7 configure: msvc: default to 'lib' as 'ar' tool
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-19 14:09:50 +01:00
Mans Rullgard
3dbc777c7f build: support some non-standard ar variants
This adds support for the TI and Microsoft (lib.exe) variants of
the ar utility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-19 14:09:50 +01:00
Tim Nicholson
b90210e9c5 doc/filters: clarify use of graph2dot
The GRAPH_DESCRIPTION string supplied to graph2dot must include explicitly
defined inputs and outputs which are not normally part of the command line
used in a real invocation.

This clarifies that requirement, and provides an example.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-19 11:50:09 +02:00
Stefano Sabatini
f398617b19 ffprobe: fix CSV writer output
Fix regression introduced in 749ddc14fc.
2012-09-19 11:50:05 +02:00
Janne Grunau
b16d001b62 rv34: use ff_MPV_common_frame_size_change()
Specialised functionality for size changes with the advantage of
supporting frame size changes during frame-based multithreading.
2012-09-19 11:06:40 +02:00
Janne Grunau
435c0b87d2 mpegvideo: add reinit function for frame parameter changes
This is mainly required for frame parameter changes during frame based
multithreading but single threaded usage profits too from avoiding
ff_MPV_common_end()/ff_MPV_common_init() cycles.
2012-09-19 11:06:39 +02:00
Janne Grunau
1b3439b305 mpegvideo: move frame size dependent memory management to separate functions
This is a preparation for supporting frame size changes during
frame-based multithreading.
2012-09-19 11:06:31 +02:00
Bobby Bingham
d0c6ac0deb Fix segfault with -filters option
Filters now use null pointers to indicate having no input/output pads,
rather than empty lists of pads. We can't assume pad is non-null
anymore.

Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-09-18 23:27:43 -05:00
Bobby Bingham
f1b6c14297 ffserver: fix typo in log message
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-09-18 21:11:06 -05:00
Mans Rullgard
aeeb782c2a configure: add --toolchain option
This allows creating canned shorthands for common combinations
of cc, ld etc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-18 23:43:05 +01:00
Michael Niedermayer
8d07742cb1 avidec: workaround aac with broken block align
Fixes Ticket1742

Based on patch by: Nikola Vranic <nikola.vranic@rt-rk.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 22:39:54 +02:00
Derek Buitenhuis
8e2a950b29 ffprobe: Add a few common disposition cases
This info is crucial in knowing which stream to pick in an
automated setup.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-18 16:38:47 -04:00
Clément Bœsch
b89c16e73e lavfi/select: make sure avctx is set before closing it.
This avoid a crash when the filter fails before config_input(),
typically with a syntax error in the next filter:
    select=gt(scene\,.4),select=fail
2012-09-18 18:52:57 +02:00
Carl Eugen Hoyos
9e208ce6dd Silence warning C4554 when compiling with msvc.
warning C4554: '>>' : check operator precedence for possible error; use parentheses to clarify precedence

Reviewed-by: Derek Buitenhuis
2012-09-18 18:38:16 +02:00
Michael Niedermayer
0b2ac679e2 sonic: factorize tail_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 17:37:41 +02:00
Michael Niedermayer
512beea529 sonicenc: limit quant so that golomb codes are less than 32 bits long
before they could become 33 bits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 17:33:55 +02:00
Martin Storsjö
e772f9faec configure: Make the smoothstreaming muxer enable the ismv muxer
This doesn't fix any build failure, but the smoothstreaming muxer
opens a chained ismv muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-18 17:59:59 +03:00
Martin Storsjö
84cc314e40 smoothstreaming: Export the mp4 codec tags
This fixes stream copy from a format that already has incompatible
codec tags set. The chained ismv muxer exports this same codec tag
list, so set it on this one as well, to allow the caller (and
lavf common code) to set them correctly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-18 17:59:57 +03:00
Michael Niedermayer
efac6f7472 x86/mpegaudiodec: drop likely now unneeded #if HAVE_AVX_EXTERNAL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 16:15:17 +02:00
Michael Niedermayer
c0dfc720ef mpegaudiodec: add prototypes for all functions that may need them
fixes compile failure

Found-by: kriegerod
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 16:10:09 +02:00
Michael Niedermayer
36e5c472c8 allcodecs: re-enable sonic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 15:45:20 +02:00
Michael Niedermayer
a44cbc1cbc sonic: update to encode2() API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 15:45:07 +02:00
Luca Barbato
9888ffb1ce mov: check for EOF in long lasting loops
A quite widespread pattern in the demuxer is read a 32bit unsigned
integer and then loop till this value is reached.

Checking for EOF prevents pathological situations.
2012-09-18 15:32:52 +02:00
Luca Barbato
419ffb2390 avcodec: cleanup utils.c 2012-09-18 15:32:52 +02:00
Justin Ruggles
ee90119e9e binkaudio: remove unneeded GET_BITS_SAFE macro
Normal get_bits() already has overread protection.
2012-09-18 09:27:23 -04:00
Justin Ruggles
7bfd1766d1 binkaudio: use float sample format
Use planar for DCT codec, interleaved for RDFT codec.
2012-09-18 09:27:23 -04:00
Justin Ruggles
0801b5979b binkaudio: use a different value for the coefficient scale for the DCT codec
Eliminates the need for vector_fmul_scalar() in each frame.
2012-09-18 09:26:56 -04:00
Michael Niedermayer
4cdc337b5d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flvenc: silence bogus warning
  configure: include flags in nm variable
  alsdec: fix misplaced parentheses.
  alsdec: check return values.
  alsdec: fix number of decoded samples in first sub-block in BGMC mode.
  alsdec: Fix out of ltp_gain_values read.
  alsdec: Check that quantized parcor coeffs are within range.
  alsdec: check opt_order.

Conflicts:
	configure
	libavcodec/alsdec.c
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 15:06:43 +02:00
Michael Niedermayer
91af76099e Merge commit '23aae62c2cb4504a09ceb8cd0cabc1c8b260f521'
* commit '23aae62c2cb4504a09ceb8cd0cabc1c8b260f521':
  alsdec: Check k used for rice decoder.
  avfiltergraph: silence an uninitialized variable warning
  xsubenc: reindent
  lavc: replace AVCodecContext.encode with subtitle-specific callback
  lavc: add const to private codec class initialization.
  avconv: don't pass a bogus parameter to avfilter_graph_create_filter().
  id3v2: strdup the genre name explicitly.
  lavf/id3v2: do not export empty fields.
  buffersrc: add const to the AVFrame* argument of av_buffersrc_write_frame()
  lavfi: replace empty input/output lists with null pointers

Conflicts:
	ffmpeg_filter.c
	libavcodec/alsdec.c
	libavcodec/dvdsubenc.c
	libavcodec/utils.c
	libavcodec/v210dec.h
	libavfilter/af_channelsplit.c
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 14:45:44 +02:00
Bobby Bingham
4aade44c4a targaenc: Use named TGA_RLE constant instead of magic number 2012-09-18 10:45:09 +02:00
Bobby Bingham
8e59062597 Fix typo in targa encoder comment 2012-09-18 10:44:32 +02:00
Benjamin Larsson
6a08955c10 flvenc: silence bogus warning
The compiler fails to figure out that enc->codec_type can only
have 3 different values.
Thus when an if/else is encountered it triggers on the possibility
of the else case has not initialized the flags variable.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-18 10:31:04 +02:00
Bobby Bingham
6e03da7f35 doc: fix typos in filter documentation
Signed-off-by: Bobby Bingham <uhmmmm@gmail.com>
2012-09-18 09:06:44 +02:00
Michael Niedermayer
70a9734544 dsputil: change assert(8) to av_assert2(8)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 05:27:23 +02:00
Michael Niedermayer
db436b17e9 swscale: change assert() to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 05:19:11 +02:00
Michael Niedermayer
a1fb2b935a nsvdec: change 2 commented assert() to av_assert()
they keep showing up if i grep for non av assert()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 05:08:32 +02:00
Michael Niedermayer
66bdc58550 get_cabac_inline_x86: workaround clang bug with disabled optimizations
gcc produces binary identical output relative to before this change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 00:45:29 +02:00
Mans Rullgard
2a8a860ae6 configure: include flags in nm variable
This simplifies ensuring proper flags are used when the default
is overridden by the system or on the command line.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-17 22:36:06 +01:00
Andrey Utkin
b0fabed20f When copying pkt side_data, don't forget size, type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 22:36:28 +02:00
Lyubomir Marinov
63951aec2b libx264: feed x264_param_apply_profile from AVCodecContext.profile in absence of other information
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 21:31:57 +02:00
Lyubomir Marinov
fd9cd8cd5a libx264: connect AVCodecContext.rtp_payload_size to x264_params_t.i_slice_max_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 21:31:57 +02:00
Reimar Döffinger
07d2d06395 Remove code that duplicates existing code a few lines down.
This also fixes a potential crash since s->pb can be NULL.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-09-17 21:17:43 +02:00
Derek Buitenhuis
5c95a93411 dirac_arith: Fix unprotected inline asm
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-17 15:00:40 -04:00
Clément Bœsch
ee0f53e966 alsdec: fix misplaced parentheses.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Thilo Borgmann
ac3f5a6879 alsdec: check return values.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Thilo Borgmann
66197988b1 alsdec: fix number of decoded samples in first sub-block in BGMC mode.
Fixes CVE-2012-2790

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Thilo Borgmann
97f0efbfb8 alsdec: Fix out of ltp_gain_values read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Michael Niedermayer
5b051ec3bd alsdec: Check that quantized parcor coeffs are within range.
ALS spec:
	11.6.3.1.1 Quantization and encoding of parcor coefficients
	...
	In all cases the resulting quantized values ak are restricted to the range [-64,63].

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:27 -04:00
Michael Niedermayer
23aae62c2c alsdec: Check k used for rice decoder.
Values that fail this check will cause failure of decode_rice()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:26 -04:00
Michael Niedermayer
9853e41aa0 alsdec: check opt_order.
Fixes out of array write in quant_cof.
Also make sure no invalid opt_order stays in the context.

Fixes CVE-2012-2775

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-17 14:17:26 -04:00
Anton Khirnov
e3496e5dbe avfiltergraph: silence an uninitialized variable warning
The warning is:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:528:9: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
libavfilter/avfiltergraph.c:479:13: note: ‘best_idx’ was declared here

Initialize it to an invalid value and add an assert that it's properly
set later.
2012-09-17 15:48:20 +02:00
Anton Khirnov
34ebbbfeec xsubenc: reindent 2012-09-17 15:48:20 +02:00
Anton Khirnov
466b39efaf lavc: replace AVCodecContext.encode with subtitle-specific callback
AVCodecContext.encode is currently used only for subtitles, encode2 is
used for audio and video.
2012-09-17 15:48:20 +02:00
Anton Khirnov
9f64c8219a lavc: add const to private codec class initialization.
Silences a warning about discarding const.
2012-09-17 15:48:20 +02:00
Anton Khirnov
58dee6e62d avconv: don't pass a bogus parameter to avfilter_graph_create_filter().
The buffer sink does not take any parameters.

Fixes an uninitialized variable warning.
2012-09-17 15:48:20 +02:00
Clément Bœsch
049ce4facb id3v2: strdup the genre name explicitly.
It would have been done anyway in the av_dict_set() call.

This simplifies the code and avoid a warning because of assigning a
const string from ff_id3v1_genre_str to a non-const variable.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-17 15:48:20 +02:00
Clément Bœsch
ffdd2e9144 lavf/id3v2: do not export empty fields.
This also avoids a memleak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-17 15:48:20 +02:00
Anton Khirnov
4e48aa8656 buffersrc: add const to the AVFrame* argument of av_buffersrc_write_frame() 2012-09-17 15:48:20 +02:00
Mans Rullgard
1fce361d70 lavfi: replace empty input/output lists with null pointers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-17 14:35:06 +01:00
Michael Niedermayer
291b220377 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: flush filtered frames before reconfiguring filters
  mov: stsd entries must be at least 16 byte
  mov: detect EOF in mov_read_dref()
  file: return proper error on seek failures

Conflicts:
	libavformat/file.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 15:15:43 +02:00
Stefano Sabatini
1ad63ff14a fate: add av_small_strptime() test to fate-parseutils 2012-09-17 12:46:55 +02:00
Stefano Sabatini
85c93d90df lavu/parseutils: fix av_small_strptime() whitespace directive parsing
According to POSIX, strptime() should consume whitespaces in the date
string everytime a whitespace conversion specification is found in the
date format specification. Make av_small_strptime() conform with this
behavior.

In particular, should fix trac ticket #1739.
2012-09-17 12:45:56 +02:00
Janne Grunau
2f34021d57 avconv: flush filtered frames before reconfiguring filters
This prevents lost frames after a resolution change.
2012-09-17 10:49:27 +02:00
Michael Niedermayer
83438a0db3 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: dont wait 100ms if data is not yet ready

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 00:41:07 +02:00
Marton Balint
d8f8e911bd ffplay: dont wait 100ms if data is not yet ready
Also signal the wait if audio buffer is empty. This fixes jerky audio with
realtime sources.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-16 19:07:28 +02:00
Michael Niedermayer
a593f5bd9d arm/dca: Fix compilation of decode_blockcodes() with --enable-thumb
Fix Suggested-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 19:06:11 +02:00
Clément Bœsch
094991eb69 lavf/oggdec: reword stream creation error message. 2012-09-16 18:28:52 +02:00
Clément Bœsch
23f6420026 lavf/oggdec: reindent and comment blocks. 2012-09-16 18:28:51 +02:00
Clément Bœsch
a218c5ebd2 lavf/oggdec: make stream replacement less convoluted.
Also re-use the allocated buffer instead of re-allocating a new one.
2012-09-16 18:28:15 +02:00
Clément Bœsch
e18ea76523 lavf/oggdec: more explicit zeroing of the new ogg stream. 2012-09-16 18:28:14 +02:00
Clément Bœsch
3a89553347 lavf/oggdec: rework allocations in ogg_new_streams(). 2012-09-16 18:27:58 +02:00
Michael Niedermayer
a5ea623b36 mov: stsd entries must be at least 16 byte
Fix near infinite loop in stsd parsing.
Bug found by: Diana Elena Muscalu

The size is unsigned according the specification.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-16 16:53:06 +02:00
Clément Bœsch
edca80387c lavf/oggdec: simplify destroying streams with chained audio streams.
nstreams is assumed to be 1 at that point, so the loop is pointless.
2012-09-16 16:52:06 +02:00
Clément Bœsch
277ddf127d lavf/oggdec: rename str to sid.
"str" is misleading here (it's often used for string). "sid" makes more
sense to identify a stream id.
2012-09-16 16:52:06 +02:00
Clément Bœsch
e1ca1dd71b lavf/oggdec: remove a comment not matching anything. 2012-09-16 16:52:06 +02:00
Clément Bœsch
bf8bfc6a11 lavf/oggdec: inline ogg_get_headers().
There is no point in a distant definition of a small function like this
used only once.

Additional spacing to distinguish better the block.
2012-09-16 16:52:06 +02:00
Carl Eugen Hoyos
6fa2532dd3 vda_h264.c: Change header inclusion order.
Fixes compilation with XCode 3.2.6.
Fixes ticket #1736.
2012-09-16 16:43:27 +02:00
Carl Eugen Hoyos
52ef5ca9bb Mentioning 8bps once in the FFmpeg documentation is sufficient. 2012-09-16 16:31:33 +02:00
Michael Niedermayer
9db67bedf0 mov: detect EOF in mov_read_dref()
Avoid a near infinite loop.
Issue discovered by cosminamironesei.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-16 16:31:03 +02:00
Luca Barbato
4ed5ac50d3 file: return proper error on seek failures 2012-09-16 15:37:14 +02:00
Michael Niedermayer
e80cbdbc57 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: drop unnecessary arguments to hpel_motion()
  mpegvideo: drop 'inline' from some functions
  nellymoserdec: drop support for s16 output.
  bmpdec: only initialize palette for pal8.
  build: Properly remove object files while cleaning
  flacdsp: arm optimised lpc filter
  compat/vsnprintf: return number of bytes required on truncation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:55:00 +02:00
Michael Niedermayer
744e4429cf mp3enc: merge mp2/mp3_write_trailer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:37:50 +02:00
Michael Niedermayer
197bbcf44c mp3enc: move mp3_update_xing() down
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:31:58 +02:00
Michael Niedermayer
f276a490f0 Merge commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b'
* commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b':
  avformat: fix typo in avformat_close_input
  mp3enc: write Xing TOC
  mp3enc: support MPEG-2 and MPEG-2.5 in Xing header.
  mp3enc: downgrade some errors in writing Xing frame to warnings
  lavf: flush the output AVIOContext in av_write_trailer().
  lavf: cosmetics, reformat av_write_trailer().
  avio: flush the internal buffer in avio_close()
  Enhance doc on asyncts audiofilter
  cmdutils: avoid setting data pointers to invalid values in alloc_buffer()
  libavcodec: remove av_destruct_packet_nofree()

Conflicts:
	libavcodec/avpacket.c
	libavformat/mp3enc.c
	libavformat/nutenc.c
	libavformat/utils.c
	libavformat/version.h
	tests/ref/lavf/voc
	tests/ref/lavf/voc_s16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:24:11 +02:00
Mans Rullgard
2568646abb mpegvideo: drop unnecessary arguments to hpel_motion()
These arguments are either constants or copies of MpegEncContext
fields just as easily accessed within the function.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-16 11:18:21 +01:00
Mans Rullgard
66f5a6b419 mpegvideo: drop 'inline' from some functions
These functions do not benefit from being inlined.  They are large,
and there are no opportunities for constant propagation.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-16 11:18:21 +01:00
Anton Khirnov
66f52d0c3d nellymoserdec: drop support for s16 output.
It internally decodes as float and then converts to s16 by a call to
float_to_int16(). The caller can do this just as well by using lavr.
2012-09-16 09:44:26 +02:00
Anton Khirnov
8b78c2969a bmpdec: only initialize palette for pal8.
Gray8 is not considered to be paletted, so this would cause an invalid
write.

Fixes bug 367.

CC: libav-stable@libav.org
2012-09-16 09:43:17 +02:00
Clément Bœsch
d214e5cfb4 lavc/ass_split: add ff_ prefix to ass_style_get(). 2012-09-16 03:05:01 +02:00
Clément Bœsch
74434d3bfe lavfi/ass: mark ass_libavfilter_log_level_map as static const. 2012-09-16 02:59:43 +02:00
Clément Bœsch
ca81e3b6e7 lavf/mkv: prefix video stereo arrays with ff_. 2012-09-16 02:58:40 +02:00
Clément Bœsch
8b05220727 lavu/error: make error_entries static const. 2012-09-16 02:53:32 +02:00
Hendrik Leppkes
e3a1eb9edf af_pan: Fix sscanf formats to work with buggy sscanf implementations
Some implementations of sscanf do not handle a space before a trailing %n
properly.

As an example, MSVC's does this for the second insatnce in this patch, for
an input of "0x3:c0=c1:c1=c0":
    1) Match the final "c0" or "c1".
    2) Realize it's at the end of the string.
    3) Check for %n.
    4) There is no %n, but a space instead.
    5) Leave 'len' unitilialized.

So, move it out of the sscanf format strings, and call skip_spaces instead.

This bug does not affect skip_spaces since %n is the first and only formatting
string.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 19:49:34 -04:00
Derek Buitenhuis
d512e74dec bprint: Remove custom vsnprintf
A proper implementation was introduced in
ba53720280 for MSVC, and
MinGW already has vsnprintf.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 19:47:10 -04:00
Ronald S. Bultje
663c21d4ac compat/vsnprintf: return number of bytes required on truncation.
This conforms to C99, but requires Windows >= XP.
2012-09-15 19:46:54 -04:00
Derek Buitenhuis
e1b4496040 msvc: Add a va_copy compatability macro for msvc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 19:46:48 -04:00
Derek Buitenhuis
31fbdecce8 msvc: Disable stripping
MSVC-built binaries should not be stripped.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 19:44:54 -04:00
Mans Rullgard
1c9d54b468 build: Properly remove object files while cleaning
Previously, object files in, for example, compat/ were left
after a clean or distclean was run.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 19:44:05 -04:00
Mans Rullgard
7689eea49a flacdsp: arm optimised lpc filter 2012-09-15 23:54:21 +01:00
Alexander Strasser
49f3b331c7 lavf/segment: Use distinct IDs for list type ext & csv
Remove a bogus warning when using segment_list_type csv.

The LIST_TYPE_EXT constant is only used internally, so it can
be removed when the feature (segment_list_type ext) gets removed.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-15 22:58:12 +02:00
Alexander Strasser
3245be95ac lavf/segment: Rename variable in print_csv_escaped_str()
Rename a local variable to make the code more self-explanatory.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-15 22:58:11 +02:00
Alexander Strasser
bac1b31bf6 lavf/segment: Simplify CSV field quoting code
Should also be faster (though I doubt that hardly ever matters
for the usage here).

Also remove the pointer copy. Since we do not need to reset the
pointer to the start of the string, it is not needed anymore.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-15 22:55:21 +02:00
Andrey Utkin
aefed6ca87 udp: pick params from AVOptions also
This updated version does not deviate from previous behavior on default value of 'buffer_size'

I skipped porting 'sources', 'block' options for now as they're parsed seriously. So i added TODO remarks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 22:13:21 +02:00
Michael Niedermayer
0da0b5e0f8 pngdec: av_log() zlib errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 22:13:21 +02:00
Derek Buitenhuis
5a627c14b5 Remove mt-work directory
It is all dead and rotting code.

Also, move yuvcmp.c to tools. Its license is non-existent, however,
and should be clarified.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 15:40:36 -04:00
Ronald S. Bultje
c1c8fdab46 compat/vsnprintf: return number of bytes required on truncation.
This conforms to C99, but requires Windows >= XP.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-15 14:33:11 -04:00
Ben Jackson
374c17c8fc lavc/vp56: Re-indent functions affected by threading refactor
All whitespace plus a curly brace.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:52 +02:00
Ben Jackson
39a3894ad5 lavc/vp6: Implement "slice" threading for VP6A decode
The YUV channels of VP6 are encoded in a highly linear fashion which does
not have any slice-like concept to thread.  The alpha channel of VP6A is
fairly independent of the YUV and comprises 40% of the work.  This patch
uses the THREAD_SLICE capability to split the YUV and A decodes into
separate threads.

Two bugs are fixed by splitting YUV and alpha state:
- qscale_table from VP6A decode was for alpha channel instead of YUV
- alpha channel filtering settings were overwritten by YUV header parse

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:47 +02:00
Ben Jackson
1c20fcf0b0 lavc/vp56: Simplify get/release_buffer code
Rather than cleverly managing frame pointers with swaps to avoid
re-using "golden" frames, just do brute-force management of the
4 AVFrames.  New strategy is probably no more costly and is easier
to adapt to threaded usage.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:40 +02:00
Ben Jackson
eebc11ebc8 lavc/vp56: Move golden_frame into VP56Context
Makes golden_frame more like other frame data, paves way for threading
alpha channel decode.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:35 +02:00
Ben Jackson
6e86d6af6b lavc/vp6: Refactor vp6_decode_init into vp6_decode_init/vp6_decode_init_context
Pave the way for per-thread context initialization.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:29 +02:00
Ben Jackson
23503cadd1 lavc/vp56: Refactor ff_vp56_init into ff_vp56_init/ff_vp56_init_context
Pave the way for per-thread context initialization.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 20:26:22 +02:00
Luca Barbato
3f7fd59d15 avformat: fix typo in avformat_close_input
The condition should not be &&.
2012-09-15 20:23:39 +02:00
Anton Khirnov
7040c9fac2 mp3enc: write Xing TOC
Based on the code by:
Peter Belkner <pbelkner@snafu.de>,
Michael Niedermayer <michaelni@gmx.at>,
Clément Bœsch <clement.boesch@smartjog.com>,
Reimar Döffinger <Reimar.Doeffinger@gmx.de>, and
Tobias Rapp <t.rapp@noa-audio.com>
Alex Converse <alex.converse@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-15 18:25:34 +02:00
Clément Bœsch
ca8e39dd0d mp3enc: support MPEG-2 and MPEG-2.5 in Xing header. 2012-09-15 18:25:22 +02:00
Reimar Döffinger
6365e4db79 mp3enc: downgrade some errors in writing Xing frame to warnings
Also clarify the meaning of the log message.
2012-09-15 18:25:15 +02:00
Anton Khirnov
3b4bb19e63 lavf: flush the output AVIOContext in av_write_trailer().
This is consistent with stdio and is what we want to do in all cases.

Fixes a bug in the voc muxer which didn't flush in write_trailer()
previously. This is the cause of the change in the test results.
2012-09-15 18:25:07 +02:00
Anton Khirnov
0c270239c2 lavf: cosmetics, reformat av_write_trailer(). 2012-09-15 18:24:59 +02:00
Stefano Sabatini
5d1203f063 avio: flush the internal buffer in avio_close()
This is consistent with stdio, and thus what people would naturally
expect.
2012-09-15 18:24:49 +02:00
Michael Niedermayer
47277c4153 x86/v210: fix xmm clobbers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 16:26:00 +02:00
Andrey Utkin
aa7c88df50 Document tcp proto 'timeout' parameter behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 16:26:00 +02:00
Nicolas George
a9e4817716 ffmpeg: use PTS from the AVSubtitle structure for sub2video. 2012-09-15 16:14:33 +02:00
Nicolas George
2939e258f9 ffplay: use PTS from the AVSubtitle structure. 2012-09-15 16:14:33 +02:00
Nicolas George
6d8b32633e ffmpeg: use PTS from the AVSubtitle structure. 2012-09-15 16:14:33 +02:00
Nicolas George
37bbc9eb8b lavc/pgssubdec: use the PTS from the presentation segment.
According to the sample for trac ticket #1722, PGS subtitles
are decoded from several packets at the same DTS and varying PTS.
The PTS from the presentation segment seem to be the valid one;
in particular, clear subtitles are too early with the other PTS.
2012-09-15 16:14:33 +02:00
Nicolas George
9dd8272431 lavc: set AVSubtitle.pts if possible.
If the packet has a PTS and the corresponding time base is known,
set the pts field of the decoded subtitle structure before the
call to the decoder. The decoder is still allowed to change the
PTS if necessary.
2012-09-15 15:58:42 +02:00
Nicolas George
1b9a251438 ffmpeg: call sub2video_update for end packets.
Without that change, all subtitles will stay until the next one.
2012-09-15 15:58:42 +02:00
Andrey Utkin
0443879089 Enhance doc on asyncts audiofilter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-15 14:59:29 +02:00
Anton Khirnov
990450c5bf cmdutils: avoid setting data pointers to invalid values in alloc_buffer()
Fixes bug 352.
2012-09-15 14:59:29 +02:00
Mans Rullgard
cb6632809d libavcodec: remove av_destruct_packet_nofree()
This function was deprecated two major versions ago (2009).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-15 13:50:35 +01:00
Michael Niedermayer
f1ca40ee00 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  riff: Add SVQ3 fourcc
  fate: ac3: add 4.0 and downmix tests
  configure: x86: improve ebp availability check
  vorbisdec: ensure FASTDIV denominator is never 1
  avformat: refactor avformat_close_input
  avformat: simplify avformat_close_input

Conflicts:
	configure
	libavcodec/vorbisdec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 10:35:26 +02:00
Michael Niedermayer
ab94d1be7a bintext: mark hscroll() as unused
This fixes a warning about a unused function
Alternatively the function could be removed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 04:06:32 +02:00
Akihiro Tsukada
c3c646a868 aacdec: add support for dual mono in Japanese DTV
Japanese DTV uses some non standard extensions in AAC audio.
One example is 'dual mono', which combines two independent
audio into one stereo stream, storing them in left and right channels
respectively.  Historically, dual mono audio has been used for
multi-lingual audio, one for local/native language, and another for english,
and usually the "main" (local language) channel should be output without
any user interactions.

The frames of those dual mono audio are allowed to set
ADTS channel_config field to 0, and just contain two SCE's *WITHOUT* PCE,
which is a non standard extension by Japanese DTV standard.
(ref. ARIB STD-B32 PartII 5.2.3)

This patch adds an AVPacket side data, AV_PKT_DATA_JP_DUALMONO,
which indicates that the AVPacket is likely to contain an audio frame
with the above dual mono extension, and has the parameter to specify
the desired channel selection in that case.
It also makes aacdec to detect dual mono and output just the desired
channel when this side data is attached.

Signed-off-by: Akihiro Tsukada <atsukada@users.sourceforge.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 03:50:04 +02:00
Jérémy Tran
75d34864d1 lavfi/hue: add dynamic expression evaluation support
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-15 01:05:27 +02:00
Stefano Sabatini
8bdba0b3e9 tools: move raw-test program to tools, with the name fourcc2pixfmt 2012-09-14 23:04:38 +02:00
Derek Buitenhuis
1c56cdad33 riff: Add SVQ3 fourcc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-14 14:12:52 -04:00
Derek Buitenhuis
fef412a24d riff: Add SVQ3 fourcc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 19:48:45 +02:00
Michael Niedermayer
e2d643efcd lavf/compute_pkt_fields: only run pts by duration correction if reference ts is available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 19:47:41 +02:00
Mans Rullgard
07e87858d4 fate: ac3: add 4.0 and downmix tests
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-14 15:26:05 +01:00
Mans Rullgard
692dd8ed26 configure: x86: improve ebp availability check
Some compilers are extra strict about register usage in main(),
disallowing ebp in inline asm there while allowing it elsewhere.
This change makes the test better reflect actual usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-14 15:26:05 +01:00
Luca Barbato
714508bcb9 vorbisdec: ensure FASTDIV denominator is never 1
In both usages of FASTDIV the denominator might be 1.

Using a branch could make the function slower than using a normal
division.

Both denominator and numerator can be multiplied by 2 safely and
using shifts is faster than using a branch.
2012-09-14 14:26:27 +02:00
Luca Barbato
44272c1ccc avformat: refactor avformat_close_input
Do not crash if the input format is not allocated yet.
2012-09-14 14:26:27 +02:00
Luca Barbato
4d1f443c3d avformat: simplify avformat_close_input
avio_close checks by itself for NULL condition.
2012-09-14 14:26:27 +02:00
Michael Niedermayer
509f502902 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Move Xvid IDCT put/add functions to a more suitable place
  trasher: Include all the necessary headers
  x86: Remove some leftover declarations for non-existent functions
  ARM: libavresample: NEON optimised generic fltp to s16 conversion
  ARM: libavresample: NEON optimised stereo fltp to s16 conversion
  ARM: libavresample: NEON optimised flat float to s16 conversion

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 14:13:38 +02:00
Stefano Sabatini
363307813e tools/graphdot: unbreak syntax
Fix regression introduced in f054dbee6c.
+10.23l.
2012-09-14 11:29:25 +02:00
Stefano Sabatini
dead4580e2 lavfi/avcodec: apply cosmetics style fixes 2012-09-14 11:06:40 +02:00
Stefano Sabatini
8d0e871f25 ffprobe: kill initializers with nested union field definition
The c99-to-c89 converter (for MSVC support) doesn't currently handle
designated initializers or compound literals with nested unions or
structs.

This is apparently the only place where this construct is used in the
FFmpeg codebase.
2012-09-14 10:47:08 +02:00
Stefano Sabatini
5e99a23b2d ffprobe: avoid potentially lossy long long int -> double cast in value_string()
Previously the cast long long int -> double was always performed (and
then the double was converted back to long long int) even when it was
avoidable.
2012-09-14 10:42:54 +02:00
Ben Jackson
e3329474a3 pthread: Avoid crashes/odd behavior caused by spurious wakeups
pthread_wait_cond can wake up for no reason (Wikipedia: Spurious_wakeup).
The FF_THREAD_SLICE thread mechanism could spontaneously execute jobs or
allow the caller of avctx->execute to return before all jobs were complete.
This adds tests to both cases to ensure the wakeup is real.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 06:36:55 +02:00
Michael Niedermayer
93b240f4a5 mpegaudio_parser: reset state to prevent it to be random
Fixes Ticket1718

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 05:55:11 +02:00
Michael Niedermayer
570931d411 aacpsy: psy_3gpp_analyze_channel() handle energy == 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 03:27:25 +02:00
Michael Niedermayer
413b32f808 aacpsy: calc_reduction_3gpp() handle active_lines = 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 03:26:19 +02:00
Michael Niedermayer
062091f87f compute_pkt_fields2: dont interpret max_b_frames of <0 as there being b frames.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 02:30:00 +02:00
Diego Biurrun
58139e141b x86: dsputil: Move Xvid IDCT put/add functions to a more suitable place 2012-09-14 01:59:47 +02:00
Michael Niedermayer
c21f81999a mpegaudioenc: replace pow(2,.. by exp2(
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 22:44:42 +02:00
Stefano Sabatini
51fa653829 examples/decoding_encoding: clarify operations in the usage message 2012-09-13 22:19:45 +02:00
Martin Storsjö
18d8825517 trasher: Include all the necessary headers
The missing headers are required for errno and for strerror.
This fixes building of this tool on mingw32ce.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 23:12:54 +03:00
Diego Biurrun
2017f0fdb7 x86: Remove some leftover declarations for non-existent functions 2012-09-13 21:38:47 +02:00
Stefano Sabatini
bcf93f78a5 examples/decoding_encoding: replace "picture" with "frame" in encode_example()
The use of "picture" in place of "frame" is confusing.
2012-09-13 20:49:59 +02:00
Stefano Sabatini
70b671a283 examples/decoding_encoding: apply various message log fixes 2012-09-13 20:49:59 +02:00
Mans Rullgard
8ff7857861 ARM: libavresample: NEON optimised generic fltp to s16 conversion
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-13 19:15:43 +01:00
Mans Rullgard
d26de339af ARM: libavresample: NEON optimised stereo fltp to s16 conversion
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-13 19:15:43 +01:00
Mans Rullgard
643b5b794f ARM: libavresample: NEON optimised flat float to s16 conversion
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-13 19:15:42 +01:00
Nicolas George
8ad54a44eb lavfi: check that buffer and link properties match. 2012-09-13 20:09:53 +02:00
Nicolas George
c262ddb8c5 lavfi: set sample_rate in the default allocator. 2012-09-13 20:09:53 +02:00
Michael Niedermayer
9d89d1d484 swr/resample: mark mm_flags as potentially unused
They are unused when asm is disabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 19:31:02 +02:00
Michael Niedermayer
bd3977267e x86_cpu.h: newline at the end to shutup some warnings in opencc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 19:31:02 +02:00
Derek Buitenhuis
59db014b5b Revert "lavc/libx264: remap X264_LOG_INFO loglevel from AV_LOG_INFO to VERBOSE"
You should not need to enable verbose logging and all the output that comes
with it in order to get things like the obtained bitrate from a first
pass encode. Many things parse this output.

Also, since it is marked as info in libx264, it should be marked as
info in libavcodec as well.

This reverts commit 911519caec.
2012-09-13 10:57:50 -04:00
Michael Niedermayer
75f3e0ad95 mpegvideo: skip ff_print_debug_info() for VDPAU
Based on code by: MEANX / gruntster (Avidemux Rev 7990 — 2012-05-30 13:02:27)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 16:22:42 +02:00
Michael Niedermayer
bc3d5173cc libavformat.v: export ffurl_protocol_next
This is used by avidemux, and is likely usefull to others too.

Patch by: gruntster (Avidemux Rev 7990 — 2012-05-30 13:02:27)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 16:21:25 +02:00
Michael Niedermayer
0ed0f2e566 sws: revert: "swscale: Remove two bogus asserts"
Also change them to av_assert

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 15:53:05 +02:00
Michael Niedermayer
e3e09f2bad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  os_support: Choose between direct.h and io.h using a configure check
  os_support: Include io.h instead of direct.h on mingw32ce
  x86: ac3dsp: Only refer to the ac3_downmix_sse symbol if it has been declared
  swscale: Remove two bogus asserts
  ac3: move ac3_downmix() from dsputil to ac3dsp
  lavr/audio_mix_matrix: acknowledge the existence of LFE2.
  mlp_parser: avoid mapping multiple disctinct TrueHD channels to the same Libav channel.
  lavu/audioconvert: add a second low frequency channel.

Conflicts:
	doc/APIchanges
	libavcodec/ac3dsp.c
	libavcodec/ac3dsp.h
	libavcodec/mlp_parser.c
	libavutil/audioconvert.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 15:35:50 +02:00
Michael Niedermayer
c942e8b1d7 Merge commit '07584eaf4a95db3f11d3bc411f9786932829e82b'
* commit '07584eaf4a95db3f11d3bc411f9786932829e82b':
  mpegts: check substreams before discarding
  Add a smooth streaming segmenter muxer
  file: Add an avoption for disabling truncating existing files on open
  img2dec: always close AVIOContexts
  rtpdec_jpeg: Error out on other unsupported type values as well
  rtpdec_jpeg: Disallow using the reserved q values
  rtpdec_jpeg: Fold the default qtables case into an existing if statement
  rtpdec_jpeg: Store and reuse old qtables for q values 128-254
  rtpdec_jpeg: Simplify the calculation of the number of qtables
  rtpdec_jpeg: Add more comments about the fields in the SOF0 section
  rtpdec_jpeg: Clarify where the subsampling magic numbers come from
  rtpdec_jpeg: Don't use a bitstream writer for the EOI marker
  rtpdec_jpeg: Don't needlessly use a bitstream writer for the header
  rtpdec_jpeg: Simplify writing of the jpeg header
  rtpdec_jpeg: Merge two if statements
  rtpdec_jpeg: Write the DHT section properly

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 15:22:16 +02:00
Martin Storsjö
ca6b544ac9 os_support: Choose between direct.h and io.h using a configure check
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 14:56:54 +03:00
Martin Storsjö
7b07fab567 os_support: Include io.h instead of direct.h on mingw32ce
Windows CE doesn't have neither mkdir nor _mkdir officially (only
CreateDirectoryW), but mingw32ce has compat wrappers with these names
(declared in io.h since direct.h is unavailable).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 13:52:50 +03:00
Martin Storsjö
91ff4e83ca x86: ac3dsp: Only refer to the ac3_downmix_sse symbol if it has been declared
This fixes building without inline assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 13:51:52 +03:00
Diego Biurrun
b9141aa346 swscale: Remove two bogus asserts 2012-09-13 12:13:28 +02:00
Nicolas George
b5bea2f960 lavfi/aresample: set buffer properties after copy.
The aresample filter changes the format, layout and/or sample rate,
it can not copy them blindly from its input.

Related to trac ticket #1671.
2012-09-13 12:05:19 +02:00
Mans Rullgard
97cb9236cf ac3: move ac3_downmix() from dsputil to ac3dsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-12 23:39:50 +01:00
Tim Walker
b901c30da6 lavr/audio_mix_matrix: acknowledge the existence of LFE2.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-12 18:26:53 -04:00
Tim Walker
3844572887 mlp_parser: avoid mapping multiple disctinct TrueHD channels to the same Libav channel.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-12 18:26:53 -04:00
Tim Walker
8919fee7d2 lavu/audioconvert: add a second low frequency channel.
Can be used by DTS-HD, TrueHD and E-AC-3, among others.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-09-12 18:26:53 -04:00
Christian Schmidt
07584eaf4a mpegts: check substreams before discarding
Allow to extract the AC3 core from TrueHD with the "copy" codec.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-12 23:43:53 +02:00
Martin Storsjö
62c9ae11a7 Add a smooth streaming segmenter muxer
This muxer splits the output from the ismv muxer into individual
files, in realtime.

The same can also be done by the standalone tool ismindex, but this
muxer is needed for doing it in realtime (especially for live
streams that need extra handling for updating the lookahead fields
in the fragment headers).

Using this muxer, one can deliver live smooth streaming from a
normal static file web server. (Using ismindex, one can deliver
premade smooth streaming files from a static file web server,
or prepare files for serving with IIS.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 23:42:16 +03:00
Martin Storsjö
29a9b12b10 file: Add an avoption for disabling truncating existing files on open
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 23:42:09 +03:00
Michael Niedermayer
ddabecbbf5 vc1dec: export adv profile color format indication
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 21:12:18 +02:00
Michael Niedermayer
2de8877689 asfdec: invert SAR
It appears this was wrong

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 20:35:09 +02:00
Michael Niedermayer
ddc9bc7721 configure: try to support clang on netbsd
The headers on netbsd are not fully C99 compatible which leads to multiple
definitions of symbols in clang bit not with gcc.
AFAIK this has been fixed in netbsd trunk (didnt check though)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 19:37:29 +02:00
Tomas Härdin
5e3572893d img2dec: always close AVIOContexts
Zero sized files would cause the contexts to leak away.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-12 14:31:09 +02:00
Carl Eugen Hoyos
8e082df0f4 Support decoding of monochrome tiff images without bpp tag. 2012-09-12 13:33:57 +02:00
Carl Eugen Hoyos
7680d99b43 Fix muxing mjpeg in swf. 2012-09-12 13:08:27 +02:00
Michael Niedermayer
ac0f1ae64b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  utvideoenc: Add missing AV_ prefix to codec ID
  avserver: Add missing #include for av_gettime()
  configure: Only disable aligned stack on MSVC on 32 bit
  configure: indentation cosmetics

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 11:46:47 +02:00
Martin Storsjö
c3bcd22ed3 rtpdec_jpeg: Error out on other unsupported type values as well
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:56 +03:00
Martin Storsjö
1743938df1 rtpdec_jpeg: Disallow using the reserved q values
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:45 +03:00
Martin Storsjö
1de9317bd0 rtpdec_jpeg: Fold the default qtables case into an existing if statement
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:32 +03:00
Martin Storsjö
a218deb856 rtpdec_jpeg: Store and reuse old qtables for q values 128-254
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:05 +03:00
Martin Storsjö
a252649059 rtpdec_jpeg: Simplify the calculation of the number of qtables
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:57 +03:00
Martin Storsjö
cbaa9eeda3 rtpdec_jpeg: Add more comments about the fields in the SOF0 section
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:30 +03:00
Martin Storsjö
31adff08a1 rtpdec_jpeg: Clarify where the subsampling magic numbers come from
Write out the numbers the way they are constructed, not just the
final values.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:21 +03:00
Martin Storsjö
c64d2a63df rtpdec_jpeg: Don't use a bitstream writer for the EOI marker
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:02 +03:00
Martin Storsjö
20f325f320 rtpdec_jpeg: Don't needlessly use a bitstream writer for the header
Everything written with this bitstream writer is 8/16 bit units
(except for a pair of 4 bit values), so using a bitstream writer
isn't necessary.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:08:33 +03:00
Martin Storsjö
43957fcc71 rtpdec_jpeg: Simplify writing of the jpeg header
Generalize writing of any number of qtables. Don't manually write
16 bit values in two separate calls.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:08:09 +03:00
Martin Storsjö
932d8300d3 rtpdec_jpeg: Merge two if statements
This makes the code more readable and robust.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:07:57 +03:00
Martin Storsjö
7ef4323405 rtpdec_jpeg: Write the DHT section properly
Currently the size header of the generated DHT section is
incorrect, making the mjpeg decoder just skip it. Since the
written huffman tables are the default ones, this failure had
gone undetected.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:07:29 +03:00
Stefano Sabatini
f9dd2e5e1a ffprobe: print start_pts and duration_ts stream information 2012-09-12 10:22:29 +02:00
Derek Buitenhuis
0c5fe2f0da FATE/bprint: Convert a VLA to a normal array
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 05:22:46 +02:00
Michael Niedermayer
23e9e5c7d9 rtmpproto: reorder some expressions to fix compilation with clang without optimizations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 05:17:52 +02:00
Michael Niedermayer
507c0416cd Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: increase sample array buffer
  configure: add crop filter as ffplay requirement
  ffplay: ensure that pictq_prev_picture never fills the picture queue
  ffplay: simplify picture allocation
  ffplay: make initial window size calculation based on aspect ratio
  ffplay: factor display rectangle calculation to its own function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 23:33:34 +02:00
Derek Buitenhuis
578bbf8149 diracdsp: Fix unprotected inline asm
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 22:59:43 +02:00
Derek Buitenhuis
23a5a24c0f ffmpeg: Only include unistd.h if it exists
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 22:59:43 +02:00
Stefano Sabatini
30a265f058 lavd/lavfi: apply stylistic fixes to the options help fields 2012-09-11 22:56:35 +02:00
Stefano Sabatini
749ddc14fc ffprobe: add priv_class field to Writer, and factorize writer options initialization 2012-09-11 22:30:23 +02:00
Marton Balint
cdea19e75a ffplay: increase sample array buffer
A decoded and resampled audio frame may not fit in the current size which is
not handled by the current code causing out of order waveform displays or even
channel mixups. A todo is added because this part can certainly be improved to
consume less memory but work reliably for any frame size.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-11 22:15:38 +02:00
Marton Balint
66532cbfdc configure: add crop filter as ffplay requirement
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-11 22:15:38 +02:00
Marton Balint
81f26d6990 ffplay: ensure that pictq_prev_picture never fills the picture queue
It was theoretically possible for pictq_prev_picture to fill the picture queue
which may have caused problems when a write to the queue was still in progress.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-11 22:15:37 +02:00
Marton Balint
99b01e458c ffplay: simplify picture allocation
This also makes sure the aspect ratio of the picture is set before allocating
the picture, this way video_open can calculate with the correct aspect ratio
even for the first frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-11 22:15:37 +02:00
Marton Balint
255c7bb183 ffplay: make initial window size calculation based on aspect ratio
Fixes ticket #291.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-11 22:15:37 +02:00
Marton Balint
bd14d845e9 ffplay: factor display rectangle calculation to its own function
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-09-11 22:15:37 +02:00
Stefano Sabatini
34b5b735f9 examples/muxing: add check on avformat_write_header() result 2012-09-11 21:43:27 +02:00
Stefano Sabatini
b3e2975ab3 examples/muxing: apply misc fixes to log messages 2012-09-11 21:43:27 +02:00
Stefano Sabatini
1d0048cfe3 examples/muxing: rename img_convert_ctx to sws_ctx
The new name is more consistent with the codebase, and more
self-consistent with the libswscale API.
2012-09-11 21:43:18 +02:00
Stefano Sabatini
976bb42aca examples/muxing: merge some declarations and definitions 2012-09-11 21:41:56 +02:00
Stefano Sabatini
bdd9bfbbab examples/muxing: prefer AVPicture to AVFrame, when feasible
Favor the use of plain AVPicture over AVFrame, especially when the use of
AVFrame is not required like in the case of tmp_picture.

Also adopt more straightforward names, to avoid frame/picture confusion.
2012-09-11 21:41:56 +02:00
Derek Buitenhuis
e20ac54f3e postproc: Fix unprotected inline asm
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 20:12:14 +02:00
Stefano Sabatini
e592fd0ed1 lavf/flvenc: convert commented debug log to an av_dlog call
Also add some additional info (DTS and DTS time).
2012-09-11 18:58:19 +02:00
Stefano Sabatini
3015194448 lavfi/amerge: clarify the error message in case of input overlap 2012-09-11 18:58:19 +02:00
Clément Bœsch
bbae8cdf4d lavfi/amerge: avoid a forward declaration. 2012-09-11 18:38:09 +02:00
Michael Niedermayer
0ea65bbeee ratecontrol: change a commented printf to av_log
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Michael Niedermayer
50dba71b7d ratecontrol: fix get_fps() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Michael Niedermayer
ce7876cbf4 ratecontrol: Dynamically choose a default for rc_max_available_vbv_use
This improves handling of small buffer sizes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Michael Niedermayer
a990a30883 ratecontrol: correct predictor in case of stuffing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 17:50:14 +02:00
Stefano Sabatini
2fe8fd3948 examples/demuxing: add audio decoding/demuxing 2012-09-11 17:48:07 +02:00
Diego Biurrun
76fa7e09f1 utvideoenc: Add missing AV_ prefix to codec ID 2012-09-11 17:40:38 +02:00
Diego Biurrun
676ea8fae2 avserver: Add missing #include for av_gettime() 2012-09-11 17:40:38 +02:00
Michael Niedermayer
ec7946853a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec_jpeg: Add support for default quantizers
  x86: dsputil: Move specific optimization settings out of global init function
  avplay: get rid of ugly casts in the options table
  avplay: fix prototypes for option callbacks.
  flvdec: always set AVFMTCTX_NOHEADER.
  file: Use a normal private context for storing the file descriptor
  configure: Adjust the xgetbv instrinsic check
  configure: Add --disable-inline-asm command line option
  configure: Don't try to enable the log2 function on msvcrt

Conflicts:
	configure
	ffplay.c
	libavcodec/x86/dsputil_mmx.c
	libavformat/file.c
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 15:24:22 +02:00
Martin Storsjö
6121a3ef7f configure: Only disable aligned stack on MSVC on 32 bit
On 64 bit, the stack seems to be aligned enough for our needs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-11 16:18:03 +03:00
Clément Bœsch
7b56dddd56 lavfi/amerge: fix input pad name behaviour.
This fixes two problems:
 - the invalid pad.name stack pointer after init() ends
 - the duplicated name for all inputs
2012-09-11 14:59:23 +02:00
Diego Biurrun
f69f51b3b2 configure: indentation cosmetics 2012-09-11 14:34:26 +02:00
Carl Eugen Hoyos
20361bcc26 The TrueHD decoder needs the MLP parser. 2012-09-11 12:19:09 +02:00
Samuel Pitoiset
55e778bebd rtpdec_jpeg: Add support for default quantizers
Generate quantization tables when they are not present in the
first chunk.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-11 11:53:08 +03:00
Diego Biurrun
1648a508fa x86: dsputil: Move specific optimization settings out of global init function
They belong in the init functions specific to each CPU capability.
2012-09-11 10:12:17 +02:00
Anton Khirnov
0e8dccb79b avplay: get rid of ugly casts in the options table 2012-09-11 09:19:03 +02:00
Anton Khirnov
4e82cbb629 avplay: fix prototypes for option callbacks.
They have been wrong since 11d957fbd8
2012-09-11 09:18:57 +02:00
Anton Khirnov
ee0dadc109 flvdec: always set AVFMTCTX_NOHEADER.
New streams may be created at any time, e.g. on codec change.
2012-09-11 09:13:29 +02:00
Michael Niedermayer
ba9e9605ad cavsdec/decode_mb_b: fix return type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 07:13:49 +02:00
Michael Niedermayer
bb4ddeea5f xtea: optimize core, about 4-5% faster.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 04:58:53 +02:00
Michael Niedermayer
ef912134f0 x86/swscale: use unsigned to build SIMD values to avoid signed overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 03:02:51 +02:00
Michael Niedermayer
8470e6c96f lavf/avformat_seek_file: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 03:02:51 +02:00
Michael Niedermayer
386d60f978 aacdec/lcg_random: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 03:02:51 +02:00
Michael Niedermayer
7ea5dbcb83 cavsdec: Fix assertion failure.
The assert in decode_mb_b() is replaced by a normal error check for the
case that can occur with a damaged or crafted bitstream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 03:02:51 +02:00
Stefano Sabatini
00d516454c lavf/segment: add segment_list_flags option
Allow to specify options affecting the segment list generation.

In particular: add +live and +cache flags.

For a full discussion read trac ticket #1642:
http://ffmpeg.org/trac/ffmpeg/ticket/1642

Also add live M3U8 generation example.
2012-09-11 01:24:54 +02:00
Stefano Sabatini
7b62d3415e lavc/h263dec: return or propagate proper error codes 2012-09-11 01:15:10 +02:00
Stefano Sabatini
ac006d29d8 lavc/flvdec: return meaningful error codes 2012-09-11 01:15:10 +02:00
Stefano Sabatini
0c71d5a077 ffprobe: add print_section option to the compact writer
Allow to skip section name at the begin of each line. Possibly simplify
output.
2012-09-11 01:14:57 +02:00
Stefano Sabatini
f740c1a9c2 ffprobe: add and use DEFINE_WRITER_CLASS macro
Factorize writer class definition.
2012-09-11 01:02:20 +02:00
Michael Niedermayer
76fac07334 mpegaudiodec: replace pow(2.0,...) by exp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 22:34:18 +02:00
Michael Niedermayer
c5f0b6bf41 atrac3: replace powf(2,...) by exp2f()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 22:32:56 +02:00
Michael Niedermayer
14de55784d sws/output: use unsigned variables where harmless overflows are expected.
signed overflow is undefined in C ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 21:04:01 +02:00
Michael Niedermayer
17b3251c6c ra144enc: avoid integer overflows.
The values are all positive but signed variables where used,
which overflowed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 21:04:01 +02:00
Michael Niedermayer
5829b7d29e ffmpeg: check timebase validity before considering it to be used for stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 20:57:23 +02:00
Michael Niedermayer
f0d5050090 ffmpeg: fix bytes written statistics.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 20:57:23 +02:00
Michael Niedermayer
b3b27b63a0 mpegtsenc: add forgotten ()
Fixes integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 20:57:23 +02:00
Stefano Sabatini
206c34e17d lavfi/setpts: set SAMPLE_RATE to NAN when input is no audio
Should be more robust/consistent.
2012-09-10 18:52:28 +02:00
Stefano Sabatini
722762f7e1 lavfi/setpts: add FRAME_RATE constant
Useful for dealing with constant frame-rate video.
2012-09-10 18:52:28 +02:00
Martin Storsjö
0697d81269 file: Use a normal private context for storing the file descriptor
Previously the file descriptor was stored in the priv_data pointer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-10 19:49:41 +03:00
Martin Storsjö
5fa22ae346 configure: Adjust the xgetbv instrinsic check
The 64 bit cl.exe version 16.00.30319.01 crashes with an internal
compiler error on the current check (and thus deduces it isn't
supported, even if the actual usage in libavuil/x86/cpu.c works
fine), but by assigning the value from the intrinsic to a variable,
or returning it, it works fine.

This error is fixed in cl.exe version 16.00.40219.01.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-10 19:46:06 +03:00
Diego Biurrun
afb5ed55d2 configure: Add --disable-inline-asm command line option
This can come in handy for testing and possibly other purposes.
2012-09-10 18:31:51 +02:00
Sébastien Brochet
e14725cecc add OTF support for attachments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 17:08:18 +02:00
Michael Niedermayer
41dba453f9 utils/update_stream_timings: fix division by zero
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 16:57:31 +02:00
Michael Niedermayer
108957c661 avidec/guess_ni_flag: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 16:56:59 +02:00
Martin Storsjö
88a3569917 configure: Don't try to enable the log2 function on msvcrt
Some msvcrt versions (the static 64 bit libc in MSVC 10) have
a log2 function, but there is no declaration for it in the headers.
Therefore, the normal configure check might find it, but it can fail
during build or at runtime, depending on whether implicit function
declarations are an error or not.

Therefore simply ignore this function on this platform.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-10 17:23:32 +03:00
Michael Niedermayer
b422e2c58a compute_pkt_fields: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 16:15:07 +02:00
Ben Jackson
616ef2e8bd lavc/pngenc: Enable frame threading for PNG encodes
Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 15:15:40 +02:00
Michael Niedermayer
bff2afb3e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Only compile motion_est code when encoders are enabled
  mem: fix typo in check for __ICC
  fate: mp3: drop redundant CMP setting
  rtp: Depacketization of JPEG (RFC 2435)
  Rename ff_put_string to avpriv_put_string
  mjpeg: Rename some symbols to avpriv_* instead of ff_*
  yadif: cosmetics

Conflicts:
	Changelog
	libavcodec/mjpegenc.c
	libavcodec/x86/Makefile
	libavfilter/vf_yadif.c
	libavformat/version.h
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 14:06:20 +02:00
Stefano Sabatini
e4fe4d01fc ffprobe: simplify default printer
Remove pointless default_print_footer() and
default_print_chapter_header() callbacks, also avoid to print an
empty line when noprint_wrappers is selected.
2012-09-10 10:22:36 +02:00
Diego Biurrun
a84edbacaf x86: dsputil: Only compile motion_est code when encoders are enabled 2012-09-10 08:31:47 +02:00
Mans Rullgard
8c5ed7a66a mem: fix typo in check for __ICC
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-10 00:07:26 +01:00
Mans Rullgard
f181662db9 fate: mp3: drop redundant CMP setting
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-10 00:07:24 +01:00
Reinhard Nissl
2474ca1a22 aacdec.c: fix some comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 22:54:10 +02:00
Samuel Pitoiset
3c19815416 rtp: Depacketization of JPEG (RFC 2435)
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:21 +03:00
Martin Storsjö
aefea4d0de Rename ff_put_string to avpriv_put_string
This allows using it from libavformat as well. This will be used
by the RTP/JPEG depacketizer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:12 +03:00
Samuel Pitoiset
a0845bae49 mjpeg: Rename some symbols to avpriv_* instead of ff_*
These symbols will be used from the RTP/JPEG depacketizer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:07 +03:00
Derek Buitenhuis
16c03f2e91 file: Add S_ISFIFO compatability macro
Not all systems have S_ISFIFO.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 20:23:14 +02:00
Michael Niedermayer
44f83930d9 x86/mpegaudiodec: fix compilation failure on cygwin with undefined imdct36_blocks_avx
this is a regression since today

Found-by: beastd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 18:39:03 +02:00
Derek Buitenhuis
3629d1c09d dsputil_template: Reindent after recent change
Forgot to keep it pretty in e62e455f7b.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 17:21:37 +02:00
Michael Niedermayer
6add8eb2ce x86/h264dsp_init: put a HAVE_YASM back
Should fix compilation on open solaris

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 17:21:02 +02:00
Luca Barbato
28165fee1b yadif: cosmetics 2012-09-09 15:31:18 +02:00
Michael Niedermayer
17f9626b5d tiff/doubles2str: check for truncation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:41:18 +02:00
Michael Niedermayer
0196bc6f14 tiff/doubles2str: factor out component_len
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:40:10 +02:00
Michael Niedermayer
07108cafc6 gxfenc: assert that the to be written data has not been truncated.
Otherwise out of array reads would happen later

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:31:44 +02:00
Michael Niedermayer
eb336cb881 gxfenc: dont duplicate buffer size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:31:06 +02:00
Michael Niedermayer
7992814920 ffprobe: avoid unsafe usage of the snprintf() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:26:42 +02:00
Michael Niedermayer
b9a07e787b srtdec: fix unsafe snprintf() return usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:19:02 +02:00
Michael Niedermayer
9fea619f19 ass: assert that the timsstamps fitted in the buffers
Failure of the assert would cause various problems later
if we continue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:19:02 +02:00
Michael Niedermayer
d7cb5a8daf ffmpeg_filter: fix unsafe snprintf() usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:11:03 +02:00
Michael Niedermayer
1fc3e8f4ea ffserver: fix unsafe snprintf() return usage.
Found-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:10:11 +02:00
Michael Niedermayer
9c6af3a3db ffserver: increase buffer size in http_send_too_busy_reply()
also add a assert0 to make sure the data is not truncated (which
should be impossible now)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:09:59 +02:00
Michael Niedermayer
77aedc77ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Provide the right alignment for external mmx asm
  x86: Replace checks for CPU extensions and flags by convenience macros
  configure: msvc: fix/simplify setting of flags for hostcc
  x86: mlpdsp: mlp_filter_channel_x86 requires inline asm

Conflicts:
	libavcodec/x86/fft_init.c
	libavcodec/x86/h264_intrapred_init.c
	libavcodec/x86/h264dsp_init.c
	libavcodec/x86/mpegaudiodec.c
	libavcodec/x86/proresdsp_init.c
	libavutil/x86/float_dsp_init.c
	libswscale/utils.c
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 13:27:42 +02:00
Michael Niedermayer
4819d43d7f aacpsy: use exp2(f) instead of pow(f)(2,...)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 13:02:08 +02:00
Michael Niedermayer
b027156b19 ffprobe: use exp2 instead of pow(2, ...) 2012-09-09 13:02:08 +02:00
Michael Niedermayer
363d302ea3 imc: use exp2 instead of pow(2,...)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 13:02:08 +02:00
Stefano Sabatini
eab438eabb lavu/samplefmt: fix/clarify documentation for av_samples_fill_arrays()
In particular, avoid improper use of the term "channels" in place of
"planes", and fix erroneous documentation for the linesize parameter.
2012-09-09 11:41:17 +02:00
Stefano Sabatini
3634441452 lavu/samplefmt: add note regarding buf validity in av_samples_fill_arrays() doxy 2012-09-09 11:21:45 +02:00
Stefano Sabatini
a4cb0af945 lavfi: drop deprecated and pointless avfilter_default_end_frame() function
Fix warning when compiling boxblur.

While this is technically a major API break, practically there will be no
one using that function since the filtering API is mostly private, so
that function alone is not usable.
2012-09-09 10:57:28 +02:00
Derek Buitenhuis
e62e455f7b dsputil/me/pixels: Actually use av_restrict
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 03:55:56 +02:00
Michael Niedermayer
d48ebfbdea mpeg4videodec: Fix "warning: dc_pred_dir may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 03:15:46 +02:00
Michael Niedermayer
59fdf543d5 smush: read subversion for version==1 too.
This avoids a gcc warning, otherwise it should have no effect.
its a bit more consistent too

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 02:36:57 +02:00
Michael Niedermayer
31a797eb28 swr: add av_cold to init/free functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 02:26:20 +02:00
Martin Storsjö
75c37c5ace swscale: Provide the right alignment for external mmx asm
This reverts parts of e0c6cce447. There is external mmx asm that
requires this alignment.

This fixes crashes when using swscale in builds with external mmx,
without inline assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 01:52:35 +03:00
Michael Niedermayer
dd081f98dd dct-test: fix order of evaluation bug
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 23:57:37 +02:00
Michael Niedermayer
d40c0e4a67 ffserver: fix order of evaluation bugs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 23:56:26 +02:00
Michael Niedermayer
0e78e575ed swr/auto_matrix: treat a single channel as mono instead of failing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 21:32:24 +02:00
Michael Niedermayer
f8d74cbdc3 swr/auto_matrix: treat stereo downmix like stereo.
Based on code by John Stebbins
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 21:12:40 +02:00
Michael Niedermayer
c8ffab06f4 swr/auto_matrix: add clean layout function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 21:10:19 +02:00
Michael Niedermayer
ebc854e4e9 swr/auto_matrix: move layouts to local variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 20:58:57 +02:00
Diego Biurrun
e0c6cce447 x86: Replace checks for CPU extensions and flags by convenience macros
This separates code relying on inline from that relying on external
assembly and fixes instances where the coalesced check was incorrect.
2012-09-08 18:18:34 +02:00
Derek Buitenhuis
9ab538e31f random_seed: Replace a VLA with a normal array
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 17:30:10 +02:00
Mans Rullgard
6a0200f24d configure: msvc: fix/simplify setting of flags for hostcc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-08 15:09:13 +01:00
Hendrik Leppkes
fb4e983e0c x86: mlpdsp: mlp_filter_channel_x86 requires inline asm
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-08 15:41:44 +03:00
Michael Niedermayer
b86e18fe46 yuv4mpeg: fix potential alignment bug
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 13:37:35 +02:00
Michael Niedermayer
7beadfe1f7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov_chan: Only set the channel_layout if setting it to a nonzero value
  mov_chan: Reindent an incorrectly indented line
  mp2 muxer: mark as AVFMT_NOTIMESTAMPS.
  x86: float_dsp: fix ff_vector_fmac_scalar_avx() on Win64
  x86: more specific checks for availability of required assembly capabilities
  x86: avcodec: Drop silly "_mmx" suffix from dsputil template names
  fate: Drop redundant setting of FUZZ to 1
  cavsdsp: set idct permutation independently of dsputil
  x86: allow using add_hfyu_median_prediction_cmov on any cpu with cmov

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 12:53:44 +02:00
Michael Niedermayer
8a0118b4b4 ffio_read: dont spam the user at EOF with a truncation error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 12:41:57 +02:00
Daniel Verkamp
124f0b2f46 flashsv2enc: only encode diff blocks when needed
A flashsv2 block may have a "diff block" to indicate which scan lines of
the block are actually encoded.  However, this diff block need not be
used when the entire block is coded.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 05:36:34 +02:00
Michael Niedermayer
5710dbf88c mpegts: Fix potential memory leak in mpegts_read_packet()
This leak can happen in case of some error paths.

Found-by: Tanami, Ohad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 05:21:47 +02:00
Michael Niedermayer
9a27fd12f3 avio: replace ETIMEDOUT by EIO
ETIMEDOUT is not available on all platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 02:28:20 +02:00
Martin Storsjö
7b699d8136 mov_chan: Only set the channel_layout if setting it to a nonzero value
If regularly parsing new chan atoms (as in rtpdec_qt), but the
chan atoms don't actually contain any channel layout, don't reset
the value that the caller has filled in (by guessing).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-08 01:30:44 +03:00
Martin Storsjö
5f72bc02f8 mov_chan: Reindent an incorrectly indented line
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-08 01:30:43 +03:00
Carl Eugen Hoyos
407eeb3474 mp2 muxer: mark as AVFMT_NOTIMESTAMPS.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-09-07 14:20:14 -07:00
Michael Niedermayer
097c64ffcb flashsv2enc: remove experimental flag, the encoder seems working now
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:53:21 +02:00
Michael Niedermayer
070b0e1c77 libswr: remove redundant ARCH_X86, MMX* implicates X86
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:31:37 +02:00
Derek Buitenhuis
5f256f9df2 swsresample: Fix unprotected inline asm
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:29:02 +02:00
Derek Buitenhuis
d940b0a0f9 vf_mp: Do not build if inline assembly is not available
Rather than modify the mplayer filter sources, just disable
vf_mp if inline assembly is not available.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:27:20 +02:00
Derek Buitenhuis
80d2ec6bc9 dshow: Change WINBOOL to BOOL
WINBOOL is MinGW-specific, and since both MSVC and MinGW
have BOOL, use that instead.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 22:23:32 +02:00
Michael Niedermayer
dbb9117d18 flashsv2enc: move blockbuffer realloc to reconfigure_at_keyframe()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Michael Niedermayer
9b6467fd46 flashv2enc: reallocate not only on block count changes but on dimension changes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Derek Buitenhuis
3174987b42 flashsv2enc: Replace a VLA with a heap alloc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Michael Niedermayer
9b326fc261 flashsv2enc: fix prev-Z-prime encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 21:46:34 +02:00
Justin Ruggles
7327525997 x86: float_dsp: fix ff_vector_fmac_scalar_avx() on Win64
The SWAP macro does not work for explicit xmm/ymm usage, so instead just move
the scalar value from xmm2 to xmm0.
2012-09-07 14:49:10 -04:00
Derek Buitenhuis
3fe303a27d vf_idet: Remove emms
There is no MMX code anyway.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 20:08:12 +02:00
Michael Niedermayer
8e6511c1e1 proresdec2: avoid VLA and use SliceContext instead.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 19:38:23 +02:00
Derek Buitenhuis
af2a17c09a cache: Only include unistd.h if it exists
This follows suite from f3be359707.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 19:29:58 +02:00
Ronald S. Bultje
f3be359707 file: Only include unistd.h if it exists
It is included for the open/read/write/close functions. On
MSVC, where this header does not exist, the same functions
are provided by io.h, which is already included.

On windows, these functions are provided by io.h. Make sure
io.h is included if it exists, regardless of the setmode
function.

Signed-off-by: Martin Storsjö <martin@martin.st>

Conflicts:

	configure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:41:23 +02:00
Ronald S. Bultje
a4d71eb5c3 random_seed: Only read /dev/*random if we have unistd.h
unistd.h is used for open/read/close, but if this header does not
exist, there's probably no use in trying to open /dev/*random
at all.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:41:20 +02:00
Ronald S. Bultje
9d0bc5c0bd rtpdec: Don't explicitly include unistd.h any longer
unistd.h used to be required for gethostname. On windows, gethostname
is provided by winsock2.h. Now network.h includes both unistd.h and
winsock2.h if they exist.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:41:14 +02:00
Derek Buitenhuis
1d4c4b0fbc wtvdec: Remove unused strings.h header
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:24:50 +02:00
Derek Buitenhuis
a2015b41a0 vf_colormatrix: Drop unused strings.h header
It already uses av_strcasecmp.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:24:43 +02:00
Diego Biurrun
1169f0d0af x86: more specific checks for availability of required assembly capabilities 2012-09-07 18:16:04 +02:00
Michael Niedermayer
7621c3538f Makefile: remove old codec_names.h on distclean
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 14:59:01 +02:00
Michael Niedermayer
54d7094f8b gitignore: codec_names.h is no more
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 14:59:01 +02:00
Stefano Sabatini
09cc23e0f7 lavd/sdl: decrease debug info notice log level from AV_LOG_INFO to VERBOSE
Decrease log spam.
2012-09-07 14:31:38 +02:00
Stefano Sabatini
a7c7b34d29 lavd/sdl: remove trailing dot in messages
This is consistent with the apparently prevailing convention.
2012-09-07 14:31:37 +02:00
Stefano Sabatini
25f139e72f lavf/utils: fix typo in has_codec_parameters
Replace "unspecified sample size" with "unspecified frame size". +10l.
2012-09-07 14:31:37 +02:00
Tomas Härdin
d74af89317 img2dec: Don't leave AVIOContexts open on zero byte files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 14:10:19 +02:00
Diego Biurrun
8cb7ed5562 x86: avcodec: Drop silly "_mmx" suffix from dsputil template names 2012-09-07 13:50:52 +02:00
Michael Niedermayer
fa85118510 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov_chan: Pass a separate AVIOContext for reading
  af_asyncts: check return value from lavr when flushing.
  mss2: simplify loop in decode_rle()
  mss12: avoid unnecessary division in arith*_get_bit()
  mss2: do not try to read too many palette entries
  mpegvideo: set AVFrame fields to NULL after freeing the base memory
  configure: Set the right cc_e flags for msvc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 13:50:24 +02:00
Michael Niedermayer
a7fbc7d7b7 lavf: factor codec id forcing out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 13:16:04 +02:00
Michael Niedermayer
91141f2a13 lavfi: add qp_table_size
This avoid recalculating it and in case w/h changed avoids crashes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 13:00:47 +02:00
Diego Biurrun
74c8414462 fate: Drop redundant setting of FUZZ to 1 2012-09-07 12:59:00 +02:00
Mans Rullgard
6efb698883 cavsdsp: set idct permutation independently of dsputil
CAVS uses its own idct so using dsputil to set the permutation
is fragile.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-07 11:42:35 +01:00
Mans Rullgard
5fe64d88f6 x86: allow using add_hfyu_median_prediction_cmov on any cpu with cmov
For some reason add_hfyu_median_prediction_cmov is only selected
on 3Dnow-capable CPUs, even though it uses no 3Dnow instructions.
This patch allows it to be selected on any cpu with cmov with the
possibility of being overridden by the mmxext version.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-07 11:42:35 +01:00
Michael Niedermayer
5891e454a6 faxcompr: fix out of array read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 12:36:00 +02:00
Stefano Sabatini
911519caec lavc/libx264: remap X264_LOG_INFO loglevel from AV_LOG_INFO to VERBOSE
AV_LOG_INFO is more geared towards messages to be read by the user, the
statistics shown by libx264 with X264_LOG_INFO are more useful at the
debugging level.

Help reducing the log spam.
2012-09-07 09:59:12 +02:00
Ramiro Polla
dc5fcdb896 lavd/dshow: use AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-07 09:59:12 +02:00
Ramiro Polla
37a0db50db lavd/dshow: support video codec and pixel format selection
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-09-07 09:59:12 +02:00
Stefano Sabatini
cf5629c064 lavu/opt: reindent after last commit 2012-09-07 09:59:12 +02:00
Samuel Pitoiset
9afb7061f9 mov_chan: Pass a separate AVIOContext for reading
This fixes crashes when called from rtpdec_qt, where
AVFormatContext->pb is null, a crash present since 3bab7cd128.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-07 10:49:35 +03:00
Anton Khirnov
91a84a5247 af_asyncts: check return value from lavr when flushing.
Fixes an infinite loop on flush when avresample_get_delay() still
reports some samples but avresample_convert() doesn't return any data.
2012-09-07 09:06:48 +02:00
Michael Niedermayer
ca7be934d6 lavfi: 10l fix () placement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 06:53:11 +02:00
Michael Niedermayer
a33b4bc79c lavfi: factor copy_video_props() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 05:24:48 +02:00
Michael Niedermayer
c9a0f9bf3c libavfilter: pass QP table through the filter chain
Any volunteers to port the pp and spp filters from libmpcodec?

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 03:17:28 +02:00
Ben Jackson
de9f5b6853 lavc/vp6: Disable deblock filtering for Simple Profile
In vp6 Advanced Profile, deblock filtering is conditionally enabled in
each frame header.  In Simple Profile it should always be off.  vp6 was
inheriting the wrong default from ff_vp56_init.

Signed-off-by: Ben Jackson <ben@ben.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 01:36:21 +02:00
Michael Niedermayer
c5278cb84f Add Dolby/DPLII downmix support to libswresample
Based on code by John Stebbins <jstebbins.hb@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:41:49 +02:00
Michael Niedermayer
2dd2e42951 swr: update rematrix coeffs to match AC-3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:29:06 +02:00
Michael Niedermayer
323d912010 swr: update copyright years
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 00:29:06 +02:00
Stefano Sabatini
144caa7280 lavc/raw-test: invert the order of key/value when printing the fourcc->pix_fmt map
Print
FOURCC: PIX_FMT
rather than
PIX_FMT: FOURCC

This seems more consistent with the help message:
-l                list the pixel format for each fourcc

Remove possibly redundant/confusing comment.
2012-09-06 23:39:57 +02:00
Stefano Sabatini
da2ea7c33c lavf/flvenc: apply various log fixes/clarifications
Should improve user feedback in case of errors.
2012-09-06 23:39:57 +02:00
Stefano Sabatini
1bd6b0c927 lavf/flvenc: return meaningful error codes 2012-09-06 23:39:57 +02:00
Alberto Delmás
290d1022b2 mss2: simplify loop in decode_rle()
It calculates the sum of power of two series, which can be done in one step.

Suggested by Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-06 20:48:07 +02:00
Alberto Delmás
9699b3a2d7 mss12: avoid unnecessary division in arith*_get_bit()
That division can be replaced with a comparison:
((c->value - c->low) << 1) + 1 >= range

By expanding 'range' definition and simplifying this inequation we obtain
the final expression.

Suggested by Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-06 20:44:04 +02:00
Alberto Delmás
6ceef07b21 mss2: do not try to read too many palette entries
Reported by Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-06 20:38:22 +02:00
Janne Grunau
59383d5740 mpegvideo: set AVFrame fields to NULL after freeing the base memory
Prevents dangling pointers and makes access after free more obvious.
Setting AVFrame.qscale_table to NULL is required for successfully
allocating a previously freed Picture with ff_alloc_picture().
2012-09-06 19:02:43 +02:00
Michael Niedermayer
40112e7b35 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Allow setting the ld parameter from the config file
  x86: dsputil: Do not redundantly check for CPU caps before calling init funcs
  configure: Disable some warnings in MSVC
  x86: vp56: cmov version of vp56_rac_get_prob requires inline asm
  avopt: fix examples to match the same style about default values as the actual code.
  configure: Add support for MSVC cl.exe/link.exe
  lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.

Conflicts:
	libavutil/opt.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 16:23:17 +02:00
Michael Niedermayer
2bb62455c8 Revert "lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime."
This reverts commit ba53720280.
A better implementation has been commited by the same author to qatar

Conflicts:

	configure

Found-by: jamal <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 16:14:34 +02:00
Michael Niedermayer
376b16d7cc Merge commit '0db2d94280e260af5f3ad7993c5a6357462f17c9'
* commit '0db2d94280e260af5f3ad7993c5a6357462f17c9':
  dsputil: workaround __VA_ARGS__ missing tokenization for MSVC
  configure: add section for libc-specific hacks
  build: disable ranlib on mingw
  parser: Don't use pc as context for av_dlog
  h264: Remove an assert on current_picture_ptr being null

Conflicts:
	configure
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 16:05:40 +02:00
Martin Storsjö
a224b2cb30 configure: Set the right cc_e flags for msvc
The default ones work, but outputs the preprocessed file on stdout
(into config.log).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-06 17:05:10 +03:00
Stefano Sabatini
fb2e7ac3c4 lavfi/mp: drop rotate wrapper
The native filter transpose is perfectly equivalent.
2012-09-06 11:27:22 +02:00
Martin Storsjö
2b3660084f fate: Allow setting the ld parameter from the config file
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-06 10:35:55 +03:00
Diego Biurrun
ef6ba1f237 x86: dsputil: Do not redundantly check for CPU caps before calling init funcs
The init functions check for CPU capabilities on their own already.
2012-09-06 09:05:52 +02:00
rogerdpack
ef122ff507 eliminate some mingw warnings
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 04:42:43 +02:00
Michael Niedermayer
52fa5cea03 amrnbdec: silence a warning about unsigned cant be negative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 01:18:55 +02:00
Stefano Sabatini
bdfffa66a0 tests/lavfi-regression: name temporary files after $testname in do_lavfi_pixfmts()
Fix a failure when running do_lavfi_pixfmts() for the
lavfi-tinterlace_merge and lavfi-tinterlace_pad tests concurrently.

Since they were using the same names for the temporary files, the first
ending test was removing them, and the second test was failing at
removing unexisting files.
2012-09-06 01:09:36 +02:00
Stefano Sabatini
5780f9bbd5 tests: add tinterlace filter tests
Only the merge and pad modes are tested.
2012-09-06 00:40:01 +02:00
Stefano Sabatini
77c991d8c5 tests/lavfi-regressions: support user-specified test name in do_lavfi_pixfmts()
Make do_lavfi_pixfmts() support an user-specified name for the test.

This allows to specify two pixfmts tests for the same filter, e.g. to
test a filter with different parameters. Useful for the pending
tinterlace tests.
2012-09-06 00:40:01 +02:00
Stefano Sabatini
9a2daef53f lavfi/tinterlace: declare source buffers in copy_picture_field() as const
Increase performance (slightly).
2012-09-06 00:40:01 +02:00
Stefano Sabatini
fd5293d216 lavfi/tinterlace: set inlink->cur to NULL, since it is stored internally
If not set to NULL, the reference is freed by ff_end_frame(), and later
accessed in end_frame() by the filter code, causing a crash.
2012-09-06 00:40:01 +02:00
Stefano Sabatini
29e972f67c lavu/parseutils: add av_small_strptime()
Make internal small_strptime() function public, and use it in place of
strptime().
This allows to avoid a dependency on strptime() on systems which do not
support it.

In particular, fix trac ticket #992.
2012-09-06 00:40:01 +02:00
Stefano Sabatini
79dcd58d83 lavu/parseutils: make small_strptime() return a (non const) char *
This is consistent with the standard definition of strptime().
2012-09-06 00:40:01 +02:00
Clément Bœsch
5620088494 lavf: fix a few typo in some comments. 2012-09-05 23:22:35 +02:00
Clément Bœsch
9d9f34a3c1 lavf: remove a few useless AV_NOWARN_DEPRECATED().
read_seek was undeprecated in e5c708151.
2012-09-05 23:18:07 +02:00
Martin Storsjö
4a185ed2d4 configure: Disable some warnings in MSVC
This disables the following warnings:
C4100: unreferenced formal parameter
 (1035 occurrances)
C4214: nonstandard extension used : bit field types other than int
 (609 occurances)
C4996: 'avpriv_snprintf': This function or variable may be unsafe.
       Consider using _snprintf_s instead. To disable deprecation,
       use _CRT_SECURE_NO_WARNINGS. See online help for details.
 (351 occurrances)

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 23:20:24 +03:00
Michael Niedermayer
e60fcdb989 vf_hue: fix AVOption defaults
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 22:18:53 +02:00
Michael Niedermayer
750cc3c0e5 acelp_pitch_delay: add missing libm.h include for exp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 21:56:41 +02:00
Hendrik Leppkes
d914ea6fd8 x86: vp56: cmov version of vp56_rac_get_prob requires inline asm
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-05 21:30:46 +02:00
Michael Niedermayer
269e6212ee g723_1: add some const for more correctness
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 21:03:17 +02:00
Michael Niedermayer
397ebc1d9b proresenc_anatoliy: add 2 const to silence 2 warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 20:54:50 +02:00
Nedeljko Babic
b3fdfc8c4e Optimization of AC3 floating point decoder for MIPS
FFT in MIPS implementation is working iteratively instead
 of "recursively" calling functions for smaller FFT sizes.
Some of DSP and format convert utils functions are also optimized.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Reviewed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 20:09:56 +02:00
Michael Niedermayer
42e63ec8dc avopt: fix examples to match the same style about default values as the actual code.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 20:09:47 +03:00
Michael Niedermayer
9afd55922a imgconvert: silence some const incompatible pointer warnings.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 18:44:42 +02:00
Michael Niedermayer
7666828c44 avopt: fix examples to match the same style about default values as the actual code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 18:40:21 +02:00
Michael Niedermayer
8267f0f7ae vf_scale: fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 18:31:18 +02:00
Stefano Sabatini
5666a1b270 lavu/opt: support NULL and special "none" values for size and pixel format options
Allow to specify NULL values explicitly, thus overriding the default
values set in the context.
2012-09-05 16:08:06 +02:00
Ronald S. Bultje
dfa559bcbd configure: Add support for MSVC cl.exe/link.exe
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:40 +03:00
Ronald S. Bultje
4fa661a857 lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:30 +03:00
Luca Barbato
0db2d94280 dsputil: workaround __VA_ARGS__ missing tokenization for MSVC
A second expansion forces the preprocessor to tokenize properly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:24 +03:00
Mans Rullgard
b797f3c4d0 configure: add section for libc-specific hacks
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:17 +03:00
Mans Rullgard
a3222470de build: disable ranlib on mingw
Using ranlib is not required but prevents using the libraries with
msvc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:11 +03:00
Michael Niedermayer
b21b5b04cc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: eamad: Add missing dependency on mpegvideo code
  build: utvideoenc: Add missing dependency on Huffman code
  avopt: Reorder the default_val struct, making i64 the first field

Conflicts:
	configure
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 15:02:17 +02:00
Martin Storsjö
6d65496990 parser: Don't use pc as context for av_dlog
The ParserContext class doesn't have an AVClass, required for
using it as a logging class.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 16:01:40 +03:00
Michael Niedermayer
8510150f48 Merge commit '21bc44038491e525335ad763883b0288402ff6a0'
* commit '21bc44038491e525335ad763883b0288402ff6a0':
  avopt: Explicitly store rational option defaults in .dbl

Conflicts:
	libavfilter/buffersrc.c
	libavfilter/vsrc_testsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:52:52 +02:00
Michael Niedermayer
98840ee017 Merge commit 'c7b610aa0b1bac47eea0056b13fe6e982b85844a'
* commit 'c7b610aa0b1bac47eea0056b13fe6e982b85844a':
  avopt: Explicitly store float/double option defaults in .dbl

Conflicts:
	libavcodec/ac3dec.c
	libavcodec/libx264.c
	libavfilter/af_amix.c
	libavfilter/af_asyncts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:44:05 +02:00
Michael Niedermayer
d46c1c72e4 Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'
* commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9':
  avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member

Conflicts:
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/mpeg12enc.c
	libavcodec/options_table.h
	libavcodec/snowenc.c
	libavcodec/tiffenc.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/af_amix.c
	libavfilter/af_asyncts.c
	libavfilter/af_join.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawtext.c
	libavformat/http.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/movenc.c
	libavformat/mpegenc.c
	libavformat/mpegtsenc.c
	libavformat/options_table.h
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:33:32 +02:00
Michael Niedermayer
99de3df3d3 Merge commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078'
* commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078':
  avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member

Conflicts:
	libavcodec/libvpxenc.c
	libavcodec/options_table.h
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:09:09 +02:00
Michael Niedermayer
d5f65e9d40 Merge commit '124134e42455763b28cc346fed1d07017a76e84e'
* commit '124134e42455763b28cc346fed1d07017a76e84e':
  avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member

Conflicts:
	libavcodec/aacenc.c
	libavcodec/libopenjpegenc.c
	libavcodec/options_table.h
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/af_amix.c
	libavfilter/vf_drawtext.c
	libavformat/movenc.c
	libavformat/options_table.h
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 13:58:11 +02:00
Michael Niedermayer
743a295c09 Merge commit '2d7d91f06d6a1d243dc74c96d3389ee237a3b906'
* commit '2d7d91f06d6a1d243dc74c96d3389ee237a3b906':
  svq1enc: Set picture_structure correctly
  mpegvideo: remove last_picture_ptr / h264 assert.
  mpegvideo_enc: remove assert that has become obsolete with the new API
  elbg: Fix an assert

Conflicts:
	libavcodec/elbg.c
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 13:49:48 +02:00
Michael Niedermayer
5e997688f8 h264: Remove an assert on current_picture_ptr being null
It is possible in various error paths as well as gap handling
that this has already been allocated. It is not clear why that
would be a problem with the current code, thus disable the
assert to avoid a common assert failure when asserts are enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 14:28:41 +03:00
Stefano Sabatini
fc15f58adb doc/filters: add mp=noise example 2012-09-05 11:55:16 +02:00
Stefano Sabatini
8a7b82ccab doc/filters: itemize example for mp filter 2012-09-05 11:53:25 +02:00
Diego Biurrun
6980453569 build: eamad: Add missing dependency on mpegvideo code 2012-09-05 11:50:30 +02:00
Diego Biurrun
aa66111365 build: utvideoenc: Add missing dependency on Huffman code 2012-09-05 11:50:30 +02:00
Stefano Sabatini
0e28e3cf82 doc/filters: remove reference to mp=hue filter, which was dropped 2012-09-05 11:44:01 +02:00
Clément Bœsch
3b6e9cd7ec lavc/dvdsubdec: parse the size from the extradata. 2012-09-04 23:38:29 +02:00
Martin Storsjö
686a329395 avopt: Reorder the default_val struct, making i64 the first field
Also mention this change in APIchanges.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:16:11 +03:00
Martin Storsjö
21bc440384 avopt: Explicitly store rational option defaults in .dbl
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:55 +03:00
Martin Storsjö
c7b610aa0b avopt: Explicitly store float/double option defaults in .dbl
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:51 +03:00
Martin Storsjö
e6153f173a avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Martin Storsjö
d58dd4b5b5 avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:38 +03:00
Martin Storsjö
124134e424 avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:32 +03:00
Michael Niedermayer
d83ff76ca0 intreadwrite: Dont evaluate value for AV_W* multiple times.
Evaluating it multiple times, can have side effects and is possibly slow.
So its definitly a bad idea.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 21:45:13 +02:00
Michael Niedermayer
8c6d651fc3 paf: avoid using expressions with sideeffects in AV_R*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 21:25:39 +02:00
Michael Niedermayer
daa3c28895 configure: update sinks used by ffplay/ffmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 18:51:59 +02:00
Michael Niedermayer
49c230fb56 libavfilter/Makefile: add forgotten entries for the ff-sinks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 18:51:59 +02:00
Michael Niedermayer
172161c8db sink_buffer: fix #ifs for FF-sinks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 18:51:59 +02:00
Michael Niedermayer
2d7d91f06d svq1enc: Set picture_structure correctly
This fixes assert failures when running in debug mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 18:38:02 +03:00
Michael Niedermayer
91672504a4 mpegvideo: remove last_picture_ptr / h264 assert.
This assert is no longer true since h264 error concealment needs
last_picture_ptr to be set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 18:38:02 +03:00
Michael Niedermayer
19000122a4 mpegvideo_enc: remove assert that has become obsolete with the new API
It now just checks uninitialized and unused data.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 18:37:58 +03:00
Michael Niedermayer
2c340596ca elbg: Fix an assert
It seems the condition was flipped from what was intended.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 18:37:54 +03:00
Michael Niedermayer
9dcc4c30f9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: add support for bdver1 and bdver2 CPU types.
  avio: make avio_close NULL the freed buffer
  pixdesc: cosmetics
  proresenc: Don't free a buffer not owned by the codec
  proresenc: Write the full value in one put_bits call
  adpcmenc: Calculate the IMA_QT predictor without overflow
  x86: Add convenience macros to check for CPU extensions and flags
  x86: h264dsp: drop some unnecessary ifdefs around prototype declarations
  mss12: merge decode_pixel() and decode_top_left_pixel()
  mss12: reduce SliceContext size from 1067 to 164 KB
  mss12: move SliceContexts out of the common context into the codec contexts

Conflicts:
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 17:04:51 +02:00
Diego Elio Pettenò
b36f87ff90 configure: add support for bdver1 and bdver2 CPU types.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-04 15:31:03 +02:00
Luca Barbato
3093939077 avio: make avio_close NULL the freed buffer 2012-09-04 15:04:46 +02:00
Luca Barbato
a684267076 pixdesc: cosmetics 2012-09-04 14:55:31 +02:00
Martin Storsjö
cc86bd4ccc proresenc: Don't free a buffer not owned by the codec
The data in coded_frame isn't allocated using get_buffer, but
is copied from the input frame to the encoder, so we should
not try to free it ourselves.

This fixes an assert failure when running in debug mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 15:32:12 +03:00
Martin Storsjö
6d9e74cd41 proresenc: Write the full value in one put_bits call
Previously, the put_bits call writing the value wrote a value
larger than the number of bits specified, failing asserts
in debug mode. There was no actual bitstream writer corruption,
since the overwritten bit already always was set to 1.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 15:31:47 +03:00
Michael Niedermayer
aa264da5bf adpcmenc: Calculate the IMA_QT predictor without overflow
Previously, the value given to put_bits was 10 bits long for positive
predictors, even though 9 bits were to be written. The extra bit could
in some cases overwrite existing bits in the bitstream writer cache.

This fixes a failed assert in put_bits.h, when running a version
built with -DDEBUG.

The fate test result gets slightly improved, thanks to getting rid
of the overwritten bits in the bitstream writer cache.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 15:30:58 +03:00
Stefano Sabatini
9de7622927 lavfi/transpose: implement landscape passthrough mode
Emulate the mp=rotate passthrough mode.
2012-09-04 11:39:23 +02:00
Stefano Sabatini
3b34cbce19 examples/scaling_video: write to rawvideo file
This is more useful for testing purposes. Also allow to specify the name
of the output file.
2012-09-04 11:29:28 +02:00
Stefano Sabatini
838b1d60a1 lavf/segment: add EXT-X-MEDIA-SEQUENCE tag in M3U8 header 2012-09-04 11:28:16 +02:00
Stefano Sabatini
ebd703f0a0 lavf/segment: deprecate "ext" format in favor of "csv"
The new option name is more descriptive.
2012-09-04 11:27:55 +02:00
Stefano Sabatini
d815763548 lavf/segment: add escaping for filename field of the CSV list file
CSV escaping code is borrowed from ffprobe.c.
2012-09-04 11:25:14 +02:00
Peter Ross
299489714a tty: return av_get_packet() error codes instead of converting them to EIO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 06:12:18 +02:00
Peter Ross
bf959ac2c6 tty: return EOF when the 'effective' end of file is reached. ('effective' because ansi/tty files may be concatenated with SAUCE/EFI metadata)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 06:12:10 +02:00
Michael Niedermayer
688cb71252 aaccoder: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 04:38:28 +02:00
Michael Niedermayer
7b1ff5e2f3 h263dec: fix xvid IDCT switching
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 03:29:00 +02:00
Diego Biurrun
f82c4fb27f x86: Add convenience macros to check for CPU extensions and flags 2012-09-04 01:44:59 +02:00
Diego Biurrun
a84ac7a860 x86: h264dsp: drop some unnecessary ifdefs around prototype declarations 2012-09-04 01:44:59 +02:00
Michael Niedermayer
1fa4018e29 jpegdec: try to fix different flipping behavior of inteljpegs.
This may need some trial and error to find exactly how to identify them
so please report any intel jpegs that get fliped wrong.

Fixes Ticket511

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 23:39:50 +02:00
Michael Niedermayer
507d2d28d6 lsp: change assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 23:26:14 +02:00
Michael Niedermayer
c868219c9a lavc: put motion test back.
While not that usefull, we can as well keep it until it breaks.
When it breaks for whatever reason ill likely remove it
Sorry for the revert spam, i had not realized this code compiles
and works fine.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 23:23:40 +02:00
Michael Niedermayer
e6dc0da504 rmdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 22:40:41 +02:00
Michael Niedermayer
8cc77646c0 yadif: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 22:40:31 +02:00
Michael Niedermayer
b0dc4286a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: avcodec: order cosmetics
  intrax8dsp: Add missing #include to make header standalone
  Delete motion-test tool; it is of doubtful utility.

Conflicts:
	libavcodec/Makefile
	libavcodec/motion-test.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 17:41:17 +02:00
Alberto Delmás
344fbc47c7 mss12: merge decode_pixel() and decode_top_left_pixel()
No meaningful generated code differences using gcc -O3.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-03 14:41:59 +02:00
Alberto Delmás
626c1a33ed mss12: reduce SliceContext size from 1067 to 164 KB
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-03 14:39:37 +02:00
Alberto Delmás
a97ee41bee mss12: move SliceContexts out of the common context into the codec contexts
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-09-03 14:39:19 +02:00
Diego Biurrun
eb239a577f build: avcodec: order cosmetics 2012-09-03 11:33:49 +02:00
Diego Biurrun
7681b8837a intrax8dsp: Add missing #include to make header standalone 2012-09-03 11:31:47 +02:00
Diego Biurrun
13b6b7e0e2 Delete motion-test tool; it is of doubtful utility. 2012-09-03 10:43:21 +02:00
Michael Niedermayer
5d55830388 snowdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 01:26:57 +02:00
Michael Niedermayer
0b23452c01 ffv1: fix 2 uninitialized variable warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 01:25:04 +02:00
Hans-Kristian Arntzen
f099fbf5f3 Remove redundant masks in STORE_BGR24_MMX.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-02 21:56:50 +02:00
Michael Niedermayer
50b0edea9f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  intrax8: move functions from dsputil to own context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-02 21:01:10 +02:00
Peter Ross
083e65cfd2 fate: add ansi256 test case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-02 18:15:08 +02:00
Mans Rullgard
15616eb042 intrax8: move functions from dsputil to own context
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-02 16:32:57 +01:00
Stefano Sabatini
c8ef309379 examples: add demuxing.c example 2012-09-02 10:48:01 +02:00
Stefano Sabatini
f7eec8956d lavf/segment: set EXT-X-VERSION to 3 rather than to 4
There is nothing we use of the latest version, downgrade version number
to increase decoding support.

Based on this comment by vel2000:
http://ffmpeg.org/trac/ffmpeg/ticket/1642#comment:17
2012-09-02 10:42:25 +02:00
Stefano Sabatini
34bf06a35c lavfi: when configuring a link, set channel layout from previous link if unspecified
In avfilter_config_links(), if the current channel layout is not
specified, set the same value of the previous link in the filterchain.

Consistent with the logic used to set the other link parameters.
2012-09-02 10:42:25 +02:00
Stefano Sabatini
06fc74bda0 lavc/codec_desc: fix name of wavesynth codec 2012-09-02 10:42:25 +02:00
Michael Niedermayer
4654bf44a7 flvdec: fix creation of lots of phantom data streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-02 05:04:14 +02:00
jamal
c112b6b68f configure: Treat warnings as errors in check_yasm()
yasm generates a warning instead of an error when "CPU amdnop" is not supported, so the check always succeeds.

HAVE_CPUNOP as true when the available yasm version doesn't support amdnop doesn't make sense.
Check http://fate.ffmpeg.org/log.cgi?time=20120901143315&log=compile&slot=x86_64-archlinux-gcc-oldyasm to see the amount of warnings it generates.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 23:45:32 +02:00
Michael Niedermayer
19a71dbcb9 psxstr: more correct array type.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 23:45:32 +02:00
Roman Arutyunyan
c0daa73a0f fix flv new stream handling after head already parsed
This fixes stream lookup in flv demuxer. When used with librtmp
protocol streams are sometimes added after head arrived. If the
first stream added in flv header reader is Audio stream then it
is messed with Video stream added later in the code patched.
The result is I have 2 Audio streams (first of them is said to have
a video codec like h264) instead of Audio/Video pair.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 17:49:33 +02:00
Piotr Bandurski
5081310b58 lavf: add missing new line to some error messages 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 17:35:21 +02:00
Piotr Bandurski
9d87cf51d8 lavfi/vf_frei0: add missing new line to some error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 17:33:50 +02:00
Piotr Bandurski
53241b5dc7 lavc: add missing new line to some messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:59:30 +02:00
Piotr Bandurski
08277a45c3 lavf: add missing new line to some error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:59:30 +02:00
Mahendra M
9b4badb09b Fix libx264 profile listing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:59:04 +02:00
Michael Niedermayer
9cdb5969d4 libmpcodecs: remove unused and half existing vo_fs variable
It breaks linking with suncc sometimes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:37:03 +02:00
Peter Ross
65a31a0de7 ansi: erase screen on first frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:23:39 +02:00
Peter Ross
3ac718d60a ansi: support 256-colors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:23:26 +02:00
Peter Ross
95b9e56beb ansi: support escaped codes where last argument is zero
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:22:34 +02:00
Peter Ross
368a768cbc ansi: remove misplaced return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:22:20 +02:00
Michael Niedermayer
c3f20cef06 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: only free vfilters on exit
  ffplay: replace SDL_delay in read thread with SDL_CondWait
  ffplay: requeue last picture on forced video refresh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 14:59:08 +02:00
Michael Niedermayer
75a4b91f83 Merge remote-tracking branch 'stev47/master'
* stev47/master:
  cpia: move reget_buffer after header check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 14:23:05 +02:00
Michael Niedermayer
899101d3d3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  crypto: Remove a stray double space
  Rename missed cases of FF_OPT_TYPE_* to AV_OPT_TYPE_*

Conflicts:
	libavfilter/vf_delogo.c
	libavfilter/vf_lut.c
	libavfilter/vsrc_testsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 14:09:32 +02:00
Carl Eugen Hoyos
a26789cf9f Fix compilation with yasm-0.6.2. 2012-09-01 10:59:16 +02:00
Stephan Hilb
e309677100 Merge branch 'master' of git://source.ffmpeg.org/ffmpeg 2012-09-01 10:16:56 +02:00
Stephan Hilb
296140ebfb cpia: move reget_buffer after header check
If the header is invalid, there is no need to get at buffer.
Do it after the header has been checked.
Suggested by Reimar Döffinger
2012-09-01 10:12:33 +02:00
Stefano Sabatini
d55252c331 lavfi/mp: remove decimate wrapper
It was natively integrated into libavfilter.
2012-09-01 09:26:12 +02:00
Michael Niedermayer
3061664a57 avoid ambigous buffersink names
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 06:05:08 +02:00
Michael Niedermayer
e4e02a7d47 libavfilter: Support the forks ABI for buffer sinks
With this change avconv compiled against libav and linked to ffmpegs libs
will run through the whole fate testsuite without any crashes.
857 tests pass, the remaining tests fail one way or another, which is
to be expected as avconv is not a drop in replacement for ffmpeg
The testsuite used was the ffmpeg fate testsuite, not libavs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 06:05:08 +02:00
Philip Langdale
9d89c8b3ac matroskadec, matroskadec, srtenc: Read/Write duration for subtitles.
After much discussion and back-and-forth, we reached the conclusion
that matroska uses convergence_duration for subtitle duration because
a 32bit value isn't large enough to store the duration if sub-micro-second
timebases are used. Matroska may not be the only one that supports these
timebases, but it's certainly the only one that ffmpeg attempts to support
in this way.

The long term solution that we seemed to reach was that if we encounter
a matroska file with a sub-micro-second timebase, we should internally
scale it up to at least micro-second, and then duration can be used
normally. This suggests that on the encode side, we should not allow
generation of files with sub-micro-second timebases, but that's a separate
issue.

That being a non-trivial change, and the subtitle interoperability breakage
being very real, I'm re-submitting this small change for consideration.

In this diff, we make sure that duration is populated by the matroska
demuxer, and that convergence_duration is respected in matroskaenc and
srtenc, but that duration is used otherwise. This ends up being a strict
improvement - pipelines that use convergence duration are unchanged, and
ones that are currently broken due to the duration mismatch will start
working - except for the ones with the extreme timebases, but those were
already broken.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-31 20:22:49 -07:00
Michael Niedermayer
6a0dfe3b9d fate-utvideoenc: remove unneeded -f avi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 01:54:40 +02:00
Michael Niedermayer
4814326533 swr/resample: update SSSE3 flag to new name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 01:29:36 +02:00
Martin Storsjö
12c8912de2 crypto: Remove a stray double space
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 23:27:27 +02:00
Martin Storsjö
235f74db59 Rename missed cases of FF_OPT_TYPE_* to AV_OPT_TYPE_*
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 23:27:21 +02:00
Piotr Bandurski
5059162659 flic: use AV_LOG_ERROR for error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 23:04:05 +02:00
Piotr Bandurski
d2b927d4fc filmstripdec: add new line to error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 23:03:18 +02:00
Michael Niedermayer
dfb4757bbe lavc: support building with the forks ABI for avcodec_find_best_pix_fmt2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 21:35:40 +02:00
Michael Niedermayer
42e78552c8 configure: add switch to enable debian/libav compatible ABI
needed for avcodec_find_best_pix_fmt2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 21:35:39 +02:00
Michael Niedermayer
7b607eb5e7 avfiltergraph: use avcodec_find_best_pix_fmt_of_2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 21:35:39 +02:00
Michael Niedermayer
704a5a06cb ffmpeg_filter: use avcodec_find_best_pix_fmt_of_2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 21:35:39 +02:00
Michael Niedermayer
2a54ae9df8 imgconvert: add avcodec_find_best_pix_fmt_of_2()
and deprecate avcodec_find_best_pix_fmt2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 21:35:39 +02:00
Marton Balint
55594447d6 ffplay: only free vfilters on exit
Freeing it in the end of the video thread is not a good idea, because we still
may need the filter names for the next video thread, in order to apply the
filters after chaning the video stream.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-08-31 21:00:20 +02:00
Marton Balint
0e5042be28 ffplay: replace SDL_delay in read thread with SDL_CondWait
When the audio queue was empty, it was not filled until the 10ms delay expired
in the read thread. This patch changes the delay method with a condition wait,
which reacts to an empty queue a lot faster, therefore the audio buffer
underruns become less common especially after seeking.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-08-31 21:00:20 +02:00
Marton Balint
4a45e722e3 ffplay: requeue last picture on forced video refresh
Fixes ticket #1609.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-08-31 21:00:20 +02:00
Reimar Döffinger
fe79fc2ea5 dvbsubdec: set width/height from display def if not set.
This fixes playback of DVB subtitles in
http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket1065/Test1.wtv
in MPlayer.
FFplay is not affected since it assumes that the subtitles
are scaled to match the video - but this usually isn't the
case after rescaling the video and stream-copying subtitles.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-31 19:58:09 +02:00
Reimar Döffinger
dddd006cab wtvdec: set correct codec ID for CC streams.
Closed caption data is definitely not teletext.
Since it contains a EIA-608 compatibility stream,
the EIA_608 codec ID is at least not completely wrong.
Fixes subtitle playback in MPlayer with the sample in
trac ticket #1482.
To fix the ticket itself I expect FFmpeg will need
a closed-caption to SRT decoder first.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-31 19:58:09 +02:00
Jérémy Tran
54ca7e39da lavfi/hue: add process_command callback
This allows dynamic reconfiguration of the filter.
The callback uses some code that was in the init function. Hence this code
has been moved in its own function.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-31 18:09:30 +02:00
Stefano Sabatini
fa838a0c0f configure: add decimate filter dependency on avcodec 2012-08-31 17:49:24 +02:00
Stefano Sabatini
9dd3d6c72a lavfi: port decimate libmpcodecs filter
This filter is based on the MPlayer decimate filter by Rich Felker.
2012-08-31 16:04:37 +02:00
Stefano Sabatini
6c0107822d lavfi/mp=decimate: fix off-by-one logic in diff_C() x loop
Set x offset values in the range 0-7, rather than in the range 8-1.

The y loop is changed accordingly, to avoid confusion.

This also fixes output difference with the new pending native decimate
filter.
2012-08-31 16:04:12 +02:00
Stefano Sabatini
e64b941dbc lavfi/mp: remove smartblur filter
It was natively integrated into libavfilter.
2012-08-31 16:02:49 +02:00
Michael Niedermayer
d7587ba1c6 flvdec: remove duplicate return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 15:45:23 +02:00
Michael Niedermayer
0b7d12e840 vf_mp: fix duplicate return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 15:45:23 +02:00
Carl Eugen Hoyos
52be5428c0 Add some missing _EXTERNAL suffixes to yasm source files. 2012-08-31 15:39:03 +02:00
Michael Niedermayer
9cb9199970 buffersink: remove stray ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 15:22:01 +02:00
Michael Niedermayer
e234301c2c bintext: remove stray ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 15:20:57 +02:00
Michael Niedermayer
f61ee9b564 dsicinav: fix signed integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 15:15:59 +02:00
Michael Niedermayer
a9a1bc56ab ffplay: get rid of void casts in the option table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 14:26:20 +02:00
Michael Niedermayer
b1034505db ffplay: fix function parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 14:25:57 +02:00
Michael Niedermayer
c617bed34f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  MSS1 and MSS2: set final pixel format after common stuff has been initialised
  MSS2 decoder
  configure: handle --disable-asm before check_deps
  x86: Split inline and external assembly #ifdefs
  configure: x86: Separate inline from standalone assembler capabilities
  pktdumper: Use a custom define instead of PATH_MAX for buffers
  pktdumper: Use av_strlcpy instead of strncpy
  pktdumper: Use sizeof(variable) instead of the direct buffer length

Conflicts:
	Changelog
	configure
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/dct-test.c
	libavcodec/imgconvert.c
	libavcodec/mss12.c
	libavcodec/version.h
	libavfilter/x86/gradfun.c
	libswscale/x86/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 13:34:32 +02:00
Michael Niedermayer
98298eb103 Merge commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5'
* commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5':
  x86: Fix linking with some or all of yasm, mmx, optimizations disabled
  configure: Add more fine-grained SSE CPU capabilities flags
  avfilter: x86: Use more precise compile template names
  x86: cosmetics: Comment some #endifs for better readability
  g723_1: add comfort noise generation
  utvideoenc: Switch to dsputils' median prediction
  utvideoenc: Avoid writing into the input picture
  avtools: remove the distinction between func_arg and func2_arg.
  avconv: make the -passlogfile option per-stream.
  avconv: make the -pass option per-stream.
  cmdutils: make -codecs print lossy/lossless flags.
  lavc: add lossy/lossless codec properties.

Conflicts:
	Changelog
	cmdutils.c
	configure
	doc/APIchanges
	ffmpeg.h
	ffmpeg_opt.c
	ffprobe.c
	libavcodec/codec_desc.c
	libavcodec/g723_1.c
	libavcodec/utvideoenc.c
	libavcodec/version.h
	libavcodec/x86/mpegaudiodec.c
	libavcodec/x86/rv40dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 13:01:30 +02:00
Carl Eugen Hoyos
f3683349ae Write TIFF Tag ExtraSamples when encoding pix_fmts that contain transparency information. 2012-08-31 11:15:07 +02:00
Carl Eugen Hoyos
5eb532a930 Cosmetics: Reorder pix_fmts in tiffenc.c. 2012-08-31 11:01:02 +02:00
Carl Eugen Hoyos
a5a90fa577 Simplify setting colour space for mono* when encoding tiff. 2012-08-31 10:57:36 +02:00
Alberto Delmás
ede3d6400d MSS1 and MSS2: set final pixel format after common stuff has been initialised
This way it won't interfere with WMV9 initialisation inside MSS2 decoder and
avplay will play it fine.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-31 08:08:43 +02:00
Alberto Delmás
ee769c6a7c MSS2 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-31 07:37:16 +02:00
Michael Niedermayer
e7b4337777 v4l2: fix compile on systems that lack V4L2_PIX_FMT_CPIA1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 04:35:06 +02:00
Mans Rullgard
d96d6ba618 configure: handle --disable-asm before check_deps
This is necessary to avoid spuriously enabling _external or _inline
variants of arch extensions when they should be disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-31 01:59:23 +01:00
Diego Biurrun
17337f54c0 x86: Split inline and external assembly #ifdefs 2012-08-31 01:53:25 +02:00
Diego Biurrun
43b73d59a8 configure: x86: Separate inline from standalone assembler capabilities 2012-08-31 01:53:25 +02:00
Stephan Hilb
6eac554659 Add CPiA video decoder
The cpia video decoder is intended to be used with the v4l2 demuxer.
There are some small changes to the v4l2 demuxer to support the
variable frame length of the format.
Fixes ticket #1537

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 00:24:11 +02:00
Michael Niedermayer
469f8b1dcb ffmpeg: Fix assert failure
Fixes Ticket1674

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 00:00:28 +02:00
Michael Niedermayer
19d8954966 find_stream_info: update last_dts more often
This improves dts validity checks and consequently fps detection of files with invalid dts
Fixes Ticket1681

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 23:48:54 +02:00
Martin Storsjö
21411a4102 pktdumper: Use a custom define instead of PATH_MAX for buffers
PATH_MAX is not necessarily available on all systems, e.g. it's
normally not available on MSVC, and is not guaranteed to defined
on a POSIX system either.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 00:44:47 +03:00
Martin Storsjö
bcc44873d9 pktdumper: Use av_strlcpy instead of strncpy
This takes care of null-terminating the buffer if it is too small,
which wasn't handled properly before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 00:44:35 +03:00
Martin Storsjö
372de27df7 pktdumper: Use sizeof(variable) instead of the direct buffer length
Also change the snprintf size to use the full buffer, since
snprintf always null-terminates the buffer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 00:44:21 +03:00
Stefano Sabatini
db0a0aa243 examples/scaling_video: add logging in case of image allocation failure 2012-08-30 23:39:32 +02:00
Stefano Sabatini
952caf11f2 examples/muxing: remove pointless #undef exit 2012-08-30 23:39:32 +02:00
Michael Niedermayer
438b86fed4 faxcompr: fix byte alignment case
Fixes Ticket1653

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 22:24:58 +02:00
Stefano Sabatini
cb6defb053 examples/scaling_video: consistently use printf rather than av_log() 2012-08-30 21:48:50 +02:00
Stefano Sabatini
078e203379 examples/scaling_video: add file doxy 2012-08-30 21:48:24 +02:00
Stefano Sabatini
e53becc70f examples/Makefile: give priority to pkg-config flags
In case CFLAGS/LDLIBS are already defined and conflicting with the
pkg-config flags, give priority to the latter since they are used to
detect compilation flags.

This should fix for example the case where there are many different
instances of a library, CFLAGS=-I/foo/include and pkg-config cflags say
-I/bar/include.
2012-08-30 21:46:44 +02:00
Diego Biurrun
ec36aa6944 x86: Fix linking with some or all of yasm, mmx, optimizations disabled
Some optimized template functions reference optimized symbols, so they
must be explicitly disabled when those symbols are unavailable.
2012-08-30 19:37:32 +02:00
Diego Biurrun
50cd43f2cd configure: Add more fine-grained SSE CPU capabilities flags 2012-08-30 19:29:32 +02:00
Diego Biurrun
cdaec0b240 avfilter: x86: Use more precise compile template names 2012-08-30 18:51:51 +02:00
Diego Biurrun
a886b279a0 x86: cosmetics: Comment some #endifs for better readability 2012-08-30 18:50:33 +02:00
Kostya Shishkov
04fc5c6bde g723_1: add comfort noise generation 2012-08-30 18:21:12 +02:00
Michael Niedermayer
6fc892d271 libvorbisdec: fix const nitpick warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 18:01:14 +02:00
Michael Niedermayer
040405b59e utvideoenc: Switch to dsputils' median prediction
Also, align the mangled RGB planes, which is required for the
SIMD versions of dsputils' median predict.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 11:59:19 -04:00
Michael Niedermayer
bbefd27e52 utvideoenc: Avoid writing into the input picture
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 11:59:19 -04:00
Michael Niedermayer
370bb893d2 mp3enc: fix const correctness
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 17:56:38 +02:00
Michael Niedermayer
0e781d9405 utvideoenc: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 17:50:33 +02:00
Michael Niedermayer
e8e4c8bdde Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: allow non-standard variations of linker -l/-L flags
  Add reminders to update the codec descriptor list with new codec IDs.

Conflicts:
	Makefile
	configure
	libavcodec/avcodec.h
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 17:28:21 +02:00
Anton Khirnov
11d957fbd8 avtools: remove the distinction between func_arg and func2_arg.
func2_arg is the same as func_arg, except it has one additional
parameter. Change all func_arg callbacks to take that parameter (and
ignore it).
2012-08-30 13:56:25 +02:00
Anton Khirnov
bbcedade00 avconv: make the -passlogfile option per-stream. 2012-08-30 13:56:25 +02:00
Anton Khirnov
038c0b1e06 avconv: make the -pass option per-stream. 2012-08-30 13:56:24 +02:00
Anton Khirnov
e2785fa728 cmdutils: make -codecs print lossy/lossless flags. 2012-08-30 13:56:00 +02:00
Anton Khirnov
a2318326f1 lavc: add lossy/lossless codec properties. 2012-08-30 13:55:55 +02:00
Michael Niedermayer
f4c020e3ad swscale: fix usePal()
Fixes Ticket1702

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 13:37:03 +02:00
Michael Niedermayer
340e8e0b22 dnxhdenc: fix pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 11:47:57 +02:00
Michael Niedermayer
b0545800bd wmalosslessdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 11:11:31 +02:00
Michael Niedermayer
d40e2c7a86 avfiltergraph: kill uninitialized variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 11:02:15 +02:00
Michael Niedermayer
5e363bb9b3 flvenc: kill a uninitialized variable warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 05:20:51 +02:00
Michael Niedermayer
b3facc4af8 ac3dec: fix uninitialized var warning
This commit should be purely cosmetic

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 05:17:24 +02:00
Michael Niedermayer
310fd0d3d4 vsrc_testsrc: fix uninitilaized variable bug
Found-by: gcc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 05:15:03 +02:00
Michael Niedermayer
19dceef905 vf_framestep: fix uninitilaized variable bug
Found-by: gcc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 05:09:15 +02:00
Michael Niedermayer
afe6f337ad swscale.c: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 02:38:10 +02:00
Michael Niedermayer
19008e06c6 wmavoice: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 02:34:00 +02:00
Michael Niedermayer
158a70f17a mov: fix av_log int type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 00:22:58 +02:00
Michael Niedermayer
946ed78f5f aacdec: fix priming/skip for AAC HE/HE2
There is a remaining error of 2 - 8 samples in some but not all cases,
the source of the error is unknown ATM.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 00:22:58 +02:00
Michael Niedermayer
0fc684ff7c aacdec: pass AVPacket to aac_decode_frame_int()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 00:12:49 +02:00
Michael Niedermayer
818f3dc907 audio_frame_que: remove broken code that is specific to old audio_que
This should fix compilation with -DDEBUG

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 19:22:29 +02:00
Ramiro Polla
ad7fae4ee1 dshow: allow user to specify audio buffer size
Based on patch by rogerdpack <rogerpack2005@gmail.com>

Tested-by: Roger Pack <rogerdpack2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 18:58:20 +02:00
Nicolas George
a5704659e3 lavfi/af_atempo: use av_malloc for rDFT buffers.
Memory obtained from av_realloc is not aligned enough for AVX.
The other similar allocations are changed too because they use
the same macro. The buffers were cleared afterwards anyway.

Fix trac ticket #1692.
2012-08-29 18:19:41 +02:00
Philip Langdale
7816c7e772 Add missing codec descriptor for timingless subrip.
Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-29 09:18:05 -07:00
Michael Niedermayer
8579d4b2f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: export filtered -lz flag in config.mak
  build: add separate setting for host linker
  configure: probe_cc: use separate variable for linker output flag
  x86: Always compile files with functions that are called unconditionally
  x86: mpegvideoenc: fix linking with --disable-mmx
  x86: mpegvideoenc: Do not abuse HAVE_ variables for template instantiation

Conflicts:
	Makefile
	configure
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 18:13:00 +02:00
Michael Niedermayer
1c66807636 Merge commit 'd488c3bcbaf7ddda42597e014deb661a7e9e2112'
* commit 'd488c3bcbaf7ddda42597e014deb661a7e9e2112':
  configure: support Bitrig OS
  yuv2rgb: handle line widths that are not a multiple of 4.
  graph2dot: Use the fallback getopt implementation if needed
  tools: Include io.h for open/read/write/close if unistd.h doesn't exist
  testprogs: Remove unused includes
  qt-faststart: Use other seek/tell functions on MSVC than on mingw
  ismindex: Include direct.h for _mkdir on windows
  sdp: Use static const char arrays instead of pointers to strings
  x86: avcodec: Drop silly "_mmx" suffixes from filenames
  x86: avcodec: Drop silly "_sse" suffixes from filenames
  sdp: Include profile-level-id for H264
  utvideoenc: use ff_huff_gen_len_table
  huffman: add ff_huff_gen_len_table
  cllc: simplify/fix swapped data buffer allocation.
  rtpdec_h264: Don't set the pixel format
  h264: Check that the codec isn't null before accessing it
  audio_frame_queue: Define af_queue_log_state before using it

Conflicts:
	libavcodec/audio_frame_queue.c
	libavcodec/h264.c
	libavcodec/huffman.h
	libavcodec/huffyuv.c
	libavcodec/utvideoenc.c
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 18:04:34 +02:00
Mans Rullgard
8db73c61a7 build: allow non-standard variations of linker -l/-L flags
This enables replacing the -l and -L flags used to specify the
just-built libraries when linking the tools and shared libs with
non-standard syntaxes.  System library flags are already handled
by the filtering mechanism in configure.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-29 14:16:54 +01:00
Michael Niedermayer
85c830331c lavc: protect calls to frame_thread_encoder by HAVE_THREADS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 11:36:56 +02:00
Paul B Mahol
e4fff08f5b exr: fix decoding ZIP16 and height not multiple of 16
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-29 09:33:41 +00:00
Anton Khirnov
bbabeb56fa Add reminders to update the codec descriptor list with new codec IDs. 2012-08-29 10:47:59 +02:00
Michael Niedermayer
2d5c80b2e8 frame_thread_encoder: pass frame pict type and quality
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 04:26:59 +02:00
Michael Niedermayer
097a909ea1 frame_thread_encoder: pass private options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 04:26:36 +02:00
Mans Rullgard
7baa115a33 build: export filtered -lz flag in config.mak
This is needed to link tools/cws2fws using a linker with non-standard
command line syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Mans Rullgard
095792f253 build: add separate setting for host linker
This adds new HOSTLD and related settings for host linker allowing
it to be different from HOSTCC.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Mans Rullgard
2763587c83 configure: probe_cc: use separate variable for linker output flag
Some tools use different command line syntax for specifying output
when compiling and linking.  To accomodate these, separate variables
must be used.  No currently supported compilers/linkers are affected
by the change.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Andrey Utkin
028b6d2b5c Add 'timeout' option to UDP protocol
This patch accepts 'timeout' option for input mode only. As far as i know, UDP output cannot introduce delays.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 00:28:07 +02:00
Diego Biurrun
2e6f93a284 x86: Always compile files with functions that are called unconditionally 2012-08-29 00:27:06 +02:00
Diego Biurrun
2f2aa2e542 x86: mpegvideoenc: fix linking with --disable-mmx
The optimized dct_quantize template functions reference optimized
fdct symbols, so these functions must only be enabled if the relevant
optimizations have been enabled by configure.
2012-08-29 00:26:56 +02:00
Brad Smith
d488c3bcba configure: support Bitrig OS
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-29 00:14:52 +02:00
Diego Biurrun
d39791bf39 x86: mpegvideoenc: Do not abuse HAVE_ variables for template instantiation
This avoids trouble if HAVE_ variables are used elsewhere in the file.
2012-08-29 00:14:52 +02:00
Andrey Utkin
7870722592 Add 'rw_timeout' into URLContext
If set non-zero, limits duration of retry_transfer_wrapper() loop, thus
affects ffurl_read*(), ffurl_write()
Measured in microseconds.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 00:05:03 +02:00
Ronald S. Bultje
b64a72e1b2 yuv2rgb: handle line widths that are not a multiple of 4.
This introduces support for width%4==2 in addition to width%4==0. For
odd widths, some more checks are needed, since the current code always
handles two luma items in a row, thus there is a possibility of an
overread by one.
2012-08-28 14:58:52 -07:00
Martin Storsjö
09d5e02ab0 graph2dot: Use the fallback getopt implementation if needed
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-29 00:24:39 +03:00
Martin Storsjö
212ec5faf9 tools: Include io.h for open/read/write/close if unistd.h doesn't exist
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-29 00:24:07 +03:00
Martin Storsjö
3ad9eac5a0 testprogs: Remove unused includes
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-29 00:23:51 +03:00
Martin Storsjö
dd4169ab92 qt-faststart: Use other seek/tell functions on MSVC than on mingw
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-29 00:23:34 +03:00
Martin Storsjö
bff714ad4c ismindex: Include direct.h for _mkdir on windows
The Windows SDK in MSVC doesn't have mkdir, only _mkdir, and
MSDN says one should include direct.h to use it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-29 00:23:18 +03:00
Nicolas George
a9b1a151d2 ffmpeg: count finished streams for last stats line.
Otherwise, all streams are finished and the time is nonsensical.
2012-08-28 23:19:33 +02:00
Michael Niedermayer
6c06b566d2 rtpenc_xiph: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 22:29:20 +02:00
Martin Storsjö
d4bba93f4d sdp: Use static const char arrays instead of pointers to strings
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 22:35:17 +03:00
Clément Bœsch
c149586884 gitignore: add scaling_video example. 2012-08-28 20:35:04 +02:00
Stefano Sabatini
2cbffc6706 examples/Makefile: remove duplicated -f switch
$(RM) already includes that flag.

Spotted-by: ubitux
2012-08-28 20:09:42 +02:00
Stefano Sabatini
74419fcf45 examples: add scaling_video example
This example should be useful to show the basic functionality of the
libswscale API.

More advanced features (scaling options etc., colorspace tweaking) may be
added later.
2012-08-28 20:09:37 +02:00
Jérémy Tran
316afee708 lavfi: add smartblur filter
This is a port of the MPlayer smartblur filter (libmpcodecs/vf_smartblur.c)
by Michael Niedermayer.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-28 19:48:16 +02:00
Nicolas George
18217bb0f5 ffmpeg: report max time of unfinished streams in stats.
Eliminating finished streams avoids the progress stopping
with the first stream.
Using the max instead of the min avoids the progress stopping
with gaps in sparse streams (subtitles).
Negligible change for normal circumstances.
2012-08-28 18:48:32 +02:00
Diego Biurrun
bcc45d6348 x86: avcodec: Drop silly "_mmx" suffixes from filenames 2012-08-28 18:37:34 +02:00
Diego Biurrun
efbd04c332 x86: avcodec: Drop silly "_sse" suffixes from filenames 2012-08-28 18:37:33 +02:00
Martin Storsjö
06b5246c84 sdp: Include profile-level-id for H264
This is required for playback with the Stagefright RTSP framework
on Android.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 19:32:19 +03:00
Xidorn Quan
1ea77a52c0 add myself as vda decoder maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 18:01:22 +02:00
Ronald S. Bultje
ba53720280 lavu: add snprintf(), vsnprint() and strtod() replacements for MS runtime.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 17:52:03 +02:00
Michael Niedermayer
6d35470063 utvideoenc: use ff_huff_gen_len_table
Avoid code duplication and provide faster and better compression.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-28 17:43:25 +02:00
Michael Niedermayer
5a582bd3b5 huffman: add ff_huff_gen_len_table
The function will be used by utvideo as well.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-28 17:43:25 +02:00
Reimar Döffinger
998f92d680 cllc: simplify/fix swapped data buffer allocation.
Using the malloc variant avoids pointless memcpy on size
increase and simplifies handling allocation failure.
Also change code to ensure that allocation, bswap and bitstream
reader all use the same size, even when the packet size is odd
for example.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-28 11:37:53 -04:00
Samuel Pitoiset
6af2480aa6 rtpdec_h264: Don't set the pixel format
There is no need for this depacketizer to set the pixel format,
the decoder can do that just fine.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 18:16:00 +03:00
Martin Storsjö
6f5b1a2ba4 h264: Check that the codec isn't null before accessing it
This fixes crashes introduced by 2e8f3cbcda, the codec can be null
when called from parsers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 18:15:38 +03:00
Martin Storsjö
0b58c77ed1 audio_frame_queue: Define af_queue_log_state before using it
This fixes building with DEBUG defined after the function was made
static and the prototype removed in d7f9786cbc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 17:32:17 +03:00
Michael Niedermayer
416d2f7a12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1: export some functions
  configure: use HOSTCC_C/O in check_host_cc
  configure: use AS_O setting in check_as
  configure: use LD_O setting in check_ld()
  Revert "dsputil: make {add/put/put_signed}_pixels_clamped() non-static."
  build: Restore dependency of acelp_filters.o on celp_math.o
  celp_math: Replace duplicate ff_dot_productf() by ff_scalarproduct_c()
  celp_math: Move ff_cos() to the only place it is used
  build: Use portable abstraction for linker/hostcc output file syntax
  configure: Fix shared library creation for OpenBSD
  vp56: Don't use DECLARE_ALIGN on a typedef name
  mss1: move code that will be reused by MSS2 decoder into separate file
  mss1: merge decode_intra() and decode_inter()
  avprobe: Get rid of ugly casts in the options table
  vf_hqdn3d: Remove a duplicate inline declaration

Conflicts:
	Makefile
	configure
	ffprobe.c
	libavcodec/Makefile
	libavcodec/amrnbdec.c
	libavcodec/amrwbdec.c
	libavcodec/celp_math.c
	libavcodec/celp_math.h
	libavcodec/dsputil.c
	libavcodec/lsp.c
	libavcodec/mss1.c
	libavcodec/ra288.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 16:28:48 +02:00
Nicolas George
fb6fb0dedb tools: add make_chlayout_test perl script.
This script uses the flite source to produce files
suitable to test channels order and layout.
2012-08-28 15:18:27 +02:00
Nicolas George
786dadc014 cmdutils: add -layouts option.
Extract of the output:

| Individual channels:
| NAME        DESCRIPTION
| FL          front left
| FR          front right
| <snip>
| SDR         surround direct right
|
| Standard channel layouts:
| NAME        DECOMPOSITION
| mono        FC
| stereo      FL+FR
| <snip>
| octagonal   FL+FR+FC+BL+BR+BC+SL+SR
| downmix     DL+DR
2012-08-28 15:09:49 +02:00
Derek Buitenhuis
61e262f6d7 vp56: Don't use DECLARE_ALIGN on a typedef name
Instead, use it on the first member, since by definition, if
any member is aligned, the whole struct must be, in order to
maintain that alignment.

Fixes compilation with some finicky compilers, like a mix of libclang/msvc

Idea for fix from Måns Rullgård.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 15:04:16 +02:00
Kostya Shishkov
7627c35a81 vc1: export some functions
This is a preparatory step for the MSS2 decoder which needs to use
the WMV9 decoder to decode some kinds of frames.

From the patch by Alberto Delmás <adelmas@gmail.com>
2012-08-28 07:37:06 +02:00
Michael Niedermayer
4f92d31aa4 vf_hqdn3d: remove duplicate inline
This should fix compilation with gcc 3

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 05:31:20 +02:00
Michael Niedermayer
fa6c795c3f allcodecs: fix vda order
Found-by: compn
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 04:11:14 +02:00
Michael Niedermayer
e3b87b355c configure: fix vda order
Found-by: compn
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 04:10:50 +02:00
Xidorn Quan
78cca74222 vdadec: implement vda decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 04:07:53 +02:00
Michael Niedermayer
e367d90664 aiffdec: support QDM2
Fixes ticket204

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 03:18:21 +02:00
Mans Rullgard
ae43c4c0c0 configure: use HOSTCC_C/O in check_host_cc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-27 23:14:06 +01:00
Mans Rullgard
df0d634138 configure: use AS_O setting in check_as
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-27 23:14:06 +01:00
Mans Rullgard
29b64b6827 configure: use LD_O setting in check_ld()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-27 23:14:06 +01:00
Mans Rullgard
dbc9f84ea6 Revert "dsputil: make {add/put/put_signed}_pixels_clamped() non-static."
This reverts commit 484a337cd7.

These functions were used in f8bed30 "VC1: merge idct8x8, coeff
adjustments and put_pixels" which was reverted in 18b6a69.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-27 22:24:05 +01:00
Diego Biurrun
3d868fe542 build: Restore dependency of acelp_filters.o on celp_math.o 2012-08-27 21:05:52 +02:00
Diego Biurrun
dafcbfe443 celp_math: Replace duplicate ff_dot_productf() by ff_scalarproduct_c() 2012-08-27 20:37:49 +02:00
Diego Biurrun
5549854335 celp_math: Move ff_cos() to the only place it is used 2012-08-27 20:37:48 +02:00
Diego Biurrun
8f7c26e392 build: Use portable abstraction for linker/hostcc output file syntax 2012-08-27 20:37:48 +02:00
Brad Smith
d5683aba5a configure: Fix shared library creation for OpenBSD
OpenBSD does not expect or require symlinked shared libraries with
just the major version in the name.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-27 20:37:47 +02:00
Derek Buitenhuis
5395d882b4 vp56: Don't use DECLARE_ALIGN on a typedef name
Instead, use it on the first member, since by definition, if
any member is aligned, the whole struct must be, in order to
maintain that alignment.

Fixes compilation with some finicky compilers.

Idea for fix from Måns Rullgård.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-27 14:08:17 -04:00
Kari Lentz
be862c0dac movenc: support for itunes tempo tag
Implements support for tmpo atom for mp4 files, typically used to store BPM.  -metadata "tmpo=127" as a command line option will record 127 as the BPM in the meta data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 19:06:32 +02:00
Reimar Döffinger
237f53ce85 cllc: simplify/fix swapped data buffer allocation.
Using the malloc variant avoids pointless memcpy on size
increase and simplifies handling allocation failure.
Also change code to ensure that allocation, bswap and bitstream
reader all use the same size, even when the packet size is odd
for example.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-27 19:00:47 +02:00
Georg Lippitsch
5cc5d9d5f7 dpx: 10 and 12 bit decoding
Rewrite 10 bit dpx decoder to decode into GBRP10 color space
instead of converting to RGB48.
Add 12 bit decoder to decode into GBRP12 color space.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 18:31:21 +02:00
Kostya Shishkov
0de4a563e4 mss1: move code that will be reused by MSS2 decoder into separate file 2012-08-27 18:12:10 +02:00
Kostya Shishkov
49df339f4b mss1: merge decode_intra() and decode_inter()
They have most of their code in common.
2012-08-27 18:11:50 +02:00
Martin Storsjö
b42be2d56a avprobe: Get rid of ugly casts in the options table
This also makes sure the function pointers are stored via the same
union member as they are accessed via.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 18:59:06 +03:00
Michael Niedermayer
99f5090714 aiffdec: try #2 to fix bps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 16:50:59 +02:00
Michael Niedermayer
4abb88d7e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_hqdn3d: Don't declare the loop variable within the for loop
  huffyuv: update to current coding style
  huffman: update to current coding style
  rtsp: Free the rtpdec context properly
  build: fft: x86: Drop unused YASM-OBJS-FFT- variable

Conflicts:
	libavcodec/huffman.c
	libavcodec/huffyuv.c
	libavcodec/x86/Makefile
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 16:32:44 +02:00
Martin Storsjö
b441a4517b vf_hqdn3d: Remove a duplicate inline declaration
Compilation seems to fail on GCC 3.4 due to this duplicate
declaration.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 16:40:59 +03:00
Martin Storsjö
2bd67175c7 vf_hqdn3d: Don't declare the loop variable within the for loop
This C99 feature is generally not used in the libav codebase,
since it breaks building with some fringe compilers (GCC 2.95,
MSVC).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 15:29:39 +03:00
Luca Barbato
e0f7a9f6e7 huffyuv: update to current coding style 2012-08-27 13:26:58 +02:00
Luca Barbato
f76e47877c huffman: update to current coding style 2012-08-27 13:26:58 +02:00
Martin Storsjö
125c6c0752 rtsp: Free the rtpdec context properly
The condition for calling the rtpdec cleanup was broken in
df8cf076c8.

This fixes a memory leak.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 12:29:47 +03:00
Stefano Sabatini
60924dfe55 examples/decoding_encoding: make operation logic more self-evident / predictable
Add a switch which controls which operation to perform.  Useful to test
only a single feature. Also the new behavior is more self-consistent.
2012-08-27 10:09:48 +02:00
Stefano Sabatini
3b0e2763f4 examples/Makefile: apply misc minor fixes to the RM rule
Use $(RM) in place of rm, drop useless "-r" for removing files.
2012-08-27 10:09:39 +02:00
Stefano Sabatini
c0bca6425d examples/decoding_encoding: store temporary files in current dir
Do not clutter the temporary directory with files, also "/tmp" is not
always available, e.g. in Windows.

Also add the clean-test Makefile rule, which will clean the generated
files.
2012-08-27 10:09:31 +02:00
Carl Eugen Hoyos
73b40dafc8 Use correct format identifier for uint64_t. 2012-08-27 09:14:40 +02:00
Michael Niedermayer
4e8b206092 mpc: fix seeking to the end
Fixes Ticket1689

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 05:23:42 +02:00
Michael Niedermayer
a503afb11f mpc: clip seeking timestamp in valid range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 04:51:27 +02:00
Diego Biurrun
3f02c533f3 build: fft: x86: Drop unused YASM-OBJS-FFT- variable 2012-08-27 03:10:58 +02:00
Michael Niedermayer
b9b97c2fb9 aiffdec: fix bits per sample
Fixes Ticket1660

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 02:54:00 +02:00
Marton Balint
a366beaf6a ffplay: fix odd YUV width by cropping the video
Should fix issue #1322.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 01:44:57 +02:00
jamal
95d1af1188 build: Fix compilation when configuring with a prog suffix
Fixes ticket #1676

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 01:32:13 +02:00
Michael Niedermayer
851bac4b06 vf_hqdn3d: avoid declaring variable in for()
This should fix compilation with gcc 2.95 and possibly others

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 00:36:31 +02:00
Michael Niedermayer
17106a7c90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  audio_frame_queue: Clean up ff_af_queue_log_state debug function
  dwt: Remove unused code.
  cavs: convert cavsdata.h to a .c file
  cavs: Move inline functions only used in one file out of the header
  cavs: Move data tables used in only one place to that file
  fate: Add a single symbol Ut Video decoder test
  vf_hqdn3d: x86 asm
  vf_hqdn3d: support 16bit colordepth
  avconv: prefer user-forced input framerate when choosing output framerate

Conflicts:
	ffmpeg.c
	libavcodec/audio_frame_queue.c
	libavcodec/dwt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:40:02 +02:00
Michael Niedermayer
3a621c9d99 nutenc: Support writing an index
The seek test improves in accuracy
Fixes Ticket877

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:21 +02:00
Michael Niedermayer
b2a8ce4e67 nutenc: keep track of max_pts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:20 +02:00
Michael Niedermayer
c2a134c66c nutenc: keep track if keyframe PTS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:19 +02:00
Michael Niedermayer
e6a045ba56 nutdec: Flip the direction for seeking with an index in the failure case.
This is closer to how seeking works without an index

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:18 +02:00
Michael Niedermayer
cebbaf578d nutdec: improve information in error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:18 +02:00
Michael Niedermayer
d1ee2cf74a nutenc: keep track of the written syncpoint count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:16 +02:00
Diego Biurrun
d7f9786cbc audio_frame_queue: Clean up ff_af_queue_log_state debug function
The function is debug-only, so only compile it in debug mode.
Make it static as it has no uses outside of the file.
Change av_log() to av_dlog().
2012-08-26 19:45:23 +02:00
Diego Biurrun
1ce5dce454 dwt: Remove unused code. 2012-08-26 14:03:57 +02:00
Mans Rullgard
88386feefd cavs: convert cavsdata.h to a .c file
Defining tables in header files is ugly and prone to duplication.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-26 14:03:56 +02:00
Diego Biurrun
a6d9f9e60e cavs: Move inline functions only used in one file out of the header 2012-08-26 14:03:56 +02:00
Diego Biurrun
ef07ac1e12 cavs: Move data tables used in only one place to that file 2012-08-26 14:03:55 +02:00
Jan Ekström
09bd0ea94e fate: Add a single symbol Ut Video decoder test
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-26 14:03:55 +02:00
Loren Merritt
7a1944b907 vf_hqdn3d: x86 asm
13% faster on penryn, 16% on sandybridge, 15% on bulldozer
Not simd; a compiler should have generated this, but gcc didn't.
2012-08-26 10:49:14 +00:00
Loren Merritt
566858a770 vf_hqdn3d: support 16bit colordepth 2012-08-26 10:49:14 +00:00
Paul B Mahol
8f9941b160 avrndec: silence warning about incompatible pointer types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-26 10:24:42 +00:00
Anton Khirnov
44b0b85fe9 avconv: prefer user-forced input framerate when choosing output framerate 2012-08-26 07:50:06 +02:00
Michael Niedermayer
bfb39023b0 h264: ff_init_cabac_states doesnt use its argument thus remove it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 05:44:46 +02:00
Michael Niedermayer
c684cb29bc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: fft: remove unused fft_dispatch* functions
  avconv: remove unused variable opt_shortest
  FATE: Add Canopus Lossless tests
  cllc: Pad swapped buffer

Conflicts:
	ffmpeg_opt.c
	tests/ref/fate/cllc-argb
	tests/ref/fate/cllc-rgb

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 02:34:24 +02:00
Michael Niedermayer
0c3a3b75d7 ac3_probe: fix probing of non standard AC3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 01:55:10 +02:00
Mans Rullgard
db70730291 x86: fft: remove unused fft_dispatch* functions
These functions are not used since the yasm conversion.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-25 23:58:26 +01:00
Mans Rullgard
cba79d2123 avconv: remove unused variable opt_shortest
This was replaced with a per-file value in 3c0df90.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-25 23:29:48 +01:00
Michael Niedermayer
4b9e44868b lavf: fix avio statistics for packets directly read without the buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-25 23:25:36 +02:00
Derek Buitenhuis
efab2e004a FATE: Add Canopus Lossless tests
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-25 16:46:50 -04:00
Philip Langdale
2626cc4580 matroska: Mark S_TEXT/UTF-8 as Subrip encoded subtitles.
While not explicitly stated in the specs, the original author
has stated that S_TEXT/UTF-8 is expected to be text using Subrip
markup, but without Subrip in-band timing.

So, now that we have a decoder that conforms to this expectation,
let's use it.

Note that this change will impact tools that use libavformat. If
they expect srt subtitles to have CODEC_ID_TEXT, they must be
adjusted to expect CODEC_ID_SUBRIP. The actual content is, obviously,
unchanged.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-25 13:15:41 -07:00
Piotr Bandurski
0bb37bbc0f riff: fix remuxing of atrac3 in wav
The original codec expects 0 as bps or refuses to play the remuxed file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-25 20:21:52 +02:00
Paul B Mahol
65b552cc31 lavc: add some missing .long_name to codec_descriptors[]
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-25 10:53:47 +00:00
Carl Eugen Hoyos
4abb3539a6 Fix one of the problems with -codecs, -encoders and -decoders. 2012-08-25 08:49:23 +02:00
Derek Buitenhuis
aa7a565101 cllc: Pad swapped buffer
The bitstream buffer must be padded, or the bitstream reader might
read over the end.

Fixes the following valgrind warning:
    Use of uninitialised value of size 8 at 0x591BAE: cllc_decode_frame (cllc.c:166)

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-24 22:19:21 -04:00
Georg Lippitsch
2a57c9ae8f dpx: 10 and 12 bit encoding
Encode GBRP10 pixel format into 10 bit DPX.
Encode GBRP12 pixel format into 12 bit DPX.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-25 03:55:50 +02:00
Stefano Sabatini
fef9e84114 examples/decoding_encoding.c: tell where the decoding output files are printed 2012-08-24 17:31:10 +02:00
Stefano Sabatini
864e8adcf1 examples/muxing: update to the new avcodec_encode_video2() API 2012-08-24 17:31:10 +02:00
Michael Niedermayer
5ac603df83 doc/developer: add "Adding files to the fate-suite dataset"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 17:24:47 +02:00
Michael Niedermayer
15a0fb58a3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  utvideodec: Fix single symbol mode decoding
  truespeech: drop useless casts
  libavcodec: drop bogus dependencies from mpc[78] and qdm2
  mpegaudio: move ff_mpa_enwindow to a separate file
  AVOptions: store defaults for INT64 options in int64 union member.

Conflicts:
	libavcodec/Makefile
	libavfilter/af_asyncts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 15:00:39 +02:00
Michael Niedermayer
bec180e112 Merge commit 'a1bcc76e6036e78f25cbb7323c145056cfca9d93'
* commit 'a1bcc76e6036e78f25cbb7323c145056cfca9d93': (21 commits)
  cmdutils: fix a memleak when specifying an option twice.
  x86: mpegvideo: more sensible names for optimization file and init function
  x86: mpegvideoenc: Split optimizations off into a separate file
  dnxhdenc: x86: more sensible names for optimization file and init function
  svq1/svq3: Move common code out of SVQ1 decoder-specific file
  dirac: add Comments and references to the standard
  lavr: x86: optimized 6-channel flt to fltp conversion
  lavr: x86: optimized 2-channel flt to fltp conversion
  lavr: x86: optimized 6-channel flt to s16p conversion
  lavr: x86: optimized 2-channel flt to s16p conversion
  lavr: x86: optimized 6-channel s16 to fltp conversion
  lavr: x86: optimized 2-channel s16 to fltp conversion
  lavr: x86: optimized 6-channel s16 to s16p conversion
  lavr: x86: optimized 2-channel s16 to s16p conversion
  lavr: x86: optimized 2-channel fltp to flt conversion
  lavr: x86: optimized 6-channel fltp to s16 conversion
  lavr: x86: optimized 2-channel fltp to s16 conversion
  lavr: x86: optimized 6-channel s16p to flt conversion
  lavr: x86: optimized 2-channel s16p to flt conversion
  lavr: x86: optimized 6-channel s16p to s16 conversion
  ...

Conflicts:
	libavcodec/dirac.c
	libavcodec/mpegvideo.h
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 14:30:40 +02:00
Michael Niedermayer
6b72615c32 rtpdec_xiph: switch to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 13:44:25 +02:00
Stefano Sabatini
b66afe087a lavfi/asetpts,setpts: rework debug log
Show more information, and only the information stored in the values
array. Improve debugging usefulness.
2012-08-24 13:32:59 +02:00
Stefano Sabatini
1181461ca5 lavfi/asetpts,setpts: add variables T, STARTT, PREV_INT and PREV_OUTT 2012-08-24 13:32:21 +02:00
Jan Ekström
01cb4c84f5 utvideodec: Fix single symbol mode decoding
Put the zero length check in place of code that was never used
during decoding, as zero-length slices were generally refused
in decode_frame().

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-24 13:12:31 +02:00
Stefano Sabatini
3d6d59ef35 doc/filters: itemize examples for *settb filters 2012-08-24 12:54:45 +02:00
Stefano Sabatini
c45178cf5b doc/filters: itemize examples for *setpts filters 2012-08-24 12:54:45 +02:00
Stefano Sabatini
0043db2967 doc/filters: move *setpts and *settb filters to the multimedia filters section
Since audio and video filters are explained together and share most code,
the multimedia filters section seems more fitting.
2012-08-24 12:54:45 +02:00
Stefano Sabatini
0b9a915dad lavfi: rename vf_setpts.c to f_setpts.c
The file contains the asetpts audio filter.
2012-08-24 12:54:45 +02:00
Nicolas George
de60880543 lavc/dvdsubenc: check the type of rectangles.
Avoid a crash if a text rectangle is provided.
Fix the segfault reported in trac ticket #1661.
2012-08-24 12:12:41 +02:00
Mans Rullgard
081bab5ee3 truespeech: drop useless casts
These values already have the correct types.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-24 10:45:39 +01:00
Mans Rullgard
0c88e7a255 libavcodec: drop bogus dependencies from mpc[78] and qdm2
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-24 10:45:39 +01:00
Mans Rullgard
2e2b8ef8e0 mpegaudio: move ff_mpa_enwindow to a separate file
This table is used only by mpegaudiodsp and mpegaudioenc.  Separating
it allows dropping some dependencies from mpc[78] and qdm2.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-24 10:45:39 +01:00
Anton Khirnov
a1bcc76e60 cmdutils: fix a memleak when specifying an option twice. 2012-08-24 11:25:06 +02:00
Anton Khirnov
4d7adec8bd AVOptions: store defaults for INT64 options in int64 union member.
Double does not have enough precision to represent all int64 numbers
exactly.
2012-08-24 11:25:06 +02:00
Michael Niedermayer
12b1512e85 lavf/utils: Try to unwrap pts/dts so as to minimize wraps
Based on code by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 03:08:51 +02:00
Michael Niedermayer
254917f078 lavf/utils: run update_initial_timestamps() outside some if()
This way it gets executed earlier and updated timestamps become available earlier.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 03:07:03 +02:00
Diego Biurrun
dc40285427 x86: mpegvideo: more sensible names for optimization file and init function 2012-08-24 02:23:16 +02:00
Diego Biurrun
d211547ddd x86: mpegvideoenc: Split optimizations off into a separate file 2012-08-24 02:23:16 +02:00
Diego Biurrun
26ce9aec03 dnxhdenc: x86: more sensible names for optimization file and init function 2012-08-24 02:23:15 +02:00
Diego Biurrun
f1e06d37c9 svq1/svq3: Move common code out of SVQ1 decoder-specific file 2012-08-24 02:23:15 +02:00
Jordi Ortiz
43da682c87 dirac: add Comments and references to the standard
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-24 02:23:14 +02:00
Justin Ruggles
06e751a40f lavr: x86: optimized 6-channel flt to fltp conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
e07c9705c8 lavr: x86: optimized 2-channel flt to fltp conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
5245c9f3ad lavr: x86: optimized 6-channel flt to s16p conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
31d0d7181d lavr: x86: optimized 2-channel flt to s16p conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
6092dafb5a lavr: x86: optimized 6-channel s16 to fltp conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
91851a7b37 lavr: x86: optimized 2-channel s16 to fltp conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
205ace8843 lavr: x86: optimized 6-channel s16 to s16p conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
8eeffa8ada lavr: x86: optimized 2-channel s16 to s16p conversion 2012-08-23 20:10:57 -04:00
Justin Ruggles
b66e20d2aa lavr: x86: optimized 2-channel fltp to flt conversion 2012-08-23 20:10:56 -04:00
Justin Ruggles
d5b4e50c47 lavr: x86: optimized 6-channel fltp to s16 conversion 2012-08-23 20:10:56 -04:00
Justin Ruggles
a58a013980 lavr: x86: optimized 2-channel fltp to s16 conversion 2012-08-23 20:10:56 -04:00
Justin Ruggles
90cc27f813 lavr: x86: optimized 6-channel s16p to flt conversion 2012-08-23 20:10:56 -04:00
Justin Ruggles
46f929adad lavr: x86: optimized 2-channel s16p to flt conversion 2012-08-23 20:10:56 -04:00
Justin Ruggles
13df7d2d40 lavr: x86: optimized 6-channel s16p to s16 conversion 2012-08-23 20:10:56 -04:00
Justin Ruggles
c0e12535aa lavr: x86: optimized 2-channel s16p to s16 conversion 2012-08-23 20:10:56 -04:00
Michael Niedermayer
91c18beb9d ffmpeg: fix wrap correction code.
The code failed with negative timestamps due to using unsigned numbers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 01:39:32 +02:00
Michael Niedermayer
168ddcd331 mjpeg: fix fliping with emu edges.
Fixes Ticket121

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 21:53:10 +02:00
Joseph Artsimovich
628e6d0164 Fix partially hidden macroblocks for 10-bit DNxHD.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 20:09:57 +02:00
Georg Lippitsch
15acfa21fc ffv1: more than 8 bit per RGB channel
Add support for GBRP9, GBRP10, GBRP12 and GBRP14 pix formats in ffv1.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 19:44:43 +02:00
Michael Niedermayer
2b3b52d519 lagarith: fix alignment on buffers passed into prediction dsp code.
This should fix issues with direct rendering

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 19:03:57 +02:00
jamal
732dfc7660 lavf/ape: Fix stream duration calculation
Fixes ticket #1662

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 15:51:51 +02:00
Michael Niedermayer
599a4e0771 mpeg4audio: dont take the SBR flag too serious.
Fixes Ticket1049

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 14:43:12 +02:00
Michael Niedermayer
104f42e694 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc/APIchanges: add an entry for codec descriptors.
  vorbisenc: set AVCodecContext.bit_rate to 0
  vorbisenc: fix quality parameter
  FATE: add ALAC encoding tests
  lpc: fix alignment of windowed samples for odd maximum LPC order
  alacenc: use s16p sample format as input
  alacenc: remove unneeded sample_fmt check
  alacenc: fix max_frame_size calculation for the final frame
  adpcm_swf: Use correct sample offsets when using trellis.
  rtmp: support strict rtmp servers
  mjpegdec: support AVRn interlaced
  x86: remove FASTDIV inline asm

Conflicts:
	doc/APIchanges
	libavcodec/mjpegdec.c
	libavcodec/vorbisenc.c
	libavutil/x86/intmath.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 14:33:33 +02:00
Anton Khirnov
7b44061f4b doc/APIchanges: add an entry for codec descriptors.
Also fill in missing dates and hashes.
2012-08-23 08:51:04 +02:00
Justin Ruggles
a0a5fed908 vorbisenc: set AVCodecContext.bit_rate to 0
The Vorbis encoder is always VBR.
2012-08-22 19:58:46 -04:00
Justin Ruggles
890fddd0ea vorbisenc: fix quality parameter
This generates output with bitrates similar to libvorbis for a given quality
value.
2012-08-22 19:58:39 -04:00
Nicolas George
c2271fa7f9 lavfi: free partial audio buffers when destroying links.
Fix a memleak that the recent change of architecture made
more likely to happen.
2012-08-22 23:31:49 +02:00
Justin Ruggles
e981215944 FATE: add ALAC encoding tests 2012-08-22 16:41:57 -04:00
Justin Ruggles
4b0e0f31bf lpc: fix alignment of windowed samples for odd maximum LPC order
Fixes crash on x86 due to alignment requirements for w_data in
lpc_apply_welch_window_sse2().
2012-08-22 16:41:50 -04:00
Justin Ruggles
f24cc1b2f1 alacenc: use s16p sample format as input 2012-08-22 16:41:41 -04:00
Justin Ruggles
358078d9bb alacenc: remove unneeded sample_fmt check 2012-08-22 16:41:33 -04:00
Justin Ruggles
ec7a212f9f alacenc: fix max_frame_size calculation for the final frame 2012-08-22 16:41:23 -04:00
Derek Buitenhuis
081a822b6c FATE: Add Canopus Lossless tests
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 22:33:59 +02:00
Michael Niedermayer
12ad68b7e2 utvideoenc: use dsp.sub_hfyu_median_prediction
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 20:30:38 +02:00
Michael Niedermayer
729b2d02af utvideoenc: align mangled buffer starts.
This is essential for fast SIMD accesses.
The same should be done with the predict output.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 20:30:38 +02:00
Michael Niedermayer
d79c87a697 utvideoenc: drop step
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 20:30:38 +02:00
Michael Niedermayer
ba69eb5221 utvideoenc: avoid writing into the input picture.
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 20:30:33 +02:00
Michael Niedermayer
f92f4935ac utvideoenc: use ff_generate_len()
19% faster
smaller files
this may also fix possible integer overflows due to previous 32bit useage

Tested with libutvideo and our utvideo decoder, this patch does not change
decoder output in the test

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 19:38:24 +02:00
Nicolas George
52820bc578 lavfi/overlay: fix return values.
They were only roughly adapted when error return was
added to the push functions.
2012-08-22 19:04:30 +02:00
Nicolas George
a9cfe656d7 lavfi/split: handle closed outputs.
Return AVERROR_EOF if all outputs are closed.
2012-08-22 19:04:30 +02:00
Nicolas George
8b61abac2e ffmpeg: use close_output_stream more systematically. 2012-08-22 19:04:30 +02:00
Nicolas George
666fd092be ffmpeg: move close_output_stream earlier.
It will avoid a forward declaration.
2012-08-22 19:04:30 +02:00
Nicolas George
425b77114b ffmpeg: make decoding_needed a counter. 2012-08-22 19:04:30 +02:00
Nicolas George
beeba9161a lavfi: add a closed field to AVFilerLink.
It will help forward errors and maintain consistency.
2012-08-22 19:04:30 +02:00
Nicolas George
ac07f941ae ffmpeg: use AV_BUFFERSRC_FLAG_PUSH.
It reduces the lifespan of buffers in filter graphs,
and therefore the memory consumption.
2012-08-22 19:04:30 +02:00
Justin Ruggles
5d4ef004bf adpcm_swf: Use correct sample offsets when using trellis.
Fixes invalid reads when encoding mono streams when trellis is used.
2012-08-22 12:43:51 -04:00
Samuel Pitoiset
7011a42b1a rtmp: support strict rtmp servers
In order to send or receive a stream FCPublish, FCSubscribe and _checkbw
are completely optional and often not implemented. releaseStream over a
non-existen stream might report an error instead of being silent.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-22 17:55:17 +02:00
Michael Niedermayer
ac33016158 mjpegdec: support AVRn interlaced
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-22 17:44:43 +02:00
Michael Niedermayer
3f943fe681 huffman/huffyuv: move lorens huffman table generation code to huffman.c/h
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 16:52:07 +02:00
Michael Niedermayer
4fced11df7 utvideoenc: optimize and simplify mangle_rgb_planes
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 16:49:53 +02:00
Mans Rullgard
5b170c0bea x86: remove FASTDIV inline asm
GCC 4.3 and later do the right thing with the plain C code.  Earlier
versions in 32-bit mode generate one extra instruction, needlessly
zeroing what would be the high half of the shifted value.  At least
two gcc configurations miscompile the inline asm in some situations.

In 64-bit mode, all gcc versions generate imul r64, r64 followed by
shr.  On Intel i7 and later, this imul is faster 32-bit mul.  On
older Intel and all AMD, it is slightly slower.  On Atom it is much
slower.

Considering where the FASTDIV macro is used, any overall negative
performance impact of this change should be negligible.  If anyone
cares, they should file a bug against gcc and get the instruction
selection fixed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-22 14:29:10 +01:00
Michael Niedermayer
3699960690 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: x86: Only compile mpegvideo optimizations when necessary
  configure: Drop fastdiv option
  build: Make the E-AC-3 encoder select the AC-3 encoder
  fate: flac: Only run tests requiring samples when samples are available

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-22 14:37:03 +02:00
Stefano Sabatini
a7219529d1 examples/decoding_encoding: flush audio frames in the encoder 2012-08-22 11:54:30 +02:00
Stefano Sabatini
535df748c5 examples/decoding_encoding: re-organize frame configuration code
Put the relevant code in one chunk, also check for frame allocation
failures.
2012-08-22 11:54:24 +02:00
Stefano Sabatini
780bf7595e doc/filters: fix level for the flite Examples subsection 2012-08-22 01:21:20 +02:00
Diego Biurrun
6fa488678f build: x86: Only compile mpegvideo optimizations when necessary 2012-08-22 01:06:33 +02:00
Stefano Sabatini
2c0b164227 doc/faq: mention doc/examples
Also provide a link to the github FFmpeg page containing the examples.
2012-08-22 01:03:49 +02:00
Stefano Sabatini
005af8ce61 examples/muxing: cast sws_scale() argument to the expected one
Fix warnings:
muxing.c: In function ‘write_video_frame’:
muxing.c:326:23: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type [enabled by default]
2012-08-22 01:03:48 +02:00
Stefano Sabatini
4a91962771 doc/eval: add missing documentation of functions 2012-08-22 01:03:48 +02:00
Stefano Sabatini
4a32b30e0c doc/filters: itemize examples for pad filter, and fix a few typos 2012-08-22 01:03:42 +02:00
Diego Biurrun
66baa45801 configure: Drop fastdiv option
There is no point in having the user disable any fastdiv macros.
Besides the condition implementation was broken and only disabled
the C implementation, but no platform specific assembly versions.
2012-08-22 01:02:18 +02:00
Diego Biurrun
4264a0dd54 build: Make the E-AC-3 encoder select the AC-3 encoder
The E-AC-3 encoder depends on almost all of the code of the AC-3
encoder, so it makes no sense to enable one without the other.
2012-08-22 01:02:17 +02:00
Diego Biurrun
efa4d6adf3 fate: flac: Only run tests requiring samples when samples are available 2012-08-22 00:58:44 +02:00
Piotr Bandurski
bc151aee60 avrn: lowercase "name" and expand"long_name"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 22:32:31 +02:00
Justin Greer
e16fda9236 mov: Change default aac priming fallback from 2112 to 1024
This fixes priming for faac

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 22:32:31 +02:00
Justin Greer
37a15f3e66 mov: parse custom "----" Metadata
This fixes the priming samples for NERO AAC LC

Simplified-by: Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 22:31:26 +02:00
Michael Niedermayer
50df56161f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dirac: use meaningful return values
  flacdec: simplify sample buffer handling
  flacdec: simplify loop in decode_residuals()
  fate: make Ut Video encoder tests use bitexact swscale flags
  build: amrwb: Drop redundant lsp dependency declaration
  fate: fix utvideoenc tests

Conflicts:
	libavcodec/dirac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 16:17:13 +02:00
Jordi Ortiz
72e8d86b19 dirac: use meaningful return values
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-21 15:51:52 +02:00
Clément Bœsch
26ec392a0e lavf: remove unused AVStream pointer. 2012-08-21 13:48:08 +02:00
Clément Bœsch
3dba9e19c8 lavf: add const qualifier to AVCodecDescriptor pointer in is_intra_only().
Fix "assignment discards ‘const’ qualifier from pointer target type" warnings.
2012-08-21 13:47:43 +02:00
Mans Rullgard
44c56a1617 flacdec: simplify sample buffer handling
Pass pointer to sample buffer instead of channel number to various
functions called from decode_subframe().  Also simplify a few
expressions within this function.
2012-08-21 11:23:13 +01:00
Mans Rullgard
ea98507db0 flacdec: simplify loop in decode_residuals() 2012-08-21 11:23:13 +01:00
Jan Ekström
2e2d0b1142 fate: make Ut Video encoder tests use bitexact swscale flags
The failures on various architectures and compilers on the RGB(A)
tests seem to have been because of one-off YCbCr->RGB conversion
results. This should make the conversion results match on most if
not all code paths.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-21 11:43:43 +02:00
Stefano Sabatini
10c3329627 doc/ffmpeg: extend documentation for -(no)stdin option
Fix trac ticket #1665.
2012-08-21 10:04:30 +02:00
Jan Ekström
957521e7a4 fate: make Ut Video encoder tests use bitexact swscale flags
The failures on various architectures and compilers on the RGB(A)
tests seem to have been because of one-off YCbCr->RGB conversion
results. This should make the conversion results match on most if
not all code paths.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-21 09:45:01 +02:00
Michael Niedermayer
62527dc245 rmdec: parse logical-fileinfo, instead of creating phantom tracks
Fixes Ticket1090

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 06:15:22 +02:00
Michael Niedermayer
19a61bf39d rmdec: pass mime type to ff_rm_read_mdpr_codecdata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 06:14:29 +02:00
Michael Niedermayer
85a576775e lavf: factor ff_free_stream() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 06:13:54 +02:00
Michael Niedermayer
3ac754b93b hls: fix min DTS code, try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 01:52:55 +02:00
Michael Niedermayer
bf606334ad hls: fix EOF check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 01:52:55 +02:00
Stefano Sabatini
9a199040d8 lavfi/showspectrum: add priv_class and flags to options 2012-08-21 01:29:25 +02:00
Michael Niedermayer
7123e9506b hls: use av_compare_ts() instead of comparing apples to oranges.
Fixes Ticket983

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 01:00:05 +02:00
Thomas Weber
1c585dddbb lavfi/asyncts: Fix compilation with GCC 4.7
Compilation failed since commit 42d621d131
Error messages:
libavfilter/af_asyncts.c:249:5: error: initializer element is not
computable at load time
libavfilter/af_asyncts.c:249:5: error: (near initialization for
‘avfilter_af_asyncts.priv_size’)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 00:19:13 +02:00
Nicolas George
f4aeb48516 ffmpeg: remove outdated warning.
-t works with complex filters now.
2012-08-21 00:03:00 +02:00
Nicolas George
ac45637324 lavf/nutenc: write stream metadata. 2012-08-20 23:54:56 +02:00
Nicolas George
454e37ce0c lavf/nut: define fourcc DVBT for DVB_TELETEXT.
Allow "-map 0:s -c:s copy" to copy all subtitles streams.
2012-08-20 23:54:56 +02:00
Nicolas George
dcae2ecc13 ffmpeg: remove useless flags to EOF av_buffersrc_add_ref. 2012-08-20 23:45:15 +02:00
Nicolas George
5bbe4142d1 lavfi/buffersrc: add AV_BUFFERSRC_FLAG_PUSH. 2012-08-20 23:40:16 +02:00
Clément Bœsch
3899e49955 lavfi/edgedetect: use "@see" instead of the invalid "@url". 2012-08-20 23:12:34 +02:00
Clément Bœsch
ddda29b4a7 lavfi: add showspectrum filter. 2012-08-20 23:03:06 +02:00
Michael Niedermayer
786f06e109 h264: fix variable overflow after a few years of video playback
Found-by: Joakim Plate <elupus@ecce.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 22:30:00 +02:00
rogerdpack
d0b68a9d57 fix spelling
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 21:49:26 +02:00
rogerdpack
415f4cca1d dshow:protect access to curbufsize to promote consistency
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 20:58:05 +02:00
rogerdpack
a966d94891 dshow: avoid integer overflow when using curbufsize
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 20:56:45 +02:00
Derek Buitenhuis
18263698ab utvideoenc: Port to ff_alloc_packet2
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 20:55:19 +02:00
Mans Rullgard
67308bd66b fate: fix utvideoenc tests
For some reason, the prerequisites have to be specified like this.
Make works in mysterious ways.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-20 19:56:08 +02:00
XhmikosR
08bd8c8ab3 rename the remaining instances of HAVE_MMX2 to HAVE_MMXEXT
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 17:47:25 +02:00
Michael Niedermayer
bb3ed3bae6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Add FATE tests for the Ut Video encoder
  lavc: add Ut Video encoder
  mpegvideo_enc: remove stray duplicate line from 7f9aaa4
  swscale: x86: fix #endif comments in rgb2rgb template file
  avconv: mark more options as expert.
  avconv: split printing "main options" into global and per-file.
  avconv: refactor help printing.

Conflicts:
	Changelog
	ffmpeg_opt.c
	ffserver.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 17:31:55 +02:00
Michael Niedermayer
aee51039ee Merge commit 'f8b1e665539010d3ca148f09cb1203c20c1ca174'
* commit 'f8b1e665539010d3ca148f09cb1203c20c1ca174':
  avconv: print info/capabilities options in a separate help group.
  avtools: add -h demuxer/muxer
  cmdutils: extend -h to allow printing codec details.

Conflicts:
	cmdutils.h
	ffmpeg_filter.c
	ffmpeg_opt.c
	ffplay.c
	ffserver.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 17:06:50 +02:00
Michael Niedermayer
67a6dac7c1 Merge commit '7c5012127fb7e18f0616011257bb4248f6a8b608'
* commit '7c5012127fb7e18f0616011257bb4248f6a8b608':
  cmdutils: change semantics of show_help_options() and document it.
  avtools: move some newlines to show_help_options().
  avconv: deprecate -isync.

Conflicts:
	ffmpeg_opt.c
	ffserver.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 16:55:08 +02:00
Michael Niedermayer
c5af068084 Merge commit '8fc83fb081963001e1197c6fdd59fd2af415078a'
* commit '8fc83fb081963001e1197c6fdd59fd2af415078a':
  avconv: reformat the options table.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 16:47:12 +02:00
Diego Biurrun
deb23777f2 build: amrwb: Drop redundant lsp dependency declaration 2012-08-20 16:21:48 +02:00
Mans Rullgard
d71e2c1775 fate: fix utvideoenc tests
For some reason, the prerequisites have to be specified like this.
Make works in mysterious ways.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-20 15:07:41 +01:00
Michael Niedermayer
93e75c78dd ffmpeg_opt: get rid of casts for the HAS_ARG case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 16:05:59 +02:00
Michael Niedermayer
949938d1ca ffmpeg_opt: remove casts for OPT_FUNC2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 16:04:10 +02:00
Michael Niedermayer
581537cfd5 ffmpeg_opt: fix copy_tb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 16:02:03 +02:00
Michael Niedermayer
927022a753 Merge commit 'd3810c47fe8c9509c28c65c0244e743c1d353daf'
* commit 'd3810c47fe8c9509c28c65c0244e743c1d353daf':
  avconv: get rid of ugly casts in the options table.
  avconv: try to match codecs by codec descriptor name as a last resort.
  avtools: fix show_foo() signatures.

Conflicts:
	cmdutils.c
	cmdutils.h
	cmdutils_common_opts.h
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 15:48:21 +02:00
Wolfram Gloger
a5a0dedf11 Fix duplicate packet init introduced by 7f9aaa4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 14:45:28 +02:00
Jan Ekström
b96509c93c fate: Add FATE tests for the Ut Video encoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-20 11:23:10 +02:00
Jan Ekström
1ab5a78042 lavc: add Ut Video encoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-20 11:22:59 +02:00
Anton Khirnov
677e763a55 mpegvideo_enc: remove stray duplicate line from 7f9aaa4 2012-08-20 10:05:49 +02:00
Michael Niedermayer
76c3fff2f3 h264: Workaround invalid MPEG-TS broadcasts
Fixes seeking to the first keyframe
Fixes Ticket1029

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 05:47:42 +02:00
Michael Niedermayer
9e5f79ed8a avrndec: add DR1 capability flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 03:31:41 +02:00
Michael Niedermayer
b1acf5d7a6 AVRn: fix progressive
Fixes Ticket970

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 02:50:59 +02:00
Michael Niedermayer
ba2cf854d0 lavc: move AVRn to a seperate decoder.
The special cases in demuxers and decoders are a mess otherwise (and more
would be needed to support it fully)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 02:46:09 +02:00
Giorgio Vazzana
1e6072139b swscale: x86: fix #endif comments in rgb2rgb template file
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-19 21:50:09 +02:00
Anton Khirnov
602b1898e5 avconv: mark more options as expert. 2012-08-19 19:26:20 +02:00
Anton Khirnov
f9fada2704 avconv: split printing "main options" into global and per-file. 2012-08-19 19:23:43 +02:00
Anton Khirnov
6e3857fa8c avconv: refactor help printing.
By default don't dump every single option on the user, but print only
the basic options.

Add -h long/full to print more options.
2012-08-19 19:23:17 +02:00
Anton Khirnov
f8b1e66553 avconv: print info/capabilities options in a separate help group. 2012-08-19 19:23:06 +02:00
Anton Khirnov
1136bd362a avtools: add -h demuxer/muxer 2012-08-19 19:22:41 +02:00
Anton Khirnov
a3ad68d36c cmdutils: extend -h to allow printing codec details. 2012-08-19 19:22:08 +02:00
Anton Khirnov
7c5012127f cmdutils: change semantics of show_help_options() and document it.
Currently it takes a mask and value, such that options for which
(flags & mask) == value.

Change it to take required flags and forbidden flags instead. This is
shorter and simpler to understand.
2012-08-19 19:21:35 +02:00
Anton Khirnov
dc4c24a3d3 avtools: move some newlines to show_help_options().
Don't require every caller to supply them.
2012-08-19 19:21:03 +02:00
Anton Khirnov
79600a8354 avconv: deprecate -isync.
This option does not do anything.

Also remove OPT_GRAB, since -isync is the last option using it.
2012-08-19 19:20:14 +02:00
Anton Khirnov
8fc83fb081 avconv: reformat the options table. 2012-08-19 19:15:51 +02:00
Anton Khirnov
d3810c47fe avconv: get rid of ugly casts in the options table. 2012-08-19 19:09:36 +02:00
Anton Khirnov
db4766ad1b avconv: try to match codecs by codec descriptor name as a last resort.
This allows e.g. -c:v h264 to select the libx264 encoder.
2012-08-19 19:08:48 +02:00
Anton Khirnov
f617135bc9 avtools: fix show_foo() signatures.
show_foo() functions are declared as void show_foo(void), but called as
int show_foo(const char*, const char*).
2012-08-19 19:07:43 +02:00
rogerdpack
a93c221ccd dshow: protect access to curbufsize
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 18:36:26 +02:00
rogerdpack
42dbf06df0 dshow: cleanup reference
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 18:30:50 +02:00
Nicolas George
c28d80f4c9 lavc: avcodec_get_name: return "none" for AV_CODEC_ID_NONE. 2012-08-19 15:26:05 +02:00
Michael Niedermayer
c9fe864472 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vorbisdec: remove some pointless comments
  avprobe: add const to AVCodec pointer
  libavformat: add const to AVCodec pointers
  pthread: add const to AVCodec pointers

Conflicts:
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 14:55:58 +02:00
Mans Rullgard
4855022aa1 vorbisdec: remove some pointless comments
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-19 12:59:58 +01:00
Nicolas George
5980e57cf9 lavfi: add volumedetect filter. 2012-08-19 11:37:05 +02:00
Nicolas George
13b965ead4 ffmpeg: reindent after last commit. 2012-08-19 11:23:59 +02:00
Nicolas George
429c6cab1c ffmpeg: reduce differences with avconv for in/out scheduling.
Rework the transcode() function and its immediate annexes to have
the same structure as in avconv, while still maintaining proper
scheduling to avoid accumulation.

Using -filter_complex without inputs now works.
2012-08-19 11:20:56 +02:00
Michael Niedermayer
af5086087e ffmpeg: Clip invalid video timestamps like audio instead of failing hard.
Fixes Ticket976

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 02:42:53 +02:00
Michael Niedermayer
0de4918f32 rawdec: support AVRn 1:1 raw interlaced mode
Fixes Ticket971

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 23:55:59 +02:00
Stefano Sabatini
e35c0ee05c lavf/segment: fix computation of M3U8 segment target duration
Use ceil on the max duration, rather than approximating it to the nearest
integer.
2012-08-18 22:46:12 +02:00
Michael Niedermayer
a21f65b55e elbg: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 21:54:52 +02:00
Michael Niedermayer
9018f8c328 elbg: fix assert
It seems the condition was flipped from what was intended

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 21:53:32 +02:00
Michael Niedermayer
28ff17fa97 lavf: add use_wallclock_as_timestamps
This may fix Ticket730

Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 19:19:47 +02:00
Nicolas George
92b8c9d89e lavf/au: check bits per coded sample.
Without that, it would repeatedly produce empty packets
if the codec if forced to something invalid.

Fix trac ticket #1652.
2012-08-18 17:45:58 +02:00
Michael Niedermayer
7f46f042d1 buildsys: fix cleaning of libmpcodecs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 16:36:16 +02:00
Uoti Urpala
e70730045a h264: vdpau: fix crash with unsupported colorspace
The h264_vdpau decoder crashed if output colorspace was not 8-bit 420.
Add a check to error out instead (current hardware does not support
other colorspaces, so successful decoding is not possible).

Check implemented at a different place by michael, thus blame for bugs goes to michael
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 16:36:09 +02:00
Mans Rullgard
8b13445791 avprobe: add const to AVCodec pointer
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-18 14:20:57 +01:00
Mans Rullgard
edb5238ccb libavformat: add const to AVCodec pointers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-18 14:20:57 +01:00
Mans Rullgard
11434c9b13 pthread: add const to AVCodec pointers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-18 14:20:57 +01:00
Michael Niedermayer
6c180b35c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo_enc: don't use deprecated avcodec_encode_video().
  cmdutils: refactor -codecs option.
  avconv: make -shortest a per-output file option.
  lavc: add avcodec_descriptor_get_by_name().
  lavc: add const to AVCodec* function parameters.
  swf(dec): replace CODEC_ID with AV_CODEC_ID
  dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE
  rtmpdh: Do not generate the same private key every time when using libnettle
  rtp: remove ff_rtp_get_rtcp_file_handle().
  rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle()
  avio: add (ff)url_get_multi_file_handle() for getting more than one fd
  h264: vdpau: fix crash with unsupported colorspace
  amrwbdec: Decode the fr_quality bit properly

Conflicts:
	Changelog
	cmdutils.c
	cmdutils_common_opts.h
	doc/ffmpeg.texi
	ffmpeg.c
	ffmpeg.h
	ffmpeg_opt.c
	libavcodec/h264.c
	libavcodec/options.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 15:20:32 +02:00
Stefano Sabatini
69fc2489c4 doc/muxers: simplify segment examples
The simplifications are due to the recent option changes.
2012-08-18 12:32:54 +02:00
Stefano Sabatini
2d31ae2921 lavf/segment: change default value for segment_list_size option, from 5 to 0
This is technically a major compatibility break, but seems the most
natural default and what users would expect without reading the docs.
2012-08-18 12:32:23 +02:00
Stefano Sabatini
1c522e3868 lavf/segment: guess list type from list filename suffix 2012-08-18 12:31:49 +02:00
Stefano Sabatini
dc7e4d685f lavfi/mp: remove framestep wrapped filter
An equivalent framestep filter has been natively integrated.
2012-08-18 12:14:46 +02:00
Stefano Sabatini
48d116400c lavfi: add framestep filter
This filter is inspired upon libmpcodecs/vf_framestep.c, by Daniele
Forghieri.

Only-keyframe output is not supported, since that feature can be achieved
through the more versatile select filter.
2012-08-18 12:13:34 +02:00
Stefano Sabatini
7cd5fa35fe lavfi/testsrc: set output framerate 2012-08-18 12:02:43 +02:00
Stefano Sabatini
e5ae2f9126 lavf/segment: add M3U8 list support
Address trac ticket #1642.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
4a12d1e8e7 lavf/segment: compute max list segment duration
This is useful for the M3U8 format incoming patch.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
769500c2a3 lavf/segment: create segment_list_open and close functions
Allow factorization for the incoming patches, and avoid code/logic
duplication.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
d3a2a614bf lavf/segment: fix bogus segment index rewrapping logic
Decouple segment index wrapping and segment count logic. The counter
should not be reset since it detects the segment increasing timeframe.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
b89e00bd1c lavf/segment: move file description to @file doxy 2012-08-18 11:21:47 +02:00
Stefano Sabatini
725213545d lavf/avio: flush internal buffer when calling avio_close()
This seems the expected behavior.
2012-08-18 11:21:44 +02:00
Stefano Sabatini
63f57f8530 lavf/avio.h: doxygen avio_flush() 2012-08-18 11:21:42 +02:00
Stefano Sabatini
5296d7b971 ffmpeg,ffplay: show filter options
Address trac ticket #1599.
2012-08-18 10:19:10 +02:00
Stefano Sabatini
42d621d131 lavfi: add priv class to filter definitions and flags to filter internal options
This allows the iteration callbacks to discover the internal class and
options, and show them when required.
2012-08-18 10:19:05 +02:00
Stefano Sabatini
831a999dda lavfi/movie: split class definitions for movie and amovie
This is required for iterating through the filter class (without
incurring into a loop).
2012-08-18 10:04:25 +02:00
Stefano Sabatini
a77436abad lavfi/lut: duplicate class definitions for each lut variant filter
This is due to the design of components iteration through AVClass
child_class_next() callback, which requires that two components cannot
share the same class.
2012-08-18 10:04:25 +02:00
Stefano Sabatini
8e2cf68d09 doc/Makefile: add doc target, as an alias for "documentation"
Consistent with --enable-doc, and easier to type.
2012-08-18 10:04:25 +02:00
Nicolas George
9467f4eb5d lavc/tscc: use reget_buffer.
The previous code would release the buffer and get it
immediately after, assuming the contents is the same.
2012-08-18 09:52:15 +02:00
Anton Khirnov
7f9aaa499b mpegvideo_enc: don't use deprecated avcodec_encode_video(). 2012-08-18 08:48:30 +02:00
Anton Khirnov
7c10194996 cmdutils: refactor -codecs option.
Make it print a list of AVCodecDescriptors.

Add new -decoders and -encoders options that print lists of decoders and
encoders respectively.
2012-08-18 08:48:30 +02:00
Anton Khirnov
3c0df90584 avconv: make -shortest a per-output file option. 2012-08-18 08:48:30 +02:00
Anton Khirnov
91e59fea30 lavc: add avcodec_descriptor_get_by_name(). 2012-08-18 08:48:30 +02:00
Anton Khirnov
0a0f19b577 lavc: add const to AVCodec* function parameters. 2012-08-18 08:48:30 +02:00
Anton Khirnov
15c71dfd03 swf(dec): replace CODEC_ID with AV_CODEC_ID 2012-08-18 08:48:30 +02:00
Anton Khirnov
e0aa5e772b dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE 2012-08-18 08:48:30 +02:00
Michael Niedermayer
7e49474aa0 ffmenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 05:02:58 +02:00
Michael Niedermayer
b5abebe164 acelp_filters: switch to avassert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 05:02:08 +02:00
Samuel Pitoiset
8337b5db96 rtmpdh: Do not generate the same private key every time when using libnettle
Replace mpz_random by mpz_urandomb with a random state initialization in
order to improve the randomness.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-17 23:51:53 +03:00
Michael Niedermayer
ceb8773e16 libvpxenc: Fix CQ encoding without a specified bitrate
Also print a warning if neither quality nor bitrate is specified
and use the libvpx default bitrate in this case.

The idea of using the default bitrate is from Luca Barbato
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17 22:03:02 +02:00
Michael Niedermayer
1ee7a2955f libvpxenc: only force CBR if a bitrate is set
Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17 21:56:58 +02:00
Jordi Ortiz
a2dd4f7780 rtp: remove ff_rtp_get_rtcp_file_handle().
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-17 22:15:56 +03:00
Jordi Ortiz
e7993ece9b rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle()
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-17 22:15:46 +03:00
Jordi Ortiz
d6b9da1178 avio: add (ff)url_get_multi_file_handle() for getting more than one fd
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-17 22:14:30 +03:00
Uoti Urpala
2e8f3cbcda h264: vdpau: fix crash with unsupported colorspace
The h264_vdpau decoder crashed if output colorspace was not 8-bit 420.
Add a check to error out instead (current hardware does not support
other colorspaces, so successful decoding is not possible).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-17 20:08:53 +03:00
Martin Storsjö
ca00a7e809 amrwbdec: Decode the fr_quality bit properly
The way this bit is decoded was accidentally flipped in b70feb405,
leading to warnings "Encountered a bad or corrupted frame" for each
decoded frame.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-17 20:08:40 +03:00
Nedeljko Babic
6f98e298cc mips: change list of files with MIPS copyright notice in mips.txt
Add files created for MP3 optimization that have MIPS copyright
 notice in them to list of files in mips.txt.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17 18:54:50 +02:00
Nedeljko Babic
2b02bc6422 mips: add assembler flags for mips32r2 ISA and mhard-float
For some compilers ISA older than mips32r2 is set as default.
 Because of them assembler flag "-mips32r2" needs to be added
 for CPUs that support mips32r2 ISA in part of configure script
 where ISA capabilities are checked.
"-mhard-float" assembler flag is also added for CPUs that have FPU.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17 18:54:41 +02:00
Nicolas George
9341bbfc51 vf_yadif: fix permissions.
Require AV_PERM_PRESERVE and leave harmless permissions
alone for the next filter.
2012-08-17 18:26:42 +02:00
Nicolas George
71adb74059 vf_tinterlace: leave harmless permissions alone. 2012-08-17 18:26:42 +02:00
Nicolas George
d37f823207 vf_thumbnail: fix permissions. 2012-08-17 18:26:42 +02:00
Nicolas George
469d07a0e4 vf_select: require AV_PERM_PRESERVE.
This is only necessary because of the poll_frame implementation.
Removing it altogether would be another solution.
2012-08-17 18:26:42 +02:00
Nicolas George
f6647d8825 vf_removelogo: fix permissions.
The branch with the test was already impossible.
2012-08-17 18:26:41 +02:00
Nicolas George
616c3f3ee2 vf_overlay: fix permissions. 2012-08-17 18:26:41 +02:00
Nicolas George
5ec6ae91ba vf_idet: fix permissions.
Only write needs to be removed, other can be left.
2012-08-17 18:26:41 +02:00
Nicolas George
3bc644e044 vf_fps: fix permissions. 2012-08-17 18:26:41 +02:00
Nicolas George
738fab17ea vf_fieldorder: fix permissions. 2012-08-17 18:26:41 +02:00
Nicolas George
3c0cc3ae67 vf_fade: fix permissions. 2012-08-17 18:26:41 +02:00
Nicolas George
d5765d4725 vf_drawtext: fix permissions. 2012-08-17 18:26:41 +02:00
Nicolas George
0238806f64 vf_drawtext: fix permissions. 2012-08-17 18:26:40 +02:00
Nicolas George
84923555bb vf_deshake: fix permissions. 2012-08-17 18:26:40 +02:00
Nicolas George
f3133a48e5 vf_delogo: fix permissions. 2012-08-17 18:26:40 +02:00
Nicolas George
12ff3faec0 vf_colormatrix: fix permissions. 2012-08-17 18:26:40 +02:00
Nicolas George
ceb8dc1e04 vf_ass: fix permissions. 2012-08-17 18:26:40 +02:00
Nicolas George
07663871e1 vf_alphamerge: fix permissions. 2012-08-17 18:26:40 +02:00
Nicolas George
de35d2b498 avf_concat: fix permissions. 2012-08-17 18:26:39 +02:00
Nicolas George
44127c0489 af_channelmap: fix permissions. 2012-08-17 18:26:39 +02:00
Nicolas George
368f368e59 af_channelmap: require AV_PERM_PRESERVE. 2012-08-17 18:26:39 +02:00
Nicolas George
44aeb06290 fifo: fix permissions. 2012-08-17 18:26:39 +02:00
Nicolas George
a34eb393fc split: set rej_perms = AV_PERM_WRITE on outputs. 2012-08-17 18:26:39 +02:00
Nicolas George
a0d274d228 sink_buffer: require AV_PERM_PRESERVE. 2012-08-17 18:26:39 +02:00
Nicolas George
e54e30c889 lavfi: grant all permissions on mallocated audio buffers.
The permissions not requested by the filter that created
the buffer may be useful for a later filter and avoid a copy.
2012-08-17 18:26:38 +02:00
Nicolas George
cc8104b908 lavfi: fix erroneous use of AV_PERM_PRESERVE in ff_inplace_start_frame.
ff_inplace_start_frame looks useless anyway.
2012-08-17 18:26:38 +02:00
Nicolas George
046eb21c72 lavfi: grant all permissions on mallocated video buffers.
The permissions not requested by the filter that created
the buffer may be useful for a later filter and avoid a copy.
2012-08-17 18:26:38 +02:00
Michael Niedermayer
fa3fde168b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libvpxenc: use the default bitrate if not set
  utvideo: Rename utvideo.c to utvideodec.c
  doc: Fix syntax errors in sample Emacs config
  mjpegdec: more meaningful return values
  configure: clean up Altivec detection
  getopt: Remove an unnecessary define
  rtmp: Use int instead of ssize_t
  getopt: Add missing includes
  rtmp: Add support for receiving incoming streams
  Add missing includes for code relying on external libraries

Conflicts:
	libavcodec/libopenjpegenc.c
	libavcodec/libvpxenc.c
	libavcodec/mjpegdec.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17 17:06:52 +02:00
Luca Barbato
4aa3d7b3f2 libvpxenc: use the default bitrate if not set
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-17 12:47:45 +02:00
Jan Ekström
77f47e3288 utvideo: Rename utvideo.c to utvideodec.c
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-17 12:36:55 +02:00
Jordi Ortiz
fd6a085a22 doc: Fix syntax errors in sample Emacs config
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-17 10:59:42 +02:00
Clément Bœsch
517a2bbcf1 lavfi/edgedetect: add rounding for high/low threshold.
This should fix the 32-bit FATE instances where low_u8=19 and high_u8=49.
2012-08-17 08:08:07 +02:00
Michael Niedermayer
7e5a622525 escape124: Fix long == 64 assumtation.
Found-by: Nicolas
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17 07:16:16 +02:00
Michael Niedermayer
3a1ca240d9 ccitt fax: fix some group3 1d files without EOL
Fixes Ticket832

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-17 02:58:41 +02:00
Luca Barbato
0f64cd1e81 mjpegdec: more meaningful return values 2012-08-17 01:29:19 +02:00
Mans Rullgard
20bcce507a configure: clean up Altivec detection
There used to be one test for Altivec intrinsics support and a
separate test to determine which of two possible syntaxes to use
for vector literals.  Since 2008, we only support the more common
of these so the split test no longer makes sense.

This combines the tests into one and also changes the hard error on
failure to a warning.  The test can reasonably fail if no --cpu flag
is provided (or is provided with an unknown CPU) and the compiler
default target does not support Altivec.  Aborting in this case is
probably over-reacting.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-16 23:15:38 +01:00
Michael Niedermayer
3d7817048c escape124: fix integer overflow leading to excessive memory allocation
Fixes Ticket1629

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 22:28:29 +02:00
Martin Storsjö
962e912a49 getopt: Remove an unnecessary define
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 23:12:50 +03:00
Michael Niedermayer
4b529edff8 deprecate av_parse_cpu_flags
This function is problematic in several ways, its also quite
unpredictable which flags it ends up turning on

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 22:04:46 +02:00
Michael Niedermayer
540bd5a95f av_parse_cpu_caps: add "mmxext" as alias for mmx2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 22:04:46 +02:00
Michael Niedermayer
e71df841ee fft-test: switch to new cpu flags API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 22:04:46 +02:00
Clément Bœsch
3250231a02 lavfi: add edgedetect filter. 2012-08-16 22:03:32 +02:00
Martin Storsjö
cb5ab02a88 rtmp: Use int instead of ssize_t
Not all compilers support ssize_t (MSVC doesn't), and none of these
variables need to be larger than 32 bit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 23:02:26 +03:00
Martin Storsjö
da8201cc82 getopt: Add missing includes
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 22:25:13 +03:00
Nicolas George
12d2bbf324 lavfi/movie: extend a doxygen comment. 2012-08-16 20:36:45 +02:00
Giorgio Vazzana
e6ee58fae6 libswscale: fix #endif comments in rgb2rgb_template.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 18:40:11 +02:00
Nicolas George
584acbf524 lavfi/movie: set pkt->stream_index for flushing.
Otherwise, the value of stream_index is kept from the last packet
read, which is not necessarily the stream that needs flushing.
2012-08-16 18:07:03 +02:00
Michael Niedermayer
bb46b9a36f vc1dsp_mmx: remove libavutil/internal.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:29:29 +02:00
Michael Niedermayer
9bfeaf6f10 simple_idct_mmx: remove libavutil/internal.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:28:57 +02:00
Michael Niedermayer
64b23d7dec x86/motion_est_mmx: remove libavutil/internal.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:28:37 +02:00
Michael Niedermayer
191ffc7fe7 x86/mlpdsp: remove libavutil/internal.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:28:13 +02:00
Michael Niedermayer
a3ececf329 yadif: remove libavutil/internal.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:27:55 +02:00
Michael Niedermayer
501b681d95 lpc_mmx: remove libavutil/internal.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:26:41 +02:00
Michael Niedermayer
7cb9f1a8d0 idct_sse2_xvid: remove libavutil/internal.h include
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:26:06 +02:00
Jordi Ortiz
e5f2731c73 rtmp: Add support for receiving incoming streams
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 18:13:41 +03:00
Michael Niedermayer
75cd9a62f4 libvpxenc: check for odd RC parameter combinations that could crash
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:00:32 +02:00
Michael Niedermayer
d472453efd libvpxenc: fix division by zero
Reported-by: thresh
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 17:00:21 +02:00
Michael Niedermayer
c581cb4e4f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix even more missing includes after the common.h removal
  build: Factor out rangecoder dependencies to CONFIG_RANGECODER
  build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE
  x86: avcodec: Consistently name all init files
  Add more missing includes after removing the implicit common.h
  Add some more missing includes after removing the implicit common.h
  Don't include common.h from avutil.h
  rtmp: Automatically compute the hash for SWFVerification

Conflicts:
	configure
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/Makefile
	libavcodec/assdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/avpacket.c
	libavcodec/dv_profile.c
	libavcodec/dwt.c
	libavcodec/libtheoraenc.c
	libavcodec/rawdec.c
	libavcodec/rv40dsp.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.h
	libavcodec/vc1dsp.c
	libavcodec/x86/Makefile
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/buffer.c
	libavfilter/formats.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_select.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/version.h
	libavutil/audioconvert.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 16:20:30 +02:00
Martin Storsjö
7ebe3962f3 Add missing includes for code relying on external libraries
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 16:47:02 +03:00
Stefano Sabatini
208d6e6615 lavfi/hue: add verbose debug message showing initial parameters 2012-08-16 15:02:09 +02:00
Stefano Sabatini
5b0151a474 lavfi/hue: reindent after previous commits 2012-08-16 15:02:09 +02:00
Stefano Sabatini
419e1b7463 lavfi/hue: apply misc fixes to default values setting
In particular: signal error in case of bogus h:s values.
2012-08-16 15:02:09 +02:00
Jérémy Tran
191b77eb01 lavfi/hue: add named options support
Old syntax has been kept for compatibility reasons.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-16 15:01:05 +02:00
Stefano Sabatini
6efce3a894 lavfi/mp: remove hue wrapped filter
hue was integrated as a native libavfilter filter.
2012-08-16 14:13:54 +02:00
Martin Storsjö
232e35de2e Fix even more missing includes after the common.h removal
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 14:23:59 +03:00
Diego Biurrun
f704a079a1 build: Factor out rangecoder dependencies to CONFIG_RANGECODER
A new hidden config variable is added for the codecs that depend on
the rangecoder parts.
2012-08-16 11:05:39 +02:00
Diego Biurrun
c292f6a24d build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE
A new hidden config variable is added for the codecs that depend on
the error resilience parts.
2012-08-16 11:05:38 +02:00
Diego Biurrun
6961bdface x86: avcodec: Consistently name all init files 2012-08-16 11:05:38 +02:00
Carl Eugen Hoyos
e701b0cf75 Support reading 16-channel lxf files.
Fixes ticket #1608.

Reported, analyzed and tested by Gabriel Gerard.
2012-08-16 10:20:25 +02:00
Martin Storsjö
33e112847d Add more missing includes after removing the implicit common.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 10:49:54 +03:00
Philip Langdale
569027ea80 movtextdec: Don't emit errors for normal duration-end packets.
The logic here was off. If the packet size is exactly two, then
it's a well-formed empty subtitle, used to mark the end of the
duration of the previous subtitle.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-15 22:03:16 -07:00
Philip Langdale
6057de19b5 srtenc: Add timing-less "subrip" encoder.
Unsurprisingly, if a timing-less subrip decoder is desireable, an
encoder is as well. With this in place, we can move on to remove
the use of the old encoder/decoder with embedded timing and move
all timing handling the (de)muxer where they belong.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-15 20:46:54 -07:00
Philip Langdale
6af680fa07 srtdec: Add timing-less "subrip" decoder.
After various discussions, we concluded that, amongst other things,
it made sense to have a separate subrip decoder that did not use
in-band timing information, and rather relied on the ffmpeg level
timing.

As this is 90% the same as the existing srt decoder, it's implemented
in the same file.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-15 20:44:23 -07:00
Michael Niedermayer
b1b84b068d lavf: minor bump for avformat_queue_attached_pictures()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 04:57:08 +02:00
Michael Niedermayer
484aec4da3 LICENSE: correct incorrect claims on *GPL incompatibility
There are currently no statements from any person qualified in the art
of law about the LGPL compatibility of the libfaac license and others.
Furthermore their is no consensus about their compatibility amongth
people not qualified in the art.

Also of interrest may be that ubuntu distributes and links libfaac
to LGPL code. And the ubuntu technical comittee decision about libfaac
https://lists.ubuntu.com/archives/technical-board/2011-February/000703.html

Comments and other viewpoints, especially if i have missed something
are very welcome!

Reviewed-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 04:47:18 +02:00
Michael Niedermayer
c151e0ca15 ffplay: reque attached pictures on channel changes.
Fixes Ticket1473

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 04:38:54 +02:00
Michael Niedermayer
11f8f2c0f3 avformat: export queue_attached_pictures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 04:37:55 +02:00
Michael Niedermayer
a39c5c4c6b dv: fix null ptr dereference
Fixes Ticket1640

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 04:25:07 +02:00
Michael Niedermayer
f0896a6bd9 sp5xdec: fix off by 1 error causing a crash
Fixes Ticket1633

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 03:15:14 +02:00
Michael Niedermayer
747774ece9 av_get_audio_frame_duration: fix ra144
Fixes Ticket1612

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 02:57:11 +02:00
Michael Niedermayer
6ecf1eb0dd snowdec: add 2 av_asserts to check run validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 01:35:10 +02:00
Michael Niedermayer
4a596d19ff snowdec: check log in get_symbol2()
Fixes Ticket1635

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 01:31:19 +02:00
Martin Storsjö
70766c2182 Add some more missing includes after removing the implicit common.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 23:48:48 +03:00
Michael Niedermayer
0114c571d4 mpegvideo: dont call draw edges on lowres
this crashes otherwise, and can happen from try_decode_frame() in the case of decoding errors
Fixes Ticket1602

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 22:42:30 +02:00
Michael Niedermayer
e8c4022018 h263penc: fix multitheraded encoding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 22:14:24 +02:00
Michael Niedermayer
e2c54d4d72 mpegvideo_enc: reset mb_x/y before writing the headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 22:09:56 +02:00
Michael Niedermayer
717a1876d8 motion_est: switch some asserts to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 21:39:53 +02:00
Martin Storsjö
1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Samuel Pitoiset
93f257db6b rtmp: Automatically compute the hash for SWFVerification
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:05:36 +03:00
Michael Niedermayer
9e89bc37ed Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add support for SWFVerification
  api-example: use new video encoding API.
  x86: avcodec: Appropriately name files containing only init functions
  mpegvideo_mmx_template: drop some commented-out cruft
  libavresample: add mix level normalization option
  w32pthreads: Add missing #includes to make header compile standalone
  rtmp: Gracefully ignore _checkbw errors by tracking them
  rtmp: Do not send _checkbw calls as notifications
  prores: interlaced ProRes encoding

Conflicts:
	doc/examples/decoding_encoding.c
	libavcodec/proresenc_kostya.c
	libavcodec/w32pthreads.h
	libavcodec/x86/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 15:55:24 +02:00
Samuel Pitoiset
635ac8e1be rtmp: Add support for SWFVerification
Specifies how the server verifies client SWF files before allowing the
files to connect to an application. Verifying SWF files is a security
measure that prevents someone from creating their own SWF files that can
attempt to stream your resources.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 10:37:34 +03:00
Anton Khirnov
661454aa28 api-example: use new video encoding API. 2012-08-15 08:45:27 +02:00
Michael Niedermayer
aee7b88cc0 msmpeg4v2: initialize mb_type array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 05:29:28 +02:00
Michael Niedermayer
fafd844311 mpegvideo: fix MB/MV vissualization on videos that are not mod 16 == 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 05:03:37 +02:00
Diego Biurrun
29cfdd3767 x86: avcodec: Appropriately name files containing only init functions 2012-08-15 03:24:08 +02:00
Diego Biurrun
be12958937 mpegvideo_mmx_template: drop some commented-out cruft 2012-08-15 03:24:07 +02:00
Michael Niedermayer
6093960ae3 movdec: Try to recover from overreading atoms
Fixes Ticket1596

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 03:21:19 +02:00
Michael Niedermayer
f952ae1400 pafdec: fix wrong check for input buffer size.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 02:04:38 +02:00
Michael Niedermayer
456f0c6477 pafdec: fix wrong palette index check.
Fixes Ticket1641

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-15 01:57:45 +02:00
John Stebbins
4cf4028331 libavresample: add mix level normalization option
Provides an option to disable mix level normalization

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-14 23:36:56 +02:00
Diego Biurrun
11928d24fe w32pthreads: Add missing #includes to make header compile standalone 2012-08-14 23:36:56 +02:00
Samuel Pitoiset
fb7e78089b rtmp: Gracefully ignore _checkbw errors by tracking them
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-14 22:36:35 +03:00
Samuel Pitoiset
8b6a5a7923 rtmp: Do not send _checkbw calls as notifications
The _checkbw calls were changed to use transactionId 0 in commit
82613564 so that servers would not return _result/_error about it.
While this is the strict interpretation of the spec, there are
servers that return _error about it, even if transactionId was 0.

The latest version of EvoStream Media Server (the commercial version
of crtmpserver) behaves properly as described, i.e. returning an
_error normally but not returning anything when using transactionId
0. The latest version of crtmpserver (right now at least) doesn't
behave like this though, it returns an error even if transactionId
was 0.

There are also other servers that return errors even if transactionId
is set to 0. Therefore set a proper transaction id so that the invoke
can be tracked and the error properly ignored instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-14 22:31:53 +03:00
Sebastien Zwickert
02f12de1c2 vda: better frame allocation. 2012-08-14 21:22:20 +02:00
Maksalov Boris
c0f4cf7798 prores: interlaced ProRes encoding
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-14 19:28:50 +02:00
Michael Niedermayer
70f0ffa1ed bmv_videodec: fix out of array read
Fixes Ticket1373

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 18:58:49 +02:00
upsuper
068c8ce19c remove duplicated code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 18:39:55 +02:00
Boris Maksalov
c8e186fa7b prores_kostya: implement interlaced encoding.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 16:57:46 +02:00
Boris Maksalov
f0cbab2ac7 prores_kostya: fix incorrect picture_size field.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 16:57:39 +02:00
Michael Bradshaw
a22c996a85 Add ICO muxer
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 16:54:25 +02:00
Andrey Utkin
aec9390a9d Check for avio fail in avformat_write_header, av_write_frame
With minor changes by michael
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 16:25:53 +02:00
Michael Niedermayer
7427d1ca4a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g723.1: simplify scale_vector()
  g723.1: simplify normalize_bits()
  vda: cosmetics: fix Doxygen comment formatting
  vda: better frame allocation
  vda: Merge implementation into one file
  vda: support synchronous decoding
  vda: Reuse the bitstream buffer and reallocate it only if needed
  build: Factor out mpegvideo encoding dependencies to CONFIG_MPEGVIDEOENC
  avprobe: Include libm.h for the log2 fallback
  proresenc: use the edge emulation buffer
  rtmp: handle bytes read reports
  configure: Fix typo in mpeg2video/svq1 decoder dependency declaration
  Use log2(x) instead of log(x) / log(2)
  x86: swscale: fix fragile memory accesses
  x86: swscale: remove disabled code
  x86: yadif: fix asm with suncc
  x86: cabac: allow building with suncc
  x86: mlpdsp: avoid taking address of void
  ARM: intmath: use native-size return types for clipping functions

Conflicts:
	configure
	ffprobe.c
	libavcodec/Makefile
	libavcodec/g723_1.c
	libavcodec/v210dec.h
	libavcodec/vda.h
	libavcodec/vda_h264.c
	libavcodec/x86/cabac.h
	libavfilter/x86/yadif_template.c
	libswscale/x86/rgb2rgb_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 15:34:39 +02:00
Sebastien Zwickert
0e05908c95 vda: fix make checkheaders.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 14:16:14 +02:00
Andrey Utkin
a32fa21d17 lavfi/asetnsamples: push as many frames as ready
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-14 13:19:52 +02:00
Mans Rullgard
0d230e9312 g723.1: simplify scale_vector()
It is impossible for bits to be 15 here so the special case is
not needed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-14 12:08:30 +01:00
Mans Rullgard
a4b8fc3a8a g723.1: simplify normalize_bits()
This function is always called with a non-negative argument, so
those special cases are not needed.  In the places the argument
might be zero, the return value for a zero argument does not matter
since it would then be used to scale an array full of zeros.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-14 12:08:29 +01:00
Sebastien Zwickert
063910f54d vda: cosmetics: fix Doxygen comment formatting
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-14 12:48:52 +02:00
Sebastien Zwickert
694be29f13 vda: better frame allocation
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-14 12:48:46 +02:00
Sebastien Zwickert
dc87ac55ab vda: Merge implementation into one file
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-14 12:48:08 +02:00
Sebastien Zwickert
3c37970637 vda: support synchronous decoding
Note that the symbols used to run the hardware decoder in asynchronous mode
have been marked deprecated and will be dropped at a future version bump.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-14 12:47:27 +02:00
Sebastien Zwickert
cfc680ab39 vda: Reuse the bitstream buffer and reallocate it only if needed
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-14 12:47:15 +02:00
Nicolas George
082b745d33 filter_design: document ownership and permissions. 2012-08-14 12:12:20 +02:00
Nicolas George
271ddb116c lavfi: use min_perms and rej_perms for out pads.
There are several reasons for doing that:

1. It documents the code for the reader and helps find
   inconsistencies and bugs.

2. For rej_perms, it guarantees the change will be done
   even if the output reference can be created by several
   code paths.

3. It can be used to predict cases where a copy will,
   or will not happen and optimize buffer allocation
   (for example not request a rare direct-rendering buffer
   from a device sink if it will be copied anyway).

Note that a filter is still allowed to manage the permissions
on its own without using these fields.
2012-08-14 12:00:35 +02:00
Nicolas George
67a804b9ac dvdsubenc: reindent after recent commit. 2012-08-14 11:58:32 +02:00
Nicolas George
2d3acbfe8c lavc: add const to AVCodecContext.codec_descriptor. 2012-08-14 11:35:30 +02:00
Nicolas George
9bb936a80e lavc: reimplement avcodec_get_name with descriptors. 2012-08-14 11:35:30 +02:00
Nicolas George
690ef618b1 ffmpeg: copy subtitles frame dimensions.
The sub-movtextenc ref file changes because the dimensions
(400×60) are stored by the format.
2012-08-14 11:17:45 +02:00
Nicolas George
e4f4d99df8 ffmpeg: make -s work for subtitles too.
Some codecs allow to encode the frame size and some players use it.
2012-08-14 11:17:45 +02:00
Nicolas George
17e40236cb dvdsubenc: set frame size in extradata. 2012-08-14 11:17:45 +02:00
Nicolas George
b1511e00f6 lavf: probe PGS subtitles definition.
The resolution is in the packets, so decoding must happen.
Since most other formats do not set the dimension, make it
a special case for PGS. If other codecs were to have the
same requirement, using a CODEC_CAP would be preferred.
2012-08-14 11:17:45 +02:00
Nicolas George
2dedd8f496 dvdsubenc: make it usable for transcoding.
DVD subtitles packets can only encode a single rectangle:
if there are several, copy them into a big transparent one.

DVD subtitles rely on an external 16-colors palette:
use a reasonable default one, stored in the private context,
and encode it into the extradata, as specified by Matroska.
TODO: allow to change the palette with an option.

Each packet can use four colors out of the global palette.
The old logic was to map transparent colors to the color 0
and all other colors to 3, 2, 1, cyclically in descending
frequency order, completely disregarding the original color.

Select the "best" four colors from the global palette, according
to heuristics based on frequency, opacity and brightness, and
arrange them in standard DVD order: background, foreground,
outline, other.
TODO: select the alpha value more finely; see if CHG_COLCON can
allow more than 4 colors per packet.

Reference:
http://dvd.sourceforge.net/dvdinfo/spu.html

With these changes, dvdsubenc can be used to transcode DVB subtitles
and get a very decent result.
2012-08-14 11:17:45 +02:00
Nicolas George
0cad101ea1 ffmpeg: add an option to fix subtitles durations.
With this option, transcoding DVB subtitles becomes possible.
2012-08-14 11:17:45 +02:00
Diego Biurrun
ad08dfd594 build: Factor out mpegvideo encoding dependencies to CONFIG_MPEGVIDEOENC
A new hidden config variable is added for the codecs that depend on
the mpegvideo encoding parts.
2012-08-14 10:04:34 +02:00
Sebastien Zwickert
1bfa349a8d vda: merge implementation into one file.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 03:39:31 +02:00
Sebastien Zwickert
7f3dfd2010 vda: support synchronous decoding.
Note that the symbols used to run the hardware decoder in asynchronous mode
has been marked as deprecated and will be dropped at a future version dump.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 03:39:23 +02:00
rogerdpack
47682ddc22 more verbose error messages at configure time
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 03:31:50 +02:00
Michael Niedermayer
e47d979cab asfdec: ignore too tiny indexes
Fixes Ticket1521

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 03:21:08 +02:00
Martin Storsjö
0af85d57c1 avprobe: Include libm.h for the log2 fallback
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-14 01:37:52 +03:00
Boris Maksalov
cee03436e6 proresenc: use the edge emulation buffer
Prevents reading past the end of frame buffer.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-13 21:04:00 +02:00
Luca Barbato
fb96c1c5fe rtmp: handle bytes read reports
0x03 (bytes read report) is a known type and should be safely ignored
beside in debug situations.
2012-08-13 21:03:59 +02:00
Michael Niedermayer
5e3900c7a5 hls: Initialize stream_offset before find_stream_info.
find stream info causes reads that may use the offset in their callback

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 20:37:52 +02:00
Michael Niedermayer
cc913f7490 hls: check that the streams have been initialized before checking their discard flags.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 20:37:04 +02:00
Diego Biurrun
fe5fba44c5 configure: Fix typo in mpeg2video/svq1 decoder dependency declaration 2012-08-13 19:37:56 +02:00
Mans Rullgard
d752509b74 Use log2(x) instead of log(x) / log(2)
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 17:59:21 +01:00
Speedy Gonzales
ffda8f0f0f Proresenc: add multithreading support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 17:16:47 +02:00
Mans Rullgard
90540c2d5a x86: swscale: fix fragile memory accesses
To access data at multiple fixed offsets from a base address, this
code uses a single "m" operand and code of the form "32%0", relying on
the memory operand instantiation having no displacement, giving a final
result of the form "32(%rax)".  If the compiler uses a register and
displacement, e.g. "64(%rax)", the end result becomes "3264(%rax)",
which obviously does not work.

Replacing the "m" operands with "r" operands allows safe addition of a
displacement.  In theory, multiple memory operands could use a shared
base register with different index registers, "(%rax,%rbx)", potentially
making more efficient use of registers.  In the cases at hand, no such
sharing is possible since the addresses involved are entirely unrelated.

After this change, the code somewhat rudely accesses memory without
using a corresponding memory operand, which in some cases can lead to
unwanted "optimisations" of surrounding code.  However, the original
code also accesses memory not covered by a memory operand, so this is
not adding any defect not already present.  It is also hightly unlikely
that any such optimisations could be performed here since the memory
locations in questions are not accessed elsewhere in the same functions.

This fixes crashes with suncc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard
10b83cb653 x86: swscale: remove disabled code
This code has been disabled since 2003.  Nobody will ever look at
it again.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard
480178a295 x86: yadif: fix asm with suncc
Under some circumstances, suncc will use a single register for the
address of all memory operands, inserting lea instructions loading
the correct address prior to each memory operand being used in the
code. In the yadif code, the branch in the asm block bypasses such
an lea instruction, causing an incorrect address to be used in the
following load.

This patch replaces the tmpX arrays with a single array and uses a
register operand to hold its address. Although this prevents using
offsets from the stack pointer to access these locations, the code
still builds as 32-bit PIC even with old compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard
8ec0204ee4 x86: cabac: allow building with suncc
This fixes two issues preventing suncc from building this code.

The undocumented 'a' operand modifier, causing gcc to omit a $ in
front of immediate operands (as required in addresses), is not
supported by suncc.  Luckily, the also undocumented 'c' modifer
has the same effect and is supported.

On some asm statements with a large number of operands, suncc for no
obvious reason fails to correctly substitute some of the operands.
Fortunately, some of the operands in these statements are plain
numbers which can be inserted directly into the code block instead
of passed as operands.

With these changes, the code builds correctly with both gcc and
suncc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard
c8252e80eb x86: mlpdsp: avoid taking address of void
This code contains a C array of addresses of labels defined in
inline asm.  To do this, the names must be declared as external
in C.  The declared type does not matter since only the address is
used, and for some reason, the author of the code used the 'void'
type despite taking the address of a void expression being invalid.

Changing the type to char, a reasonable choice since the alignment
of the code labels cannot be known or guaranteed, eliminates gcc
warnings and allows building with suncc.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Mans Rullgard
87fa05a0da ARM: intmath: use native-size return types for clipping functions
This avoids having the compiler redundantly mask the values to
the smaller size.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Michael Niedermayer
603221ebd0 g723_1dec: inline normalize_bits() in scale vector and optimize it.
many branches and cases of scale_vector are irrelevant for the case here
and by inlining they can be reliably removed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 15:18:47 +02:00
Michael Niedermayer
20035fa241 g723_1dec: remove dead code that leaked in from libav
It appears someone thinks this special case can be reached
Well, it cannot, thus not only do we not need to optimize it
we dont need it at all

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 15:02:21 +02:00
Michael Niedermayer
84d29df013 g723_1dec: remove unneeded cliping that leaked in from merge from libav
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 15:01:45 +02:00
Michael Niedermayer
a9040a1167 g723_1dec: avoid memcpy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 14:53:29 +02:00
Michael Niedermayer
d8c3170c9f Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  g723.1: do not pass large structs by value
  g723.1: do not bounce intermediate values via memory
  g723.1: declare a variable in the block it is used
  g723.1: avoid saving/restoring excitation
  g723.1: avoid unnecessary memcpy() in residual_interp()
  g723.1: make postfilter write directly to output buffer
  g723.1: drop unnecessary variable buf_ptr in formant_postfilter()
  g723.1: make scale_vector() output to a separate buffer
  g723.1: make autocorr_max() work on an arbitrary buffer
  g723.1: do not needlessly use int64_t
  g723.1: use saturating addition functions
  g723.1: optimise scale_vector()
  g723.1: remove useless uses of MUL64()
  g723.1: remove unnecessary argument 'shift' from dot_product()
  g723.1: deobfuscate "(x << 4) - x" to "15 * x"
  celp: optimise ff_celp_lp_synthesis_filter()
  libavutil: add saturating addition functions
  cllc: Implement ARGB support
  cllc: Add support for QRGB
  cllc: Rename some funcs to represent what they actually do
  ...

Conflicts:
	LICENSE
	libavcodec/g723_1.c
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 14:38:43 +02:00
Paul B Mahol
bd70a52712 paf: prevent invalid write
Closes #1631.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-13 12:27:58 +00:00
Stefano Sabatini
c3da2c19e4 build: extend documentation building mechanism
Allow to select specific documentation components, and reliably check for
component dependencies.

In particular, check for perl presence on the system.
2012-08-13 12:22:02 +02:00
Jérémy Tran
ae60d2c877 lavfi: add hue filter
This is a port of the MPlayer hue filter (libmpcodecs/vf_hue.c) by
Michael Niedermayer.

Signed-off-by: Jérémy Tran <tran.jeremy.av@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-13 12:00:54 +02:00
Nicolas George
03e8944fc1 lavc: add missing codec descriptors. 2012-08-13 10:45:04 +02:00
Nicolas George
f594dafc10 tools: add a script to find missing codec descriptors. 2012-08-13 10:44:59 +02:00
Michael Niedermayer
710600077d h264_cavlc: switch forgotten assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 05:59:44 +02:00
Michael Niedermayer
e9d0ab5717 h264: fix x264 build detection
Fixes Ticket1503

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 04:58:15 +02:00
Mans Rullgard
69665bd6f4 g723.1: do not pass large structs by value
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
138914dcd8 g723.1: do not bounce intermediate values via memory
Although a reasonable compiler will probably optimise out the
actual store and load, this operation still implies a truncation
to 16 bits which the compiler will probably not realise is not
necessary here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
cbcf1b411f g723.1: declare a variable in the block it is used
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
35b533e4de g723.1: avoid saving/restoring excitation
Writing the scaled excitation to a scratch buffer (borrowing the
'audio' array) instead of modifying it in place avoids the need
to save and restore the unscaled values.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
4b728b4712 g723.1: avoid unnecessary memcpy() in residual_interp()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
f645710cf3 g723.1: make postfilter write directly to output buffer
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
1953264331 g723.1: drop unnecessary variable buf_ptr in formant_postfilter()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
b2af2c4bee g723.1: make scale_vector() output to a separate buffer
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
783da0d696 g723.1: make autocorr_max() work on an arbitrary buffer
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
3716105103 g723.1: do not needlessly use int64_t
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
47c73a73b0 g723.1: use saturating addition functions
Use saturating addition functions instead of 64-bit intermediates
and separate clipping.  This is much faster when dedicated
instructions are available.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
4aca716a53 g723.1: optimise scale_vector()
Firstly, nothing in this function can overflow 32 bits so the use
of a 64-bit type is completely unnecessary.  Secondly, the scale
is either a power of two or 0x7fff.  Doing separate loops for these
cases avoids using multiplications.  Finally, since only the number
of bits, not the actual value, of the maximum value is needed, the
bitwise or of all the values serves the purpose while being faster.

It is worth noting that even if overflow could happen, it was not
handled correctly anyway.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
1eb1f6f281 g723.1: remove useless uses of MUL64()
The operands in both cases are 16-bit so cannot overflow a 32-bit
destination.  In gain_scale() the inputs are reduced to 14-bit,
so even the shift cannot overflow.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
5a43eba956 g723.1: remove unnecessary argument 'shift' from dot_product()
The 'shift' argument is always 1 so there is no need to pass it
explicitly in every call.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
8b0de73464 g723.1: deobfuscate "(x << 4) - x" to "15 * x"
The compiler performs this optimisation.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
fddc5b9bea celp: optimise ff_celp_lp_synthesis_filter()
Adding instead of subtracting the products in the loop allows the
compiler to generate more efficient multiply-accumulate instructions
when 16-bit multiply-subtract is not available. ARM has only
multiply-accumulate for 16-bit operands.  In general, if only one
variant exists, it is usually accumulate rather than subtract.

In the same spirit, using the dedicated saturation function enables
use of any special optimised versions of this.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:25 +01:00
Mans Rullgard
6c4975eaaf libavutil: add saturating addition functions
Fixed-point audio codecs often use saturating arithmetic, and
special instructions for these operations are common.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 01:03:10 +01:00
Michael Niedermayer
ed8d827ad0 riffenc: fix aac
Fixes Ticket1435

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 01:41:55 +02:00
Stefano Sabatini
5c0d8bc4ce lavfi: add avfilter_get_class() and iteration callbacks
Allow iteration over filter options.
2012-08-13 00:04:06 +02:00
Stefano Sabatini
a25346e65c lavu/opt.h: add AV_OPT_FLAG_FILTERING_PARAM macro 2012-08-12 23:52:55 +02:00
Stefano Sabatini
3239382aef doc/texi2pod: add "use warnings" directive
The script was previously run with perl -w through the shebang
command. Now that the script is executed through direct perl invocation
the -w in the shebang command is ignored. This patch re-enables "use
warnings" whatever way the script is invoked.

Idea-By: jamal <jamrial@gmail.com>
2012-08-12 23:52:55 +02:00
Reimar Döffinger
118bd609f0 Optimized unscaled yuvp9/yuvp10 -> yuvp16 conversion.
About 30% faster on 32 bit Atom, 120% faster on 64 bit Phenom2.
This is interesting because supporting P16 is easier in e.g.
OpenGL (can misuse support for any 2-component 8 bit format),
whereas supporting p9/p10 without conversion needs a texture
format with at least 14 bits actual precision.
The shiftonly == 0 case is not optimized since the code is more
complex and the speed gain less obvious.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-12 23:23:19 +02:00
Michael Niedermayer
bb7073921c oggparsetheora: fix metadata parsing
Fixes Ticket1508
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 23:09:45 +02:00
Derek Buitenhuis
17c11cef9f cllc: Implement ARGB support
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-12 15:21:15 -04:00
Derek Buitenhuis
ba752dc016 cllc: Implement ARGB support
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-12 15:13:47 -04:00
Derek Buitenhuis
7fda47d53b cllc: Add support for QRGB
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-12 15:07:00 -04:00
Derek Buitenhuis
f4bb38cc26 cllc: Rename some funcs to represent what they actually do
This is in preparation for adding support for other colorspaces
and coding types.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-12 15:07:00 -04:00
Derek Buitenhuis
21d62c4730 cllc: Add support for QRGB
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-12 15:01:19 -04:00
Derek Buitenhuis
4637009e59 cllc: Rename some funcs to represent what they actually do
This is in preparation for adding support for other colorspaces
and coding types.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-12 15:01:19 -04:00
Michael Niedermayer
ab0ea7cb41 ffplay: avoid SDL_atoi()
It appears this function is not available everywhere
Should fix Ticket1525

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 20:05:39 +02:00
Boris Maksalov
d70231f02d Fix reading past the end of frame buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 18:51:23 +02:00
Piotr Bandurski
bd92205014 mov: remux AALP tag
AALP(AALP001) tag is present in 32bpp files encoded with avid codecs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 18:46:29 +02:00
Michael Niedermayer
bbe1a468d8 fate: split asyncts from aresample test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 18:11:27 +02:00
Diego Biurrun
3b9e832e17 x86: Drop silly "_yasm" suffixes from filenames 2012-08-12 17:13:05 +02:00
Michael Niedermayer
d5c90ff23b lavf: reimplement is_intra_only() by using the AVCodecContext codec descriptor
This also changes behavior as the descriptor table is more complete than
the switch/case it replaces. As well as considering all non video as
intra only

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 14:51:22 +02:00
Michael Niedermayer
da74e883f1 lavc: add codec_descriptor field to AVCodecContext.
This can be used to avoid a time consuming lookup of the
descriptor

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 14:51:19 +02:00
Michael Niedermayer
d0bf3bf1ff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: Detect discontinuities in timestamps for framerate/analyzeduration calculation
  lavf: Initialize the stream info timestamps in avformat_new_stream
  id3v2: Match PIC mimetype/format case-insensitively
  configure: Rename check_asm() to more fitting check_inline_asm()
  fate: Only test enabled filters
  avresample: De-doxygenize some comments where Doxygen is not appropriate
  rtmp: split chunk_size var into in_chunk_size and out_chunk_size
  rtmp: Factorize the code by adding find_tracked_method

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 13:43:03 +02:00
Diego Biurrun
f30ff54200 doc: Clarify licensing issues arising from external libraries 2012-08-12 13:28:58 +02:00
Martin Storsjö
bdefe22b8e lavf: Detect discontinuities in timestamps for framerate/analyzeduration calculation
If the dts difference is more than 1000 times the average dts
difference, restart the analysis.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-12 12:39:49 +03:00
Martin Storsjö
30c26c2442 lavf: Initialize the stream info timestamps in avformat_new_stream
These are normally initialized to AV_NOPTS_VALUE at the start
of avformat_find_stream_info, but if a new stream is found while
this function is running (e.g. like in mpegts), the newly added
AVStreams didn't have these values properly initalized, leading
to avformat_find_stream_info terminating too soon (when the
first timestamps are far from 0).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-12 12:39:47 +03:00
Mohammad Alsaleh
6e9bbc6525 id3v2: Match PIC mimetype/format case-insensitively
Some files' embedded art seems to have the mimetype 'image/JPG' instead
of 'image/jpg'. Libav fails to parse those because it matches
case-sensitively.

Use av_strncasecmp() to fix this behaviour.

Signed-off-by: Mohammad Alsaleh <msal@tormail.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-12 11:00:19 +02:00
Michael Niedermayer
6fd7bf7b03 sgidec: fix error free end detection.
Fixes Ticket1506
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 05:32:07 +02:00
Michael Niedermayer
39c56ef921 sgidec: correct end pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 05:31:14 +02:00
Michael Niedermayer
c5ea3a009b ffmpeg: Do not discard slightly invalid timestamps.
Fixes Ticket1627

The fate change is due to ffmpeg no longer pushing audio timestamps
aggressively up (which is what caused the AV sync issues in the ticket)
but leaving them as they are.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 01:22:48 +02:00
Michael Niedermayer
15e4bd65b1 vc1dec: support debug & FF_DEBUG_PICT_INFO.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 01:21:42 +02:00
Michael Niedermayer
a036ac5782 lavf: do not discard correct dts in favor of wrong pts for vc1-wmapro.ism
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-12 00:52:20 +02:00
Michael Niedermayer
2e4b662787 mov: add av_dlog() to CTTS reading code like is already done in STTS.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 23:27:27 +02:00
Diego Biurrun
575db88377 configure: Rename check_asm() to more fitting check_inline_asm() 2012-08-11 20:26:31 +02:00
Diego Biurrun
e017c87552 fate: Only test enabled filters
This fixes running FATE without --enable-gpl.
2012-08-11 20:26:31 +02:00
Diego Biurrun
3aa696e883 avresample: De-doxygenize some comments where Doxygen is not appropriate 2012-08-11 20:22:01 +02:00
Michael Niedermayer
7d23a65f0d asfdec: fix FRAME_HEADER_SIZE
Fixes Ticket1477

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 19:45:45 +02:00
Michael Niedermayer
5a49482cc0 dsputil_template: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 16:58:18 +02:00
Michael Niedermayer
f5f3684fb8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: simplify is_intra_only() by using codec descriptors.
  lavc: add an intra-only codec property.
  lavc: add codec descriptors.
  lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.
  dict: move struct AVDictionary definition to dict.c
  dict: add av_dict_count()

Conflicts:
	doc/APIchanges
	libavcodec/old_codec_ids.h
	libavformat/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 15:01:45 +02:00
Jordi Ortiz
f5ce90f2de rtmp: split chunk_size var into in_chunk_size and out_chunk_size
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-11 15:49:37 +03:00
Samuel Pitoiset
a8103503b3 rtmp: Factorize the code by adding find_tracked_method
Also fix the bytestream reader size parameter to take the
offset into account.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-11 15:15:51 +03:00
Anton Khirnov
885da7b082 lavf: simplify is_intra_only() by using codec descriptors. 2012-08-11 11:34:24 +02:00
Anton Khirnov
51efed152d lavc: add an intra-only codec property. 2012-08-11 11:34:09 +02:00
Anton Khirnov
c223d79945 lavc: add codec descriptors.
They describe properties that are inherent to a codec (as described by
an AVCodecID) without referring to a specific implementation.
2012-08-11 11:32:11 +02:00
Michael Niedermayer
48d20b918c snowdec: increase stack size
Fixes Ticket1632

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 05:32:16 +02:00
Michael Niedermayer
994923ec00 dwt: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 05:31:59 +02:00
Michael Niedermayer
58825a18aa msrle: fix regression causing null ptr dereference
Fixes Ticket1630

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 02:20:06 +02:00
Michael Niedermayer
f9505923a3 cavsdec: check dimensions being valid.
Fixes crash
Fixes Ticket1628

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 02:00:33 +02:00
Michael Niedermayer
bd6ece4609 mp3enc: fix CODEC_ID/CodecID that leaked in from older patch
Found-by: jamal <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-11 01:52:15 +02:00
Stefano Sabatini
e874b29296 doc/Makefile: invoke perl to interpret texi2pod.pl
Do not rely on shebang directive in the script, whose exact behavior is
system dependent.
2012-08-10 23:14:57 +02:00
Stefano Sabatini
ad5043e285 cmdutils: show options in show_help_children only if the context has options
Avoid to print a pointless name of the context followed by an empty list.
2012-08-10 23:14:44 +02:00
Stefano Sabatini
a6d6b8a200 lavu/opt: fix crash in av_opt_next() in case the class has no options 2012-08-10 23:14:37 +02:00
Anton Khirnov
2ff67c909c lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.
C++ does not allow to mix different enums, so e.g. code comparing
ACodecID with CodecID would fail to compile with gcc.

This very evil hack should fix this problem.
2012-08-10 18:48:40 +02:00
Michael Niedermayer
7fd467f708 mp3/mp2: identify the video codecs as APIC through query_codec.
Fixes Ticket1408

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 17:24:39 +02:00
Michael Niedermayer
22d804b7f0 ffmpeg: dont auto match videostreams with attachment pics.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 17:23:18 +02:00
Michael Niedermayer
f9f11c1000 lavf: return APIC fourcc from query_format() if the codec is supported as an attachment pic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 17:22:56 +02:00
Michael Niedermayer
b2bc48ae22 iff: replace av_abort by av_assert0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 16:26:39 +02:00
Michael Niedermayer
18b0c39f99 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g723.1: fix addition overflow
  g723.1: simplify and fix multiplication overflow
  g723.1: deobfuscate an expression
  g723.1: remove unused #includes
  ARM: add missing "cc" clobber in av_clipl_int32_arm()
  rtmp: Factorize the code by adding handle_invoke_error
  rtmp: Factorize the code by adding handle_invoke_status
  rtmp: Factorize the code by adding handle_invoke_result
  libavutil: remove unused av_abort() macro
  ffmenc: replace if/abort with assert()
  libavutil: drop offsetof() fallback definition
  libavutil: drop fallback definitions of INTxx_MIN/MAX
  configure: Check for a sctp struct instead of just the header
  configure: suncc: Add -xc99 to dependency flags, required on Solaris
  doxygen: Fix function parameter names to match the code
  doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs
  swf: Move shared table out of the header file
  swf: Move swf_audio_codec_tags table to the only place it is used
  fate: add G.723.1 decoder tests

Conflicts:
	configure
	doc/platform.texi
	libavformat/Makefile
	libavutil/arm/intmath.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 16:25:23 +02:00
Mans Rullgard
33de86db2b dict: move struct AVDictionary definition to dict.c
This makes struct AVDictionary fully opaque now that nothing
needs to access it directly any more.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 15:15:00 +01:00
Mans Rullgard
987170cb9d dict: add av_dict_count()
This adds a function to retrieve the number of entries in a
dictionary and updates the places directly accessing what should
be an opaque struct to use this new function instead.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 15:15:00 +01:00
Michael Niedermayer
d9d0c1ccc3 mjpegdec: support AVRn interlaced
Fixes Ticket1527
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 15:56:14 +02:00
Mans Rullgard
05c36e0e5f g723.1: fix addition overflow
This addition must be done as 64-bit to avoid overflow and for
the subsequent clipping to be meaningful.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 12:18:38 +01:00
Mans Rullgard
52aa3015a3 g723.1: simplify and fix multiplication overflow
In 16-bit arithmetic, x * 0xffffc is simply x * -4 with extra overflows,
(and the constant was probably meant to be 0xfffc).  Combined with the
shift, this simplifies to -x >> 1.  Finally, clearing the low two bits
with a 32-bit mask and switching to a 32-bit type allows more efficient
code on 32-bit machines.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 12:18:38 +01:00
Mans Rullgard
e141cf2c57 g723.1: deobfuscate an expression
(x << 2) - x is just an optimisation of 3 * x the compiler is
perfectly capable of doing on its own.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 12:18:38 +01:00
Mans Rullgard
e2b7c5783d g723.1: remove unused #includes
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 12:18:38 +01:00
Mans Rullgard
0d735ca214 ARM: add missing "cc" clobber in av_clipl_int32_arm()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-10 10:51:10 +01:00
Michael Niedermayer
633b90ca8d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  motion_est: drop inline from sad_hpel_motion_search()
  motion_est: remove unused macros
  motion_est: remove useless no_motion_search() function
  lagarith: frame multithreading
  doxygen: qdm2: Drop documentation for non-existing function parameters
  build: add HOSTOBJS to SUBDIR_VARS list

Conflicts:
	Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 04:46:13 +02:00
Michael Niedermayer
969267482d ffmpeg: Allocate new buffer for bitstream filter when buffer shifted
fix crash with aac_adtstoasc bitstream filter
Fixes Ticket1441

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 04:36:43 +02:00
Michael Niedermayer
a0d15027e3 yadif: check input video size.
yadif needs at least 3x3 or it will likely crash with out of array reads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 00:09:34 +02:00
Michael Niedermayer
8f29901b54 yadif: remove get_video_buffer, its redundant now
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 00:09:11 +02:00
Michael Niedermayer
2f7e8dcf45 yadif: redesign first and last 2 lines handling.
The previous code dependent on the input buffer matching the
buffer that has been provided by yadifs get_buffer.
The API does in now way gurantee this though its often true.
This fixes some out of array reads.
The regression test checksums change due to "out of picture" values
being initialized differently.
There should be no visual difference in the filters output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 00:08:34 +02:00
Samuel Pitoiset
3eebc1e174 rtmp: Factorize the code by adding handle_invoke_error
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-09 22:44:30 +02:00
Samuel Pitoiset
71036a3a5e rtmp: Factorize the code by adding handle_invoke_status
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-09 22:44:30 +02:00
Samuel Pitoiset
5e6001db8f rtmp: Factorize the code by adding handle_invoke_result
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-09 22:44:29 +02:00
Mans Rullgard
54918d0394 libavutil: remove unused av_abort() macro
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 20:52:39 +01:00
Mans Rullgard
6d3783d160 ffmenc: replace if/abort with assert()
The condition is trivially true, but keeping the assert() is
sensible to avoid FFM_HEADER_SIZE ever getting out of sync with
the actual code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 20:52:39 +01:00
Mans Rullgard
1c4ab37c38 libavutil: drop offsetof() fallback definition
The only compiler I have that does not define the standard
offsetof() macro is "Bruce's C Compiler", a simple compiler
for producing 8/16-bit 8086 code, usually for use in early
stages of PC booting.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 20:52:39 +01:00
Mans Rullgard
d913fd1f00 libavutil: drop fallback definitions of INTxx_MIN/MAX
This list is incomplete (we also use UINT16_MAX), so there does
not appear to be any system we care about that needs these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 20:52:39 +01:00
Michael Niedermayer
83c93fe74a configure: Check for a sctp struct instead of just the header
This fixes build failures on debian/kfreebsd, which has the
sctp.h header, but it is currently broken (a cpp test succeeds,
but a compile test fails), see http://bugs.debian.org/684330 for
details.

Also remove the checked item from HAVE_LIST, since the corresponding
HAVE_* define isn't used by the source code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-09 22:22:38 +03:00
Diego Biurrun
c72f12cbae configure: suncc: Add -xc99 to dependency flags, required on Solaris 2012-08-09 20:07:05 +02:00
Diego Biurrun
804d7a1aa6 doxygen: Fix function parameter names to match the code 2012-08-09 20:05:55 +02:00
Diego Biurrun
52561d0116 doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs 2012-08-09 20:05:54 +02:00
Diego Biurrun
90f7e61769 swf: Move shared table out of the header file 2012-08-09 20:05:54 +02:00
Diego Biurrun
2804ba6a3b swf: Move swf_audio_codec_tags table to the only place it is used 2012-08-09 20:05:53 +02:00
Kostya Shishkov
84f9d78a96 fate: add G.723.1 decoder tests 2012-08-09 19:35:47 +02:00
Michael Niedermayer
9f088a1ed4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: reduce excessive inlining of mpeg_motion()
  mpegvideo: convert mpegvideo_common.h to a .c file
  build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
  Move MASK_ABS macro to libavcodec/mathops.h
  x86: move MANGLE() and related macros to libavutil/x86/asm.h
  x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
  aacdec: Don't fall back to the old output configuration when no old configuration is present.
  rtmp: Add message tracking
  rtsp: Support mpegts in raw udp packets
  rtsp: Support receiving plain data over UDP without any RTP encapsulation
  rtpdec: Remove an unused include
  rtpenc: Remove an av_abort() that depends on user-supplied data
  vsrc_movie: discourage its use with avconv.
  avconv: allow no input files.
  avconv: prevent invalid reads in transcode_init()
  avconv: rename OutputStream.is_past_recording_time to finished.

Conflicts:
	configure
	doc/filters.texi
	ffmpeg.c
	ffmpeg.h
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/mpegvideo.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 19:31:56 +02:00
Michael Niedermayer
e1a983e601 Merge commit '0c00fd80ee4791bd70b634084307fc9f179e0412'
Just for metadata, this change has been integrated by hand already

* commit '0c00fd80ee4791bd70b634084307fc9f179e0412':
  avconv: split the code for processing input packets out of transcode()

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 18:43:12 +02:00
Michael Niedermayer
fc97f8e0e2 ffmpeg: factorize process_input() out
Based-on:
	commit 0c00fd80ee
	Author: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 18:21:45 +02:00
Michael Niedermayer
b7e9eea31f Merge commit 'f154ef1ae5b03f288dd8c025dab1884b4cb20c1a'
* commit 'f154ef1ae5b03f288dd8c025dab1884b4cb20c1a':
  avconv: send EOF to lavfi even if flushing the decoder fails
  avconv: get rid of pointless temporary variable.
  avconv: simplify transcode().
  avconv: cosmetics
  avconv: replace no_packet array in transcode() with a var in InputStream
  avconv: remove unused variable from InputFile.
  avconv: remove commented out cruft.
  avconv: maintain sync on lavfi outputs.

Conflicts:
	ffmpeg.c
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 15:23:00 +02:00
Mans Rullgard
0db9eba48c motion_est: drop inline from sad_hpel_motion_search()
This function is only ever called through a function pointer,
so marking it inline makes no sense.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 12:27:49 +01:00
Mans Rullgard
5bf7bc625b motion_est: remove unused macros
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 12:27:49 +01:00
Mans Rullgard
74f82f92a4 motion_est: remove useless no_motion_search() function
At both places this function is called, mb_[xy] == s->mb_[xy]
making the call together with following code equivalent to
simply assigning zeros.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 12:27:49 +01:00
Nicolas George
e13df05fdb dvbsub: reindent after last commit. 2012-08-09 11:22:11 +02:00
Nicolas George
aed032c25b dvbsub: fix encoding of termination packets.
The old code generates a termination packet with the same regions as the
start packet and page_state set to "only what changed"; the result is
that the termination packet is decoded as identical to the start packet.

The new code does as found in some DVB broadcasts: produce a packet with
no regions. This is done by expecting num_rects to be 0 rather than
using a flip-flop. ffmpeg.c is updated accordingly.
2012-08-09 11:03:22 +02:00
Hendrik Leppkes
f9150c8ac0 lagarith: frame multithreading
About 2x speedup going from 1 to 2 threads.
1.7s to 0.85s on foreman CIF.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-08-09 10:50:27 +02:00
Clément Bœsch
cc650cf029 Remove "Error parsing options string [...]" messages.
This reduces from 3 to 2 messages for the same syntax error in ffprobe,
and from 4 to 3 in filters.
2012-08-09 08:11:00 +02:00
jamal
5d8e54fe1d checkheaders: Rename HEADEROBJS to HOBJS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 05:02:45 +02:00
Michael Niedermayer
2cdb0810f1 ffmpeg: reduce difference to qatar by a few lines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 04:12:50 +02:00
Michael Niedermayer
b41d481aa4 common.mak: add forgotten hunk from last merge
Found-by: jamal <jamrial@gmail.com>
Author of the hunk: Mans Rullgard <mans@mansr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 03:50:48 +02:00
Diego Biurrun
36a8c43073 doxygen: qdm2: Drop documentation for non-existing function parameters 2012-08-09 03:49:44 +02:00
Diego Biurrun
24d3796d21 build: add HOSTOBJS to SUBDIR_VARS list
Even though HOSTOBJS are not referenced directly in subdirectory Makefile
snippets right now, robustness requires resetting the variable contents.
2012-08-09 03:49:19 +02:00
Mans Rullgard
f69f4036f8 mpegvideo: reduce excessive inlining of mpeg_motion()
The main benefit of inlining this function is from constant
propagation for the 'field_based' argument.  Instead of inlining
all calls, create two versions of the function for field_based
values of 0 and 1.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 01:31:37 +01:00
Mans Rullgard
7a851153d3 mpegvideo: convert mpegvideo_common.h to a .c file
This file defines a single, huge function, MPV_motion(), which
although being declared inline is not actually inlined by the
compiler (for good reason).  There is thus no sense in defining
this function in a header file, resulting in multiple copies of
it in the final library.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 01:31:37 +01:00
Mans Rullgard
18bbca1fd3 build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
This adds a hidden config variable for the mpegvideo.o dependency
and selects from the codecs which require it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 01:31:37 +01:00
Paul B Mahol
bd971ddaf4 aasc: 8bit support
Closes #1319.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-09 00:02:05 +00:00
Paul B Mahol
8a57ca5c6a aasc: fix out of array write
Closes #1619.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-09 00:02:05 +00:00
Mans Rullgard
d7a4f8f8b9 Move MASK_ABS macro to libavcodec/mathops.h
This macro is only used in two places, both in libavcodec, so this
is a more sensible place for it.

Two small tweaks to the macro are made:

- removing the trailing semicolon
- dropping unnecessary 'volatile' from the x86 asm

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Mans Rullgard
070a402b60 x86: move MANGLE() and related macros to libavutil/x86/asm.h
These x86-specific macros do not belong in generic code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Mans Rullgard
c318626ce2 x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
This puts x86-specific things in the x86/ subdirectory where they
belong.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Alex Converse
122d5c526a aacdec: Don't fall back to the old output configuration when no old configuration is present.
Fixes MP4 files where the first frame is broken.
2012-08-08 16:55:41 -07:00
Michael Niedermayer
4ec03d1386 bessel: check that the function terminates as expected by av_assert2().
A clear abort is better than wrong output and a possible crash.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 01:44:15 +02:00
Michael Niedermayer
f79f25e948 integer: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 01:44:15 +02:00
Michael Niedermayer
ae199ab4ae integer: fix typos in asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 01:44:15 +02:00
Stefano Sabatini
f6580b50ed lavfi: add asetpts audio filter
Based on an idea by Andrey Utkin <andrey.krieger.utkin@gmail.com>.
2012-08-09 01:03:05 +02:00
Michael Niedermayer
11a1033c9f Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  build: cosmetics: Reorder some lists in a more logical fashion
  x86: pngdsp: Fix assembly for OS/2
  fate: add test for RTjpeg in nuv with frameheader
  rtmp: send check_bw as notification
  g723_1: clip argument for 15-bit version of normalize_bits()
  g723_1: use all LPC vectors in formant postfilter
  id3v2: Support v2.2 PIC
  avplay: fix build with lavfi disabled.
  avconv: split configuring filter configuration to a separate file.
  avconv: split option parsing into a separate file.
  mpc8: do not leave padding after last frame in buffer for the next decode call
  mpegaudioenc: list supported channel layouts.
  mpegaudiodec: don't print an error on > 1 frame in a packet.
  api-example: update to new audio encoding API.
  configure: add --enable/disable-random option
  doc: cygwin: Update list of FATE package requirements
  build: Remove all installed headers and header directories on uninstall
  build: change checkheaders to use regular build rules
  rtmp: Add a new option 'rtmp_subscribe'
  rtmp: Add support for subscribing live streams
  ...

Conflicts:
	Makefile
	common.mak
	configure
	doc/examples/decoding_encoding.c
	ffmpeg.c
	libavcodec/g723_1.c
	libavcodec/mpegaudiodec.c
	libavcodec/x86/pngdsp.asm
	libavformat/version.h
	library.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 00:51:02 +02:00
Stefano Sabatini
4270d8c04d lavd/x11grab: deprecate "nomouse" specification in filename
Favor draw_mouse option. Should simplify parsing, and make it more
robust.
2012-08-08 23:43:37 +02:00
Stefano Sabatini
be2b885738 doc/indevs: document missing options in x11grab section
Add documentation for options draw_mouse, framerate, and video_size.

In particular, fix trac ticket #1314.
2012-08-08 23:43:37 +02:00
Stefano Sabatini
c93b796c3e lavd/x11grab: apply misc consistency fixes to options definition
In particular, do not upcase first word, do not use final dot, use a verb
to specify what the option does, sort entries by name, apply random
vertical align.
2012-08-08 23:43:37 +02:00
Stefano Sabatini
f09a06908e doc/indevs: use separate @example blocks for separate examples
Improve rendering.
2012-08-08 23:43:37 +02:00
Stefano Sabatini
083754f2be doc/indevs: rework options description in the x11 grab section
Create a dedicated options subchapter, rather than a subchapter for each
option.

This is more consistent with the rest of the docs. Also apply misc minor
fixes for improving rendering.
2012-08-08 23:43:36 +02:00
Stefano Sabatini
7794ddeae3 doc/ffmpeg: do not show examples making use of the deprecated glob_sequence pattern type
The syntax of the 'glob_sequence' pattern type is explained in the image2
manual section, so there is no need to replicate it here.

Also discourage the use of such deprecated pattern type by not showing
examples employing it.

Replace the syntax explanation with an use example of the 'glob' pattern
type.
2012-08-08 23:43:36 +02:00
Stefano Sabatini
3a06ea8436 lavf/img2dec: add and document pattern_type option
Allow to override the default 'glob_sequence' value, which is deprecated
in favor of the new 'glob' and 'sequence' options.

The new pattern types should be easier on the user since they are more
predictable than 'glob_sequence', and do not require awkward escaping.
2012-08-08 23:43:36 +02:00
Stefano Sabatini
0325e01fe7 doc/demuxers: itemize image2 examples and put them in a dedicated subsection 2012-08-08 23:43:31 +02:00
Samuel Pitoiset
f89584ca44 rtmp: Add message tracking
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-09 00:32:29 +03:00
Martin Storsjö
1243c72251 rtsp: Support mpegts in raw udp packets
This is basically the same way as mpegts packets are parsed in
rtpdec.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-09 00:25:57 +03:00
Martin Storsjö
df8cf076c8 rtsp: Support receiving plain data over UDP without any RTP encapsulation
EvoStream Media Server can serve data in this format, and
VLC/live555 already supports it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-09 00:25:15 +03:00
Martin Storsjö
c864e461d2 rtpdec: Remove an unused include
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-09 00:25:11 +03:00
Martin Storsjö
bfb82fcddf rtpenc: Remove an av_abort() that depends on user-supplied data
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-09 00:24:41 +03:00
Clément Bœsch
cb5bb521aa lavf/movenc: use two explicit bytes instead of a short.
This also avoids a pointless cast.

Idea-by: Reimar Döffinger
2012-08-08 23:13:52 +02:00
Clément Bœsch
e6dd2852ca lavfi/atempo: remove dead increment. 2012-08-08 22:53:00 +02:00
Anton Khirnov
7ca14c731e vsrc_movie: discourage its use with avconv. 2012-08-08 21:56:44 +02:00
Anton Khirnov
ab29609701 avconv: allow no input files.
It is now possible to use lavfi sources.
2012-08-08 21:56:26 +02:00
Anton Khirnov
a5fd7c607f avconv: prevent invalid reads in transcode_init() 2012-08-08 21:55:54 +02:00
Anton Khirnov
57d2422559 avconv: rename OutputStream.is_past_recording_time to finished.
The new name is shorter and more accurate, since this variable is no
longer used only for checking recording time constraint.
2012-08-08 21:55:45 +02:00
Anton Khirnov
0c00fd80ee avconv: split the code for processing input packets out of transcode() 2012-08-08 21:55:15 +02:00
Michael Niedermayer
b615dbb319 lavf: block special characters in dump metadata
This is limited to the chars that arent filtered by av_log() already
we might filter more aggressively if theres some case where this becomes
needed.

Fixes Ticket1181

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-08 21:13:15 +02:00
Anton Khirnov
f154ef1ae5 avconv: send EOF to lavfi even if flushing the decoder fails 2012-08-08 20:16:29 +02:00
Anton Khirnov
cc2133b66a avconv: get rid of pointless temporary variable. 2012-08-08 20:16:13 +02:00
Anton Khirnov
8391602913 avconv: simplify transcode().
Operate with a pointer to InputFile instead of its index in input_files.
2012-08-08 20:15:36 +02:00
Anton Khirnov
c0fbf9713c avconv: cosmetics
Replace for (;foo == 0;) with while (!foo)
This is prettier.
2012-08-08 20:15:13 +02:00
Anton Khirnov
0b26ef4228 avconv: replace no_packet array in transcode() with a var in InputStream
This simplifies splitting code for reading from input out of
transcode().
2012-08-08 20:12:47 +02:00
Anton Khirnov
bed43d58b0 avconv: remove unused variable from InputFile. 2012-08-08 20:12:22 +02:00
Anton Khirnov
d64901f99d avconv: remove commented out cruft. 2012-08-08 20:12:11 +02:00
Anton Khirnov
a4f5011065 avconv: maintain sync on lavfi outputs.
Before this commit, poll_filters() reads all frames available on each
lavfi output. This does not work for lavfi sources that produce
an unlimited number of frames, e.g. color and similar.

With this commit, poll_filters() reads from output with the lowest
timestamp and returns to wait for more input if no frames are available
on it.
2012-08-08 20:04:27 +02:00
Michael Niedermayer
ee475e272e matroskadec: fix lace vs block duration.
Fixes Ticket1270

Thanks-to: Moritz Bunkus
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-08 17:54:49 +02:00
Stefano Sabatini
dbf25b70ea lavfi/testsrc: set default value for option "color" to NULL and rework color setting logic
Fix bogus warnings of the kind:
option 'color' is ignored with source 'testsrc'

when the color value is not explicitely set and the filter is different
from "color".
2012-08-08 16:49:53 +02:00
Michael Niedermayer
bed63a5e98 configure: fix sctp check.
This fixes build failures on debian/kfreebsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-08 16:20:18 +02:00
Paul B Mahol
c7bbd82170 doc/general: move ZeroCodec to right section
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-08 14:16:51 +00:00
Diego Biurrun
5864eb427f build: cosmetics: Reorder some lists in a more logical fashion 2012-08-08 15:46:44 +02:00
Dave Yeo
197439c1ef x86: pngdsp: Fix assembly for OS/2
The a.out object format does not allow aligning sections.
On OS/2 LD aligns sections to 16 bytes.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-08 15:45:09 +02:00
Janne Grunau
69ac6400b8 fate: add test for RTjpeg in nuv with frameheader
Renames the old test to allow using fate-nuv as group for all
nuv tests.
2012-08-08 15:06:46 +02:00
Luca Barbato
82613564cf rtmp: send check_bw as notification
Set the transactionId to 0 to signal the server a return _result/_error
is not expected.

Solves the problems experienced with strict rtmp servers.
2012-08-08 14:22:34 +02:00
Kostya Shishkov
e78e6c37ef g723_1: clip argument for 15-bit version of normalize_bits()
It expects maximum value to be 32767 but calculations in scale_vector()
which uses this function can give it ABS(-32768) which leads to wrong
result and thus clipping is needed.
2012-08-08 13:24:19 +02:00
Kostya Shishkov
f86b2f3661 g723_1: use all LPC vectors in formant postfilter
Due to some mistake LPC vector for the first subframe was used for all
subframes instead of their own LPC vectors.
2012-08-08 13:23:22 +02:00
Mohammad Alsaleh
385ec296f1 id3v2: Support v2.2 PIC
id3 v2.2 uses image format ("JPG","PNG") instead of mimetypes.

Currently, the attached picture is skipped because the format string
does not match a known picture mimetype.

This patch fixes this behaviour.

Signed-off-by: Mohammad Alsaleh <msal@tormail.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-08 11:20:45 +02:00
Konstantin Pavlov
1a4b556786 avplay: fix build with lavfi disabled.
Issue introduced in 67339f6e.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-08-08 11:14:10 +02:00
Anton Khirnov
fe2147e936 avconv: split configuring filter configuration to a separate file. 2012-08-08 11:11:52 +02:00
Anton Khirnov
f5e668273a avconv: split option parsing into a separate file. 2012-08-08 11:10:06 +02:00
Kostya Shishkov
8f2aa89a5d mpc8: do not leave padding after last frame in buffer for the next decode call 2012-08-08 09:11:38 +02:00
Clément Bœsch
aca0f78114 lavf/movenc: add frame rate heuristic for timecode frame rate.
Fixes ticket 1576.
2012-08-08 09:11:26 +02:00
Clément Bœsch
4b365b0868 lavu/timecode: add av_timecode_check_frame_rate(). 2012-08-08 09:11:26 +02:00
Clément Bœsch
6b3484dcbc lavf/mxfenc: better error handling with invalid frame rate. 2012-08-08 09:11:25 +02:00
Clément Bœsch
aad737c669 lavf/mxfenc: simplify frame rate checks. 2012-08-08 09:11:25 +02:00
jamal
82e5c5d45b lavc/old_codec_ids: Fix make checkheaders. 2012-08-08 08:02:56 +02:00
Anton Khirnov
94364b7d42 mpegaudioenc: list supported channel layouts. 2012-08-08 07:53:48 +02:00
Anton Khirnov
927e92cdc7 mpegaudiodec: don't print an error on > 1 frame in a packet.
It's a perfectly normal situation, nothing to spam about.
2012-08-08 07:53:48 +02:00
Anton Khirnov
5702c8670e api-example: update to new audio encoding API. 2012-08-08 07:53:47 +02:00
Michael Niedermayer
e40f7f1e01 cavs: fix memleak
Fixes Ticket1335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-08 01:14:18 +02:00
Michael Niedermayer
c794acc44e x86inc.asm: remove redundant ifdef __YASM_VER__
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-08 01:14:18 +02:00
Paul B Mahol
8654d6c892 libtwolame: fix stupid bug
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-07 22:56:35 +00:00
Michael Niedermayer
bb2f13c19f rename missed CodecID to AVCodecID
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 23:57:21 +02:00
Mans Rullgard
154caa677c configure: add --enable/disable-random option
This allows creating random configurations which is useful for
testing purposes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 22:30:49 +01:00
Michael Niedermayer
2fc7c818cb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: fix build with nasm 2.08
  x86: use nop cpu directives only if supported
  x86: fix rNmp macros with nasm
  build: add trailing / to yasm/nasm -I flags
  x86: use 32-bit source registers with movd instruction
  x86: add colons after labels

Conflicts:
	Makefile
	libavutil/x86/x86inc.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 23:04:55 +02:00
Paul B Mahol
2da5a5ce00 gifdec: return more meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-07 20:58:20 +00:00
Paul B Mahol
f64288960b gifdec: remove redundant "gif: " from av_dlog()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-07 20:58:20 +00:00
Paul B Mahol
3662f787e7 gifdec: pass avctx to av_log()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-07 20:58:19 +00:00
Diego Biurrun
578344f79c doc: cygwin: Update list of FATE package requirements 2012-08-07 22:54:44 +02:00
Diego Biurrun
a2b4d1df52 build: Remove all installed headers and header directories on uninstall 2012-08-07 22:54:43 +02:00
Michael Niedermayer
7a72695c05 Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
  Replace all CODEC_ID_* with AV_CODEC_ID_*
  lavc: add AV prefix to codec ids.

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/examples/muxing.c
	ffmpeg.c
	ffprobe.c
	ffserver.c
	libavcodec/8svx.c
	libavcodec/avcodec.h
	libavcodec/dnxhd_parser.c
	libavcodec/dvdsubdec.c
	libavcodec/error_resilience.c
	libavcodec/h263dec.c
	libavcodec/libvorbisenc.c
	libavcodec/mjpeg_parser.c
	libavcodec/mjpegenc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pcm.c
	libavcodec/r210dec.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/version.h
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavformat/asfdec.c
	libavformat/asfenc.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/caf.c
	libavformat/electronicarts.c
	libavformat/flacdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/framecrcenc.c
	libavformat/img2.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/ipmovie.c
	libavformat/isom.c
	libavformat/matroska.c
	libavformat/matroskadec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/movenc.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegts.c
	libavformat/mxf.c
	libavformat/mxfdec.c
	libavformat/mxfenc.c
	libavformat/nsvdec.c
	libavformat/nut.c
	libavformat/oggenc.c
	libavformat/pmpdec.c
	libavformat/rawdec.c
	libavformat/rawenc.c
	libavformat/riff.c
	libavformat/sdp.c
	libavformat/utils.c
	libavformat/vocenc.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Mans Rullgard
dfd9159f3d build: change checkheaders to use regular build rules
Many compilers need special flags to compile *.h files as regular
source code, if they will do so at all.  Rather than hoping all
compilers will have such a flag and adding mappings for it, create
wrapper .c files for test building single headers.

This allows using the regular rule for compiling C files without the
need for special flags, and it also provides proper dependency tracking
for these objects.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 21:36:51 +01:00
Samuel Pitoiset
00cb52c65c rtmp: Add a new option 'rtmp_subscribe'
This option specifies the name of live stream to subscribe.
Defaults to rtmp_playpath.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-07 23:35:39 +03:00
Samuel Pitoiset
f9e77c1762 rtmp: Add support for subscribing live streams
When streaming live streams using the Akamai, Edgecast or Limelight CDN,
players cannot simply connect to the live stream. Instead, they have to
subscribe to it, by sending an FC Subscribe call to the server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-07 23:35:39 +03:00
Samuel Pitoiset
12127b65b0 rtmp: Factorize simultaneous URLProtocol / AVClass declarations with a macro
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-07 23:35:39 +03:00
jamal
49440853d0 build: Fix some paths in uninstall-libs
Folder and file names weren't being separated with a slash.
This resulted in .dll.a, .lib and .def files not being removed on uninstall.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-08-07 22:34:10 +02:00
jamal
7c5466d4fc checkheaders: Fix directory creation in out-of-tree builds.
checkheaders wasn't creating folders as needed, so if it was run
immediately after the configure script it would fail as soon as
it tried to compile headers inside the ARCH folders.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-08-07 22:34:10 +02:00
Mans Rullgard
ec9d2c15c1 ARM: use Q/R inline asm operand modifiers only if supported
Some compilers do not support the Q/R modifiers used to access
the low/high parts of a 64-bit register pair.  Check for this
and disable all uses of it when not supported.

Fixes bug #337.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 21:13:30 +01:00
Michael Niedermayer
bc773d0d42 Merge commit 'f5d2c597e99af218b0d4d1cf9737c7e68ee934e4'
* commit 'f5d2c597e99af218b0d4d1cf9737c7e68ee934e4':
  build: fix library installation on cygwin
  mpc8: add a flush function
  mpc8: set packet duration and stream start time instead of tracking frames

Conflicts:
	libavformat/mpc8.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 21:49:00 +02:00
Michael Niedermayer
0049af2628 pnmdec: make ff_pnm_decode_header() more robust
Fixes ticket1321

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 21:06:40 +02:00
Michael Niedermayer
bb7744a45b pnmdec: make pnm_get more robust
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 21:06:40 +02:00
Derek Buitenhuis
9b34ae4a65 configure: Add support for e500mc CPU
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 21:06:40 +02:00
Paul B Mahol
13c5069187 lavfi: add smptebars source
Patch readapted by Stefano Sabatini, color values proposed by Tim
Nicholson <nichot20@yahoo.com>.

Address trac ticket #1462.

See thread:
Subject: [FFmpeg-devel] [PATCH] smptebars filter
Date: Wed, 20 Jun 2012 01:54:58 +0000

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-07 20:06:56 +02:00
Stefano Sabatini
13bbc464ed examples/muxing: set codec in the codec context
Make add_{audio,video}_stream return the found codec, and pass it to
avcodec_open2() through open_{audio,video} functions.

Fix failure:
No codec provided to avcodec_open2().
could not open codec

This is also consistent with the use of the avcodec_open2() API in the
codebase.
2012-08-07 20:04:19 +02:00
Michael Niedermayer
8993c25695 avidec: fix AVStream.info memleak with dv.
Fixes Ticket1334

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 19:18:53 +02:00
Derek Buitenhuis
4ab26cb4cc configure: Add support for e500mc CPU
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-07 12:49:01 -04:00
Michael Niedermayer
2f6f2f4f73 mpeg12dec: move checks out of decode picture coding extension.
Fixes out of array reads
Fixes Ticket1330

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 17:59:19 +02:00
Mans Rullgard
edd8226795 x86: fix build with nasm 2.08
It appears that something goes wrong in old nasm versions when the
%+ operator is used in the last argument of a macro invocation and
this argument is tested with %ifdef within the macro.  This patch
rearranges the macro arguments such that the %+ operator is never
used in the last argument.
2012-08-07 15:24:34 +01:00
Mans Rullgard
180d43bc67 x86: use nop cpu directives only if supported
nasm does not support 'CPU foonop' directives.  This adds a configure
test for the directive and uses it only if supported.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 15:22:20 +01:00
Mans Rullgard
7238265052 x86: fix rNmp macros with nasm
For some reason, nasm requires this.  No harm done to yasm.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 15:21:58 +01:00
Mans Rullgard
f295fee2c9 build: add trailing / to yasm/nasm -I flags
nasm requires a trailing / on paths specified with -I.
It does no harm with yasm.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 15:21:40 +01:00
Mans Rullgard
2b140a3d09 x86: use 32-bit source registers with movd instruction
yasm tolerates mismatch between movd/movq and source register size,
adjusting the instruction according to the register.  nasm is more
strict.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 15:21:20 +01:00
Mans Rullgard
a3df4781f4 x86: add colons after labels
nasm prints a warning if the colon is missing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 15:20:56 +01:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Anton Khirnov
104e10fb42 lavc: add AV prefix to codec ids. 2012-08-07 15:56:39 +02:00
Yaakov Selkowitz
f5d2c597e9 build: fix library installation on cygwin
This installs libraries using the proper names and locations,
generates an import lib for the DLL, and drops no longer needed
linker flags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 12:39:04 +01:00
Michael Niedermayer
7febc5aa93 arm: fix compile with disable-optimizations on android
Fixes Ticket1241

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 13:31:40 +02:00
Clément Bœsch
cf753d5b59 doc: fix misspelled "convergence".
Found-by: David Rice
2012-08-07 07:37:39 +02:00
Paul B Mahol
011ce89dba avcodec: add bmp parser
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-07 03:15:39 +00:00
Michael Niedermayer
29d1df66ad mpegaudiodec: replace assert() by check under #ifdef DEBUG
The assert can be false with some invalid inputs, the check is
too expensive to always do though for just a warning message.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 04:45:06 +02:00
Michael Niedermayer
3865ec2ace proresenc_kostya: do not attempt to free random things
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 01:11:28 +02:00
Michael Niedermayer
cde4741177 h264: disable assert on current_picture_ptr being null.
It is possible in various error pathes as well as gap handling
that this has already been allocated. Its not clear why that
would be a problem with the current code, thus disable the
assert to avoid common assert failure when asserts are enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 00:18:59 +02:00
Michael Niedermayer
7ae473e8a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  nuv: K&R formatting cosmetics
  build: generalise rules and variable settings for av* programs
  nuv: check RTjpeg header for validity
  Revert "nuv: check per-frame header for validity."
  imc: remove unused field IMCContext.one_div_log2
  imc: fix size of a memset()
  imc: remove empty if() block
  fate: simplify variable setting filter.mak
  lavf: Declare an AVRational struct without a struct literal

Conflicts:
	Makefile
	configure
	libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 22:22:37 +02:00
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
fdbeae4490 mpc8: add a flush function
Ensures that the next frame decoded after seeking will be decoded as a
keyframe.
2012-08-06 14:39:21 -04: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
Michael Niedermayer
21eafa18e6 msrle: fix extradata palette handling
Fixes Ticket1273

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 19:39:11 +02:00
Diego Biurrun
cf22705e87 nuv: K&R formatting cosmetics 2012-08-06 19:03:33 +02:00
Mans Rullgard
baac24e680 build: generalise rules and variable settings for av* programs
This simplifies adding extra flags for individual programs
and also allows more than one object file per program.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-06 17:43:29 +01:00
Nicolas George
d74ade7d5f ffprobe: refactor frames decoding. 2012-08-06 17:37:59 +02:00
Michael Niedermayer
610c67df37 mpegvideo: remove last_picture_ptr / h264 assert.
This assert is no longer true since h264 error concealment needs
last_picture_ptr to be set.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 16:49:49 +02:00
Michael Niedermayer
e6690b6a56 mpegvideo.c: convert some asserts to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 16:40:22 +02:00
Michael Niedermayer
3e0b4e32c9 svq1enc: set picture_structure correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 16:28:13 +02:00
Michael Niedermayer
f8dbbe5464 mpegvideo_enc: switch some assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 14:41:16 +02:00
Michael Niedermayer
f72e0d9a9f mpegvideo_enc: remove assert that has become obsolete with the new API
it now just checks uninitialized and unused data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 14:41:16 +02:00
Janne Grunau
859a579e9b nuv: check RTjpeg header for validity
CC: libav-stable@libav.org
2012-08-06 14:34:12 +02:00
Janne Grunau
110d015ad4 Revert "nuv: check per-frame header for validity."
The check is bogus since the nuv frameheader is already skipped
and the (decompressed) RTjpeg header is checked.

This reverts commit f6afacdb3b.

CC: libav-stable@libav.org
2012-08-06 14:33:50 +02:00
Mans Rullgard
b40ea0f41d imc: remove unused field IMCContext.one_div_log2
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-06 10:20:48 +01:00
Mans Rullgard
bc90230b98 imc: fix size of a memset()
IMCContext was changed from an array to a pointer in 66b84e4,
but this memset() was not updated.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-06 10:20:42 +01:00
Mans Rullgard
2b6804328e imc: remove empty if() block
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-06 10:20:11 +01:00
Mans Rullgard
add8f5eab7 fate: simplify variable setting filter.mak
This removes some needless indirection and duplication.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-06 10:19:27 +01: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
e6b9903d82 shorten: fix cmd type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-06 09:24:59 +02:00
Paul B Mahol
9c1619b5fe mpc7: remove duplicated definitions
They are available in mpc.h

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-06 01:33:37 +00: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
Paul B Mahol
958df52ae0 configure: make libtwolame check more robust
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-05 23:33:36 +00: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
Clément Bœsch
ad55244c96 lavfi/overlay: remove dead initialization. 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
Michael Niedermayer
b4780d03d0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: h264_idct: Rename x264_add8x4_idct_sse2 --> h264_add8x4_idct_sse2
  rational: add av_inv_q() returning the inverse of an AVRational
  dpx: Make start offset unsigned
  lavfi: properly signal out-of-memory error in ff_filter_samples
  cosmetics: Fix a few switched periods and linebreaks
  zerocodec: Fix memleak in decode_frame
  zerocodec: Cosmetics

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 22:17:02 +02:00
Diego Biurrun
2096857551 x86: h264_idct: Rename x264_add8x4_idct_sse2 --> h264_add8x4_idct_sse2 2012-08-05 21:40:49 +02: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
Paul B Mahol
f5f98727b3 libtwolame MP2 encoding support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-05 17:06:59 +00:00
Mans Rullgard
82494835c4 rational: add av_inv_q() returning the inverse of an AVRational
This allows simplifying a few expressions.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-05 17:46:41 +01:00
Derek Buitenhuis
965efc1673 dpx: Make start offset unsigned
Some corrupted files would end up with a negative offset,
and segfault.

Fixes bug #177.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-05 12:44:30 -04:00
Moritz Bunkus
fe40dc1cec matroskaenc: Implement support for ALAC 2012-08-05 18:34:28 +02:00
Philip Langdale
50b4dbf65a ass subtitles: Fix valgrind warnings.
We're now running some of this code through valgrind for the first
time, and a few warnings showed up stemming from two problems.

1) The ASS code assumes the subtitle header is null terminated, but
it wasn't, and passing the size down doesn't look like fun, so I
added a terminator

2) The code wasn't freeing all of its state.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-05 09:11:11 -07: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
Michael Niedermayer
d106ffd942 fate: add bitexact flag to fate-sub-movtextenc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 17:59:12 +02:00
Michael Niedermayer
b11b0e166e libavcodec/options_table: mark flags as also for subtitles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 17:59:12 +02:00
Stefano Sabatini
8331d56e0d doc/filters: fix typo in "@end table."
Remove erroneously added trailing dot.
2012-08-05 17:50:59 +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
8d6f46ab2c doc/filters: add mandelbrot source documentation
Address trac ticket #1492.
2012-08-05 15:45:55 +02:00
Stefano Sabatini
9bece76009 lavf/img2dec: add start_number_range option 2012-08-05 15:45:48 +02:00
Stefano Sabatini
b907655303 examples/muxing: drop duplicated code in add_video_stream() 2012-08-05 15:36:38 +02:00
Reinhard Tartler
800750417f lavfi: properly signal out-of-memory error in ff_filter_samples
Found with a clang-scan report on http://fate.libav.org/csa/
2012-08-05 10:26:49 +02:00
Hendrik Leppkes
2db097ca76 configure: fix lib.exe check
Running lib.exe without parameters will always result in an error,
and failing the check.
Using the -list paramter results in a success if lib.exe is present.
2012-08-05 10:23:50 +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
74c6db0505 doc/demuxers.texi: avoid comma splice in image2 documentation
Add "and" proposition for connecting two sentences.
2012-08-05 00:47:55 +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
Stefano Sabatini
66747a6160 examples/muxing: simplify alloc_picture()
Use avpicture_alloc() high level function.
2012-08-05 00:26:39 +02:00
Michael Niedermayer
e776ee8f29 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: fix handling of custom mix matrices
  fate: force pix_fmt in lagarith-rgb32 test
  fate: add tests for lagarith lossless video codec.
  ARMv6: vp8: fix stack allocation with Apple's assembler
  ARM: vp56: allow inline asm to build with clang
  fft: 3dnow: fix register name typo in DECL_IMDCT macro
  x86: dct32: port to cpuflags
  x86: build: replace mmx2 by mmxext
  Revert "wmapro: prevent division by zero when sample rate is unspecified"
  wmapro: prevent division by zero when sample rate is unspecified
  lagarith: fix color plane inversion for YUY2 output.
  lagarith: pad RGB buffer by 1 byte.
  dsputil: make add_hfyu_left_prediction_sse4() support unaligned src.

Conflicts:
	doc/APIchanges
	libavcodec/lagarith.c
	libavfilter/x86/gradfun.c
	libavutil/cpu.h
	libavutil/version.h
	libswscale/utils.c
	libswscale/version.h
	libswscale/x86/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 23:51:43 +02:00
Derek Buitenhuis
8b8750e061 cosmetics: Fix a few switched periods and linebreaks
Based on a patch by Piotr Bandurski.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-04 16:39:27 -04:00
Nicolas George
88fc1438c6 ffmpeg: insert bitmap subtitles as video in filters.
With this feature, it becomes possible to perform commonly
requested tasks, such as hardcoding bitmap subtitles.

This will be reverted once libavfilter has proper support
for subtitles. All the changes have the string "sub2video"
in them, it makes it easy to spot the parts.
2012-08-04 21:49:05 +02:00
Nicolas George
8d6eed7b56 lavfi: document the constraints on incoming frames. 2012-08-04 21:49:05 +02:00
Nicolas George
8ef740ce01 lavfi: use a new field for automatic buffer copy.
The code currently use cur_buf as the target of the copy,
but cur_buf can be cleared by the filter if it has given
the reference away or stored it elsewhere as soon as start_frame.

The code still relies on the fact that the reference is not
destroyed until end_frame. All filters currently follow that condition.
An av_assert1() is added to check it; it should at least cause
very visible errors in valgrind.
2012-08-04 21:49:05 +02:00
Michael Niedermayer
f85746509c Merge remote-tracking branch 'dwbuiten/master'
* dwbuiten/master:
  zerocodec: Fix memleak in decode_frame
  zerocodec: Cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 21:21:46 +02:00
Philip Langdale
82de3e16a8 movtextenc: Remove dangling reference to movtext.h
This is a reference that leaked in from my future work to
support styling.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-04 12:21:09 -07:00
Derek Buitenhuis
616fd4fe5e zerocodec: Fix memleak in decode_frame
If there was a failure inflating, or reinitializing
the zstream, the current frame's buffer would be lost.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-04 15:11:06 -04:00
Derek Buitenhuis
29facc1e91 zerocodec: Cosmetics
Be consistent with error messages and code formatting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-04 15:11:06 -04:00
Derek Buitenhuis
fcf550c2cb zerocodec: Fix memleak in decode_frame
If there was a failure inflating, or reinitializing
the zstream, the current frame's buffer would be lost.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-04 15:08:52 -04:00
Derek Buitenhuis
d6124d0d14 zerocodec: Cosmetics
Be consistent with error messages and code formatting.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-04 15:08:52 -04: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
Philip Langdale
2daaf77698 movtextenc: 3GPP TS 26.245 Timed Text Encoder.
This change introduces a basic encoder for 3GPP Timed Text subtitles,
also known as TX3G, Quicktime subtitles, or "movtext" in the existing
code.

This initial change doesn't attempt to write styling information,
and just writes the plain text of the subtitles. I intend to add
support for styles eventually, but it's challenging due to a lack
of existing players that support them.

Note that an additional change is required to the mov/mp4 muxer to
write empty subtitle packets to indicate subtitle duration.

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
Justin Ruggles
8821ae649e lavr: fix handling of custom mix matrices
Adds some validation for changing parameters after setting the matrix and
fixes a bug in the conversion path setup.
2012-08-04 10:28:22 -04: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
ae0312ab2e h264: print num_reorder_frames in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 15:42:44 +02:00
Mans Rullgard
73486e3b61 fate: force pix_fmt in lagarith-rgb32 test
This makes big and little endian systems use the same output
format.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-04 14:15:45 +01:00
Alexander Strasser
56977eefd8 fate: Rename FATE_SAMPLES make file variable to FATE_EXTERN
Restore functionality to set the samples directory via the
FATE_SAMPLES environment variable . This is broken since commit
63dcd16 was merged.

  Additionally the name FATE_EXTERN is more suited as the current
FATE_SAMPLES make file variable does not carry the name of the
FATE samples or the name of the directory they are stored in, but
does contain the names of the FATE targets that need external
samples. That is samples that are not in the repository and are
not generated on the fly.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-08-04 09:49:30 +02:00
Ronald S. Bultje
c5d5d17880 fate: add tests for lagarith lossless video codec.
Based on patch by Oana Stratulat <oanaandreeastratulat@gmail.com>.
2012-08-03 20:48:34 -07:00
Derek Buitenhuis
878b3f2a24 LICENSE: Document all GPL files
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 04:03:08 +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
Mans Rullgard
e6cd698955 ARMv6: vp8: fix stack allocation with Apple's assembler
In the GNU assembler, a relational expression, bizarrely, has the
value -1 if true, whereas in Apple's it is +1.  This patch makes
sure the correct expression is used in both cases.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-04 00:59:14 +01:00
Mans Rullgard
9829a81bcd ARM: vp56: allow inline asm to build with clang
The clang integrated assembler does not support pre-UAL syntax,
while gcc requires pre-UAL syntax for ARM code.  A patch[1] for
clang to support the old syntax as well has been ignored since
January.

This patch chooses the syntax appropriate for each compiler,
allowing both to build the code.  Notably, this change allows
building for iphone with the latest Apple Xcode update.

[1] http://llvm.org/bugs/show_bug.cgi?id=11855

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-04 00:59:14 +01:00
Ronald S. Bultje
4a8143e73c fft: 3dnow: fix register name typo in DECL_IMDCT macro
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-04 00:16:02 +02:00
Michael Niedermayer
d673a3f4a9 motion_est_template: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 00:06:20 +02:00
Michael Niedermayer
a189475c8e dvdec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 00:05:56 +02:00
Michael Niedermayer
70bcdfb39f g732_1: reduce difference to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-03 23:50:09 +02:00
Michael Niedermayer
a7acab6cda Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1dec: Remove separate scaling function for interlaced field MVs
  vc1dec: Invoke edge_emulation regardless of MV precision
  x86: Use consistent 3dnowext function and macro name suffixes
  g723_1: scale output as supposed for the case with postfilter disabled
  g723_1: increase excitation storage by 4
  g723_1: fix upper bound parameter from inverse maximum autocorrelation
  g723_1: make scale_vector() behave like the reference
  g723_1: fix off-by-one error in normalize_bits()
  g723_1: save/restore excitation with offset to store LPC history
  wmapro: prevent division by zero when sample rate is unspecified
  x86: proresdsp: improve SIGNEXTEND macro comments
  x86: h264dsp: K&R formatting cosmetics
  LICENSE: Document all GPL files

Conflicts:
	libavcodec/g723_1.c
	libavcodec/wmaprodec.c
	libavcodec/x86/h264dsp_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-03 23:13:06 +02:00
Diego Biurrun
0c3ff1982c x86: dct32: port to cpuflags 2012-08-03 22:51:06 +02:00
Diego Biurrun
239fdf1b4a x86: build: replace mmx2 by mmxext
Refactoring mmx2/mmxext YASM code with cpuflags will force renames.
So switching to a consistent naming scheme beforehand is sensible.
The name "mmxext" is more official and widespread and also the name
of the CPU flag, as reported e.g. by the Linux kernel.
2012-08-03 22:51:05 +02:00
Michael Bradshaw
a763cafc0c libopenjpegdec: increase max lowres from 5 to 31
OpenJPEG doesn't have a particular limit

Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-03 21:28:21 +02:00
Ronald S. Bultje
66adb7ce1b Revert "wmapro: prevent division by zero when sample rate is unspecified"
This reverts commit 3693608023. It was
already applied; no idea why it didn't error out while re-applying it.
2012-08-03 12:06:38 -07:00
Sean McGovern
3693608023 wmapro: prevent division by zero when sample rate is unspecified
This fixes Bugzilla #327:

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-08-03 12:04:47 -07:00
Ronald S. Bultje
7191e1c490 lagarith: fix color plane inversion for YUY2 output. 2012-08-03 11:09:17 -07:00
Ronald S. Bultje
98d0d19208 lagarith: pad RGB buffer by 1 byte.
For left HFYU prediction, we predict from the buffer buf+1 using 8- or
16-byte reads. This means that aligning the buffer by 16 bytes is in
itself not sufficient, because if the width itself is 16- or 8-byte
aligned, the buffer will not be padded, and thus a read of size 16 at
buf+1 will overflow boundaries at the right edge. Padding the buffer by
1 byte is sufficient to not overflow its boundaries.

Fixes bug 342.
2012-08-03 11:09:17 -07:00
Ronald S. Bultje
da6505ad2f dsputil: make add_hfyu_left_prediction_sse4() support unaligned src.
This makes add_hfyu_left_prediction_sse4() handle sources that are not
16-byte aligned in its own function rather than by proxying the call to
add_hfyu_left_prediction_ssse3(). This fixes a crash on Win64, since the
sse4 version clobberes xmm6, but the ssse3 version (which uses MMX regs)
does not restore it, thus leading to XMM clobbering and RSP being off.

Fixes bug 342.
2012-08-03 11:09:14 -07:00
Mashiat Sarker Shakkhar
9cc74c9f6e vc1dec: Remove separate scaling function for interlaced field MVs
The scaling process for obtaining direct MVs from co-located field MVs
is the same for interlaced field and progressive pictures.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-03 17:21:54 +02:00
Mashiat Sarker Shakkhar
8379ea5e9f vc1dec: Invoke edge_emulation regardless of MV precision
In VC-1 interlaced field pictures, chroma motion vectors can extend beyond
picture boundary even if luma vectors are bounded. The problem shows up
only for hpel interpolated MVs, and may be due to the way motion vectors
are scaled / cropped.

Thanks to Konstantin Shishkov for suggesting the fix. This fixes
long-known segfaults in MC-VC1.ts from videolan streams archive.

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-03 17:21:54 +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
Stefano Sabatini
44bd69e9b9 lavc/utils: rename ff_init_buffer_info() pic parameter to frame
The new name is more expressive, given that the frame is not necessarily
a picture but may be an audio frame.
2012-08-03 16:28:18 +02:00
Stefano Sabatini
b99381e8b5 lavc/utils: generalize ff_init_buffer_info() and use it when seems feasible
Extend ff_init_buffer_info() to init audio frames as well as video
frames.

Avoid code duplication.
2012-08-03 16:28:12 +02:00
Stefano Sabatini
39a8275fdf lavfi: move color filter to testsrc, factorize 2012-08-03 16:26:58 +02:00
Clément Bœsch
e39f6a3a5c Fix misc swapped dot and carriage returns in av_log calls. 2012-08-03 14:58:14 +02: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
Piotr Bandurski
a2232e696b cllc: fix typo in the error message
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
Diego Biurrun
ca844b7be9 x86: Use consistent 3dnowext function and macro name suffixes
Currently there is a wild mix of 3dn2/3dnow2/3dnowext.  Switching to
"3dnowext", which is a more common name of the CPU flag, as reported
e.g. by the Linux kernel, unifies this.
2012-08-03 14:00:47 +02:00
Kostya Shishkov
d3e0766fc0 g723_1: scale output as supposed for the case with postfilter disabled 2012-08-03 07:07:07 +02:00
Kostya Shishkov
94bfdfd6f0 g723_1: increase excitation storage by 4
Fixed codebook mode in 5300 rate may write up to SUBFRAME_LEN + 4 and
that is considered normal by the reference decoder. Without that additional
padding it might overwrite first elements of LPC history.
2012-08-03 07:07:07 +02:00
Kostya Shishkov
802bcdcb2f g723_1: fix upper bound parameter from inverse maximum autocorrelation 2012-08-03 07:07:07 +02:00
Kostya Shishkov
8ddadea171 g723_1: make scale_vector() behave like the reference 2012-08-03 07:07:07 +02:00
Kostya Shishkov
8772d2511a g723_1: fix off-by-one error in normalize_bits() 2012-08-03 07:07:07 +02:00
Kostya Shishkov
7f92db14f9 g723_1: save/restore excitation with offset to store LPC history
The same buffer with saved data is used later in LPC reconstruction, so
it should have some head space for LPC history.
2012-08-03 07:07:06 +02:00
Sean McGovern
3680b24351 wmapro: prevent division by zero when sample rate is unspecified
This fixes Bugzilla #327:

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-03 07:07:00 +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
Nicolas George
752344dada amerge/astreamsync/pan: fix license boilerplate.
The boilerplate states that the files are under LGPL,
but refer the user to the GPL at one place.
These files were (re)implemented specifically for FFmpeg.
2012-08-03 00:24:51 +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
Diego Biurrun
03737412a3 x86: proresdsp: improve SIGNEXTEND macro comments 2012-08-02 22:30:44 +02:00
Ronald S. Bultje
9f14cd91b5 fft: port FFT/IMDCT 3dnow functions to yasm, and disable on x86-64.
64-bit CPUs always have SSE available, thus there is no need to compile
in the 3dnow functions. This results in smaller binaries.
2012-08-02 22:14:40 +02:00
Derek Buitenhuis
19d40c7912 eamad: Use dsputils instead of its own bswap16_buf
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 22:08:15 +02:00
Michael Niedermayer
f92a99dae5 flacenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 21:58:17 +02:00
Michael Niedermayer
4d38b838f0 flacdec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 21:58:03 +02:00
Diego Biurrun
81905088a1 x86: h264dsp: K&R formatting cosmetics 2012-08-02 20:20:21 +02:00
Derek Buitenhuis
144e4b0997 LICENSE: Document all GPL files
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-02 14:09:51 -04:00
Ronald S. Bultje
c728518b3c x86: fft: fix imdct_half() for AVX
Some calculations were changed in b6a3849 to use mmsize, which was not correct
for the AVX version, which uses INIT_YMM and therefore has mmsize == 32.

Fixes Bug 341.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-08-02 13:40:11 -04: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
Mans Rullgard
cfb1091898 vc1dec: remove useless #include simple_idct.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-02 12:14:52 +01:00
Mans Rullgard
af500c08bb dct-test: always link with aandcttab.o
This allows building dct-test even if aandcttab.o is not pulled in
by any enabled codec.  The DCT with which these tables are used does
not use them directly, so building it without the tables is possible.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-02 12:14:52 +01:00
Mans Rullgard
cf5781fad0 vp8: pack struct VP8ThreadData more efficiently
Reordering the members in this struct reduces the holes required
to maintain alignment.  With this order, the only remaining, and
unavoidable, hole is 3 bytes following left_nnz.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-02 12:14:52 +01:00
Mans Rullgard
ec7c501ed5 x86: remove libmpeg2 mmx(ext) idct functions
These functions are not faster than other mmx implementations on
any hardware I have been able to test on, and they are horribly
inaccurate.  There is thus no reason to ever use them.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-02 12:14:52 +01:00
Stefano Sabatini
aa5b93fbd8 lavfi/rgbtestsrc: use ff_fill_rgba_map() rather than a local copy
Also convert int rgba_map[4] to uint8_t rgba_map[4], as required by
ff_fill_rgba_map().

Simplify.
2012-08-02 12:32:48 +02:00
Stefano Sabatini
3bcde3f06c lavfi/drawutils: make ff_draw_color() accept a const rgba map 2012-08-02 12:32:48 +02:00
Stefano Sabatini
65520f5933 lavfi/video: remove duplicated function ff_null_start_frame_keep_ref()
Semantic for the function ff_null_start_frame() was changed in
07bad27810, and it has now the same behavior of
ff_null_start_frame_keep_ref(), thus it makes no sense to keep both of
them.
2012-08-02 12:32:48 +02:00
Michael Niedermayer
8cac86e091 vorbisdec: fix heap buffer overflow.
Found-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 12:22:19 +02:00
Michael Niedermayer
a6aa7e039a mpegaudio_tablegen: try to fix hardcoded tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 06:10:28 +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
Michael Niedermayer
571572fcdd mp3dec: adjust IMDCT scaling to avoid overflows
Fixes ticket268

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 04:21:53 +02:00
Derek Buitenhuis
a675d73d57 eamad: Use dsputils instead of a custom bswap16_buf
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-01 22:07:04 -04: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
98a2f4e87b configure: reduce difference to qatar by 2 lines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-02 00:41:16 +02: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
Stefano Sabatini
4c8fc6a2a4 lavfi/testsrc: use AVFILTER_DEFINE_CLASS for defining the filter classes
Factorize.
2012-08-01 22:47:23 +02:00
Stefano Sabatini
33474eb1c6 lavfi/testsrc: extend logic in request_frame, support static image output 2012-08-01 22:47:04 +02:00
Stefano Sabatini
20e940e768 lavfi/testsrc: free the context in uninit
Keeping stuff in the context can be useful for debugging purposes.
2012-08-01 22:46:08 +02:00
Paul B Mahol
c2502b7b34 alac: remove redundant "alac: " from log messages
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-01 20:17:25 +00:00
Michael Niedermayer
b9df3f4f6c swr: fix 10l typo mixing in and out config.
Fixes ticket1458

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 21:18:03 +02:00
Clément Bœsch
53a3748ed2 ffmpeg: honor -ss and -t parameters with muxed subtitles.
This patch fixes two things:

 - in case of subtitles, check_recording_time() is comparing the current
   PTS to the recording time (-t option, set to INT_MAX by default), so
   the -ss option needs to be taken into account. It is not required in
   do_{audio,video}_out() because this adjustment is set while polling
   the filtergraph (see poll_filters()).

 - It also adjusts the PTS sent to the encoder (and later transmitted to
   the muxer) so the TS in the output make sense and are not kept
   verbatim.

Note: this only works for muxers honoring the PTS, such as
lavf/matroskaenc. But for other such as the ASS muxer which just does a
verbatim copy, or the SubRip muxer which doesn't write the TS in some
cases, it will not work yet.
2012-08-01 20:37:34 +02:00
Michael Niedermayer
c99d3e2e6c tiny_psnr: fix undefined shift
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 20:00:01 +02:00
Reimar Döffinger
98b0120668 nuv: Fix playback of RTjpeg from current MythTV,
The previous validity check seems to work only for some
(presumably older) files, in current versions the first bytes
now contain the data size.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-01 19:35:58 +02:00
Reimar Döffinger
e1bc0171c0 nuv: check size of buffer before accessing it instead of after.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-01 19:35:58 +02:00
Clément Bœsch
1f68be4764 timecode: show frame rate when invalid. 2012-08-01 17:36:37 +02:00
Michael Niedermayer
1894f88546 configure: add support for dlltool when lib.exe is unavailable
The lib.exe test is untested. Someone who has lib.exe please test and fix it if it doesnt work

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 17:02:48 +02:00
Nicolas George
39b0d40d92 fate: add test for the tile video filter. 2012-08-01 14:00:29 +02:00
Nicolas George
ff2955a4f7 apetag: return value when required.
Should fix compilation on clang.
2012-08-01 13:33:51 +02:00
Nicolas George
f952b23ed4 vf_tile: fix output buffer ownership.
There is no need to start_frame immediately on the output link
since the rest is only done with the last frame of the tile.
link->out_buf is now automatically dereferenced; since we give
it away it must be cleared.

Fix an assert failure; found by Clément Bœsch.
2012-08-01 12:23:48 +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
Mans Rullgard
faa788227f ARM: use =const syntax instead of explicit literal pools
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-01 10:32:24 +01:00
Mans Rullgard
998170913c ARM: use standard syntax for all LDRD/STRD instructions
The standard syntax requires two destination registers for
LDRD/STRD instructions.  Some versions of the GNU assembler
allow using only one with the second implicit, others are
more strict.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-01 10:32:24 +01:00
Stefano Sabatini
7ddf082f04 lavfi/testsrc: drop pointless parentheses 2012-08-01 11:05:47 +02:00
Stefano Sabatini
2702e38477 lavfi: remove unused defaults.c file 2012-08-01 11:05:41 +02:00
Nicolas George
6eee9f5596 8svx: ensure that packet size is multiple of channels.
Fix an assert failure with packets of invalid size.
2012-08-01 10:29:10 +02:00
Carl Eugen Hoyos
d1ebb25ac6 Skip chan tag padding.
Fixes ticket #1580
2012-08-01 08:33:18 +02:00
Ronald S. Bultje
b6a3849adb fft: port FFT/IMDCT 3dnow functions to yasm, and disable on x86-64.
64-bit CPUs always have SSE available, thus there is no need to compile
in the 3dnow functions. This results in smaller binaries.
2012-07-31 21:20:47 -07:00
Ronald S. Bultje
ddbe71b44f dct-test: allow to compile without HAVE_INLINE_ASM. 2012-07-31 20:30:29 -07:00
Ronald S. Bultje
53dfaedc01 x86/dsputilenc: bury inline asm under HAVE_INLINE_ASM. 2012-07-31 20:28:52 -07:00
Paul B Mahol
296bcdd2a7 paf: use reget_bufer() instead of get_buffer()
Pallete is written to frame->data[1] only if it changes.
This fixes PAL8->PAL8 transcoding.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-08-01 03:16:55 +00: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
Michael Niedermayer
b0c51bbcd1 h264_mc_template: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 04:19:46 +02:00
Michael Niedermayer
38d1c5a4cc g722enc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 04:19:27 +02:00
Michael Niedermayer
d57a9928ea ffmpeg: avoid bogus error with "test.flac -c copy -f null -"
Reported-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-01 01:47:51 +02:00
Diego Biurrun
9e4bca16f8 dca: Move tables used outside of dcadec.c to a separate file. 2012-08-01 00:17:17 +02:00
Diego Biurrun
13a79cf84e dca: Rename dca.c ---> dcadec.c
This will allow adding dca.c with tables used from other files.
2012-08-01 00:17:16 +02:00
Diego Biurrun
6376a3ad24 x86: h264dsp: Remove unused variable ff_pb_3_1 2012-08-01 00:17:16 +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
Nicolas George
d2ca5dd0f3 loco: fix return value.
The return value was the number of bytes left,
it is supposed to be the number of bytes used.
2012-07-31 17:25:42 +02:00
Nicolas George
91ec1c6cc3 loco: take decode overflow into account.
Commit 2bf0982 introduced an overflow check in loco_decode_plane,
but the error code is never taken into account, leading to
completely idiotic return values.
2012-07-31 17:25:36 +02:00
Nicolas George
b2814b034e sp5xdec: sanitize return value.
i is the decoded size of a recoded packet, which is larger
than the original packet. Assume that if decoding succeeded,
all the packet was used.
2012-07-31 17:23:32 +02:00
Nicolas George
7a539e67f4 8svx: unify mono and stereo code paths. 2012-07-31 17:23:31 +02:00
Nicolas George
5caea648d4 8svx: remove useless rounding code.
samples_size and samples_idx are supposed to be multiple of
channels at all time. If they are, the division is exact;
if they are not, something is very wrong in the code.
2012-07-31 17:23:31 +02:00
Nicolas George
1c98781837 8svx: use a more direct condition.
esc->table was inited based on codec->id: re-testing codec->id
is code duplication and can lead to inconsistencies.
2012-07-31 17:23:31 +02:00
Nicolas George
9009fa6de4 movtextdec: fix return value for too small packets. 2012-07-31 17:23:31 +02:00
Nicolas George
3d5dc7d87d mmvideo: count preamble size in return value.
MM_PREAMBLE_SIZE is subtracted from buf_size almost immediately.
The original size is still in avpkt->size.
2012-07-31 17:22:23 +02:00
Nicolas George
cc7eff1fa0 vc1dec: count ENDOFSEQ code in return value. 2012-07-31 17:17:38 +02:00
Nicolas George
89898cd3b6 ffprobe: fix validity error with tags and data.
Add "data" and "extradata" attributes to the schema.
Add "tag" element in "streams".
Print extradata before tags to avoid closing the element.

Fix trac ticket #1588.
2012-07-31 15:06:57 +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
Diego Biurrun
8728b381cb x86: h264dsp: Adjust YASM #ifdefs
This fixes compilation with YASM disabled.
2012-07-31 13:54:07 +02:00
Diego Biurrun
d1505db067 x86: yadif: Mark mmxext optimizations as such
The yadif mmx optimizations contain the pmaxsw and pmaxub mmxext
instructions, causing sigills on CPUs that do not support mmxext.
2012-07-31 13:54:06 +02:00
Stefano Sabatini
52bd9cb4d2 lavfi/movie: force channel layout if not set by the decoder
This ensures that the output buffers will have the channel layout set,
which is required by filters.

Also consistent with ffmpeg.c behavior.
2012-07-31 13:25:14 +02:00
Stefano Sabatini
c809b89a12 ffprobe: show audio frame channels and channel_layout 2012-07-31 13:21:29 +02:00
Stefano Sabatini
23fc4dd6e7 lavc: add channels field to AVFrame
This is required otherwise it is not always possible to guess the number
of channels from the layout, for example if the channel layout is
unknown.
2012-07-31 13:21:10 +02:00
Stefano Sabatini
b4c3359828 lavfi/asettb: do not create a new reference in filter_samples()
There is no need to duplicate the input reference, since a filter should
not pass along a reference which is later modified. If this happens the
filter passing the reference should be fixed.

Also improve consistency with start_frame() of settb, allowing a pending
factorization.
2012-07-31 13:15:51 +02:00
Stefano Sabatini
a7c3720e87 lavu/bprint: readd documentation for 0 and 1 av_bprint_init() special values
The documentation was erroneously removed in 7cf9aadd.
2012-07-31 13:15:43 +02:00
Ronald S. Bultje
b829b4ce29 h264: convert loop filter strength dsp function to yasm.
This completes the conversion of h264dsp to yasm; note that h264 also
uses some dsputil functions, most notably qpel. Performance-wise, the
yasm-version is ~10 cycles faster (182->172) on x86-64, and ~8 cycles
faster (201->193) on x86-32.
2012-07-30 19:39:47 -07: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
3b5ba60aa7 vc1dec: fix handling of max_coded dimensions
Fixes Ticket1502

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-31 03:00:35 +02:00
Michael Niedermayer
30c8573dc7 mpeg4videoenc: ensure SAR is within the supported range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-31 01:57:18 +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
Nicolas George
a85b4a5696 lavfi: use correct PTS for link age.
When start_frame has returned, the buffer reference's PTS
may have been modified by another filter.
2012-07-30 17:56:26 +02:00
Michael Niedermayer
64f07754fe buildsys: fix c++ compilation
Based on code by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 17:51:33 +02:00
Michael Niedermayer
64a2c51f7b fate: fix forgotten hunk for framerate order change in ffmpeg.c
broken by: cbb2c95e47
i had fixed that commit but pushed from an old branch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 17:51:33 +02:00
Michael Niedermayer
3161958455 yadif: update frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 14:17:10 +02:00
Michael Niedermayer
cbb2c95e47 ffmpeg: init simple filter graph before trying to extract framerate from its output.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 14:17:10 +02:00
Michael Niedermayer
dfd8f2ff19 avfilter: fix minor typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 14:17:10 +02:00
Diego Biurrun
6774247a9d avformat: Drop pointless "format" from container long names 2012-07-30 13:59:06 +02:00
Nicolas George
f893904469 audioconvert: add av_get_standard_channel_layout().
Also bump minor version and add APIchanges entry.
2012-07-30 11:38:38 +02:00
Nicolas George
33449b1776 audioconvert: add av_get_channel_description(). 2012-07-30 11:37:40 +02:00
Nicolas George
cc55470472 audioconvert: include the description of channels in the library. 2012-07-30 10:24:37 +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
753a1b0988 samplefmt: Fix warning about discarded qualifier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 03:50:43 +02: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
Ronald S. Bultje
8e5d71d110 swscale: bury one more piece of inline asm under HAVE_INLINE_ASM. 2012-07-29 17:14:48 -07: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
Diego Biurrun
193cdd9a3e configure: Add missing descriptions to help output 2012-07-30 00:42:20 +02:00
Stefano Sabatini
316f6df9cc lavfi/avcodec: rename picref->samplesref variable in avfilter_get_audio_buffer_ref_from_frame()
The new name is more meaningful in that context.
2012-07-30 00:33:13 +02:00
Stefano Sabatini
9cf9214d0a lavfi/color: free internal context options in uninit()
Keeping the set options in the context when the component is still used
can be useful for debugging purposes.
2012-07-30 00:33:13 +02:00
Stefano Sabatini
a74dcb7dc0 lavfi/color: cache and reuse colored picture in context
Avoid to fill the same picture again and again with the same content.

Optimize computation, and provides an example for the use of the
AV_PERM_REUSE permission flag.
2012-07-30 00:33:13 +02:00
Stefano Sabatini
47b6b7a2b9 lavfi/color: reindent after the previous commit 2012-07-30 00:33:13 +02:00
Stefano Sabatini
e5d617aa6d lavfi/color: drop support for old deprecated syntax 2012-07-30 00:31:43 +02:00
Stefano Sabatini
ad2022ac83 lavfi/testsrc: add comment in options 2012-07-30 00:30:21 +02:00
Ronald S. Bultje
be391fb6df h264_ps: declare array of colorspace strings on its own line. 2012-07-29 14:53:42 -07:00
Mans Rullgard
70c8753d33 fate: amix: specify f32 sample format for comparison
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-29 22:05:09 +01:00
Mans Rullgard
9f1280def4 tiny_psnr: support 32-bit float samples
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-29 22:05:09 +01: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
Mans Rullgard
f3eb008343 eamad/eatgq/eatqi: call special EA IDCT directly
These decoders use a special non-MPEG2 IDCT.  Call it directly
instead of going through dsputil.  There is never any reason
to use a regular IDCT with these decoders or to use the EA IDCT
with other codecs.

This also fixes the bizarre situation of eamad and eatqi decoding
incorrectly if eatgq is disabled.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-29 21:30:57 +01:00
Mans Rullgard
591766a3a9 eamad: remove use of MpegEncContext
There is no sense in pulling in this monster struct just for
a handful of fields.  The code does not call any functions
expecting an MpegEncContext.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-29 21:30:47 +01:00
Mans Rullgard
87cf481aa8 mpegvideo: remove unnecessary inclusions of faandct.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-29 21:28:45 +01:00
Michael Niedermayer
72dabdfc58 aacenc: new default cutoff
Improves subjective quality

Formula and testing by: kamedo2 <fujisakihir90@yahoo.co.jp>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-29 22:02:46 +02:00
Justin Ruggles
be51e589cd af_asyncts: avoid overflow in out_size with large delta values 2012-07-29 14:31:54 -04:00
Justin Ruggles
70d71b5801 af_asyncts: add first_pts option
This allows for padding/trimming at the start of stream. By default, no
assumption is made about the first frame's expected pts, so no padding or
trimming is done.
2012-07-29 14:31:54 -04: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
Nicolas George
981d97f697 doc/filters: document TB variable for vf_setpts. 2012-07-29 16:25:52 +02:00
Nicolas George
5c81a9ff55 libx264: list possible profiles.
The values are listed if setting them fails.
Using "-profile help" or "-profile list" have that effect.
Similar to 3aba391.
Suggested by "rogerdpack" in trac ticket #1529.
2012-07-29 16:13:07 +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
c3c9c4d006 doc/general: add missed WavPack muxing support information
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-29 02:26:09 +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
Mans Rullgard
d905c64406 fate: make yadif tests consistent across systems
MMX-enabled systems by default use some dsputil functions differing
from the C versions.  Adding these flags ensures accurate ones are
used everywhere.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-28 22:23:52 +01:00
Loren Merritt
1ad715dbf3 vf_hqdn3d: support 9 and 10bit colordepth
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:20:06 -07:00
Loren Merritt
0f583e6cc5 vf_hqdn3d: reduce intermediate precision
11% faster on penryn, 7% on sandybridge, 5% on bulldozer
Negligible change to output.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:19:01 -07:00
Loren Merritt
85e228c71d vf_hqdn3d: simplify and optimize
14% faster on penryn, 2% on sandybridge, 9% on bulldozer

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:15:14 -07:00
Loren Merritt
fb44e7401f factor identical ff_inplace_start_frame out of two filters
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:15:14 -07:00
Loren Merritt
60b9785530 vf_hqdn3d: cosmetics
Change code style to match the rest of libav.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:12:22 -07:00
Ronald S. Bultje
dcb7ef5483 avprobe/avconv: fix tentative declaration compile errors on MSVS. 2012-07-28 11:48:18 -07:00
Nicolas George
0f8f924847 faq: suggest the concat filter. 2012-07-28 18:16:55 +02:00
Nicolas George
2d6f442ca1 faq: disambiguate "join". 2012-07-28 18:16:55 +02:00
Michael Niedermayer
3adc9c9996 ffmpeg: allow using the r_frame_rate as fundamental timebase for stream copy in avi
Fixes Ticket1434

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-28 17:43:14 +02:00
Ronald S. Bultje
c83f44dba1 h264_idct_10bit: port x86 assembly to cpuflags. 2012-07-28 08:29:45 -07:00
Loren Merritt
f8d8fe255d x86inc: clip num_args to 7 on x86-32.
This allows us to unconditionally set the cglobal num_args
parameter to a bigger value, thus making writing yasm code
even easier than before.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 08:29:45 -07:00
Ronald S. Bultje
96c9cc1094 x86inc: sync to latest version from x264. 2012-07-28 08:29:44 -07:00
Ronald S. Bultje
b3c5ae5607 fft: rename "z" to "zc" to prevent name collision.
Without this, cglobal will expand "z" to "zh" to access the high byte
in a register's word, which causes a name collision with the ZH(x) macro
further up in this file.
2012-07-28 08:29:44 -07:00
Michael Niedermayer
157f956973 ffmpeg: add code to perform ts wrap correction
Fixes ticket1385

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-28 17:05:24 +02:00
Michael Niedermayer
05a6c625f4 fate: switch rsync to fate-suite.ffmpeg.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-28 17:05:24 +02:00
Nicolas George
efcfcf8793 avf_concat: fix silence duration.
concat_in.pts starts at 0 for each segment, so the duration
of the silence was too long, except at the first stitch.
2012-07-28 15:14:01 +02:00
Nicolas George
4ce87ecf2a asrc_flite: do not crash on multiple instances.
The voice register functions return the same voice structure
upon multiple registration. It causes us two problems:

If we delete a voice without deregistering it, it leaves
a dangling pointer inside the library.

If we delete or unregister a voice at uninit, it may still
be in use by another instance of the filter.

The second problem is solved by keeping an usage counter inside
asrc_flite. This is not thread-safe, but neither is flite itself.
2012-07-28 15:13:46 +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
b3fa478823 lavfi: bump minor to mark stabilizing the ABI. 2012-07-28 14:33:48 +02:00
Anton Khirnov
8f9537f314 FATE: add tests for yadif. 2012-07-28 14:33:44 +02:00
Anton Khirnov
8112710f17 FATE: add a test for delogo video filter. 2012-07-28 14:33:32 +02:00
Anton Khirnov
7339340787 FATE: add a test for amix audio filter. 2012-07-28 14:32:53 +02:00
Anton Khirnov
67ef5f4eb5 audiogen: allow specifying random seed as a commandline parameter. 2012-07-28 14:32:48 +02:00
Michael Niedermayer
45838561f2 vc1dec: Override invalid macroblock quantizer
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-28 14:13:22 +02:00
Michael Niedermayer
2bf369b60c vc1: avoid reading beyond the last line in vc1_draw_sprites()
Fixes overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-28 13:35:12 +02:00
Michael Niedermayer
1100acbab2 vc1dec: check that coded slice positions and interlacing match.
This fixes out of array writes

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-28 13:34:05 +02:00
Michael Niedermayer
0aa907cfb1 vc1dec: Do not ignore ff_vc1_parse_frame_header_adv return value
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-28 13:34:05 +02:00
Stefano Sabatini
fb0688b079 doc/general: add missing device support information 2012-07-28 12:27:33 +02:00
Nicolas George
9a757cca34 avf_concat: fix min value for v option. 2012-07-28 11:48:14 +02:00
Diego Biurrun
bfe9f48ad7 configure: Move parts that should not be user-selectable to CONFIG_EXTRA 2012-07-28 11:26:06 +02:00
Stefano Sabatini
66a5201819 lavfi: add flite audio source 2012-07-28 11:06:43 +02:00
Stefano Sabatini
fd2b6c1e4b doc/filters: itemize movie examples 2012-07-28 10:50:19 +02:00
Stefano Sabatini
32390d6767 lavfi: move movie and amovie to a "multimedia sources" section
Since the recent changes, movie and amovie are able to deal with more
than one type of stream, so they should be categorized as "multimedia
sources" rather than audio/video sources.
2012-07-28 10:50:11 +02:00
Stefano Sabatini
7cf9aaddcd lavu/bprint: extend/clarify documentation for av_bprint_init() size_max value
Also define AV_BPRINT_SIZE_* macros before av_bprint_init() declaration,
and mention them in the av_bprint_init() doxy.
2012-07-28 10:49:08 +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
a2f91e7bcd mpegaudiodec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-28 05:31:27 +02:00
Ronald S. Bultje
4d777eedfd vp3: don't compile mmx IDCT functions on x86-64.
64-bit CPUs always have SSE2, and a SSE2 version exists, thus the MMX
version will never be used.
2012-07-27 20:12:30 -07:00
Ronald S. Bultje
a5bbb1242c h264_loopfilter: port x86 simd to cpuflags. 2012-07-27 20:12:11 -07:00
jamal
64c53fa16a dxva2: Fix some warnings about incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-28 03:28:46 +02:00
Mans Rullgard
23565c2641 build: support non-standard replacements for -c flag
This allows non-standard replacements for the -c compiler flag.
Some compilers use other flags or no flag at all in place of
the usual one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-28 01:50:12 +01:00
Mans Rullgard
18031c49dc build: support non-standard replacements for -E flag
This allows using non-standard flags for running the C preprocessor.
The -o flag must be included in this setting due to strange syntax
required by some compilers.

Set the correct flags for tms470.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-28 01:50:12 +01:00
Ronald S. Bultje
d07ff3cd5a h264_chromamc_10bit: port x86 simd to cpuflags. 2012-07-27 17:35:49 -07:00
Ronald S. Bultje
4a26fdd852 vp3: port x86 SIMD to cpuflags. 2012-07-27 17:35:49 -07:00
Diego Biurrun
42ade117dd build: Use portable compiler flag constructs in header compilation rule 2012-07-28 02:02:20 +02:00
Diego Biurrun
24f8961f93 x11grab: cosmetics: consistent naming for x11grab-related things 2012-07-28 02:02:19 +02:00
Diego Biurrun
755834e94f build: Rename YASMDEP variable to DEPYASM for consistency 2012-07-28 02:02:19 +02:00
Michael Niedermayer
0fa352623d dvdsubenc: switch to av_assert
we use av_assert0() because the previous code unconditionally
enabled the assert.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-28 01:18:04 +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
Ronald S. Bultje
76888c64b0 rv34: port x86 SIMD to cpuflags. 2012-07-27 15:13:26 -07: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
Ronald S. Bultje
158744a4cd vp56: only compile MMX SIMD on x86-32.
All x86-64 CPUs have SSE2, so the MMX version will never be used. This
leads to smaller binaries.
2012-07-27 14:40:27 -07:00
Ronald S. Bultje
2734ba787b vp56: port x86 simd to cpuflags. 2012-07-27 14:39:07 -07:00
jamal
94c3e11a6f imgutils: Fix warnings about incompatible pointer type and discarded qualifiers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 22:10:10 +02:00
Ronald S. Bultje
5361e10a5e proresdsp: port x86 assembly to cpuflags. 2012-07-27 11:43:06 -07:00
Carl Eugen Hoyos
4f2549e3d0 Fix aiff demuxer dependencies. 2012-07-27 20:42:35 +02:00
Justin Ruggles
e9da9a3111 lavr: x86: improve non-SSE4 version of S16_TO_S32_SX macro
Removes a false dependency on existing contents of the 2nd dst register,
giving better performance for OOE.
2012-07-27 14:21:32 -04:00
Justin Ruggles
743f07062a lavfi: better channel layout negotiation
Allow substitution of channel pairs in the input for nearby channel pairs in
the output in order to get a closer match. Also weigh LFE channel mismatch
differently to favor matching the same layout without LFE over one less
channel with LFE.
2012-07-27 14:15:33 -04:00
Justin Ruggles
81f548de57 alac: check for truncated packets
This will give a clearer error message when the error is caused by a
truncated packet.
2012-07-27 13:52:20 -04:00
Justin Ruggles
fb57e913e1 alac: reverse lpc coeff order, simplify filter
Reversing the lpc coefficient order simplifies indexing in the filter.
2012-07-27 13:52:19 -04:00
jamal
52a62f9085 dwt: Fix several warnings about incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 19:36:17 +02:00
Justin Ruggles
2f096bb10e lavr: add x86-optimized mixing functions
Adds optimized functions for mixing 3 through 8 input channels to 1 and 2
output channels in fltp or s16p format with flt coeffs.
2012-07-27 11:25:48 -04:00
Justin Ruggles
79687079a9 x86: add support for fmaddps fma4 instruction with abstraction to avx/sse 2012-07-27 11:25:48 -04:00
Steven Robertson
b3841db133 vf_alphamerge: Fix reversed conditional
Reviewed-by: Nicolas George
2012-07-27 14:00:04 +02:00
Matthieu Bouron
789f8cb03a avutil: support 50 and 60 frame rates in timecode api
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 13:41:58 +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
Michael Niedermayer
a2cd13f04f zmbv: Fix warning about discarded qualifier
Based on patch by: jamal <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 12:43:15 +02:00
jamal
cb40d36074 ffv1: Fix warnings about incompatible pointer type and discarded qualifiers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 12:27:21 +02:00
Kostya Shishkov
0cf7d849ff tscc2: fix typo in array index 2012-07-27 07:34:38 +02:00
Mans Rullgard
b9d3c37848 build: use COMPILE template for HOSTOBJS
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-26 23:58:59 +01:00
Mans Rullgard
a758c5e259 build: do full flag handling for all compiler-type tools
This adds a full identification probe of CC, AS, LD and HOSTCC,
and sets up correct flags and dependency tracking for each.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-26 23:58:50 +01:00
Ronald S. Bultje
02ac28229a eval: fix printing of NaN in eval fate test.
This fixes "make fate-eval" on MSVC builds. Without this, the test outputs
"-1.#NaN" instead of "nan" on MSVS 2010.
2012-07-26 15:56:32 -07:00
Diego Biurrun
8784959234 build: Rename aandct component to more descriptive aandcttables 2012-07-26 23:35:21 +02:00
Michael Niedermayer
236ecc3502 fate: change fate-suite rsync server.
there are some technical problems with fate.ffmpeg.org
thus split the subdomain between fate-suite and fate
fate-suite is now (temporary) provided by our main server

until fate-suite.ffmpeg.org is setup to point somewhere
we use fate-suite.avcodec.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 23:07:53 +02:00
Ronald S. Bultje
bde73f28af mpegaudio: bury inline asm under HAVE_INLINE_ASM. 2012-07-26 13:43:16 -07:00
Ronald S. Bultje
30b45d9c38 x86inc: automatically insert vzeroupper for YMM functions. 2012-07-26 13:43:16 -07:00
Clément Bœsch
316f8db2c2 SubViewer demuxer and decoder. 2012-07-26 22:22:54 +02:00
Clément Bœsch
2755abff3e lavc/rt: small wording fix in a comment. 2012-07-26 22:22:49 +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
307a20cca2 Changelog: put entries lost in 2cb4d51654 back
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 20:37:05 +02:00
Michael Niedermayer
f5a5b4344b ffmpeg: doxyfy some comments and mention the timebase used in various timestamp fields.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:58:26 +02:00
Michael Niedermayer
1a7af514de ffmpeg: move decoded_frame->pts computation together
This clarifies the code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:57:36 +02:00
Michael Niedermayer
c76a5365bb ffmpeg: Fix rounding errors in decoded_frame->pts computation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:56:52 +02:00
Michael Niedermayer
9b1fdb1c5a ffmpeg: fix assumed decoded_frame->pts timebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:56:07 +02:00
Michael Niedermayer
b616405c16 ffmpeg: reset decoded_frame->pts after rescaling.
This ensures its not used afterwards.
This commit should not change anything as it should not have been used afterwards.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:51:56 +02:00
Michael Niedermayer
e15e5328a7 mpc8: Initialize AVFrame properly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:45:44 +02:00
Michael Niedermayer
5938b4d398 mpc7: Initialize AVFrame properly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:42:42 +02:00
Michael Niedermayer
55fa883b30 ffmpeg: fix units of next_?ts in debug printing routine.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 17:12:07 +02:00
Michael Niedermayer
506ffa793f h264_cabac: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 16:33:39 +02:00
Michael Niedermayer
7a4e30f3b6 h264_cabac: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 16:33:17 +02:00
Michael Bradshaw
44dc9c6af0 libopenjpeg: support YUV and deep RGB pixel formats
Based on FFmpeg version from
commit 3275981207

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 10:20:04 +02:00
Carl Eugen Hoyos
92566540c3 Fix typo in v410 decoder.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-26 10:08:49 +02:00
William Yu
d5d5e3dabe lavfi/af_amerge: avfilter_copy_buffer_ref_props will overwrite output pts 2012-07-26 10:05:58 +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
Nicolas George
6bf87785e8 ffmpeg: warn about new streams after startup. 2012-07-26 00:30:38 +02:00
Nicolas George
d0d9272580 faq: explain about new streams, probesize and analyzeduration. 2012-07-26 00:30:37 +02:00
Anton Khirnov
b5c8aa745e vf_yadif: unset cur_buf on the input link.
The buffer is stored internally, so this prevents it from being unreffed
automatically.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Anton Khirnov
f431315a86 vf_overlay: ensure the overlay frame does not get leaked.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Michael Niedermayer
08fc1ad151 vf_overlay: prevent premature freeing of cur_buf
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +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
Justin Ruggles
0dadf9d1e9 lavr: x86: add missing vzeroupper in ff_mix_1_to_2_fltp_flt() 2012-07-25 15:41:25 -04:00
Michael Niedermayer
9746f87f15 libvpxenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 21:35:48 +02:00
Michael Niedermayer
aee675a326 intrax8: asserts cleanup
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 21:35:30 +02:00
Ronald S. Bultje
48098788c2 vp8: Replace x*155/100 by x*101581>>16.
Idea stolen from webp (by Pascal Massimino) - because it's Cool.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-25 14:37:03 -04:00
Ronald S. Bultje
a1878a88a1 vp3: don't use calls to inline asm in yasm code.
Mixing yasm and inline asm is a bad idea, since if either yasm or inline
asm is not supported by your toolchain, all of the asm stops working.
Thus, better to use either one or the other alone.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-25 14:24:30 -04:00
Ronald S. Bultje
79195ce565 x86/dsputil: put inline asm under HAVE_INLINE_ASM.
This allows compiling with compilers that don't support gcc-style
inline assembly.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-25 14:24:27 -04:00
Yang Wang
845e92fd6a dsputil_mmx: fix incorrect assembly code
In ff_put_pixels_clamped_mmx(), there are two assembly code blocks.
In the first block (in the unrolled loop), the instructions
"movq 8%3, %%mm1 \n\t", and so forth, have problems.

From above instruction, it is clear what the programmer wants: a load from
p + 8. But this assembly code doesn’t guarantee that. It only works if the
compiler puts p in a register to produce an instruction like this:
"movq 8(%edi), %mm1". During compiler optimization, it is possible that the
compiler will be able to constant propagate into p. Suppose p = &x[10000].
Then operand 3 can become 10000(%edi), where %edi holds &x. And the instruction
becomes "movq 810000(%edx)". That is, it will stride by 810000 instead of 8.

This will cause a segmentation fault.

This error was fixed in the second block of the assembly code, but not in
the unrolled loop.

How to reproduce:
    This error is exposed when we build using Intel C++ Compiler, with
    IPO+PGO optimization enabled. Crashed when decoding an MJPEG video.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-25 14:22:18 -04: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
98df48db6d doc: Update the description of the rtmp_tcurl option
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:33:11 +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
Kieran Kunhya
160a27c590 libfdk-aacenc: add LATM/LOAS encapsulation support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-25 20:32:33 +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
Michael Niedermayer
703f294934 fate: update avui test due to
commit 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.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 14:29:39 +02:00
Stefano Sabatini
10b44f4932 ffprobe: use av_guess_sample_aspect_ratio() for guessing the aspect ratio
This is consistent with what av_dump_format() does.

In particular, fix trac ticket #1568.
2012-07-25 10:05:02 +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
Stefano Sabatini
e564de26b3 lavfi/avfilter.h: add doxy for AVFilterLink.out_buf 2012-07-25 10:03:34 +02:00
Stefano Sabatini
b73be80d48 lavfi/avfilter.h: add doxy for AVFilterLink.cur_buf 2012-07-25 10:01:29 +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
Diego Biurrun
49c45a2624 avfilter: Fix printf format string conversion specifier
libavfilter/avfilter.c:224:9: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘int’ [-Wformat]
2012-07-25 09:24:25 +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
Michael Niedermayer
72743aef03 imgconvert: Implement avcodec_find_best_pix_fmt_of_list()
The old avcodec_find_best_pix_fmt() was insufficient due to 64 pix_fmt limit.
In ffmpeg this problem has been solved long ago through avcodec_find_best_pix_fmt2()
Today libav has added a incompatible modified version of avcodec_find_best_pix_fmt2()
under the same name, thus again breaking ABI/API ...

The avcodec_find_best_pix_fmt_of_list() added in this commit here makes the libav
API available to ffmpeg users too.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 01:25:28 +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 Bradshaw
043c75a989 libopenjpegenc: set numresolution max to INT_MAX
OpenJPEG doesn't have a max lowres limit, so don't enforce an arbitrary one.

Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25 00:29:34 +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
Nicolas George
3ccf22c64a ffmpeg: keep packet/frame availability in global structures.
This replaces the use of the no_packet and no_frame arrays.
2012-07-24 19:14:10 +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
Michael Niedermayer
0e1925ddc4 iffdec: Fix integer overflow.
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 05:17:36 +02:00
Michael Niedermayer
22ce78a95e vc1dec: dont apply the loop filter on fields
Fixes read of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 04:55:13 +02:00
Michael Niedermayer
697edcc12a vc1dec: dont attempt error concealment on field pictures.
This is not implemented and doesnt work.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 04:12:18 +02:00
Michael Niedermayer
2e346bdaba ec: print picture type with concealment error message.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 04:12:18 +02:00
Diego Biurrun
65d94f63ca aac: Mention abbreviation as well in long_name
Most people know the codec as "AAC" and not "Advanced Audio Coding".
2012-07-24 02:37:49 +02:00
Alexander Strasser
3f22fcce3a tools/bisect-create: Support "bisect run"
Make it possible to use the run bisect sub command. As with all
other ffbisect commands, revisions that do not contain the needed
tools are skipped.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-07-24 01:24:23 +02:00
yang
6a2bad2c4f dsputil_mmx: fix incorrect assembly code
In file libavcodec/x86/dsputil_mmx.c, function ff_put_pixels_clamped_mmx(), there are two assembly code blocks. In the first block (in the unrolled loop), the instructions "movq 8%3, %%mm1 \n\t" etc have problem.
For above instruction, it is clear what the programmer wants: a load from p + 8. But this assembly code doesn’t guarantee that. It only works if the compiler puts p in a register to produce an instruction like this: “movq 8(%edi), %mm1”. During compiler optimization, it is possible that the compiler will be able to constant propagate into p. Suppose p = &x[10000]. Then operand 3 can become 10000(%edi), where %edi holds &x. And the instruction becomes “movq 810000(%edx)”. That is, it will stride by 810000 instead of 8.
This will cause the segmentation fault.
This error was fixed in the second block of the assembly code, but not in the unrolled loop.

How to reproduce:
This error is exposed when we build the ffmpeg using Intel C++ Compiler, IPO+PGO optimization. The ffmpeg was crashed when decoding a mjpeg video.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-24 00:55:05 +02: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
Martin Storsjö
c66495c6d7 configure: Add a dependency on https for rtmpts
The rtmpts protocol uses https implicitly, via the ffrtmphttp
protocol, but the ffrtmphttp protocol is also useable for plain
rtmpt without https, so the dependency needs to be added here instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-24 00:06:07 +02:00
Diego Biurrun
816ff352a3 doc: Add Git configuration section 2012-07-23 23:56:22 +02:00
Michael Niedermayer
5a9fa84585 cavsdec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 23:54:13 +02:00
Michael Niedermayer
bb1e0e80b0 libavcodec/bitstream: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 23:54:13 +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
Carl Eugen Hoyos
d147aedb6b Fix typo in v410 decoder. 2012-07-23 23:44:13 +02:00
Martin Storsjö
6c1ed45483 configure: Add a dependency on https for rtmpts
The rtmpts protocol uses https implicitly, via the ffrtmphttp
protocol, but the ffrtmphttp protocol is also useable for plain
rtmpt without https, so the dependency needs to be added here instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-24 00:43:27 +03: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
Paul B Mahol
c9a96ec3c7 cosmetics: iff: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-23 21:00:17 +00:00
Nicolas George
ddcb99bb51 vf_deshake: set cur_buf to NULL.
Fix a segfault.
2012-07-23 22:44:25 +02:00
Michael Niedermayer
6d4c97bb85 fate: enable fate-vc1_sa10143
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 22:12:12 +02:00
Paul B Mahol
ebe846fa73 vf_colormatrix: add missing semicolon
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-23 19:58:13 +00: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
Justin Ruggles
7e15df7551 swr: resampling: add filter type and Kaiser window beta to AVOptions 2012-07-23 19:23:39 +02:00
Derek Buitenhuis
d04c5293ce v410dec: Implement explode mode support
Try and decode broken files, but still fail if explode
mode is enabled.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-23 11:36:48 -04:00
Reimar Döffinger
6c8fdfc5e5 zerocodec: fix direct rendering.
Set picture type before calling get_buffer.
This allows the DR application to make better decisions.
It also fixes a resource leak in case of missing reference frames
since it would call get_buffer but never release_buffer.
Also use FFSWAP to ensure that the AVFrame is properly initialized
in the next get_buffer (in particular that data[0] is NULL).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-23 11:35:21 -04: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
Hendrik Leppkes
37c6ad2345 wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-23 11:33:58 -04:00
Nicolas George
a7ac05ce2f src_movie: implement multiple outputs.
The audio and video code paths were too different,
most of the decoding has been rewritten.
2012-07-23 17:14:59 +02:00
Nicolas George
05776119c1 buffersrc: use avfilter_get_buffer_ref_from_frame. 2012-07-23 17:14:59 +02:00
Nicolas George
5c5f75b92b lavfi: add avfilter_get_buffer_ref_from_frame. 2012-07-23 17:14:59 +02:00
Ronald S. Bultje
58db34aa1e h264: refactor NAL decode loop
Write out the NAL decoding loops in full so that they are easier
to parse for a preprocessor without it having to be aware of macros
or other such things in C code.

This also makes the code more readable.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-23 16:27:53 +02:00
Peter Ross
a8fb7690d9 tls: user documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 15:57:42 +02: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
Samuel Pitoiset
3505d5574e rtmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-23 16:32:03 +03:00
Stefano Sabatini
7afd42d9f2 lavfi/showwaves: do not set on outlink->out_buf the sent video frame
The video frame reference is passed along the filterchain, and is not
possessed anymore by the filter. If out_buf is not set to NULL, it will
be freed by ff_end_frame() causing a crash.
2012-07-23 15:10:19 +02:00
Peter Ross
cc12a94c36 iff: set ham palette alpha to 0xFF
This addresses the problem that some HAM pictures were decoded with
complete transparency as described in the 'iff: ANIM suppport ' thread
on ffmpeg-devel. The decoder was already setting alpha correctly for
CMAP palettes, just not HAM palettes.
2012-07-23 14:04:47 +02:00
Michael Niedermayer
67a304985e vf_overlay: fix missed return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 13:44:05 +02:00
Nicolas George
612307978d lavfi: change "transmedia" into "multimedia". 2012-07-23 11:44:48 +02:00
Nicolas George
be33da9a1d lavfi: add concat filter. 2012-07-23 11:34:20 +02:00
Nicolas George
1cadab6023 ffmpeg: select input file based on output time.
Filters can change the timings, so input files must not
necessarily be read at the same rythm. This patch select
the input file to read based on the timestamp at output
instead of input. With complex filter graphs, finding the
input for a given output is done by making a request and
checking to what buffer source it has been forwarded.
2012-07-23 10:59:41 +02:00
Ronald S. Bultje
3b175384bb swscale: add missing HAVE_INLINE_ASM check.
The function called in this block is under HAVE_INLINE_ASM itself also.
2012-07-22 19:46:47 -07:00
Ronald S. Bultje
3124886554 lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
This allows compiling this code using compilers that do not understand
gcc-style inline assembly.
2012-07-22 19:44:06 -07:00
Mashiat Sarker Shakkhar
8d2e3fee0b vc1: Add a test for interlaced field pictures
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-22 22:28:30 -04:00
Michael Niedermayer
f4451d2e75 libschroedingerenc: remove assert related to the old API.
The assert is no longer needed as the buffer is allocated after
the size is known now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 04:20:15 +02:00
Michael Niedermayer
d014e19515 libvorbisenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 04:00:23 +02:00
Michael Niedermayer
72a9e646c3 libschroedingerenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 04:00:01 +02:00
Michael Niedermayer
62514ca012 g723.1dec: Make postfilter user switchable
Code from qatar (55c3a4f617)
Author of the code was probably Mohamed or Kostya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 03:57:04 +02:00
Michael Niedermayer
1eb1392690 g723.1: various cosmetics and changes that should have no user vissible effect.
code from qatar (55c3a4f617)
Author of the code was probably Mohamed or Kostya

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 03:55:28 +02:00
Diego Biurrun
5a6e3c039c swscale: Mark all init functions as av_cold 2012-07-23 01:30:05 +02:00
Diego Biurrun
16d2a1a51c swscale: x86: Drop pointless _mmx suffix from filenames
The files do not contain only MMX code.
2012-07-23 01:30:04 +02:00
Ronald S. Bultje
fd48721849 lavf: use conditional notation for default codec in muxer declarations.
This removes the use of macro nesting in these code constructs, which
makes it easier to parse in pre-processors.
2012-07-22 16:10:21 -07:00
Ronald S. Bultje
a6e922ffa2 swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM. 2012-07-22 16:08:13 -07:00
Michael Niedermayer
d486a6eae9 Merge remote-tracking branch 'dwbuiten/master'
* dwbuiten/master:
  wav: Add check for 'fmt' tag in SMV code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 00:00:03 +02:00
Michael Niedermayer
88beb2df98 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: fix the asyncts test
  build: Drop gcc-specific warning flag from header compilation rule
  FATE: add a test for the asyncts audio filter.
  matroskadec: return more correct error code on read error.
  buffersrc: check ff_get_audio_buffer() for errors.
  lavfi: check all ff_get_video_buffer() calls for errors.
  lavfi: check all avfilter_ref_buffer() calls for errors.
  vf_select: avoid an unnecessary avfilter_ref_buffer().
  buffersrc: avoid creating unnecessary buffer reference
  lavfi: use avfilter_unref_bufferp() where appropriate.
  vf_fps: add more error checks.
  vf_fps: fix a memleak on malloc failure.
  lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors
  lavfi: add error handling to end_frame().
  lavfi: add error handling to draw_slice().
  lavfi: add error handling to start_frame().

Conflicts:
	Makefile
	ffplay.c
	libavfilter/buffersrc.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_hflip.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/video.c
	libavfilter/vsrc_color.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 23:56:21 +02:00
Derek Buitenhuis
5ab855777d wav: Add check for 'fmt' tag in SMV code
If there is a 'SMV0' tag, but no 'fmt' tag, it is possible that
'st' got used as NULL.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-22 17:46:26 -04:00
Justin Ruggles
a35738f424 dsputil: ppc: cosmetics: pretty-print 2012-07-22 17:38:55 -04:00
Jason Garrett-Glaser
85a3c19ed1 dsputil: x86: add SHUFFLE_MASK_W macro
Simplifies pshufb masks that operate on words.
2012-07-22 16:56:58 -04:00
Michael Niedermayer
9023de342f Merge commit '1470ce21cec5ee26e106e2a884c26bbf84e5aaea'
* commit '1470ce21cec5ee26e106e2a884c26bbf84e5aaea':
  Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer
  G.723.1 demuxer and decoder
  Add a shift parameter to celp_lp_synthesis_filter()
  libopenjpeg: K&R formatting cosmetics
  yadif: use emms_c() instead of inline assembly for emms invocations.
  ac3: don't use different names for option tables in the template file.
  lavfi: use const for AVFilterPad declarations in all filters.
  adpcm: don't duplicate identical AVSampleFmt array for each encoder.
  configure: cosmetics: Group test dependencies together
  configure: add more passthrough flags in tms470 filter
  configure: move flag filtering functions out of if/else blocks

Conflicts:
	Changelog
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/ac3enc_fixed.c
	libavcodec/allcodecs.c
	libavcodec/eac3enc.c
	libavcodec/g723_1.c
	libavcodec/g723_1_data.h
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/v210dec.h
	libavcodec/version.h
	libavfilter/af_anull.c
	libavfilter/asrc_anullsrc.c
	libavfilter/f_settb.c
	libavfilter/fifo.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_copy.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_format.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_null.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_pixdesctest.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_slicify.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_vflip.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/g723_1.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 22:18:18 +02:00
Mans Rullgard
b2704a65d5 configure: respect CC_O setting in check_cc
Use compiler-specific replacements for the -o flag in check_cc.
This makes tests work properly with compilers using non-standard
flags.

The tms470 flags are updated to work with this scheme.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-22 21:14:01 +01:00
Peter Ross
4f4eb380f0 tls: TLS/SSL server
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 19:12:15 +02:00
Peter Ross
d1146d67ca tls: parse uri path options to underlying tcp URLContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 19:12:15 +02:00
Peter Ross
b2460858f6 tls: verify option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 19:12:15 +02:00
Peter Ross
973a758f52 tls: cafile, cert, key options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 19:12:15 +02:00
Nicolas George
9c1d649ce5 overlay: clear cur_buf on main input link.
A reference is kept in the queue and freed after use.
2012-07-22 18:35:28 +02:00
Anton Khirnov
df53a4a7c1 FATE: fix the asyncts test
Nellymoser is float, so use oneoff comparison instead of md5.
2012-07-22 17:58:56 +02:00
Peter Ross
1be55c82a5 av_url_split: dont let '/' char whallop '?' char
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 16:26:43 +02:00
Nicolas George
21fb7ff35b doc: declare encoding for texi2html.
It adds the following header to the HTML files:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
which helps some browsers to display correctly the few non-ASCII
characters in the doc.
2012-07-22 12:48:57 +02:00
Diego Biurrun
6bd37e0b28 build: Drop gcc-specific warning flag from header compilation rule
The flag was added to avoid excessive warning spam, but nowadays those
warnings no longer occur in such large numbers as to require silencing.
Besides, gcc-specific flags do not belong in the Makefiles.
2012-07-22 12:36:30 +02:00
Steven Robertson
82ecae8a70 lavfi: add alphaextract and alphamerge filters
These filters are designed for storing and transmitting video sequences
with alpha using higher-efficiency codecs such as x264 which don't
natively support an alpha channel. 'alphaextract' takes an input stream
with an alpha channel and returns a video containing just the alpha
component as a grayscale value; 'alphamerge' takes an RGB or YUV stream
and adds an alpha channel recovered from a second grayscale stream.

Signed-off-by: Steven Robertson <steven@strobe.cc>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-22 12:17:34 +02:00
Stefano Sabatini
8c2ce16f93 doc/filter_design: fix a few typos 2012-07-22 12:16:18 +02:00
Stefano Sabatini
c0b91348fe lavd/caca: create display *after* checking dither options
Avoid fastidious creation and immediate destroy of the display in case
one of the dither options fails to be set.

Also add NULL checks in write_trailer(), which are now necessary since
the function can be called when not all the components have been
initialized.
2012-07-22 10:32:21 +02:00
Stefano Sabatini
9ce0e19ab6 lavd/caca: provide more meaningful feedback if fails to set a dither option 2012-07-22 10:32:15 +02:00
Stefano Sabatini
fa71471cef lavd/caca: rename "colors" option to "color"
More consistent with libcaca function names. Should not harm since the
device was added less than one day ago.
2012-07-22 10:31:33 +02:00
Stefano Sabatini
d510527885 lavd/caca: sort arguments for -list_dither 2012-07-22 10:28:23 +02:00
Stefano Sabatini
295e0e4b4f lavd/caca: extend error message for -list_dither option 2012-07-22 10:28:23 +02:00
Stefano Sabatini
2fd880449a doc/outdevs: extend documentation for caca -list* options 2012-07-22 10:28:22 +02:00
Anton Khirnov
73cd131ebc FATE: add a test for the asyncts audio filter. 2012-07-22 10:14:16 +02:00
Steven Robertson
71311d697a Fix yuv4mpeg parsing of 'mono16' files.
'mono' came before 'mono16' in the list of colorspace alternatives,
causing files of the latter type to be parsed as the former.
2012-07-22 09:59:25 +02:00
Anton Khirnov
721113bed2 matroskadec: return more correct error code on read error. 2012-07-22 09:14:05 +02:00
Anton Khirnov
a8a2271fe0 buffersrc: check ff_get_audio_buffer() for errors. 2012-07-22 09:14:05 +02:00
Anton Khirnov
8f3a3ce730 lavfi: check all ff_get_video_buffer() calls for errors. 2012-07-22 09:14:05 +02:00
Anton Khirnov
1dc4205018 lavfi: check all avfilter_ref_buffer() calls for errors. 2012-07-22 09:14:05 +02:00
Anton Khirnov
80e4ed279b vf_select: avoid an unnecessary avfilter_ref_buffer(). 2012-07-22 09:14:05 +02:00
Anton Khirnov
785fa50f0b buffersrc: avoid creating unnecessary buffer reference 2012-07-22 09:14:05 +02:00
Anton Khirnov
02ac7311c8 lavfi: use avfilter_unref_bufferp() where appropriate. 2012-07-22 09:14:05 +02:00
Anton Khirnov
043800a968 vf_fps: add more error checks. 2012-07-22 09:14:05 +02:00
Anton Khirnov
d515e9c225 vf_fps: fix a memleak on malloc failure. 2012-07-22 09:14:05 +02:00
Anton Khirnov
3825b52688 lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors 2012-07-22 09:14:05 +02:00
Anton Khirnov
d4f89906e3 lavfi: add error handling to end_frame(). 2012-07-22 09:14:05 +02:00
Anton Khirnov
e9b992d035 lavfi: add error handling to draw_slice(). 2012-07-22 09:14:05 +02:00
Anton Khirnov
ebc8d97481 lavfi: add error handling to start_frame(). 2012-07-22 09:14:04 +02:00
Kostya Shishkov
1470ce21ce Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer 2012-07-22 08:43:12 +02:00
Mohamed Naufal Basheer
55c3a4f617 G.723.1 demuxer and decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:54 +02:00
Mohamed Naufal Basheer
8aac5585fa Add a shift parameter to celp_lp_synthesis_filter()
This is intended for reuse by the G.723.1 decoder

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:53 +02:00
Michael Niedermayer
2f48dff455 atrac3: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 05:23:27 +02:00
Michael Niedermayer
86af292883 kbdwin: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 05:18:01 +02:00
Michael Niedermayer
32c3038734 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: swscale: Place inline assembly code under appropriate #ifdefs
  rtsp: remove terminal comma in FF_RTP_FLAG_OPTS macro.
  configure: Remove redundant RTMPT/RTMPTS dependencies
  configure: add filtering of host cflags/ldflags
  configure: initialise all flag filters at the same place
  configure: add filtering of linker flags
  configure: name some variables more consistently
  configure: remove filter_cppflags
  configure: set icc_version where it is needed
  mpegenc: remove disabled code

Conflicts:
	configure
	libavformat/movenc.c
	libswscale/x86/swscale_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 05:05:02 +02:00
Luca Barbato
51a5ddfa01 libopenjpeg: K&R formatting cosmetics 2012-07-22 04:05:45 +02:00
Paul B Mahol
1aeb87fa07 tscc: employ more meaningful return values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-22 01:21:53 +00:00
Ronald S. Bultje
731fa116b4 yadif: use emms_c() instead of inline assembly for emms invocations. 2012-07-21 17:16:49 -07:00
Michael Niedermayer
7c71f8e0ec pthread: mark lockless thread synchronization variables as volatile
No speed difference was meassureable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 02:07:02 +02:00
Ronald S. Bultje
b170b323e3 ac3: don't use different names for option tables in the template file.
The variables which are declared in the teplate file are static and
therefore there is no symbol clash.
2012-07-21 16:42:36 -07:00
Ronald S. Bultje
3db407038e lavfi: use const for AVFilterPad declarations in all filters. 2012-07-21 16:31:15 -07:00
Ronald S. Bultje
98041afb5f adpcm: don't duplicate identical AVSampleFmt array for each encoder. 2012-07-21 16:31:15 -07:00
Diego Biurrun
388ff813e7 configure: cosmetics: Group test dependencies together 2012-07-21 22:49:31 +02:00
Mans Rullgard
ad93dccb64 configure: add more passthrough flags in tms470 filter
This is in preparation for following changes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 21:33:04 +01:00
Mans Rullgard
d0c6d424f4 configure: move flag filtering functions out of if/else blocks
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 21:33:01 +01:00
Ronald S. Bultje
b2668c85e9 x86: swscale: Place inline assembly code under appropriate #ifdefs
Fixes compilation for compilers that do not support gcc inline assembly.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-21 22:22:58 +02:00
Michael Niedermayer
9e1508f1e7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: unref AVFilterLink.out_buf in ff_end_frame().
  lavfi: unref AVFilterLink.cur_buf in ff_end_frame().
  vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer().
  vf_slicify: clear AVFilterLink.cur_buf in start_frame().
  vf_settb: simplify start_frame().
  vf_fieldorder: don't give up its own reference to the output buffer.
  vf_pad: don't give up its own reference to the output buffer.
  vf_overlay: don't access a buffer reference that's been given away.
  vf_drawtext: don't give up its own reference to the input buffer.
  vf_gradfun: don't store two pointers to one AVFilterBufferRef.
  vf_delogo: don't store two pointers to one AVFilterBufferRef.
  vf_aspect: clear AVFilterLink.cur_buf in start_frame().
  lavfi: add avfilter_unref_bufferp()

Conflicts:
	doc/APIchanges
	libavfilter/avfilter.h
	libavfilter/buffer.c
	libavfilter/vf_aspect.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:20:49 +02:00
Michael Niedermayer
f7e0c18549 vf_overlay: prevent premature freeing of cur_buf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:57 +02:00
Michael Niedermayer
0ecaa447f6 vf_overlay: use unref_bufferP()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:53 +02:00
Michael Niedermayer
dc49105c7f sink_buffer: prevent prematurely freeing of cur_buf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:36 +02:00
Michael Niedermayer
1890853976 vf_thumbnail: prevent premature freeing of ref
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:31 +02:00
Michael Niedermayer
5aab307f30 vf_colormatrix: avoid using out_buf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:28 +02:00
Ronald S. Bultje
5354a904fe rtsp: remove terminal comma in FF_RTP_FLAG_OPTS macro.
This makes usage of the macro look more natural when
used with array entries.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-21 15:35:01 -04:00
Reimar Döffinger
313d1981ad zerocodec: fix direct rendering.
Set picture type before calling get_buffer.
This allows the DR application to make better decisions.
It also fixes a resource leak in case of missing reference frames
since it would call get_buffer but never release_buffer.
Also use FFSWAP to ensure that the AVFrame is properly initialized
in the next get_buffer (in particular that data[0] is NULL).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-07-21 21:11:37 +02:00
Samuel Pitoiset
bdbb21b186 configure: Remove redundant RTMPT/RTMPTS dependencies
The incompatibility with librtmp is already expressed in the ffrtmphttp
protocol dependency declaration, which both RTMPT and RTMPTS depend on.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-21 18:29:05 +02:00
Mans Rullgard
6c3fa06a85 configure: add filtering of host cflags/ldflags
This is in preparation for supporting host compilers with
non-standard flags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 17:18:55 +01:00
Paul B Mahol
a36f19e942 libopenjpegdec: set cp_reduce value only once
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-21 16:12:04 +00:00
Paul B Mahol
881e0de640 iff: pass context to av_log_ask_for_sample
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-21 16:06:36 +00:00
Mans Rullgard
68485d1f32 configure: initialise all flag filters at the same place
This is more consistent, and doing it earlier is harmless.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 16:54:49 +01:00
Mans Rullgard
64933b6c94 configure: add filtering of linker flags
This allows filtering of linker flags the same was as already
supported for CFLAGS.  The filter must be initialised to 'echo'
early since it is invoked by --extra-ldflags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 16:54:16 +01:00
Mans Rullgard
01d31e16f1 configure: name some variables more consistently
Name variables pertaining to various types of flags with 'cflags' etc
as prefix instead of suffix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 16:49:45 +01:00
Mans Rullgard
cd52ec95bb configure: remove filter_cppflags
This is not used and the current design would not work properly
if mixing tools needing different filters.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 16:49:30 +01:00
Mans Rullgard
07e3f9af9f configure: set icc_version where it is needed
This variable is only used once, so setting it there is clearer.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-21 16:48:42 +01:00
Diego Biurrun
1cf6e7dd37 mpegenc: remove disabled code 2012-07-21 16:34:29 +02:00
Paul B Mahol
ad69e778b7 iff: remove dupe ID_ANNO definition
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-21 10:30:12 +00:00
Stefano Sabatini
beef7a6328 doc/outdevs: fix @code{} syntax in caca device docs 2012-07-21 10:17:02 +02:00
Stefano Sabatini
f1a7124d30 Changelog: add entry for the caca device 2012-07-21 10:15:44 +02:00
Michael Niedermayer
17352ad315 alacdec: fix packed sample output with 5.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 06:39:01 +02:00
Piotr Bandurski
3800facac6 riff: add G723_1 wav tag
Reveiwed-by: compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 05:48:31 +02:00
Marton Balint
b99e9ee938 ac3dec: set decode_error_flags field in ac3 codec
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 05:48:31 +02:00
Marton Balint
016a472009 avcodec: add decode_error_flags field to AVFrame
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 05:48:31 +02:00
Paul B Mahol
296c1b6bd1 libcaca output device 2012-07-21 03:33:02 +00:00
Michael Niedermayer
3c033d00f5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: introduce lowres and lowqual private options
  FATE: add a test for flac cover art.
  cafdec: allow larger ALAC magic cookie
  alac: fix channel pointer assignment for 24 and 32-bit

Conflicts:
	libavcodec/alac.c
	libavcodec/libopenjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 04:25:11 +02:00
Paul B Mahol
85761efa95 tiertexseq: remove redundant string from log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-20 19:44:26 +00:00
Anton Khirnov
4c9080a7ef lavfi: unref AVFilterLink.out_buf in ff_end_frame().
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:12:49 +02:00
Nicolas George
fd58678b86 v4l2: remove call to v4l2_fd_open.
v4l2_fd_open is already called at the end of v4l2_open;
calling a second time leaks structures inside libv4l2.

Fix trac ticket #1560.
2012-07-20 21:12:10 +02:00
Anton Khirnov
07bad27810 lavfi: unref AVFilterLink.cur_buf in ff_end_frame().
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:10:42 +02:00
Anton Khirnov
533fd5b5b4 vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer(). 2012-07-20 21:09:57 +02:00
Anton Khirnov
5b50ae94e6 vf_slicify: clear AVFilterLink.cur_buf in start_frame().
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:09:48 +02:00
Anton Khirnov
0393af4f0b vf_settb: simplify start_frame().
Avoid pointless filter ref/unref. Just use the reference passed to
start_frame().
2012-07-20 21:08:50 +02:00
Anton Khirnov
9203fa0b32 vf_fieldorder: don't give up its own reference to the output buffer. 2012-07-20 21:08:26 +02:00
Anton Khirnov
f493c644cd vf_pad: don't give up its own reference to the output buffer. 2012-07-20 21:08:13 +02:00
Anton Khirnov
ad8b6326aa vf_overlay: don't access a buffer reference that's been given away. 2012-07-20 21:07:51 +02:00
Anton Khirnov
7155763b78 vf_drawtext: don't give up its own reference to the input buffer.
Directly forwarding the input buffer to the next filter means that
drawtext no longer owns any references to it and thus shouldn't refer to
it in any way.
2012-07-20 21:07:32 +02:00
Anton Khirnov
d19499c796 vf_gradfun: don't store two pointers to one AVFilterBufferRef. 2012-07-20 21:07:11 +02:00
Anton Khirnov
0fe010a36f vf_delogo: don't store two pointers to one AVFilterBufferRef. 2012-07-20 21:06:49 +02:00
Anton Khirnov
51a8049be8 vf_aspect: clear AVFilterLink.cur_buf in start_frame().
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:06:40 +02:00
Robert Nagy
b70d89a033 lavfi: add avfilter_unref_bufferp()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-20 21:06:18 +02:00
Paul B Mahol
b040ffc84c exr: display warning if multiple compression attributes are found
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-20 18:13:25 +00:00
Paul B Mahol
01f76a779c exr: merge common code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-20 18:13:25 +00:00
Paul B Mahol
a2dab7512e exr: compression attribute is mandatory
Do not continue decoding if one is missing.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-20 18:13:25 +00:00
chinshou
55de89e25d cmdutils/alloc_buffer: fix typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 16:42:29 +02:00
Joseph Artsimovich
99c4e91dfa dnxhd: Fix 10-bit DNxHD quant matrices
Convert them to zigzag order, as the rest of them are.

When I was adding support for 10-bit DNxHD, I just copy-pasted the
missing quant matrices from the spec. Now it turns out the existing
matrices in dnxhddata.c were in zigzag order. This resulted in wrong
quantization for 10-bit DNxHD. The attached patch fixes the problem by
converting 10-bit quant matrices to zigzag order.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 15:24:27 +02:00
Michael Niedermayer
a4f94f24b4 udp: fix compilation when HAVE_PTHREAD_CANCEL isnt defined
This happens with for example mplayer.
Fixing it in ffmpeg allows new ffmpeg to be compiled with older mplayer
which would not be possible if the fix was just in mplayer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 14:58:11 +02:00
Michael Niedermayer
7c6ebe2b97 alac: drop packed sample output support with the next major bump
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 14:11:09 +02:00
Luca Barbato
ce64e5bfd1 libopenjpeg: introduce lowres and lowqual private options
OpenJPEG can decode in lower resolution or decode only a number
of enhancement layers.
2012-07-20 13:23:18 +02:00
Nicolas George
cb6a20fa56 lavfi: add FF_*LINK_IDX convenience macros. 2012-07-20 13:16:24 +02:00
Nicolas George
461f506f7b lavc: set best_effort_timestamp for audio too. 2012-07-20 13:16:23 +02:00
Nicolas George
97f86680eb lavfi: make copy_buffer_ref common. 2012-07-20 13:16:23 +02:00
Nicolas George
b0629366a2 lavf: make cmdutils's check_stream_specifier public.
The new function is called avformat_match_stream_specifier()
and does not include logging the error message.
2012-07-20 13:16:23 +02:00
Stefano Sabatini
3bd3e46c91 doc/avtools-common-opts: fix a few typos in the "Stream specifiers" section 2012-07-20 12:56:28 +02:00
Nicolas George
b34ce5a26b faq: explain dependency problems with static libs. 2012-07-20 11:40:26 +02:00
Nicolas George
30549294ef matroska: add support for Opus.
Opus in Matroska is still a draft.
2012-07-20 11:19:01 +02:00
Nicolas George
a6cf296bd9 lavc: Opus decoder using libopus. 2012-07-20 11:18:58 +02:00
Nicolas George
e62fd6619f oggdec: add support for Opus codec.
This patch also introduces CODEC_ID_OPUS.
2012-07-20 11:16:52 +02:00
Nicolas George
bf8ce5a5c3 ffmpeg: probe buffersinks once more after EOF.
Reap buffers stored in the buffer sinks even when
the avfilter_graph_request_oldest() loop only returns EOF.

avfilter_graph_request_oldest() can cause frames to arrive
to the sinks even when it returns EOF.
2012-07-20 10:18:45 +02:00
Anton Khirnov
5eb9c495af FATE: add a test for flac cover art. 2012-07-20 10:17:25 +02:00
Michael Niedermayer
5e99df019a alacdec: several players have problems with planar audio still thus temporary put packed output back by default
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 04:48:25 +02:00
Michael Niedermayer
e2c96fbf3e ffplay: fix warning that i just mistakenly introduced
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 03:47:11 +02:00
Michael Niedermayer
cdafec69ce ffplay: fix planar audio
This caused ALAC to fail since the last merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 03:41:17 +02:00
Justin Ruggles
1749e12f45 cafdec: allow larger ALAC magic cookie
It already skips any extra bytes at the end, and apparently there are some
samples in the wild with larger 'kuki' chunks.
2012-07-19 20:14:29 -04:00
Justin Ruggles
4cd22b7738 alac: fix channel pointer assignment for 24 and 32-bit
Needs to be done separately for each element.
2012-07-19 20:14:29 -04:00
Stefano Sabatini
7e17389c1e lavd/sdl: use verb in options help message
An help message tells what an option does, not what its argument is.
2012-07-19 23:56:59 +02:00
Nicolas George
885fc05865 lavf: count skipped samples for initial timestamps.
If skip_samples is set and timestamps are synthesized using durations,
make them start at -skip_samples (rescaled) instead of 0,
so that the timestamp of the first undiscarded sample is 0.
2012-07-19 23:41:03 +02:00
Nicolas George
cd08900393 lavc: update pkt_duration for skipped samples.
Also: factor the the computation of the timestamp difference.
2012-07-19 23:41:03 +02:00
Nicolas George
d853ed46b1 Revert "ffmpeg: set pkt_timebase"
This reverts commit 744bd8d08c.

pkt_timebase is now set by av_codec_set_pkt_timebase.
If some demuxer set AVStream.time_base directly,
it need to be fixed. There is a warning to detect it.
2012-07-19 23:41:03 +02:00
Nicolas George
0e57d79b0c lavf: set pkt_timebase at the same time as stream->time_base. 2012-07-19 23:41:03 +02:00
Nicolas George
0e18ac5611 lavc: warn when impossible to adjust timestamps for skipped samples.
It is likely to happen if pkt_timebase was not set.
2012-07-19 23:41:03 +02:00
Nicolas George
11ce1cf9a7 lavc: add debug info about skipped samples. 2012-07-19 23:41:03 +02:00
Michael Niedermayer
e4c00aca96 Merge remote-tracking branch 'qatar/master'
* qatar/master: (38 commits)
  alac: cosmetics: general pretty-printing and comment clean up
  alac: calculate buffer size outside the loop in allocate_buffers()
  alac: change some data types to plain int
  alac: cosmetics: rename some variables and function names
  alac: multi-channel decoding support
  alac: split element parsing into a separate function
  alac: support a read sample size of up to 32
  alac: output in planar sample format
  alac: add 32-bit decoding support
  alac: simplify channel interleaving
  alac: use AVPacket fields directly in alac_decode_frame()
  alac: fix check for valid max_samples_per_frame
  alac: use get_sbits() to read LPC coefficients instead of casting
  alac: move the current samples per frame to the ALACContext
  alac: avoid using a double-negative when checking if the frame is compressed
  alac: factor out output_size check in predictor_decompress_fir_adapt()
  alac: factor out loading of next decoded sample in LPC prediction
  alac: use index into buffer_out instead of incrementing the pointer
  alac: simplify lpc coefficient adaptation
  alac: reduce the number of local variables needed in lpc prediction
  ...

Conflicts:
	libavcodec/alac.c
	libavformat/cafdec.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 23:31:04 +02:00
Stefano Sabatini
a8d8e868c6 lavf/udp: warn in case the circular_buffer_size or overrun_nonfatal options are not supported
They are only supported if pthread is available.
2012-07-19 22:48:09 +02:00
Stefano Sabatini
e1422940f2 doc/protocols: add a note regarding the circular RX UDP buffer 2012-07-19 22:31:41 +02:00
Stefano Sabatini
6b80f75848 doc/protocols: apply misc fixes to the UDP protocol section 2012-07-19 22:31:41 +02:00
Stefano Sabatini
dd13da67b2 doc/protocols: extend/clarify documentation for the buffer_size UDP option 2012-07-19 22:31:41 +02:00
Stefano Sabatini
469b9ce83f doc/protocols: document "fifo_size" and "overrun_nonfatal" UDP options
Address trac ticket #1511.
2012-07-19 22:31:41 +02:00
Michael Niedermayer
85044358f6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Print full compiler identification, not only version number
  flacdec: reverse lpc coeff order, simplify filter
  x86: dsputil: drop some unused CPU flag debug code

Conflicts:
	cmdutils.c
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 22:01:31 +02:00
Justin Ruggles
eeb55f5f2f alac: cosmetics: general pretty-printing and comment clean up 2012-07-19 13:26:48 -04:00
Justin Ruggles
f3e5a7844b alac: calculate buffer size outside the loop in allocate_buffers() 2012-07-19 13:26:48 -04:00
Justin Ruggles
bae83f2c74 alac: change some data types to plain int 2012-07-19 13:26:48 -04:00
Justin Ruggles
2aebac6918 alac: cosmetics: rename some variables and function names 2012-07-19 13:26:48 -04:00
Andrew D'Addesio
1b3ef155d7 alac: multi-channel decoding support
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-07-19 13:26:48 -04:00
Justin Ruggles
81c9e2e6d0 alac: split element parsing into a separate function
This will make multi-channel implementation simpler.
Based partially on a patch by Andrew D'Addesio <modchipv12@gmail.com>.
2012-07-19 13:26:48 -04:00
Justin Ruggles
cd632619d9 alac: support a read sample size of up to 32
Use get_bits_long() in decode_scalar().
Use unsigned int for decoded value.
2012-07-19 13:26:48 -04:00
Justin Ruggles
73dc0db486 alac: output in planar sample format
Avoids unneeded interleaving and allows for reusing the AVFrame output buffer
as the internal buffer for 24-bit and 32-bit sample size.
2012-07-19 13:26:48 -04:00
Justin Ruggles
6482bd8831 alac: add 32-bit decoding support 2012-07-19 13:26:48 -04:00
Andrew D'Addesio
6cda74c155 alac: simplify channel interleaving
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-07-19 13:26:48 -04:00
Justin Ruggles
5138ff143f alac: use AVPacket fields directly in alac_decode_frame() 2012-07-19 13:26:47 -04:00
Justin Ruggles
7a206eb32f alac: fix check for valid max_samples_per_frame 2012-07-19 13:26:47 -04:00
Justin Ruggles
1193d3fedd alac: use get_sbits() to read LPC coefficients instead of casting 2012-07-19 13:26:47 -04:00
Justin Ruggles
7a50ec6799 alac: move the current samples per frame to the ALACContext
This will simplify the multi-channel implementation.
2012-07-19 13:26:47 -04:00
Justin Ruggles
46043962ea alac: avoid using a double-negative when checking if the frame is compressed 2012-07-19 13:26:47 -04:00
Justin Ruggles
9a6c528e08 alac: factor out output_size check in predictor_decompress_fir_adapt() 2012-07-19 13:26:47 -04:00
Justin Ruggles
ebd4c3add1 alac: factor out loading of next decoded sample in LPC prediction 2012-07-19 13:26:47 -04:00
Justin Ruggles
a4ecd41442 alac: use index into buffer_out instead of incrementing the pointer 2012-07-19 13:26:47 -04:00
Justin Ruggles
f2515cd629 alac: simplify lpc coefficient adaptation 2012-07-19 13:26:47 -04:00
Justin Ruggles
abc4376b31 alac: reduce the number of local variables needed in lpc prediction 2012-07-19 13:26:47 -04:00
Justin Ruggles
01880d287b alac: simplify 1st order prediction and reading of warm-up samples 2012-07-19 13:26:46 -04:00
Justin Ruggles
d0c0bf0d3e alac: cosmetics: reindent after last commit 2012-07-19 13:26:46 -04:00
Justin Ruggles
79def4c523 alac: remove unneeded conditionals in predictor_decompress_fir_adapt() 2012-07-19 13:26:46 -04:00
Justin Ruggles
4bcd637dcb alac: use sizeof() instead of hardcoded data sizes 2012-07-19 13:26:46 -04:00
Justin Ruggles
91620a04f1 alac: make block_size signed
It does not need to be unsigned.
2012-07-19 13:26:46 -04:00
Justin Ruggles
2fc24b3273 alac: remove a duplicate local variable 2012-07-19 13:26:46 -04:00
Justin Ruggles
5177413d20 alac: conditionally set sign_modifier to 1
It is already unconditionally set to 0 prior to this, so we can modify it
only when needed.
2012-07-19 13:26:46 -04:00
Justin Ruggles
7e6593e977 alac: eliminate 2 unneeded local variables in bastardized_rice_decompress()
x_modified is just unnecessary, and final_val can be removed by simplifying
the unsigned-to-signed conversion.
2012-07-19 13:26:46 -04:00
Justin Ruggles
6fd8a28b59 alac: adjust conditions for updating entropy decoder history
avoids some unnecessary arithmetic in certain situations
2012-07-19 13:26:46 -04:00
Justin Ruggles
a06fdadd97 alac: cosmetics: reindent after last commit 2012-07-19 13:26:46 -04:00
Justin Ruggles
d9837434a9 alac: limit the rice param before passing to decode_scalar()
reduces the number of parameters to decode_scalar() and slightly simplifies
the code
2012-07-19 13:26:45 -04:00
Justin Ruggles
6e91f62256 alac: reduce the number of parameters to bastardized_rice_decompress()
Use the ALACContext fields directly instead.
2012-07-19 13:26:45 -04:00
Justin Ruggles
836e8b9ba0 alac: cosmetics: rename some ALACContext parameters 2012-07-19 13:26:45 -04:00
Justin Ruggles
2ac1737583 alac: clean up and update comments leftover from reverse-engineering 2012-07-19 13:26:45 -04:00
Justin Ruggles
3bab7cd128 avformat: move 'chan' tag parsing to mov_chan.c to share with the CAF demuxer 2012-07-19 13:26:45 -04:00
Justin Ruggles
c0196a14b9 caf: use int64_t for num_packets
It is used to store a value read by avio_rb64().
2012-07-19 13:26:45 -04:00
Justin Ruggles
f5a9c35f88 caf: fix 'pakt' chunk parsing
according to the CAF specification:
"... the value for mChunkSize can be greater than the actual valid content
of the packet table chunk"
2012-07-19 13:26:45 -04:00
Justin Ruggles
b0b77b9ca5 caf: support either old or new style ALAC magic kuki chunk 2012-07-19 13:26:45 -04:00
Clément Bœsch
55ed91c856 threads: fix a potential race spotted by helgrind. 2012-07-19 19:08:36 +02:00
Clément Bœsch
652887d6fd fate/subtitles: sort tests alphabetically. 2012-07-19 19:07:10 +02:00
Michael Niedermayer
daa290580d mxfdec: simplify code by using av_calloc()
Reviewed a long time ago by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 18:44:46 +02:00
Michael Niedermayer
83d6ad3616 avidec: Mark first frame as keyframe in case there are no keyframes.
This fixes seeking in filecopy.avi of Ticket504

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 18:44:46 +02:00
Michael Niedermayer
e03cd1049e Fix misspellings of FFmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 18:44:46 +02:00
Paul B Mahol
5c858a0ac4 swscale/input: silence warnings about incompatible pointer types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-19 15:49:21 +00:00
Nicolas George
0fe8acf2d6 ffmpeg: add -(no)stdin option.
Allows to disable interaction from standard input.
Useful, for example, if ffmpeg is in the background process group.
Roughly the same result can be achieved with "ffmpeg ... < /dev/null"
but it requires a shell.
2012-07-19 16:33:02 +02:00
Nicolas George
52ab418588 ffmpeg: invert using_stdin and rename accordingly.
There are other reasons not to use stdin than having it as an input.
2012-07-19 16:32:45 +02:00
Mans Rullgard
45870f8b6e Print full compiler identification, not only version number
This provides a more precise identification of the compiler used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-19 10:21:46 +01:00
Mans Rullgard
bf1cf4d5a5 flacdec: reverse lpc coeff order, simplify filter
Reversing the lpc coefficient order simplifies indexing in
the filter.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-19 10:21:32 +01:00
Diego Biurrun
9f97af2688 x86: dsputil: drop some unused CPU flag debug code 2012-07-19 10:17:56 +02:00
Paul B Mahol
6b7849e6da swscale: unscaled rgba64->rgb48
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-19 00:17:16 +00:00
Paul B Mahol
b4befca23e swscale: unscaled rgba64->bgr48
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-19 00:16:17 +00:00
Paul B Mahol
9d8eac6899 swscale: simplify unscaled rgb48<->bgr48
Using av_bswap16 should be enough.
2012-07-18 23:47:40 +00:00
Michael Niedermayer
204c4e953d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: fix build with altivec disabled
  vp3: move idct and loop filter pointers to new vp3dsp context
  build: add CONFIG_VP3DSP, reduce repetition in OBJS lists
  tscc2: do not add/subtract 128 bias during DCT
  tscc2: fix typo in DCT
  configure: clarify external library section of help output
  configure: mark libfdk-aac as nonfree
  configure: cosmetics: drop some unnecessary backslashes
  os_support: K&R formatting cosmetics

Conflicts:
	configure
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 22:34:48 +02:00
Michael Niedermayer
c66978e29a sws: more complete doxy for sws_setColorspaceDetails()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 21:25:29 +02:00
Stefano Sabatini
5784a46986 lavf/utils: show the number of stream in case of missing parameter
Increase feedback provided in avformat_find_stream_info().
2012-07-18 18:08:57 +02:00
Stefano Sabatini
739ec710c4 lavf/utils: suggest what to do in case of missing codec information
In particular, fix trac issue #218.
2012-07-18 18:08:57 +02:00
Stefano Sabatini
a293549b32 lavf/utils: extend has_codec_parameters() to make it show what info is missing
Improve feedback.
2012-07-18 18:08:56 +02:00
Michael Niedermayer
31a192f387 imgconvert: favor pixel formats without resolution loss
Fixes Ticket1517

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 17:22:17 +02:00
Michael Niedermayer
ef1c0b5295 avfiltergraph: add some debug info about selected pixel formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 17:22:17 +02:00
Stefano Sabatini
6a314d59d5 configure: simplify dependencies for x11_grab_device
XShmCreateImage dependency is implied by x11grab.
2012-07-18 17:13:34 +02:00
Stefano Sabatini
0cc9077a87 configure: fix help message for --disable-avfilter
Increase consistency with the other similar messages.
2012-07-18 17:13:29 +02:00
Stefano Sabatini
712d82130e lavfi/avfiltergraph: apply misc fixes to fix avfilter_graph_request_oldest() @return doxy 2012-07-18 17:13:00 +02:00
Michael Niedermayer
dece4f4693 ffmpeg: revert 3ba90d9 (cosmetics to reduce difference to qatar by about 90 lines)
This commit caused Ticket1490 (Infinity loop / lock in export image)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 16:35:38 +02:00
Michael Niedermayer
60f3291086 mlpdec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 16:22:41 +02:00
Michael Niedermayer
ba0e69994d sws/input: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 16:22:41 +02:00
Mans Rullgard
ffdd93a25e ppc: fix build with altivec disabled
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-18 13:34:42 +01:00
Mans Rullgard
28f9ab7029 vp3: move idct and loop filter pointers to new vp3dsp context
This moves all VP3-specific function pointers from dsputil to a
new vp3dsp context.  There is no reason to ever use the VP3 IDCT
where an MPEG2 IDCT is expected or vice versa.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-18 10:32:19 +01:00
Mans Rullgard
ab9f987661 build: add CONFIG_VP3DSP, reduce repetition in OBJS lists
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-18 10:32:18 +01:00
Kostya Shishkov
4cfb0d871d tscc2: do not add/subtract 128 bias during DCT
It turns out that the reference decoder subtracts 128 from DC during block
decode but adds it back during reordering block with zigzag pattern.
Transforming block with incorrect DC caused heavy visual artifacts for
many quantisers.
2012-07-18 07:05:59 +02:00
Kostya Shishkov
3c6c19184c tscc2: fix typo in DCT 2012-07-18 07:05:53 +02:00
Diego Biurrun
c547e5ff98 configure: clarify external library section of help output 2012-07-18 02:11:04 +02:00
Diego Biurrun
87246953d8 configure: mark libfdk-aac as nonfree 2012-07-18 02:00:22 +02:00
Diego Biurrun
47876d661a configure: cosmetics: drop some unnecessary backslashes 2012-07-18 02:00:21 +02:00
Michael Niedermayer
56ae5926f7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: introduce encoding support
  libopenjpeg: rename decoder source file.
  RTMPTS protocol support
  RTMPS protocol support
  avconv: print an error message when demuxing fails.
  tscc2: DCT output should not be clipped
  rtmp: Rename rtmphttp to ffrtmphttp

Conflicts:
	Changelog
	configure
	doc/general.texi
	libavcodec/libopenjpegenc.c
	libavcodec/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 01:27:19 +02:00
Nicolas George
d483867525 avfiltergraph: document a catch in request_oldest().
This one is tricky. Consider a graph with two sink links, A and B.
request_oldest() requests on A, and A returns EOF. This EOF causes
a filter to flush pending frames to B; they are unrequested.
Then request_oldest() moves on to B, and B returns EOF.
2012-07-17 23:47:33 +02:00
Nicolas George
f98d814bb6 avfiltergraph: add a debug message on EOF. 2012-07-17 23:46:26 +02:00
Nicolas George
d06bfda07e lavfi: rescale link->current_pts.
The doxy says, and the heap implementations assumes,
it is in AV_TIME_BASE units.
2012-07-17 23:46:26 +02:00
Diego Biurrun
7a249625fd os_support: K&R formatting cosmetics 2012-07-17 20:10:50 +02:00
Paul B Mahol
0b74b8f649 ptx: correct decoding
The image data is in BGR and not in RGB.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-17 17:06:24 +00:00
Michael Niedermayer
ad8dabfe9c mov/aac: skip initial aac padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 17:09:19 +02:00
Piotr Bandurski
b688c7b7f9 riff: add "SM4V" FourCC
Reviewed-by: compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 16:56:51 +02:00
William Yu
6d4e0d1b7e avf:rmdec.c fill duration to AVFormatContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 16:47:20 +02:00
Michael Bradshaw
453c02f971 libopenjpeg: introduce encoding support
Based on FFmpeg version from
commit 713a7854e0

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-17 14:56:58 +02:00
Michael Bradshaw
b43a7bb4f9 libopenjpeg: rename decoder source file.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-17 14:56:22 +02:00
Michael Niedermayer
21d8255423 sws: handle non native rgb<->rgb convertions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 14:40:59 +02:00
Michael Niedermayer
22a279539e yuv2rgb: implement 15/16bit ordered dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 14:25:49 +02:00
Samuel Pitoiset
86991ce2dd RTMPTS protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 14:02:55 +03:00
Samuel Pitoiset
6aedabc9b6 RTMPS protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 13:53:33 +03:00
Nicolas George
1d903a5ee4 lswr: channel_map requires input conversion.
channel_map is applied between in and postin.
Without this test, if the input format is an acceptable internal format,
the in->postin conversion is skipped. In the best case,
it ignores channel_map, in the worst case it causes an assert failure
if the number of channels is changed by the map.
2012-07-17 09:50:36 +02:00
Anton Khirnov
5417efbbf3 avconv: print an error message when demuxing fails.
Also exit in such a case if -xerror is used.

Fixes bug 329.
2012-07-17 09:50:26 +02:00
chinshou
81dd908c6e Fix libilbc compilation.
Fixes ticket #1540
2012-07-17 08:53:36 +02:00
Carl Eugen Hoyos
7f5fae1e48 mpeg4videodec: Add two missing format specifiers for debug output. 2012-07-17 08:12:49 +02:00
Carl Eugen Hoyos
34aa61a36d mpeg4videodec: Use format specifier PRId64 for int64_t. 2012-07-17 08:11:31 +02:00
Carl Eugen Hoyos
6dfea3a361 Remove internal MPlayer FourCC viv1.
Reviewed-by: Derek Buitenhuis
Reviewed-by: Paul B Mahol
2012-07-17 08:09:32 +02:00
Kostya Shishkov
0b40153d20 tscc2: DCT output should not be clipped
This fixes decoding some TSCC2 files with large quantisers.
2012-07-17 07:21:24 +02:00
Michael Niedermayer
bdf28d14f2 sws: extend dither tables by 1 line so simpler arithmetic can be used to address the next line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 05:40:36 +02:00
Paul B Mahol
3071af6cf2 tiff: read more tags of type string
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-17 01:23:35 +00:00
Paul B Mahol
292850b634 tiff: add smarter checks if there is enough data left
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-17 01:23:34 +00:00
Paul B Mahol
1ec83d9a9e tiff: port to bytestream2
Prevents out of array reads.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-17 01:12:55 +00:00
Samuel Pitoiset
775c4d3625 rtmp: Rename rtmphttp to ffrtmphttp
The prefix makes it easier to distinguish the proper end-user
protocols from the internal ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 01:19:01 +03:00
Paul B Mahol
6dac8c8327 lavu: disable av_uninit for clang
This silence bunch of useless warnings like:

libavformat/mpeg.c:393:37: warning: variable 'dvdaudio_substream_type' is uninitialized when used within its own initialization [-Wuninitialized]

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-16 19:30:13 +00:00
Michael Niedermayer
9db747b2a3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: rtmp_parse_result() add case for video and audio packets to avoid undesired debug output.
  configure: Move the getaddrinfo function check into the network block
  configure: Remove an unused 'have' item
  mpeg: remove disabled code
  libfdk-aac: Check if cutoff value is valid
  network: Always use our version of gai_strerror on windows
  network: Undefine existing gai_strerror definitions
  network: Extend the fallback gai_strerror implementation to handle more error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 20:45:41 +02:00
Michael Niedermayer
5dba4cbc2f ffmpeg: fix streamcopy of some mp3 in avi
Fixes Ticket1432

Thanks-to: Mike Scheutzow <mike.scheutzow@alcatel-lucent.com> for some of the bug analysis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 16:56:03 +02:00
Michael Niedermayer
b45a313e97 ffv1dec: fix error concealment for gop>1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 16:48:09 +02:00
Nick Brereton
e03077c432 Fix DCA-XXCH extension scaling for embedded downmixes.
Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 16:06:01 +02:00
Nick Brereton
73154feec1 Fix ordering of XXCH downmix coefficients.
Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 16:05:25 +02:00
Michael Niedermayer
ac9389a663 ffv1dec: detect errors in bytestream end mismatches for EC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 15:48:04 +02:00
Michael Niedermayer
b0d674ec10 ffv1dec: set the first slices bytestream end correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 15:48:04 +02:00
Michael Niedermayer
f5af3568f6 ffv1dec: keep track of errors in slice headers for EC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 15:48:04 +02:00
Michael Niedermayer
094845aad8 ffv1dec: add simple error concealment in case of CRC errors on slices.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 15:48:04 +02:00
Michael Niedermayer
371d37fcf5 ffv1: keep last_frame (to be used for error concealment)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 15:38:27 +02:00
Michael Niedermayer
8486c8cc9a configure: print if the docs building tools have been found
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 14:45:41 +02:00
Tim Nicholson
45641014d3 doc/filters: Fix two typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 14:01:01 +02:00
Jordi Ortiz
08e087ccf7 rtmp: rtmp_parse_result() add case for video and audio packets to avoid undesired debug output.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-16 13:45:15 +02:00
Martin Storsjö
f06dee7794 configure: Move the getaddrinfo function check into the network block
This makes the two checks (general vs winsock) fit in better.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-16 11:14:19 +03:00
Paul B Mahol
7543fd80e5 exr: check size of uncompressed buffer returned by uncompress()
The actual size of uncompressed buffer returned by uncompress() may be
smaller than expected, so abort decoding in such cases.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-16 00:39:37 +00:00
Michael Niedermayer
8b855b69a1 Changelog: add geotiff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 02:07:25 +02:00
Michael Niedermayer
fbe02459dc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for CommandLineToArgvW
  vc1dec: Do not use random pred_flag if motion vector data is skipped
  vp8: Enclose pthread function calls in ifdefs
  snow: refactor code to work around a compiler bug in MSVC.
  vp8: Include the thread headers before using the pthread types
  configure: Check for getaddrinfo in ws2tcpip.h, too
  vp8: implement sliced threading
  vp8: move data from VP8Context->VP8Macroblock
  vp8: refactor decoding a single mb_row
  doc: update api changes with the right commit hashes
  mem: introduce av_malloc_array and av_mallocz_array

Conflicts:
	configure
	doc/APIchanges
	libavcodec/vp8.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 01:32:52 +02:00
Martin Storsjö
03d1b18e96 configure: Remove an unused 'have' item
This is only used for checking for a certain library, but the code
doesn't need to know whether the function was found.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-16 01:58:35 +03:00
Diego Biurrun
20d569dd61 mpeg: remove disabled code 2012-07-16 00:15:21 +02:00
Mohammad Alsaleh
c37c383e59 libfdk-aac: Check if cutoff value is valid
Passing a cutoff value < sample_rate/256 will cause a crash.
Also, values >20000 will have no effect and 20000 will be used anyway.

Signed-off-by: Mohammad Alsaleh <msal@tormail.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:59:51 +03:00
Martin Storsjö
9e4b04f8b9 network: Always use our version of gai_strerror on windows
Even if linking directly to getaddrinfo, use our version of
gai_strerror instead of the system's version. Microsoft explicitly
documents that their version of gai_strerror is thread-unsafe.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:41:38 +03:00
Martin Storsjö
c98e2053f5 network: Undefine existing gai_strerror definitions
This avoids warnings if there already exists a definition.

This is the case on windows, where the getaddrinfo isn't available
and linked to (and we use our fallbacks instead, which actually
try to use the proper getaddrinfo version if found at runtime),
but gai_strerror still exists as a define.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:41:28 +03:00
Martin Storsjö
2ca6e9bb47 network: Extend the fallback gai_strerror implementation to handle more error codes
This is useful if a proper getaddrinfo is loaded dynamically on
windows, while using the fallback implementation of gai_strerror.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:21:59 +03:00
Stefano Sabatini
9a1963fbb8 ffprobe: reindent after the previous commit 2012-07-15 16:27:22 +02:00
Stefano Sabatini
5626e812d2 ffprobe: only decode frame if the codec is available
Fix crash when a stream codec is unknown, in particular fix trac
ticket #1243.
2012-07-15 15:57:11 +02:00
Stefano Sabatini
fda968aa8f lavfi: decrease logging level of message showing initial parameters
Reduce log clutter, consistent with 1a49a169eb.
2012-07-15 15:07:03 +02:00
Carl Eugen Hoyos
a1e52c9441 Simplify ptx decoding on big-endian.
Reviewed-by: Reimar Döffinger
2012-07-15 15:04:44 +02:00
Piotr Bandurski
a8ff7e3f96 riff: Assign U263 FourCC to CODEC_ID_H263 2012-07-15 14:55:05 +02:00
Piotr Bandurski
96e2507363 isom: add "NO16" FourCC
samples:

http://www.datafilehost.com/download-46d9a0fa.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 14:49:32 +02:00
Piotr Bandurski
198c4ea200 riff: add dvis/pdvc FourCCs
samples:

http://www.datafilehost.com/download-4b49270d.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 14:49:32 +02:00
Michael Niedermayer
209f92d94a lavc: add seperate AVCodec for CODEC_ID_H263P so demuxers can use that id.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 14:49:32 +02:00
Piotr Bandurski
8d0ec6e060 isom: add "MNG" FourCC
sample:

http://www.datafilehost.com/download-92da395c.html

Reviewed-by:  compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 14:49:32 +02:00
Ronald S. Bultje
b4675d0fbf configure: Check for CommandLineToArgvW
The actual result of the check isn't used anywhere (since we
use this function unconditionally within #ifdef _WIN32), but it
makes sure we explicitly link to shell32 (which is linked in
implictly on mingw).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 14:03:53 +03:00
Mashiat Sarker Shakkhar
082829520e vc1dec: Do not use random pred_flag if motion vector data is skipped
This fixes SA10143.vc1 from test-suite. Also partially fixes MC-VC1.ts
from videolan streams archive.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 14:02:38 +03:00
Martin Storsjö
25f056e6d4 vp8: Enclose pthread function calls in ifdefs
This fixes building with threads disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 13:55:18 +03:00
Paul B Mahol
2c31ed3330 exr: make channel_offsets int instead of int8_t
Prior to this change max number of channels for float data which was
going to be correctly decoded was 32, which is rather small
considering that exr allows multiple channel layers.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-15 02:53:51 +00:00
Paul B Mahol
1463bd902a cosmetics: reindent after d3abbb1d1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-15 02:31:40 +00:00
Paul B Mahol
a8f6df8a4f libfdk-aacenc: remove redundant log message if ff_alloc_packet2 fails
The whole point of ff_alloc_packet2 is to not bloat code with
duplicated error messages.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-15 02:19:48 +00:00
Ronald S. Bultje
c44091a9f7 snow: refactor code to work around a compiler bug in MSVC.
This fixes the compiler error "cannot convert from 'BlockNode' to
'int16_t'".
2012-07-14 19:19:34 -07:00
Martin Storsjö
a794600c00 vp8: Include the thread headers before using the pthread types
This was unnoticed on linux, since stdlib.h apparently includes
files declaring the pthread_mutex_t and pthread_cond_t types.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-14 19:19:33 -07:00
Paul B Mahol
6ad4560031 mss1: improve check if decoded pivot is invalid
The pivot has to lie between 0 and base.
Check of ==base is insufficient.
Thus replace it by a proper check.

Fixes out of array write.

Fixes bug #1531.

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-15 02:12:02 +00:00
Michael Niedermayer
ab46300078 Merge remote-tracking branch 'dwbuiten/master'
* dwbuiten/master:
  doc: Remove stray @item from git-howto
  libfdk-aac: Port to ff_alloc_packet2
  doxy: move av_guess_sample_aspect_ratio to correct place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 03:40:19 +02:00
Michael Niedermayer
39afcf1d7e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  eval: add gt(), gte(), lt() and lte() fate tests
  eval: fix swapping of lt() and lte()
  imgconvert: deprecate avcodec_find_best_pix_fmt()
  imgconvert: add avcodec_find_best_pix_fmt2()
  imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt

Conflicts:
	libavcodec/imgconvert.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 01:23:16 +02:00
Ronald S. Bultje
39d18f21a5 configure: Check for getaddrinfo in ws2tcpip.h, too
This function is only available in the headers if unconditionally
targeting a version >= XP. It is not strictly necessary, since we
try loading these functions dynamically at runtime on windows in
the fallback, but this makes things a bit faster and more
straightforward.

On mingw32, this function isn't visible by default, while it is
on mingw64 (on both 32 and 64 bit).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 02:19:34 +03:00
Philip Langdale
2c501ae82b movtextdec: 3GPP TS 26.245 Timed Text Decoder.
This change introduces a basic decoder for 3GPP Timed Text subtitles,
also known as TX3G, Quicktime subtitles, or "movtext" in the existing
code.

This initial change doesn't attempt to parse styling information,
and just reads the plain text of the subtitles. I intend to add
support for styles eventually, but it's challenging due to a lack
of existing players that support them.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-07-14 14:50:02 -07:00
Daniel Kang
951455c1c1 vp8: implement sliced threading
Testing gives 25-30% gain on HD clips with two threads and
up to 50% gain with eight threads.

Sliced threading uses more memory than single or frame threading.

Frame threading and single threading keep the previous memory
layout.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14 20:18:54 +02:00
Daniel Kang
17343e3952 vp8: move data from VP8Context->VP8Macroblock
In preparation for sliced threading.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14 20:18:54 +02:00
Daniel Kang
337ade52de vp8: refactor decoding a single mb_row
This is in preperation for sliced threading.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14 20:18:54 +02:00
Luca Barbato
45ff9e5b57 doc: update api changes with the right commit hashes 2012-07-14 20:07:25 +02:00
Luca Barbato
f3e5e6f05b mem: introduce av_malloc_array and av_mallocz_array
Both function ease allocating large arrays implementing the overflow
check inside it.
2012-07-14 20:07:25 +02:00
Michael Niedermayer
57d5a224ce mp3enc: add lame tag with start padding info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 17:20:22 +02:00
Nicolas George
7b521c52c4 ffmpeg: add -progress option.
It allows to send program-friendly (easy to parse)
progress information to a file or an URL.
2012-07-14 14:51:18 +02:00
Janne Grunau
2d497c141d eval: add gt(), gte(), lt() and lte() fate tests 2012-07-14 13:43:10 +02:00
Nicolas George
3aba391fb5 libx264: list possible presets and tunes.
The values are listed if setting them fails.
Using "-preset help" or "-preset list" have that effect.
2012-07-14 13:37:50 +02:00
Max Lazarov
caac3ab6ef eval: fix swapping of lt() and lte()
CC: libav-stable@libav.org
2012-07-14 13:33:25 +02:00
Stefano Sabatini
160df9797e lavc/tiffenc: apply misc doxy fixes 2012-07-14 13:02:51 +02:00
Stefano Sabatini
6c3b3cfd90 ffprobe: add frame metadata printing 2012-07-14 13:02:51 +02:00
Thomas Kühnel
75abfab6c6 lavc/tiff: add GeoTIFF support to the TIFF decoder
Work done for SOCIS 2011.

See thread:
Subject: [libav-devel] [PATCH 2/3] tiff: Add GeoTIFF support to the TIFF decoder
Date: Tue,  4 Oct 2011 00:19:52 +0200

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-14 13:02:38 +02:00
Stefano Sabatini
fb57180698 lavc/avcodec.h: keep avframe_* field setter and getter close
Slightly more readable, now that the list is getting longer.
2012-07-14 13:02:25 +02:00
Thomas Kühnel
f49ec1b404 lavc: add metadata to AVFrame
See thread:
Subject: [libav-devel] [PATCH 1/3] avcodec: add metadata to AVFrame
Date: Tue,  4 Oct 2011 00:19:51 +0200
2012-07-14 13:00:18 +02:00
jamal
2090e40410 configure: Check that texi2html supports --init-file
Fixes ticket #1515
2012-07-14 11:47:15 +02:00
jamal
d48f014ff1 doc/Makefile: Add missing $(HOSTEXESUF) to print_options 2012-07-14 11:47:09 +02:00
jamal
3e03f8d8b2 build: Fix documentation dependencies and rules 2012-07-14 11:47:01 +02:00
Stefano Sabatini
bd58f00ec1 doc/filters: prefer "special" over "magic" for special input/output labels 2012-07-14 11:40:08 +02:00
Stefano Sabatini
b65ccce866 doc/filters: update documentation
In particular, assume existence of audio and sink filters.
2012-07-14 11:39:31 +02:00
Stefano Sabatini
5a6c7a218c doc: merge libavfilter.texi into filters.texi
There is no much point into splitting documentation for filters. Also
having a separate document for a library is inconsistent.
2012-07-14 11:38:53 +02:00
Michael Niedermayer
825e1e2437 ffmpeg: use pkt_pts before pkt->pts for audio
This fixes the timestamp of the first packet when samples have been skiped.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 04:24:40 +02:00
Michael Niedermayer
744bd8d08c ffmpeg: set pkt_timebase
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 04:24:00 +02:00
Michael Niedermayer
aa32971d2b lavc: adjust timestamp in case of skiping initial samples
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 03:49:41 +02:00
Michael Niedermayer
2fe186409b lavc: skip initial silence when requested
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 03:49:11 +02:00
jamal
0f03563d7e lavc/w32pthreads: Fix make checkheaders.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 03:02:03 +02:00
Stefan Gehrer
e98330df90 movenc: write track header transformation matrix depending on "rotate" metadata
should fix ticket #505
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 02:57:11 +02:00
Paul B Mahol
bc0ef29cf0 exr: fix scan_line_size calculation
This one will also work in cases when file have channels
we are not going to use.

Only compressed files where affected by this bug.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-13 23:48:50 +00:00
Paul B Mahol
cd3136e84a exr: print channel names not yet supported
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-13 23:02:11 +00:00
Paul B Mahol
fedefe4a87 exr: remove double ;;
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-13 21:14:01 +00:00
Paul B Mahol
1033807313 exr: frame multithreading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-13 21:08:37 +00:00
Michael Niedermayer
674216991d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Fix APE tag dependencies
  MS Expression Encoder Screen decoder
  libfdk-aac: Allow setting the encoder bandwidth/cutoff frequency

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 22:22:24 +02:00
Michael Niedermayer
af285072b5 ffv1enc: use default number of slices if unspecified
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 22:08:27 +02:00
Michael Niedermayer
051dd2eea6 ffv1dec: print timestamp at which a CRC mismatch happened
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 22:08:27 +02:00
Compn
c3a4c1bd5a add PLV1 fourcc to mpeg4
works on http://samples.ffmpeg.org/V-codecs/PLV1/york-water-meteor.avi
2012-07-13 15:10:53 -04:00
Michael Niedermayer
0eb0b310c4 lavc: add pkt_timebase to allow avcodec to adjust pkt_dts/pts when needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 20:35:08 +02:00
Janne Grunau
f30260d32a imgconvert: deprecate avcodec_find_best_pix_fmt() 2012-07-13 19:22:46 +02:00
Janne Grunau
ac29054fda imgconvert: add avcodec_find_best_pix_fmt2()
The number of pixel formats outgrew the number of available bits in
the bitmask used in avcodec_find_best_pix_fmt().
avcodec_find_best_pix_fmt2() uses a PIX_FMT_NONE terminated list
of pixel formats instead.
2012-07-13 19:22:46 +02:00
burek
cb59e62abb doc/ffmpeg: document more deeply -re option.
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2012-07-13 18:38:49 +02:00
Derek Buitenhuis
86dd5fbf15 doc: Remove stray @item from git-howto
Fixes warning:
    ** @item outside of table or list (l. 362)

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-13 11:51:06 -04:00
Derek Buitenhuis
7ff318e2dd libfdk-aac: Port to ff_alloc_packet2
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-13 11:51:06 -04:00
Derek Buitenhuis
29470bb940 doxy: move av_guess_sample_aspect_ratio to correct place
It should not be a part of the RIFF FourCCs group.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-13 11:51:06 -04:00
Janne Grunau
39bb27bf79 imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt
CC: libav-stable@libav.org
2012-07-13 17:29:27 +02:00
Michael Niedermayer
ff2fda57df doc/protocol.texi: fix missed application reference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 17:17:21 +02:00
Michael Niedermayer
790e25ef61 general.texi: fix project reference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 17:16:13 +02:00
Michael Niedermayer
c5cc94982d matroskaenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 17:03:57 +02:00
Michael Niedermayer
1cef5a0196 ffmpeg: fix type of av_log() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 16:24:32 +02:00
Diego Biurrun
47aed43990 build: Fix APE tag dependencies 2012-07-13 10:17:20 +02:00
Kostya Shishkov
5b7e3a195d MS Expression Encoder Screen decoder 2012-07-13 06:59:48 +02:00
Paul B Mahol
d3abbb1d13 lavc: fix ff_alloc_packet()
Regression introduced in 740b9ff44.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-13 01:09:43 +00:00
Michael Niedermayer
81fe2e8b36 build_system: mark libfdk as non GPL compatible until the situation is clarified by someone qualified.
The license fee text may be interpreted as a additional restriction in the GPL sense.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 00:51:01 +02:00
Michael Niedermayer
620c6292b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Fix Ogg demuxer dependencies
  build: Fix FLAC demuxer dependencies
  flac: Move flac functions shared between libraries to flac common code
  build: Fix CAF demuxer dependencies
  build: Fix MP2 muxer dependencies
  build: Add missing build rules for the ISMV muxer
  configure: Drop redundant mxf_d10 test dependency declaration
  Support AAC encoding via the external library fdk-aac
  libavcodec: Add more AAC profiles
  dct/fft-test: use a replacement getopt() if the system has none present.

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 23:57:00 +02:00
Michael Niedermayer
f9c823df13 lclenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 23:18:48 +02:00
Michael Niedermayer
db03f91f4b mxfenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 23:16:52 +02:00
Martin Storsjö
7548831c5e libfdk-aac: Allow setting the encoder bandwidth/cutoff frequency
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 23:37:29 +03:00
Michael Niedermayer
375c0f74d1 av_samples_copy: support overlapping copies
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 22:25:25 +02:00
Michael Niedermayer
19ff479f69 mp3dec: parse initial silence padding information from lame tag
And pass the information on to the lavf core.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 22:25:25 +02:00
Michael Niedermayer
018601dbf9 lavf: inject sample skip side data when requested by the demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 20:32:03 +02:00
Robert Krüger
c916af995d add output for frame timestamps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 20:18:03 +02:00
Paul B Mahol
f7e26cca89 exr: rle decompression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-12 17:36:55 +00:00
Nicolas George
26d7232722 configure: produce useful uninstalled pc files.
The old files were scattered in several directories,
with an unusual name, but dependencies to the usual name,
and relative paths.

The new files are regrouped in a singled directory
(doc/examples/pc-uninstalled) with their usual name
and more absolute paths.

With this change, it becomes possible to compile the examples
with the ffmpeg build tree by setting the environment variable:
PKG_CONFIG_PATH=pc-uninstalled
2012-07-12 14:58:52 +02:00
Diego Biurrun
0da29727ea build: Fix Ogg demuxer dependencies 2012-07-12 11:11:25 +02:00
Diego Biurrun
b896008271 build: Fix FLAC demuxer dependencies 2012-07-12 11:11:24 +02:00
Diego Biurrun
8eea8fdceb flac: Move flac functions shared between libraries to flac common code
This fixes a number of flac-related build dependencies.
2012-07-12 11:11:23 +02:00
Diego Biurrun
a519463366 build: Fix CAF demuxer dependencies 2012-07-12 10:45:21 +02:00
Diego Biurrun
b7884ff7af build: Fix MP2 muxer dependencies 2012-07-12 10:45:21 +02:00
Diego Biurrun
d648de61e6 build: Add missing build rules for the ISMV muxer 2012-07-12 10:45:20 +02:00
Diego Biurrun
7d605d5115 configure: Drop redundant mxf_d10 test dependency declaration
The mxf_d10 test depends on avconv, which depends on avfilter, so there
is no need to declare an avfilter dependency for the mxf_d10 test.
2012-07-12 10:45:20 +02:00
Martin Storsjö
37eeb5e273 Support AAC encoding via the external library fdk-aac
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 11:01:10 +03:00
Martin Storsjö
372597e538 libavcodec: Add more AAC profiles
The numerical values of the profiles are the MPEG4 Audio Object
Type values, minus one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 10:54:15 +03:00
Paul B Mahol
a568a84edf exr: cache some values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-12 01:07:22 +00:00
Hendrik Leppkes
65219c3851 dca: map xxch side channels to AV_CH_SIDE_LEFT/RIGHT instead of REAR.
This fixes decoding of certain 7.1 DTS-HD HRA files, as well as matches the spec better.
Table 6-22 in the DTS spec labels the two channels "Left/Right surround on side", and not rear.

Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Reviewed-by: Nick Brereton <nick@nbrereton.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 02:33:16 +02:00
Michael Niedermayer
9ca27df52f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for the math function rint
  TechSmith Screen Codec 2 decoder
  rtsp: Add listen mode
  rtsp: Make rtsp_open_transport_ctx() non-static
  rtsp: Move rtsp_read_close
  rtsp: Parse the mode=receive/record parameter in transport lines

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 23:57:11 +02:00
Michael Niedermayer
5f298c6791 vorbisdec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 23:26:55 +02:00
Michael Niedermayer
e3c2d83183 avidec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 23:26:55 +02:00
Paul B Mahol
74f3c53b57 exr: zip decompression
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-11 20:46:56 +00:00
Paul B Mahol
5ee41d00f6 exr: remove dead assigment
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-11 20:43:37 +00:00
Ronald S. Bultje
667fb97a65 dct/fft-test: use a replacement getopt() if the system has none present.
This allows compiling and running these tests on systems lacking a built-
in version of getopt(), such as MSVC.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-11 21:24:37 +02:00
Ronald S. Bultje
183b1c2268 configure: Check for the math function rint
Add a fallback implementation if it doesn't exist.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-11 10:40:11 +03:00
Kostya Shishkov
781888da89 TechSmith Screen Codec 2 decoder 2012-07-11 07:29:05 +02:00
Michael Niedermayer
dd0a9b78db replace all __volatile__ by volatile
__volatile__ can cause problems with some compilers and volatile is a standard keyword.

Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 04:04:29 +02:00
Matthieu Bouron
b8a90976da lavf/mxfenc: fix dnxhd codec uls and aspect ratio
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 04:00:57 +02:00
Paul B Mahol
9b3f9f43a7 tiffenc: use av_fast_padded_malloc(z)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 22:01:38 +00:00
Paul B Mahol
0e003d8c91 lavc: add av_fast_padded_mallocz
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 21:42:23 +00:00
Paul B Mahol
ca16f88c75 tiffenc: add .init
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 21:32:58 +00:00
Nicolas George
5a9d6993cb parseutils: ignore digits below the microsecond.
Accept 1.1234567 as simply 1.123456 instead of rejecting it.
The rounding is towards 0, which is acceptable and much simpler.
2012-07-10 22:29:08 +02:00
Jordi Ortiz
a8ad6ffafe rtsp: Add listen mode
This makes the RTSP demuxer act as a server, listening for an
incoming connection.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 22:00:28 +03:00
Michael Niedermayer
b27c7d70d8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mss1: fix decoding masked regions in interframes
  mxfdec: fix off by one error.
  mxfdec: only parse next partition pack if parsing forward
  mxfdec: let pkt->pts = mxf->current_edit_unit if intra-only
  mxfdec: fix frame height vs field height confusion
  mxfdec: Add intra_only flag to MXFTrack
  mxfdec: fix Avid AirSpeed files being misinterpreted as OP1a
  mxfdec: truncate packets that extend past the next edit unit
  mxfdec: set pixel format for cdci picture formats
  mxfdec: detect uncomp pictures using essence container ul
  mxfdec: set track edit rate num/den in expected order
  x86/cpu: implement get/set_eflags using intrinsics
  x86/cpu: implement support for cpuid through intrinsics
  x86/cpu: implement support for xgetbv through intrinsics
  lavu: use intrinsics for emms on systems lacking inline asm support
  mem: Don't abort on av_malloc(0) in debug mode

Conflicts:
	configure
	libavformat/mxf.h
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 20:51:51 +02:00
Mans Rullgard
e346176de9 x86: cpu: clean up check for cpuid instruction support
This adds macros for accessing the EFLAGS register and uses
these instead of coding the entire check in inline asm.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-10 20:32:16 +02:00
Diego Biurrun
96890c001f configure: Change the rdtsc check to a linker check
A compile-only test could succeed with an implicit function declaration.
Also move the check to the x86 section; rdtsc is x86-only.
2012-07-10 20:26:23 +02:00
Jordi Ortiz
6e71c1202b rtsp: Make rtsp_open_transport_ctx() non-static
This is required for the upcoming RTSP listen mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 21:21:19 +03:00
Jordi Ortiz
6bbb362218 rtsp: Move rtsp_read_close
This avoids having to add forward declarations in the following
RTSP listen mode commit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 21:20:34 +03:00
Jordi Ortiz
45b068580b rtsp: Parse the mode=receive/record parameter in transport lines
We need to support the nonstandard mode=receive, for compatibility
with older libavformat clients.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 21:20:04 +03:00
Michael Niedermayer
84d902fb92 mpeg4videoenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 19:38:24 +02:00
Michael Niedermayer
43c609374a mpeg4videodec: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 19:38:24 +02:00
Nicolas George
0abab00303 dpx: invalid aspect ratio is 0/1, not 0/0. 2012-07-10 14:34:04 +02:00
Carl Eugen Hoyos
acf0283925 Set default ffv1 coder to -1.
Autoselect coder 1 instead of default coder if bits_per_raw_sample > 8.

Fixes ticket #1519.
2012-07-10 14:32:55 +02:00
Carl Eugen Hoyos
4c4e125695 Cosmetics: Return AVERROR_INVALIDDATA from ffv1 encoder initialisation if invalid data was provided. 2012-07-10 14:32:55 +02:00
Carl Eugen Hoyos
08ed3e8bf4 Cosmetics: Move ffv1 encoder initialisation code. 2012-07-10 14:32:54 +02:00
Michael Niedermayer
71c689e83e dsputil: turn assert into if() as its possible to trigger with ffv1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 14:24:10 +02:00
Kostya Shishkov
ed219ed366 mss1: fix decoding masked regions in interframes
Spotted by Alberto Delmás
2012-07-10 13:58:05 +02:00
Michael Niedermayer
f39bbc9d21 mxfdec: fix off by one error.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:05 +02:00
Tomas Härdin
83728d2d36 mxfdec: only parse next partition pack if parsing forward
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
34ca5ae51d mxfdec: let pkt->pts = mxf->current_edit_unit if intra-only
We cannot do this in general since we could be reading
a file with B-frames while lacking an index.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Joseph Artsimovich
634d670538 mxfdec: fix frame height vs field height confusion
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>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
5ed032fb8b 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>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
fb8fa3c67c 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>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
1fadf53e00 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>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Philip de Nier
fda891e108 mxfdec: set pixel format for cdci picture formats
The properties of the CDCI Descriptor are insufficient to specify
the pixel format for uncompressed picture data. SMPTE 377-1 and
RP224v10 have defined a set of picture coding labels to indicate what
formatting was used.

This patch uses 2 labels to detect UYVY422 or YUYV422 pixel formats.

It defaults to UYVY422 for 8-bit 4:2:2 pictures to support files
that were created before the coding labels were introduced ~2008

The codec pix_fmt default was changed from 0 (PIX_FMT_YUV420P) to
-1 (PIX_FMT_NONE)

Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 13:51:04 +02:00
Philip de Nier
dfefede00e mxfdec: detect uncomp pictures using essence container ul
This supports detection of uncompressed picture in files that
didn't include a Picture Coding Label. The lables weren't
available until SMPTE 377-1 and RP224v10

Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Philip de Nier
5255ca24cd mxfdec: set track edit rate num/den in expected order
This matches the order used for the index table edit rate.

Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:03 +02:00
Ronald S. Bultje
358d854df8 x86/cpu: implement get/set_eflags using intrinsics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 14:33:32 +03:00
Ronald S. Bultje
c0ee695bd7 x86/cpu: implement support for cpuid through intrinsics
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 14:33:24 +03:00
Ronald S. Bultje
3f150ffba3 x86/cpu: implement support for xgetbv through intrinsics
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 14:33:17 +03:00
Ronald S. Bultje
f80ddd5bf7 lavu: use intrinsics for emms on systems lacking inline asm support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 14:33:09 +03:00
Carl Eugen Hoyos
7307746444 Recognize yuv10 image files as v210x.
Reviewed-by: Kieran Kunhya
2012-07-10 13:27:16 +02:00
Carl Eugen Hoyos
5bcabc56c0 Define snow .pix_fmts to allow colour space auto-selection. 2012-07-10 13:22:01 +02:00
Martin Storsjö
620b1e7e98 mem: Don't abort on av_malloc(0) in debug mode
This makes the behaviour consistent between debug and release mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 11:37:03 +03:00
Paul B Mahol
b4d0c3d9d2 exr: return proper error code instead of -1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 01:30:40 +00:00
Paul B Mahol
dc0d551b52 exr: use buf_size instead of recalculating same value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 01:28:38 +00:00
Michael Niedermayer
1d890ec849 h264/decode_scaling_matrices: fix coding order of 8x8 matrixes.
This fixes decoding of PPCV444I3_Thomson_A.bits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 02:17:53 +02:00
Michael Niedermayer
e162733dcd h264: 12 and 14 bit support
This works with I, P and B frames
CAVLC and CABAC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 02:17:53 +02:00
Michael Niedermayer
1465ecf059 h264dsp: 12 and 14 bit support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 02:17:52 +02:00
Michael Niedermayer
5d05acba0e h264pred: 12 and 14 bit support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 02:17:52 +02:00
Michael Niedermayer
69d5e40e5a h264idct: 12 and 14 bit support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 02:17:52 +02:00
Michael Niedermayer
6ff6a51b86 h264: limit 10bpp MC pading trick to 10bpp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 02:17:52 +02:00
Michael Niedermayer
e8b9e1e294 dsputil: extend things to 12 and 14 bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 02:17:52 +02:00
Paul B Mahol
1a8b0025f1 fate: add test for paf demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 00:04:24 +00:00
Paul B Mahol
101615c7ff fate: add test for paf video decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 00:04:23 +00:00
Paul B Mahol
409cc45883 fate: add test for paf audio decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-10 00:04:23 +00:00
Steven Robertson
c88d98fe4a lavfi/movie: reindent after the previous patch
Signed-off-by: Steven Robertson <steven@strobe.cc>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-10 01:37:54 +02:00
Steven Robertson
ac726a4f0c lavfi/movie: flush decoder frames on EOF
movie currently forwards EOF (or begins looping) immediately upon
reaching the last packet in the input stream, which can leave frames in
the decoder. This change first tries to read any remaining packets from
the decoder before forwarding EOF.

Signed-off-by: Steven Robertson <steven@strobe.cc>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-10 01:37:18 +02:00
Stefano Sabatini
a5382b50f2 lavfi/buffersink: restore possibility to pass opaque data
Use the init_opaque callback for the purpose.

Fix regression introduced in a5e8c41c28. In particular, fix lavfi
device in case a conversion to the supported (packed) formats is needed.
2012-07-10 01:29:47 +02:00
Stefano Sabatini
21d5609826 lavfi: add init_opaque callback
This will be used by filters which require an opaque field to be passed
in input. Should be required only for filters which imply a programmatic
use.

This is possibly a temporary solution, to be removed when we'll have a
clearer and better agreememnt of how/if to pass binary data for
initializing a filter.

See thread:
Subject: [FFmpeg-devel][PATCH] lavfi: add init2 callback
Date: Fri,  6 Jul 2012 01:22:17 +0200
2012-07-10 01:29:17 +02:00
Stefano Sabatini
aef9e94f73 lavf/segment: add -segment_time_delta option 2012-07-10 00:53:01 +02:00
Stefano Sabatini
2058b52cf8 lavf/segment: add -segment_times option
Address trac ticket #1504.
2012-07-10 00:49:43 +02:00
Michael Niedermayer
f8911b987d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mss3: use standard zigzag table
  mss3: split DSP functions that are used in MTS2(MSS4) into separate file
  motion-test: do not use getopt()
  tcp: add initial timeout limit for incoming connections
  configure: Change the rdtsc check to a linker check
  avconv: propagate fatal errors from lavfi.
  lavfi: add error handling to filter_samples().
  fate-run: make avconv() properly deal with multiple inputs.
  asplit: don't leak the input buffer.
  af_resample: fix request_frame() behavior.
  af_asyncts: fix request_frame() behavior.
  libx264: support aspect ratio switching
  matroskadec: honor error_recognition when encountering unknown elements.
  lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
  lavr: resampling: add filter type and Kaiser window beta to AVOptions
  lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
  lavr: mix: validate internal sample format in ff_audio_mix_init()

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/libx264.c
	libavfilter/audio.c
	libavfilter/split.c
	libavformat/tcp.c
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 22:40:12 +02:00
Kostya Shishkov
5467742232 mss3: use standard zigzag table 2012-07-09 18:17:51 +02:00
Kostya Shishkov
acfb6b6cf8 mss3: split DSP functions that are used in MTS2(MSS4) into separate file 2012-07-09 18:17:51 +02:00
Anton Khirnov
82f82ccfc8 motion-test: do not use getopt()
It is not available on all systems and using argc/argv directly actually
makes the code simpler.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-09 17:20:52 +02:00
Jordi Ortiz
5427df0186 tcp: add initial timeout limit for incoming connections
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-09 17:30:19 +03:00
Michael Niedermayer
bf5386385d mpeg12: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 15:38:28 +02:00
Michael Niedermayer
cdb3f2f5f0 mpeg12enc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 15:38:16 +02:00
Al@dneg.com
c88a832735 movenc: Addtion of \251cmt field to udta
Allows support of comment in udta for libquicktime, also currently \251des is used
 which is ignored by mov.c.
\251cmt IS currently already picked up by mov.c

References

libquicktime
http://libquicktime.cvs.sourceforge.net/viewvc/libquicktime/libquicktime/src/udta.c?view=markup

Also listed here:
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/QuickTime.html#UserData

Not listed here, but that`s not entirely surprising, as udta fields are expected to be somewhat arbitary.
http://developer.apple.com/library/mac/#documentation/QuickTime/qtff/QTFFChap2/qtff2.html#//apple_ref/doc/uid/TP40000939-CH204-BBCCFFGD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 15:30:59 +02:00
Carl Eugen Hoyos
36b2bd9629 Show hyphen in codec tag. 2012-07-09 13:46:55 +02:00
Diego Biurrun
8e85ba8d13 configure: Change the rdtsc check to a linker check
A compile-only test could succeed with an implicit function declaration.
Also move the check to the x86 section; rdtsc is x86-only.
2012-07-09 12:50:06 +02:00
Anton Khirnov
8a645bfc31 avconv: propagate fatal errors from lavfi. 2012-07-09 08:32:49 +02:00
Anton Khirnov
cd99146253 lavfi: add error handling to filter_samples(). 2012-07-09 08:25:19 +02:00
Anton Khirnov
8d18bc550e fate-run: make avconv() properly deal with multiple inputs. 2012-07-09 08:22:38 +02:00
Anton Khirnov
083d0f6be8 asplit: don't leak the input buffer. 2012-07-09 08:22:11 +02:00
Anton Khirnov
1ffb645662 af_resample: fix request_frame() behavior.
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:37 +02:00
Anton Khirnov
6f834293d3 af_asyncts: fix request_frame() behavior.
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:15 +02:00
JULIAN GARDNER
0dd283faca libx264: support aspect ratio switching
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-09 08:15:59 +02:00
Anton Khirnov
5b7a88f0ba matroskadec: honor error_recognition when encountering unknown elements. 2012-07-09 07:43:11 +02:00
Paul B Mahol
07df939aa3 exr: support for reading pixelAspectRatio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-09 02:51:06 +00:00
Paul B Mahol
16a433d68b tiffenc: PIX_FMT_YUV440P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-09 01:55:16 +00:00
Paul B Mahol
e2a6eb8da4 sgidec: add CODEC_CAP_DR1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 23:43:18 +00:00
Paul B Mahol
0f65693529 sgidec: remove redundant argument from read_uncompressed_sgi()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 23:40:55 +00:00
Paul B Mahol
60351ec13c g723_1: add CODEC_CAP_DR1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 23:40:55 +00:00
Paul B Mahol
5d23043c12 exr: add CODEC_CAP_DR1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 23:40:55 +00:00
Paul B Mahol
104ea00108 dpx: add CODEC_CAP_DR1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 23:40:55 +00:00
Michael Niedermayer
7bc155163e sgidec: fix off by 1 error that tested a sample too far for oob.
This led to decoding failure when linesize was too small.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 01:33:44 +02:00
Paul B Mahol
30659a2233 smush: properly flag audio packets
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 20:49:35 +00:00
Paul B Mahol
26fa84105b paf: properly flag video packets
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 20:49:04 +00:00
Michael Niedermayer
ca1f2b3e10 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cmutils: include shellapi.h on Win32 (for CommandLineToArgvW).
  x86/timer: implement an intrinsic-based version for rdtsc (AV_READ_TIME).
  id3v2: add a mimetype for bmp pictures.
  flacdec: be less strict when parsing attached pictures.
  flacdec: don't create an attached picture stream until we have all information.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 22:33:32 +02:00
Michael Niedermayer
d8ce478c43 lavf: limit "Adjusting PTS forward" code to video streams
It can end up slightly messing up a series of valid timestamps
after a invalid one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 22:29:34 +02:00
Justin Ruggles
6410397600 lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
Based partially on implementation by Michael Niedermayer <michaelni@gmx.at> in
libswresample in FFmpeg. See commits:
7f1ae79d38
24ab1abfb6
2012-07-08 15:22:11 -04:00
Justin Ruggles
372647aed0 lavr: resampling: add filter type and Kaiser window beta to AVOptions 2012-07-08 15:22:11 -04:00
Justin Ruggles
8ca08066fc lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
Also make this the default value.
2012-07-08 15:22:11 -04:00
Justin Ruggles
db0e7bd0bd lavr: mix: validate internal sample format in ff_audio_mix_init() 2012-07-08 15:22:11 -04:00
Nicolas George
299387ebf4 vf_settb: rename the file as f_settb. 2012-07-08 19:54:08 +02:00
Nicolas George
65e65e3ce2 settb: cosmetic: reindent vf_settb structure. 2012-07-08 19:54:08 +02:00
Nicolas George
ba856c0be5 lavfi: implement asettb filter. 2012-07-08 19:54:08 +02:00
Michael Niedermayer
99622f6678 mpegaudioenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 17:59:56 +02:00
Michael Niedermayer
a6a085a928 v4l2: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 17:59:56 +02:00
Stefano Sabatini
3f345290dc lavf/segment: sort options 2012-07-08 17:38:24 +02:00
Stefano Sabatini
8dc31f8da8 lavf/segment: make use of av_parse_time() when parsing the -segment_time value
Increase flexibility/consistency.

Also rename recording_time field to time, for enhanced
consistency/readability.
2012-07-08 17:38:04 +02:00
Stefano Sabatini
0a7b8effbb doc/muxers: sort options for the segment muxer 2012-07-08 17:08:56 +02:00
Stefano Sabatini
7f08bfae6e lavf/segment: add segment_list_type option, extend format for the segment list file
Add list extended format which specifies in the list file the start and
ending time for each segment. This is required to make it available this
information to external tools, avoiding the need to perform file analysis
in the output segments.
2012-07-08 17:08:56 +02:00
Stefano Sabatini
b010d9b586 lavf/nutenc: provide meaningful error message and error code in case of invalid pts 2012-07-08 17:08:56 +02:00
Nicolas George
bba819bd8f fate: FLAC tests require SAMPLES. 2012-07-08 13:41:39 +02:00
Michael Niedermayer
e145afb4b0 vf_tinterlace: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 03:47:38 +02:00
Stefano Sabatini
abb0a9982f lavfi: do not pass opaque field to init functions
Fix signature mismatch warnings.
2012-07-08 01:18:15 +02:00
Paul B Mahol
2d42008757 sanm: make use of dsputil
About 27% faster decoding.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-07 22:33:13 +00:00
Michael Niedermayer
acdf9a6ca5 aacdec: correct "audio config changed" warning message
Idea-by: Reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 00:26:27 +02:00
Hendrik Leppkes
d039b6074c latm: fix initialization on some streams when no extradata is available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 00:26:26 +02:00
Ronald S. Bultje
66a297975d cmutils: include shellapi.h on Win32 (for CommandLineToArgvW).
This is required for CommandLineToArgvW. Normally, shellapi.h is included
implicitly by windows.h, but if we define WIN32_LEAN_AND_MEAN (or some of
the other earlier headers have included windows.h with that option),
windows.h doesn't include this one.

Thus explicitly include the headers we really need, for clarity and
compatibility.
2012-07-07 14:09:04 -07:00
Clément Bœsch
7073174551 x86inc: put basicnop under ifdef to prevent compile failure.
This should fix the NASM box.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 22:48:43 +02:00
Ronald S. Bultje
07b287020c x86/timer: implement an intrinsic-based version for rdtsc (AV_READ_TIME). 2012-07-07 13:35:07 -07:00
Michael Niedermayer
68712ce820 swr/x86: 16bit integer mix functions need SSE2 not SSE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 20:52:34 +02:00
Anton Khirnov
25b51b2c44 id3v2: add a mimetype for bmp pictures. 2012-07-07 20:34:41 +02:00
Anton Khirnov
b7d3a9a015 flacdec: be less strict when parsing attached pictures.
Only return an error if memory allocation fails or error recognition is
set to explode. Otherwise just print an error message and continue
reading the file.
2012-07-07 20:34:20 +02:00
Anton Khirnov
dba5b06ead flacdec: don't create an attached picture stream until we have all information.
This way we don't end with an invalid stream if parsing the picture
fails.
2012-07-07 20:33:44 +02:00
Michael Niedermayer
3245c8b669 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: replace x>>av_log2(sizeof(..)) by x/sizeof(..).
  x86: h264_intrapred: Don't add the 'd' suffix to the SPLATB_REG macro

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 20:29:43 +02:00
Loren Merritt
e14052dbc8 x86: h264_intrapred: use newly introduced SPLAT* and PSHUFLW macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 20:26:39 +02:00
Michael Niedermayer
dc12f7d4ec x86inc: try to put amdnop under ifdef to prevent compile failure
based on similar amdnop usage in ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 20:16:56 +02:00
Michael Niedermayer
9fb08427d7 vf_pp: dont pass NULL into pp, it would fail
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 19:14:51 +02:00
Michael Niedermayer
561a365dca pp: check that the argument is not NULL as this is not supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 19:14:21 +02:00
Ronald S. Bultje
fdaad6354f mxfdec: replace x>>av_log2(sizeof(..)) by x/sizeof(..).
Also replace x>>av_log2(sizeof(..)) + 1 by x/sizeof(..). The +1 is
probably meant to emulate av_log2_ceil(sizeof(..)) in cases where ".."
is not a power of two.
2012-07-07 10:09:59 -07:00
Tim Nicholson
bb62a8b690 doc: update mono to stereo workaround example
Now uses -filter_complex instead of deprecated lavfi/amovie

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 17:37:16 +02:00
Michael Niedermayer
dadfd2a525 tools/bisect: rename to tools/bisect-create
Idea-by: Alexander Strasser
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 14:51:51 +02:00
Michael Niedermayer
6de70d7fbf tools/bisect: rename temporary file and add it to git ignore
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 13:15:01 +02:00
Michael Niedermayer
ccc0a3a9fa tool/bisect: add some magic to make the bisect tool be useable when its not part of a checkout
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 13:10:06 +02:00
Hendrik Leppkes
d9dcc940fa vc1: implement frame interlaced b-frame header parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 13:02:22 +02:00
Michael Niedermayer
50bfd547b9 log: fix compilation failure on mingw due to reference to undefined set_color256
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 12:57:13 +02:00
Michael Niedermayer
d3f4fd76d5 celp_math: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 12:34:04 +02:00
Michael Niedermayer
dc7aecd8f7 cabac: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 12:33:51 +02:00
Paul B Mahol
1842b27564 lavu: 256 color support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-07 01:41:55 +00:00
Michael Niedermayer
46a47077ee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: add functions for testing code fragments
  af_amix: avoid spurious EAGAIN.
  af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
  af_amix: only consider negative return codes as errors.
  avconv: use only meaningful timestamps in start time check.
  avconv: fix the check for -ss as an output option.
  mss3: add forgotten 'static' qualifier for private table
  lavc: options: add planar names for request_sample_fmt
  flacdec: add planar output support
  flvdec: Treat all nellymoser versions as the same codec

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 02:17:30 +02:00
Paul B Mahol
a6da14ec3c tiffenc: PIX_FMT_GRAY8A support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 19:54:10 +00:00
Paul B Mahol
df548c59f7 tiffenc: PIX_FMT_GRAY16LE support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 19:40:45 +00:00
Paul B Mahol
1806858fdd tiffenc: merge common code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 19:39:32 +00:00
Paul B Mahol
146d29c744 tiffenc: use av_get_bits_per_pixel() to get bpp
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 19:39:24 +00:00
Paul B Mahol
82c4abbfe1 tiffenc: use av_pix_fmt_descriptors to set bpp_tab[]
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 19:32:44 +00:00
Paul B Mahol
e100a259be tiffenc: simplify calculation of bpp_tab_size
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 19:32:44 +00:00
Martin Storsjö
f27386cdc7 x86: h264_intrapred: Don't add the 'd' suffix to the SPLATB_REG macro
The SPLATB_REG macro already adds the 'd' suffix internally.

This fixes building on Win64, which has been broken since 878e66902.

This worked for unix, where r2 happened to be rdx in this case, which
with the first suffix rdxd was mapped to eax, and eaxd is defined back
to eax. On win64 however, r2 happened to be R8 in this case, and
R8d mapps to R8D just fine, but there's no mapping for R8Dd to anything.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-06 21:07:23 +03:00
Mans Rullgard
5adc829eb0 configure: add functions for testing code fragments
This simplifies testing arbitrary code fragments within a function
body.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-06 19:22:08 +02:00
Nicolas George
5997285d3a ffmpeg: poll filters even after -t limit.
If not, frames can still arrive to the sink and accumulate.
The frames past recording time will be ignored in do_*_out.
2012-07-06 18:33:48 +02:00
Pavel Koshevoy
665100c2f1 Fix destination row striding in altivec_yuv2_bgr24.
Misaligned row artifacts showed up when a 624x352 frame was converted
to BGR24 format.  When advancing to the next row the destination linesize
was added to the last output pointer position which was not linesize aligned,
resulting in a distorted picture.

Signed-off-by: Pavel Koshevoy <pavel@apple.aragog.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 17:40:43 +02:00
Lou Logan
b22ecbc6a5 cosmetics: various spelling fixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 17:08:22 +02:00
Anton Khirnov
b7558ac293 af_amix: avoid spurious EAGAIN.
Input on/off state can change in request_samples(), which can result in
a state where only the first input is active. get_available_samples()
will then return 0, and request_frame() will fail with EAGAIN even
though there is data on the single active input.

Take this into account and check the number of active inputs again after
calling request_samples().
2012-07-06 13:51:58 +02:00
Anton Khirnov
54bf88e65f af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
0 should only be returned when there was at least one output frame.
2012-07-06 13:51:58 +02:00
Anton Khirnov
428b369804 af_amix: only consider negative return codes as errors. 2012-07-06 13:51:58 +02:00
Anton Khirnov
53ddd43f0c avconv: use only meaningful timestamps in start time check. 2012-07-06 12:59:11 +02:00
Anton Khirnov
b98c8f4f2b avconv: fix the check for -ss as an output option.
start time is already substracted from the frame timestamp, so it needs
to be checked against 0, not start time.
2012-07-06 12:54:52 +02:00
Georg Lippitsch
60270eb482 doc/indevs/iec61883: document requirements for iec61883 device
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-06 11:47:50 +02:00
Michael Niedermayer
e0d6b9094c configure: cleanup libiec61883 code, allow enabling via command line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-06 11:43:49 +02:00
Kostya Shishkov
1f061da529 mss3: add forgotten 'static' qualifier for private table 2012-07-06 11:37:35 +02:00
Paul B Mahol
6936111d66 bmv: add CODEC_CAP_DR1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 02:19:21 +00:00
Michael Niedermayer
894319e010 lpc: use default number of passes when lpc_passes is invalid
Should fix valgrind failure (uninitialized vars)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 04:04:10 +02:00
Paul B Mahol
8f239412d8 tiffdec: PIX_FMT_GRAY16LE support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 01:11:34 +00:00
Nicolas George
8293a21a9c lavc: fix shared build after dnxhd merge.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 02:44:17 +02:00
Michael Niedermayer
ec08676232 Blowfish: restructure/simplify code a bit.
Very slightly faster (2% or so)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 02:25:29 +02:00
Michael Niedermayer
9862cbd7a4 add side data to indicate the amount of samples to skip at the begin and end
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Reveiwed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 02:25:29 +02:00
Michael Niedermayer
636dbe2678 fate: increase fuzzyness for ac3 encode for 3dnow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 02:25:29 +02:00
Paul B Mahol
c2cbe58cd4 paf: add forgotten CODEC_CAP_DR1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-06 00:19:12 +00:00
Stefano Sabatini
3e3e414fe4 lavfi/buffersink: fix doxy, remove "video" reference
The file contains the code for the audio buffersink as well.
2012-07-06 01:11:45 +02:00
Mans Rullgard
0a19000da8 lavc: options: add planar names for request_sample_fmt
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 21:57:51 +01:00
Mans Rullgard
784514a4a8 flacdec: add planar output support
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 21:57:51 +01:00
Michael Niedermayer
24823a761c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qdm2: remove broken and disabled dump_context() debug function
  x86: h264_intrapred: use newly introduced SPLAT* and PSHUFLW macros
  x86inc: add SPLATB_LOAD, SPLATB_REG, PSHUFLW macros
  x86inc: modify ALIGN to not generate long nops on i586
  x86: h264_intrapred: port to cpuflag macros
  avplay: update input filter pointer when the filtergraph is reset.
  avconv: fix parsing of -force_key_frames option.
  h264: use templates to avoid excessive inlining
  xtea: Make the count parameter match the documentation
  blowfish: Make the count parameter match the documentation
  mpegvideo: Don't use ff_mspel_motion() for vc1
  xtea: invert branch and loop precedence
  blowfish: invert branch and loop precedence
  flvdec: optionally trust the metadata
  avconv: Set audio filter time base to the sample rate
  vp8: Add ifdef guards around the sse2 loopfilter in the sse2slow branch too

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/h264.c
	libavcodec/mpegvideo_common.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 21:55:31 +02:00
Martin Storsjö
e43f56b205 flvdec: Treat all nellymoser versions as the same codec
This avoids creating new AVStreams for them when switching between
different variants of them, since we can handle changes between
different sample rates of nellymoser within the same stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 22:07:45 +03:00
Michael Niedermayer
92c7ef1e30 Merge branch 'mxfenc_improvements' of https://github.com/mbouron/FFmpeg
* 'mxfenc_improvements' of https://github.com/mbouron/FFmpeg:
  mxfenc: support dnxhd codec
  mxfenc: support smpte dv codec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 20:40:41 +02:00
Michael Niedermayer
acb52d3228 h264: print error on unsupported seperate color planes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 19:18:10 +02:00
Diego Biurrun
bb58c43c69 qdm2: remove broken and disabled dump_context() debug function 2012-07-05 17:37:12 +02:00
Diego Biurrun
878e669029 x86: h264_intrapred: use newly introduced SPLAT* and PSHUFLW macros 2012-07-05 17:37:11 +02:00
Loren Merritt
4d4752366f x86inc: add SPLATB_LOAD, SPLATB_REG, PSHUFLW macros
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-05 17:37:11 +02:00
Loren Merritt
2cd1f5cadc x86inc: modify ALIGN to not generate long nops on i586
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-05 17:37:11 +02:00
Diego Biurrun
d20f133ef9 x86: h264_intrapred: port to cpuflag macros 2012-07-05 17:37:10 +02:00
Carl Eugen Hoyos
50d0f6cee9 Extend -codecs output.
Allow to show different supported multi-threading methods for an
encoder/decoder pair.

Fixes ticket #1512
2012-07-05 16:46:19 +02:00
Michael Niedermayer
c88e60af76 swr/x86: 10l, missed some SSE2 instructions in code marked as SSE.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 15:28:10 +02:00
Michael Niedermayer
0348102835 configure: dont blindly enable iec61883
This should fix a configure failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 13:42:25 +02:00
Matthieu Bouron
d99001cab3 mxfenc: support dnxhd codec 2012-07-05 13:34:49 +02:00
Matthieu Bouron
135e684311 mxfenc: support smpte dv codec
After some internal talks it seems the code is similar to what is in FFmbc
by Baptiste Coudurier; Baptiste accepted to relicense the similiar chunks
from GPL to LGPL.
2012-07-05 13:34:43 +02:00
Anton Khirnov
2696789c52 avplay: update input filter pointer when the filtergraph is reset.
Fixes an invalid read on size change.
2012-07-05 13:15:36 +02:00
Reimar Döffinger
4c679750cb avconv: fix parsing of -force_key_frames option.
Currently it always exits with an error when more than
one position is specified.

CC: libav-stable@libav.org
2012-07-05 13:15:36 +02:00
Georg Lippitsch
325fb246f2 FireWire DV/HDV input device using libiec61883
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-05 13:02:49 +02:00
Mans Rullgard
28fff0d974 h264: use templates to avoid excessive inlining
Instead of inlining everything into ff_h264_hl_decode_mb(), use
explicit templating to create versions of the called functions
with constant parameters filled in.  This greatly speeds up
compilation of h264.c and reduces the code size without any
measurable impact on performance.

Compilation time for h264.c on an i7 goes from 30s to 5.5s.
Code size is reduced by 430kB.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 11:50:18 +01:00
Nedeljko Babic
6d74e3c6f2 Optimization of MP3 decoders for MIPS
MP3 fixed and floating point decoders are optimized
 for MIPS architecture.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Reviewed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 12:24:03 +02:00
Michael Niedermayer
4ea705114c Merge git://github.com/mjbshaw/FFmpeg-OpenJPEG-J2K-Encoder
* git://github.com/mjbshaw/FFmpeg-OpenJPEG-J2K-Encoder:
  libopenjpegdec: add support for decoding YUV420/422/444P12/14
  libopenjpegenc: cosmetics: reorder pix_fmts
  libopenjpegenc: add support for YUV420/422/444P12/14

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 12:15:48 +02:00
Samuel Pitoiset
983db9b2b4 xtea: Make the count parameter match the documentation
Previously it was interpreted as number of bytes, while the
documentation stated that it was the number of 8 byte blocks.
This makes it behave similarly to the existing AES code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 12:45:18 +03:00
Samuel Pitoiset
e4a7fb3da3 blowfish: Make the count parameter match the documentation
Previously it was interpreted as number of bytes, while the
documentation stated that it was the number of 8 byte blocks.
This makes it behave similarly to the existing AES code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 12:41:57 +03:00
Michael Niedermayer
18f2d5cb9c mpegvideo: Don't use ff_mspel_motion() for vc1
Using ff_mspel_motion assumes that s (a MpegEncContext
poiinter) really is a Wmv2Context.

This fixes crashes in error resilience on vc1/wmv3 videos.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 12:41:19 +03:00
Alexander Strasser
1fe6cb448a lavf/file: cosmetic: Use "not" instead of "equals zero"
This is more similar to the "overall" FFmpeg coding style.
2012-07-05 10:55:49 +02:00
Alexander Strasser
585bd4922a lavf/file: cosmetic: Remove superfluous ternary operator 2012-07-05 10:55:49 +02:00
Alexander Strasser
e1613476ff doc/fate: Rework examples to a section of its own
Make it easier to spot the example. This way it can already be
discovered by scanning the table of contents.
2012-07-05 10:55:49 +02:00
Alexander Strasser
c44cae7ec5 doc/fate: Add hint for debugging connection to server 2012-07-05 10:55:49 +02:00
Alexander Strasser
10fa37c573 doc/fate: Add missing @file command
Make the document more consistent.
2012-07-05 10:55:49 +02:00
Alexander Strasser
52a3d57e00 doc/fate: Use more commonly used terms
It might be easier to understand for some people and is a bit more
in line with e.g. OpenSSH documentation. The meaning of the text stays
exactly the same.
2012-07-05 10:55:49 +02:00
Alexander Strasser
5fc74f022e doc/fate: Add email address for contacting the FATE admin 2012-07-05 10:55:48 +02:00
Luca Barbato
f6687bf5f8 xtea: invert branch and loop precedence
Should slightly improve performance depending on the compiler used.
2012-07-05 10:42:00 +02:00
Luca Barbato
669bbedfa8 blowfish: invert branch and loop precedence
Should slightly improve performance depending on the compiler used.
2012-07-05 10:40:13 +02:00
Luca Barbato
5b54a90c8b flvdec: optionally trust the metadata
In certain conditions video or audio frames might appear way later in the
stream.
2012-07-05 10:37:34 +02:00
Martin Storsjö
715129cdc4 avconv: Set audio filter time base to the sample rate
If the output frame size is smaller than the input sample rate,
and the input stream time base corresponds exactly to the input
frame size (getting input packet timestamps like 0, 1, 2, 3, 4 etc),
the output timestamps from the filter will be like
0, 1, 2, 3, 4, 4, 5 ..., leadning to non-monotone timestamps later.

A concrete example is input mp3 data having frame sizes of 1152
samples, transcoded to aac with 1024 sample frames.

By setting the audio filter time base to the sample rate, we will
get sensible timestamps for all output packets, regardless of
the ratio between the input and output frame sizes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 09:57:04 +03:00
Martin Storsjö
07eeeb1d4f vp8: Add ifdef guards around the sse2 loopfilter in the sse2slow branch too
This was missed in the the previous commit in 70a1c800.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 09:39:01 +03:00
Carl Eugen Hoyos
b5baad3a4c Install libavutil/version.h
Fixes ticket #1513
2012-07-05 08:21:49 +02:00
Paul B Mahol
7de4a16508 PAF demuxer and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-05 02:54:34 +00:00
Michael Niedermayer
9b2b57681c sws/x86: add av_assert() to ensure 16bit code is used with 16bit data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 04:39:11 +02:00
Michael Niedermayer
a32032b508 sws/x86: add some forgotten 12bit planar yuv cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 04:38:57 +02:00
Carl Eugen Hoyos
73bb4e9ca6 nut: add 12/14 bit yuv to nut/raw
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 04:23:55 +02:00
Paul B Mahol
1f9bc3104a sanm: remove code duplication
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-04 23:40:18 +00:00
Paul B Mahol
3b9dd906d1 sanm: replace conditions in for loops with more common version
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-04 23:38:58 +00:00
Michael Niedermayer
fa36f33422 sws: support 12&14 bit planar colorspaces
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 23:47:01 +02:00
Michael Niedermayer
1f29504204 blowfish.h: include author attribution
Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 23:23:17 +02:00
Michael Niedermayer
0713c38ea3 xtea.h: include author attribution
Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 23:23:09 +02:00
Michael Niedermayer
039e9fe01c Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  lavfi: reclassify showfiltfmts as a TESTPROG
  graph2dot: fix printf format specifier
  swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.
  vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
  amr: remove shift out of the AMR_BIT() macro.
  dsputilenc: group yasm and inline asm function pointer assignment.
  mov: use forward declaration of a function instead of a table.
  Clarify Doxygen comment for FF_API_* #defines.
  configure: simplify get_version()
  Create version.h headers for libraries that lack them
  gitignore: Use full path instead of relative path to specify patterns
  mpegvideo: remove VLAs
  Add XTEA encryption support in libavutil
  Add Blowfish encryption support in libavutil
  eval: Add the isinf() function and tests for it
  flacdec: move lpc filter to flacdsp
  flacdec: split off channel decorrelation as flacdsp
  avplay: Add an option for not limiting the input buffer size
  FATE: add a test for WMA cover art.
  FATE: add a test for apetag cover art
  ...

Conflicts:
	.gitignore
	configure
	ffplay.c
	libavcodec/Makefile
	libavcodec/error_resilience.c
	libavcodec/mpegvideo.c
	libavcodec/ratecontrol.c
	libavdevice/avdevice.h
	libavfilter/Makefile
	libavfilter/filtfmts.c
	libavfilter/version.h
	libavformat/mov.c
	libavformat/version.h
	libavutil/Makefile
	libavutil/avutil.h
	libavutil/version.h
	libswscale/swscale.h
	libswscale/x86/swscale_mmx.c
	tests/fate/libavutil.mak
	tests/lavfi-regression.sh
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 21:03:28 +02:00
Nicolas George
8b421fad24 dpx: sanitize aspect ratio.
Fixes some samples where the ratio is declared as -1/-1.
2012-07-04 18:59:39 +02:00
Mans Rullgard
7c29377b70 lavfi: reclassify showfiltfmts as a TESTPROG
This tool uses lavfi internal symbols not accessible in shared
libraries.  TESTPROGS are linked statically to allow them use of
library internals not normally exported.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 17:48:25 +01:00
Diego Biurrun
fa2d747352 graph2dot: fix printf format specifier
tools/graph2dot.c:85: warning: format ‘%lld’ expects type ‘long long int’, but argument 4 has type ‘int’
2012-07-04 18:12:48 +02:00
Martin Storsjö
557519189f swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-04 08:25:57 -07:00
Martin Storsjö
70a1c8000f vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-04 08:25:50 -07:00
Ronald S. Bultje
c51838478c amr: remove shift out of the AMR_BIT() macro.
MSVC doesn't like the offsetof(..) >> 1 construct, it interprets it as
a non-literal, thus causing use of this in static tables to fail
compilation.
2012-07-04 07:46:53 -07:00
Ronald S. Bultje
723b266d72 dsputilenc: group yasm and inline asm function pointer assignment. 2012-07-04 07:46:27 -07:00
Ronald S. Bultje
1ce1e6360d mov: use forward declaration of a function instead of a table.
MSVC gives a compile error on the tentative definition of
mov_default_parse_table[].
2012-07-04 07:45:30 -07:00
Michael Bradshaw
d3b84fdccc libopenjpegdec: add support for decoding YUV420/422/444P12/14
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
2012-07-04 08:37:52 -06:00
Michael Bradshaw
713a7854e0 libopenjpegenc: cosmetics: reorder pix_fmts
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
2012-07-04 08:37:46 -06:00
Michael Bradshaw
7544ef7805 libopenjpegenc: add support for YUV420/422/444P12/14
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
2012-07-04 08:37:42 -06:00
Nicolas George
2fc354f90d ffmpeg: rework checks for the -t option.
This commit is based on libav's implementation and
makes sure to compare output timestamps together.
It also reduces the differences with avconv.

The changes to the test reference files are caused
by an additional packet at the end, the timestamp
of the frame encoded by this packet is always
strictly below the limit stated by the -t option.
2012-07-04 16:20:47 +02:00
Nicolas George
7beeea8f17 error: define AVERROR_EXTERNAL.
This code is intended for errors in external libraries
when no corresponding error code can be found.
AVERROR_UNKNOWN is too vague for that and looks like AVERROR_BUG.
2012-07-04 15:45:05 +02:00
Nicolas George
aa39516a04 error: define AVERROR_BUFFER_TOO_SMALL.
Some API require a buffer and return a specific error
if it is too small. This error code helps to map codes.
2012-07-04 15:33:14 +02:00
Diego Biurrun
2047e40e6e Clarify Doxygen comment for FF_API_* #defines. 2012-07-04 15:10:10 +02:00
Diego Biurrun
112971af26 configure: simplify get_version()
All libs have version headers now, which allows hardcoding the path.
2012-07-04 15:10:08 +02:00
Diego Biurrun
86ab7b0f2f Create version.h headers for libraries that lack them 2012-07-04 15:10:06 +02:00
Diego Biurrun
40e61b7b07 gitignore: Use full path instead of relative path to specify patterns
This avoids confusion from patterns meant to only match at the top
level matching files in subdirectories.
2012-07-04 15:10:01 +02:00
Ronald S. Bultje
89b81a1c88 mpegvideo: remove VLAs
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 15:10:57 +03:00
Samuel Pitoiset
8c14f7a593 Add XTEA encryption support in libavutil
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 15:10:57 +03:00
Samuel Pitoiset
bc3dbcc8e5 Add Blowfish encryption support in libavutil
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 15:10:57 +03:00
Martin Storsjö
143f1e9203 eval: Add the isinf() function and tests for it
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 15:10:56 +03:00
Mans Rullgard
25accf93ad flacdec: move lpc filter to flacdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Mans Rullgard
4a8528349f flacdec: split off channel decorrelation as flacdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Martin Storsjö
296d0da8bd avplay: Add an option for not limiting the input buffer size
For reading from normal files on disk, the queue limits for
demuxed data work fine, but for reading data from realtime
streams, they mean we're not reading from the input stream
at all once the queue limit has been reached. For TCP streams,
this means that writing to the socket from the peer side blocks
(potentially leading to the peer dropping data), and for UDP
streams it means that our kernel might drop data.

For some protocols/servers, the server initially sends a
large burst with data to fill client side buffers, but once
filled, we should keep reading to avoid dropping data.

For all realtime streams, it IMO makes sense to just buffer
as much as we get (rather in buffers in avplay.c than in
OS level buffers). With this option set, the input thread
should always be blocking waiting for more input data,
never sleeping waiting for the decoder to consume data.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 11:11:08 +03:00
Carl Eugen Hoyos
ab2356cb79 Let the ffmpeg executable select the abuffersink filter. 2012-07-04 08:47:04 +02:00
Anton Khirnov
1c840fa227 FATE: add a test for WMA cover art. 2012-07-04 05:59:14 +02:00
Anton Khirnov
8059d3b7d4 FATE: add a test for apetag cover art 2012-07-04 05:59:05 +02:00
Anton Khirnov
bf2a7f9161 FATE: add a test for itunes cover art. 2012-07-04 05:58:47 +02:00
Mans Rullgard
87466f8124 flacdec: factor out code setting avctx->sample_fmt 2012-07-04 03:34:34 +01:00
Mans Rullgard
d155b60fc8 flac: make FLAC_CHMODE_* constants consecutive 2012-07-04 03:30:43 +01:00
Mans Rullgard
93e7ef9a24 flacdec: allocate sample buffers with av_malloc
The buffers are only allocated once, although it can happen from
any of a few different places, so there is no need to use realloc.
Using av_malloc() ensures they are aligned suitably for SIMD
optimisations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 03:30:01 +01:00
Mans Rullgard
0da301e105 flacdec: remove curr_bps from FLACContext
This value does not need to be persistent across calls.
2012-07-04 03:29:29 +01:00
Michael Niedermayer
df3a96c497 ffmpeg: Add sanity check on frame duplication
This prevents long loops and OOM in case of damaged timestamps in some
cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 04:17:00 +02:00
Piotr Bandurski
a54bc1ebb8 riff: add "YUV8" FourCC
sample:

http://samples.mplayerhq.hu/V-codecs/yuv8/MAILTEST.AVI

Reviewed-by: compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 04:17:00 +02:00
Mans Rullgard
983fa8bc46 fate: add flac encode/decode tests with various options
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 01:22:40 +01:00
Mans Rullgard
360aa2465a flacenc: add option for forcing stereo decorrelation mode
This is mainly useful for testing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 01:22:40 +01:00
Stefano Sabatini
776a4e42a7 doc/muxers/segment: apply minor documentation updates and adjustements
Update documentation to match code behavior after previous changes, also
reword the examples section.
2012-07-04 01:17:58 +02:00
Michael Niedermayer
5eb4af6c59 snow: move init code that depends on picture paramaters to after these parameters are known.
This should fix debug 2048 amongth other things

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 01:02:01 +02:00
Michael Niedermayer
93d672967d video_get_buffer: return ENOMEM instead of -1 on malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:47:18 +02:00
Michael Niedermayer
f339ebc1ff lavc/utils: print error message on get_buffer related errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:46:36 +02:00
Michael Niedermayer
f91b7d8030 mdutils: print error message on error get_buffer related errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:46:08 +02:00
Michael Niedermayer
86e107a7d4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Consistently use C-style comments with multiple inclusion guards
  anm: fix a few Doxygen comments
  misc typo and wording fixes
  attributes: add av_noreturn
  attributes: drop pointless define guards
  configure: do not disable av_always_inline with --enable-small
  flvdec: initial stream switch support
  avplay: fix write on freed memory for rawvideo
  snow: remove a VLA used for edge emulation
  x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
  snow: remove the runs[] VLA.
  snow: Check mallocs at init
  flacdec: remove redundant setting of avctx->sample_fmt

Conflicts:
	ffplay.c
	libavcodec/h264.c
	libavcodec/snow.c
	libavcodec/snow.h
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavformat/flvdec.c
	libavutil/attributes.h
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:32:31 +02:00
Stefano Sabatini
af392efe51 lavf/segment: rename SegmentContext.pb to list_pb
The new name is more auto-explicative, as the pb is used for the segment
list file.
2012-07-04 00:02:56 +02:00
Stefano Sabatini
d8013f38ab lavf/segment: add error log in case of invalid filename template
Better rather than silently exit.
2012-07-03 23:26:07 +02:00
Stefano Sabatini
a1e092ccd3 lavf/segment: fix logic for segmenting audio-only inputs
Also add a comment for clarifying the logic.

Fix trac ticket #1290.
2012-07-03 23:23:36 +02:00
Stefano Sabatini
4e2899dd31 lavf/segment: add more information in log message in seg_write_packet() 2012-07-03 23:23:29 +02:00
Nedeljko Babic
597282efa7 doc: add documentation regarding MIPS optimizations
Add doc/mips.txt document with short explanation regarding targeted
platform for MIPS optimizations and regarding MIPS copyright notice.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-03 22:06:10 +02:00
Stefano Sabatini
fd0e6ef99a lavf/segment: remove unused offset variable 2012-07-03 21:48:50 +02:00
Stefano Sabatini
77dcae5d74 lavf/segment: apply misc fixes to the private options internal documentation
Option help message tell what the option *does*, not what the set field
represents.
2012-07-03 21:48:50 +02:00
Stefano Sabatini
a5af29336a lavf/segment: slightly simplify fail logic in seg_write_packet() 2012-07-03 21:48:50 +02:00
Stefano Sabatini
4ad17bc76b lavf/segment: move list filename printing logic from segment_end() to segment_start()
Allow to deal with the list file printing only in a single point, thus
simplifying logic, and allow a bit of factorization (no special case
needed when printing the first file name of the list).
2012-07-03 21:48:50 +02:00
Martin Storsjö
30327865f3 ismindex: Verify that all bitrate variants match
In Smooth Streaming, the fragments are addressed by time, and
the manifest only stores one list of time offests for all streams,
so all streams need to have identical fragment offsets. Warn if
this isn't the case, so that the user can fix the files instead of
getting failures at runtime when the fragments can't be found.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 22:46:58 +03:00
Martin Storsjö
1be8c90847 ismindex: Properly report errors reading the MFRA atom
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 22:46:53 +03:00
Carl Eugen Hoyos
71e5a14028 Suggest aresample filter if it was not compiled but requested. 2012-07-03 21:35:20 +02:00
Michael Niedermayer
6ea973fc4c avcodec_align_dimensions2: support 12 & 14 bit planar colorspaces
Reviewed-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:03:40 +02:00
Michael Niedermayer
4251a0b84c imgconvert: add planar RGB formats to pix_fmt_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:03:26 +02:00
Michael Niedermayer
6ca8ef5189 imgconvert: add yuv 9,10,12,14 bit planar YUV formats to pix_fmt_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:03:26 +02:00
Michael Niedermayer
e9757066e1 libavutil: add 12 and 14 bit planar colorspaces
Reviewed-by: Jean First <jeanfirst@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:02:34 +02:00
Diego Biurrun
1a068bfefd cosmetics: Consistently use C-style comments with multiple inclusion guards 2012-07-03 17:35:12 +02:00
Diego Biurrun
4051be6f50 anm: fix a few Doxygen comments 2012-07-03 17:35:11 +02:00
Diego Biurrun
09f211987c misc typo and wording fixes 2012-07-03 17:35:11 +02:00
Reinhard Tartler
22662ca560 attributes: add av_noreturn
Also use it in the declaration of the various exit_program
implementations in avtools.

inspired by a clang-scan report.
2012-07-03 17:26:51 +02:00
Reinhard Tartler
a1641e9540 attributes: drop pointless define guards
the av_-prefixed attributes must not be defined outside of this file
2012-07-03 17:26:51 +02:00
Mans Rullgard
06eb4f0885 configure: do not disable av_always_inline with --enable-small
Currently, --enable-small turns av_always_inline into plain inline,
which is more or less ignored by the compiler.  While the intent of
this is probably to reduce code size by avoiding some inlining, it
has more far-reaching effects.

We use av_always_inline in two situations:

1. The body of a function is smaller than the call overhead.
   Instances of these are abundant in libavutil, the bswap.h
   functions being good examples.

2. The function is a template relying on constant propagation
   through inlined calls for sane code generation.  These are
   often found in motion compensation code.

Both of these types of functions should be inlined even if targeting
small code size.

Although GCC has heuristics for detecting the first of these types,
it is not always reliable, especially when the function uses inline
assembler, which is often the reason for having those functions in
the first place, so making it explicit is generally a good idea.

The size increase from inlining template-type functions is usually
much smaller than it seems due to different branches being mutually
exclusive between the different invocations.  The dead branches can,
however, only be removed after inlining and constant propagation have
been performed, which means the initial cost estimate for inlining
these is much higher than is actually the case, resulting in GCC
often making bad choices if left to its own devices.

Furthermore, the GCC inliner limits how much it allows a function to
grow due to automatic inlining of calls, and this appears to not take
call overhead into account.  When nested inlining is used, the limit
may be hit before the innermost level is reached.  In some cases, this
has prevented inlining of type 1 functions as defined above, resulting
in significant performance loss.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 16:10:54 +01:00
Luca Barbato
09a445ce34 flvdec: initial stream switch support
Codec change midstream gets mapped to a separate stream.
2012-07-03 15:35:51 +02:00
Luca Barbato
906f9dce85 avplay: fix write on freed memory for rawvideo
Do not assume avpacket and the decoded frames are independent.

To be absolutely sure and not sprinkle av_free_packet around the code
the call had been placed before getting the frame and on the error path.
2012-07-03 15:35:51 +02:00
Ronald S. Bultje
3389545157 snow: remove a VLA used for edge emulation
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 16:31:23 +03:00
Mans Rullgard
fb93e61e2b x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
These functions are defined conditionally so any uses need to have
preprocessor guards.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 14:14:13 +01:00
Paul B Mahol
5d171b1f47 jvdec: check if there is enough data
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Paul B Mahol
f8a81755c2 jvdec: remove redundant check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Paul B Mahol
1bc9e4c5b2 jvdec: remove buf_size
It is same as avpkt->size.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Paul B Mahol
1c638cfc25 jvdec: stop reading partial palette
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Michael Niedermayer
c673a90b0d tools: add bisect script
This script works like "git bisect" except that you can
specify with "bisect need ffmpeg|ffplay|ffserver|ffprobe" which tool(s)
are needed for testing a checkout

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 13:29:12 +02:00
Michael Niedermayer
c9de83fefd yadif/x86: add prototypes for functions, make code valid C again.
Broken by: libav (a87b17f328)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 12:47:11 +02:00
Michael Niedermayer
114f82ee7e jvdec: check that the video_size fits in the packet.
Prevents use of out of array data and fate failure.

Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 12:38:03 +02:00
Paul B Mahol
596814f978 jvdec: fix memleak of jv->frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 09:53:42 +00:00
Ronald S. Bultje
cbd9b2f918 snow: remove the runs[] VLA.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:46 +03:00
Martin Storsjö
4d8516fdb1 snow: Check mallocs at init
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:39 +03:00
Michael Niedermayer
9d0c71e5e3 jvdemux: correct size for truncated packets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 05:26:15 +02:00
Paul B Mahol
699083edce fate: add test for Bitmap Brothers JV demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 02:18:01 +00:00
Paul B Mahol
7c52070131 fate: add test for Bitmap Brothers JV video
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 02:18:01 +00:00
Michael Niedermayer
6671c40038 h264pred: assert that depth is supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 03:31:06 +02:00
Michael Niedermayer
9c995fe19a h264dsp: assert that depth is supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 03:31:06 +02:00
Michael Niedermayer
5a1bbb3af0 dsputil: assert that depth is supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 03:31:06 +02:00
Stefano Sabatini
bb6effe059 lavfi: remove vsrc_buffer.h API
The vsrc_buffer.h is not installed since commit 0b3b958135, so there is
no point into keeping it around.

The buffersrc.h API, which is more powerful, should be used instead.
2012-07-03 01:32:16 +02:00
Stefano Sabatini
ab7dbdc92c lavc/rawdec: add assertion check in raw_decode()
Check on an implicit assumption done on the number of coded bits for
paletted rawvideo with coded bits == 2.
2012-07-03 01:25:02 +02:00
Stefano Sabatini
17a54f5de8 lavc/rawdec: prefer constant AVPALETTE_SIZE over 256*4
Improve readability.
2012-07-03 01:24:56 +02:00
Michael Niedermayer
4330b8bba2 h264: sps: handle more profiles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 00:40:26 +02:00
Michael Niedermayer
9091ba9dfa h264: add support for constraint_set4_flag / constraint_set5_flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 00:36:26 +02:00
Michael Niedermayer
b6851d34c0 x86/gradfun: fix compilation failure on open solaris
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:51:03 +02:00
Michael Niedermayer
b2527d5d5a Revert "alsdec: remove dead assignments"
This reverts commit 4ca6d206d1.

The assignment is not dead, this should fix fate failures on BSD
2012-07-02 23:43:06 +02:00
Michael Niedermayer
a08efa2e36 has_decode_delay_been_guessed: tighten up the heuristic.
This adds the minimum delay needed with the current decoder to
recognize the reorder buffer size for the reference bitstreams.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:23:33 +02:00
Michael Niedermayer
4e9e0700fb has_decode_delay_been_guessed: skip guessing when sps.num_reorder_frames is available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:18:32 +02:00
Michael Niedermayer
1fb07be062 fate: drop strict 1 for MR4_TANDBERG_C.264 and MR5_TANDBERG_C.264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:18:04 +02:00
Michael Niedermayer
bafa1c7f38 h264: add avpriv_h264_has_num_reorder_frames()
This function exports the exact sps.num_reorder_frames value

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:16:59 +02:00
Mans Rullgard
4719ea7e1e flacdec: remove redundant setting of avctx->sample_fmt
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 22:13:32 +01:00
Michael Niedermayer
2c883c6acf has_decode_delay_been_guessed: improve heuristic
This allows MR4_TANDBERG_C.264 and MR5_TANDBERG_C.264 to be decoded without -strict 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 22:59:42 +02:00
Michael Niedermayer
41dd30068a doc/developer: refer to av_malloc() instead of malloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 21:24:47 +02:00
Michael Niedermayer
b286383bd2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asfdec: read attached pictures.
  apetag: reindent
  apetag: export attached covers as video streams.
  apetag: fix the amount of data read from binary tags.
  apetag: make sure avio_get_str() doesn't read more than it should.
  mov: read itunes cover art.
  snow: remove VLA in mc_block()
  intfloat: Don't use designated initializers in the public headers
  snow: remove a VLA.
  doc: Remind devs to check return values, especially for malloc() et al
  MS ATC Screen (aka MSS3) decoder
  vf_yadif: move x86 init code to x86/yadif.c
  vf_gradfun: move x86 init code to x86/gradfun.c
  roqvideo: Remove a totally unused dspcontext
  smacker: remove some unused code
  dsicin: remove dead assignment
  aacdec: remove dead assignment
  rl2: remove dead assignment
  proresenc: make a variable local to the loop where it is used
  alsdec: remove dead assignments

Conflicts:
	Changelog
	doc/developer.texi
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavfilter/gradfun.h
	libavfilter/x86/gradfun.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 21:19:41 +02:00
Clément Bœsch
7c84e7d337 mem: heap memory poisoning.
Enable it by default with FATE.
limitation: not random, and not supported with realloc.
2012-07-02 21:02:15 +02:00
Michael Niedermayer
2278a3e5f7 vc1dsp: use av_assert2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 20:52:36 +02:00
Michael Niedermayer
2ceaffc627 resample2: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 20:52:22 +02:00
Michael Niedermayer
7309451d73 swr: fix warning: passing argument 2 of s->mix_any_f from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:33:27 +02:00
Michael Niedermayer
338509c2e1 swr: fix warning: passing argument 1 of s->mix_any_f from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:32:23 +02:00
Michael Niedermayer
087d067a99 swr: fix warning: passing argument 2 of ctx->simd_f from incompatible pointer type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:31:16 +02:00
Michael Niedermayer
04b5eb47a6 swr: fix mix* related function pointer warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 17:23:22 +02:00
Anton Khirnov
5e745cefc0 asfdec: read attached pictures. 2012-07-02 16:16:45 +02:00
Anton Khirnov
728d2afa17 apetag: reindent 2012-07-02 16:16:38 +02:00
Anton Khirnov
02a951b919 apetag: export attached covers as video streams. 2012-07-02 16:16:11 +02:00
Anton Khirnov
b72767df8e apetag: fix the amount of data read from binary tags.
Substract the filename size from the data size.
2012-07-02 16:15:45 +02:00
Anton Khirnov
f2e175c756 apetag: make sure avio_get_str() doesn't read more than it should. 2012-07-02 16:15:34 +02:00
Anton Khirnov
a02b8c695c mov: read itunes cover art. 2012-07-02 16:14:25 +02:00
Clément Bœsch
c855ce2671 lavf/wtvdec: add missing { } around if.
This should fix the current failures spotted by FATE.
2012-07-02 15:09:53 +02:00
Mans Rullgard
58e57c3052 snow: remove VLA in mc_block()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 12:24:12 +01:00
Ronald S. Bultje
ff8f8dfb79 intfloat: Don't use designated initializers in the public headers
intfloat.h is a public header, and is now (since a1245d5ca) included
by mathematics.h, which many external callers include.

This fixes building third party applications that include
mathematics.h in a language that doesn't support designated
initalizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-02 14:05:40 +03:00
Michael Niedermayer
fbdb205968 wmaenc: dont mess with the bitrate.
The bitrate is not writeable by an encoder.
Fixes generation of invalid wma

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 12:48:29 +02:00
Ronald S. Bultje
33bb63cb3e snow: remove a VLA.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-02 13:04:00 +03:00
Diego Biurrun
4aad316bff doc: Remind devs to check return values, especially for malloc() et al 2012-07-02 10:56:54 +02:00
Kostya Shishkov
edf35d8342 MS ATC Screen (aka MSS3) decoder 2012-07-02 07:14:44 +02:00
Peter Ross
c4e0e74438 wtvdec: return error when filetime_to_iso8601/crazytime_to_iso8601 conversion fails
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 03:55:02 +02:00
Mans Rullgard
a87b17f328 vf_yadif: move x86 init code to x86/yadif.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Mans Rullgard
2f0accf103 vf_gradfun: move x86 init code to x86/gradfun.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Michael Niedermayer
d35a986404 configure: make fast_unaligned configureable
Fixes Ticket1481

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 02:04:50 +02:00
Martin Storsjö
fc31508e3a roqvideo: Remove a totally unused dspcontext
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 23:54:35 +03:00
Michael Niedermayer
5eb353e0cd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  opt/eval: Include mathematics.h for NAN/INFINITY
  mathematics: Don't use division by zero in NAN/INFINITY macros
  wma: Lower the maximum number of channels to 2
  x86: cpu: clean up check for cpuid instruction support
  ARM: generate position independent code to access data symbols

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 22:43:09 +02:00
Michael Niedermayer
23eeffcd48 mov: add workaround for incorrect 0 time point.
Fixes Ticket1471

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 21:41:06 +02:00
Mans Rullgard
779f8bc24e smacker: remove some unused code
This removes some code apparently left over from vlc reader
debugging.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
d55e5e6bae dsicin: remove dead assignment
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
3c928477d2 aacdec: remove dead assignment
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
800ab1bafa rl2: remove dead assignment
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
1c2c64edac proresenc: make a variable local to the loop where it is used
This moves the mbs_per_slice declaration inside the only loop
where it is used.  Fixes a dead assignment.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
4ca6d206d1 alsdec: remove dead assignments
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Michael Niedermayer
c23dcd9751 RELEASE: update, seem this has been forgotten
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 21:21:07 +02:00
Matthieu Bouron
8ac3868ff3 lavf/aiffdec: handle ID3 chunk
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 20:59:37 +02:00
Michael Niedermayer
87b9868972 h264: clear the ref lists when the reference are cleared.
Fixes reading of freed arrays (Ticket1498)

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 20:49:31 +02:00
Michael Niedermayer
0c9283a03f h264: check log2_max_poc_lsb for validity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 20:49:31 +02:00
Stefano Sabatini
aa1cceb5eb lavf/segment: rename variable "size" to "list_size"
The new name is more meaningful/less confusing.
2012-07-01 18:35:15 +02:00
Stefano Sabatini
3bee286ad2 lavf/segment: pass the top level chained muxer format context to segment_end()
Consistent with segment_start() and less confusing.
2012-07-01 18:35:06 +02:00
Martin Storsjö
3893feeccd opt/eval: Include mathematics.h for NAN/INFINITY
These files use NAN/INFINITY but didn't include mathematics.h to get
the fallback definitions if the system lacks the macros.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 19:20:11 +03:00
Ronald S. Bultje
a1245d5ca1 mathematics: Don't use division by zero in NAN/INFINITY macros
Some compilers, MSVC among them, don't recognize the divisions by
zero as meaning infinity/nan.

These macros should, according to the standard, expand to constant
expressions, but this shouldn't matter for our usage.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 19:06:13 +03:00
Michael Niedermayer
91ce7c21f0 ituh263dec: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 18:04:08 +02:00
Michael Niedermayer
9eb6e5cc48 wmaenc: switch all remaining asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 18:02:17 +02:00
Martin Storsjö
710bd8a33e wma: Lower the maximum number of channels to 2
ff_wma_init is used only by wmadec and wmaenc, and neither of them
can handle more than 2 channels.

This fixes crashes with invalid files.

Based on patch by Piotr Bandurski and Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 15:51:26 +03:00
Mans Rullgard
889c1ec4cc x86: cpu: clean up check for cpuid instruction support
This adds macros for accessing the EFLAGS register and uses
these instead of coding the entire check in inline asm.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 12:25:33 +01:00
Mans Rullgard
62634158b7 ARM: generate position independent code to access data symbols
This creates proper position independent code when accessing
data symbols if CONFIG_PIC is set.

References to external symbols should now use the movrelx macro.
Some additional code changes are required since this macro may
need a register to hold the GOT pointer.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 11:25:06 +01:00
Michael Niedermayer
f7cba736ba Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: only configure video filters after we got the first frame

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 02:44:28 +02:00
Michael Niedermayer
64b25938e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputilenc_mmx: split assignment of ff_sse16_sse2 to SSE2 section.
  dnxhdenc: add space between function argument type and comment.
  x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*
  attributes: Add a definition of av_always_inline for MSVC
  cmdutils: Pass the actual chosen encoder to filter_codec_opts
  os_support: Add fallback definitions for stat flags
  os_support: Rename the poll fallback function to ff_poll
  network: Check for struct pollfd
  os_support: Don't compare a negative number against socket descriptors
  os_support: Include all the necessary headers for the win32 open function
  x86: vc1: fix and enable optimised loop filter

Conflicts:
	cmdutils.c
	cmdutils.h
	ffmpeg.c
	ffplay.c
	libavformat/os_support.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 22:44:18 +02:00
Nicolas George
be24f85176 ffmpeg: re-set frame_size after filter graph reset.
The filter contexts are completely cleared,
so the frame size can not be kept.
2012-06-30 21:44:25 +02:00
Michael Niedermayer
51d2578348 swr: fix MMX resample code, add emms
Fixes Ticket1495

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 21:27:39 +02:00
Michael Niedermayer
7001eee1f4 avcodec_encode_audio2: print error messages for errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 20:44:01 +02:00
Michael Niedermayer
5968a07622 wmaenc: rewrite 2nd stage quantization code
this is faster and more correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 20:16:39 +02:00
Michael Niedermayer
0755033f8a wmaenc: remove alternative quantization loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 19:42:01 +02:00
Michael Niedermayer
799df083f3 wmaenc: fix off by 1 error in quantization loop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 19:38:11 +02:00
Michael Niedermayer
e704ab3d5f wmaenc: change another assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 19:36:38 +02:00
Michael Niedermayer
ac2d3b0f6e nutdec: set duration_estimation_method
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 18:58:52 +02:00
Ronald S. Bultje
ceabc13f12 dsputilenc_mmx: split assignment of ff_sse16_sse2 to SSE2 section. 2012-06-30 09:24:52 -07:00
Ronald S. Bultje
e9156741a7 dnxhdenc: add space between function argument type and comment.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 19:22:07 +03:00
Ronald S. Bultje
66a02159ea x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*
This gets rid of a variable-length array and a for loop in C code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 19:10:36 +03:00
Michael Niedermayer
3233ad4b44 nutdec: estimate duration from last syncpoint
Previously nut used the fallback of estimation by bitrate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 17:22:37 +02:00
Michael Niedermayer
e2c95e6bd8 nutdec: remove assert that is wrong for some new duration code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 17:22:37 +02:00
Michael Niedermayer
9d230ba924 nutdec: check that filesize is valid before using it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 17:22:37 +02:00
Marton Balint
58f22f7012 ffplay: only configure video filters after we got the first frame
Otherwise the codec width, height and pixel format values may not be set.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-30 16:19:47 +02:00
Ronald S. Bultje
4f2c846d96 attributes: Add a definition of av_always_inline for MSVC
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 16:03:45 +03:00
Stefano Sabatini
b12e61ac7f ffplay: factorize expression in audio_decode_frame()
Possibly improve readability.
2012-06-30 15:01:51 +02:00
Martin Storsjö
d3ed1c9571 cmdutils: Pass the actual chosen encoder to filter_codec_opts
This allows passing the right options to encoders when there's more
than one encoder for a certain codec id.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:44:10 +03:00
Ronald S. Bultje
5a608a239b os_support: Add fallback definitions for stat flags
Mingw headers provide similar defines already (unconditional #defines,
without any #undef or #ifdef around it), while MSVC doesn't have
them.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:50 +03:00
Martin Storsjö
cab2eb87f9 os_support: Rename the poll fallback function to ff_poll
The fallback function is a non-static function, we shouldn't be
defining non-static functions outside of the proper ff/av prefix
namespaces.

This is especially important for a function like poll, which
other parties (other libraries, or executables linking these
libraries) also might provide similar but incompatible fallbacks for.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:17 +03:00
Martin Storsjö
cdee08e365 network: Check for struct pollfd
We need to include winsock2.h here, to make sure we have the
real pollfd struct definition, if one exists, before defining the
fallback poll function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:06 +03:00
Martin Storsjö
71078ad333 os_support: Don't compare a negative number against socket descriptors
The fds are unsigned integers in the windows definition of struct
sockfds. Due to this, the comparison if (fds[i].fd > n) was always
false.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:17:52 +03:00
Ronald S. Bultje
5aff37d28d os_support: Include all the necessary headers for the win32 open function
io.h is required for open and _wopen, and fcntl.h is required for
the O_CREAT flag. On mingw, fcntl.h is included by os_support.h (and
the mingw fcntl.h includes io.h), but include it explicitly here
since this implementation requires it.

Also move the #undef open up. open must not be defined to ff_win32_open
while including the headers that declare the open function. On mingw,
this happened in os_support.h before open was redirected.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:16:43 +03:00
Nicolas George
6f5e7e8690 ffmpeg: use the more powerful version of abuffersink. 2012-06-30 14:03:54 +02:00
Nicolas George
1f5c1333a7 sink_buffer: implement fixed frame size. 2012-06-30 14:03:54 +02:00
Nicolas George
0689d5e17a lavfi: implement samples framing on links.
Links can be set up to group samples into buffers of
specified minimum and maximum size.
2012-06-30 14:03:54 +02:00
Nicolas George
c9c4835f51 fate: add a test for the -force_key_frames option.
It broke twice in the last three months due to other changes.
2012-06-30 13:49:43 +02:00
Nicolas George
20a8dca57f ffmpeg: fix parsing of -force_key_frames option.
Identical to commit 4f6a1c9 by Reimar Döffinger,
that was lost after the merge of 19ad567.
2012-06-30 13:49:43 +02:00
Clément Bœsch
ca612a27ae swr: fix make checkheaders. 2012-06-30 11:21:53 +02:00
Clément Bœsch
022cbb6791 swr: small align cosmetic. 2012-06-30 11:18:45 +02:00
Clément Bœsch
3491c2a909 swr: use __asm__ instead of __asm.
For consistency only.
2012-06-30 11:18:05 +02:00
Mans Rullgard
f2fd167835 x86: vc1: fix and enable optimised loop filter
The problem is that the ssse3 psign instruction does the wrong
thing here.  Commit ea60dfe incorrectly removed a macro emulating
this instruction for pre-ssse3 code.  However, the emulation is
incorrect, and the code relies on the behaviour of the macro.
Specifically, the psign sets destination elements to zero where
the corresponding source element is zero, whereas the emulation
only negates destination elements where the source is negative.

Furthermore, the PSIGNW_MMX macro in x86util.asm is totally bogus,
which is why the original VC-1 code had an additional right shift
when using it.  Since the psign instruction cannot be used here,
skip all the macro hell and use the working instruction sequence
directly.

None of this was noticed due a stray return statement in
ff_vc1dsp_init_mmx() which meant that only the mmx version of the
loop filter was ever used (before being removed in ea60dfe).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-30 00:12:05 +01:00
Michael Niedermayer
8a85660d3b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  file: Only include unistd.h if it exists
  random_seed: Only read /dev/*random if we have unistd.h
  doc: Indicate that RTMPT is natively implemented in libavformat
  rtpdec: Don't explicitly include unistd.h any longer

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 23:24:58 +02:00
Stefano Sabatini
94a00ec8af ffplay: group together and vertically align correlated parameters in log function
Possibly improve readability.
2012-06-29 23:15:45 +02:00
Stefano Sabatini
8179660222 ffplay: vertially align complex if condition in audio_decode_frame()
Possibly improve readability.
2012-06-29 23:15:45 +02:00
Stefano Sabatini
347ecfdc63 ffplay: move assignment in else block in audio_decode_frame()
Avoid confusing and pointless double assignment of variable
resampled_data_size.
2012-06-29 23:15:45 +02:00
Stefano Sabatini
0d3ffde64f ffplay: split overly long line in audio_decode_frame() 2012-06-29 23:15:45 +02:00
Michael Niedermayer
fb7688a83f pngdsp: Fix license header
Libav did not exist in 2008 thus this file cannot have originated from there

Reviewed-by: Paul B Mahol <onemda@gmail.com>
2012-06-29 20:43:30 +02:00
Michael Niedermayer
7bbb6b38fb prores: Fix license header
Libav did not exist in 2010 thus the file cannot originate from there

Reviewed-by: Paul B Mahol <onemda@gmail.com>
2012-06-29 20:43:30 +02:00
Michael Niedermayer
12863db840 wma_common: Fix license header
common wma code existed long before Libav

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 20:43:30 +02:00
Clément Bœsch
439e32f9b8 RealText demuxer and decoder. 2012-06-29 20:22:04 +02:00
Clément Bœsch
53640f42be SAMI demuxer and decoder. 2012-06-29 20:21:28 +02:00
Clément Bœsch
d948893dbd lavf/subtitles: add some SMIL helpers.
This is needed for SAMI and RealText demuxers.
2012-06-29 20:20:02 +02:00
Clément Bœsch
e301f2f8c6 fate: add JacoSUB and MicroDVD subtitles tests. 2012-06-29 20:20:02 +02:00
Clément Bœsch
04568f8d1a fate: introduce subtitles.mak and move SubRip test in it. 2012-06-29 20:20:02 +02:00
Clément Bœsch
8f4ce626f8 lavc/microdvddec: support "DEFAULT" properties. 2012-06-29 20:20:02 +02:00
Clément Bœsch
0e7782c08e lavc/ass: honor Default style.
The "Default" style written in the header is ignored unless you explicit
it in the Dialogue events (it was valid, just ignored). This requires an
update of the SubRip test since the ASS output obviously changes.
2012-06-29 20:20:02 +02:00
Clément Bœsch
a19e9f2d5c lavf/microdvd: rewrite using subtitles queue API. 2012-06-29 20:20:01 +02:00
Clément Bœsch
0ef28e119e lavf/jacosubdec: fix FPE in case timeres is badly set. 2012-06-29 20:19:59 +02:00
Clément Bœsch
60715511db lavf/jacosubdec: use subtitles queue API. 2012-06-29 19:13:25 +02:00
Clément Bœsch
7c9f9685ae lavf: add internal demuxer helpers for subtitles. 2012-06-29 19:13:24 +02:00
Clément Bœsch
f926d91611 ffmpeg: fix a memleak in subtitles decoding. 2012-06-29 19:13:24 +02:00
Stefano Sabatini
c1abfbc47c lavf/segment: rename segment private context from "c" to "seg" in segment_start()
Consistent with the rest of the file, less confusing.
2012-06-29 17:04:19 +02:00
Stefano Sabatini
a9a7e215e5 lavf/segment: add stream_segment variant of the segment muxer
This simplifies usage for segment streaming formats with no global
headers, tipically MPEG 2 transport stream "ts" files.

The seg class duplication is required in order to avoid an infinite loop
in libavformat/utils.c:format_child_next_class().
2012-06-29 17:03:25 +02:00
Stefano Sabatini
3cd4f9fd76 lavf: allow multiple names in output devices selected by av_guess_format()
Consistent with av_find_input_format().
2012-06-29 16:54:18 +02:00
Martin Sliwka
df531b0e10 avformat: disable seeking on FIFOs/named pipes
Patch is addition to my previous patch
(https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2012-June/051590.html)
and disables seeking on FIFOs/named pipes by setting
URLContext::is_streamed (same as pipe: protocol does for stdin/stdout pipes)

Fixes Ticket986

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 14:54:15 +02:00
Lou Logan
6851130fd6 cosmetics: minor libavcodec spelling errors
Also update some common misspelled words in patcheck

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 14:54:15 +02:00
Ronald S. Bultje
3b1ab197be file: Only include unistd.h if it exists
It is included for the open/read/write/close functions. On
MSVC, where this header does not exist, the same functions
are provided by io.h, which is already included.

On windows, these functions are provided by io.h. Make sure
io.h is included if it exists, regardless of the setmode
function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-29 15:53:41 +03:00
Ronald S. Bultje
f985113075 random_seed: Only read /dev/*random if we have unistd.h
unistd.h is used for open/read/close, but if this header does not
exist, there's probably no use in trying to open /dev/*random
at all.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-29 15:52:07 +03:00
Stefano Sabatini
0692d4c890 lavf/segment: add some debugging logs 2012-06-29 14:50:27 +02:00
Stefano Sabatini
567eb9d344 lavf/segment: fix command with missing -list option
Replace -list with the correct option -segment_list.
2012-06-29 14:50:27 +02:00
Stefano Sabatini
d9355a03f2 lavf/applehttp: add log message in case of applehttp_read_header() failure
Improve error reporting.
2012-06-29 14:50:27 +02:00
Samuel Pitoiset
e312fcde6a doc: Indicate that RTMPT is natively implemented in libavformat
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-29 15:38:28 +03:00
Ronald S. Bultje
dfb57fc596 rtpdec: Don't explicitly include unistd.h any longer
unistd.h used to be required for gethostname. On windows, gethostname
is provided by winsock2.h. Now network.h includes both unistd.h and
winsock2.h if they exist.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-29 15:38:10 +03:00
Michael Niedermayer
e8e733adcc dca: favor native over ffmpeg in table name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 13:31:44 +02:00
Stefano Sabatini
4fd07b9366 ffplay: avoid useless NULL checks in swr_free()
swr_free() already checks for nullness, no need to add the check in
calling code.
2012-06-29 13:24:57 +02:00
Stefano Sabatini
4674718203 ffplay: fix wrong reference to function in audio_decode_frame() comment
The comment now references swr_convert(), rather than audio_convert(),
which was deprecated and/or dropped.
2012-06-29 13:24:43 +02:00
Michael Niedermayer
491846e4be avutil: fix project name reference in doxy section
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 11:33:38 +02:00
Michael Niedermayer
84d73e9d5d dca: fix project reference in table name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 11:31:37 +02:00
Michael Niedermayer
be4ffb28b3 vf_ass: fix table name to refer to correct lib.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 11:28:34 +02:00
Michael Niedermayer
c83ed18d45 formats.h: fix project reference in comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 11:26:18 +02:00
Michael Niedermayer
c496224374 pixdesc: fix project reference in comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 11:23:56 +02:00
Paul B Mahol
8fbe11e623 Replace Libav with FFmpeg in license headers for files created by me
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-29 01:58:34 +00:00
Michael Niedermayer
c103dc0b48 git-howto: replace confusing and incorrect text about he testsuite by mostly a correct text.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 01:17:07 +02:00
Michael Niedermayer
4e82bdea60 git-howto: partial rewrite of the push checklist to make it match sanity & reality.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 01:06:12 +02:00
Michael Niedermayer
8bff1d7cb0 git-howto: remove inconvenient and odd 24h limit on rsync
This was never true for FFmpeg in this form.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 00:33:49 +02:00
Michael Niedermayer
7c8b5d1d80 Makefile: remove checkheaders from the main check target
checkheaders doesnt pass and noone has even noticed since a very
long time.

checkheaders is also unmaintained (please add yourself to MAINTAINERS
if you want to maintain it)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 00:05:40 +02:00
Michael Niedermayer
d007f963c2 git-howto: cleanup, remove unreasonable recommendition.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 00:03:12 +02:00
Michael Niedermayer
4453f6b861 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flv: add support for G.711
  doc: git: Add checklist with test steps to perform before pushing
  flvenc: K&R formatting cosmetics
  movenc: Add channel layouts for PCM.

Conflicts:
	libavformat/flvenc.c
	tests/ref/fate/acodec-pcm-s16be
	tests/ref/fate/acodec-pcm-s24be
	tests/ref/fate/acodec-pcm-s32be
	tests/ref/fate/acodec-pcm-s8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 23:57:31 +02:00
Stefano Sabatini
7877b50d18 ffplay: simplify code by using avfilter_unref_bufferp() 2012-06-28 22:27:05 +02:00
Stefano Sabatini
b0fdd3489a lavfi: deprecate av_buffersrc_buffer() function
Favor av_buffersrc_add_ref() instead, which is more powerful.
2012-06-28 22:27:05 +02:00
Nick Brereton
cd8bef969a Generate channel layout, reordering for DTS-XXCH extension and, undo embedded downmixes
Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 22:26:15 +02:00
Nick Brereton
16f6c16ac0 Parse & decode DTS XXCH frames
Reviewed-by: Benjamin Larsson <benjamin@southpole.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 22:26:15 +02:00
Jeff Downs
8d9fd58113 h264: Fix maximum reference count check for non-b frames
Below fixes the maximum reference count check for second reference list in
non-B frames.  There is nothing to prohibit full (field sized) reference
list in this case as far as I can tell, and this fixes several syntax-test
files here (this is a regression caused when this check was made more
stringent by
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=dc9ce40069bde3d28f8d0b3e5bd733ae255fecb5)

Probably a silly corner case seldom seen irl, but thought I'd pass along
in case there was interest in correcting the check.

---------------

h264: Fix maximum reference count check for non-b frames; full range is
technically ok

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 22:25:38 +02:00
Nicolas George
8069db8633 ffmpeg: warn that -t does not work with -filter_complex. 2012-06-28 21:40:50 +02:00
Nicolas George
2c793b8501 ffmpeg: warn when -t is used for inputs.
Using -t on an input already have surprising results.
Furthermore, using it on an input or an output makes
a real difference if there are speed-altering filters.

Implementing -t for inputs will probably result in some
behavour changes.
2012-06-28 21:40:43 +02:00
Nicolas George
fcf8706ed9 sink_buffer: warn when there are too many buffers. 2012-06-28 21:10:03 +02:00
Nicolas George
05d6cc116e buffersrc: warn when there are too many buffers. 2012-06-28 21:10:03 +02:00
Paul B Mahol
3f59bbf5b6 lavfi/amerge: silence warnings
The warning silenced was: libavfilter/af_amerge.c:144:29: warning: conversion specifies type 'long long' but the argument has type 'int' [-Wformat]

The warning was introduced after FF_API_SAMPLERATE64 removal.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-28 17:18:37 +00:00
Paul B Mahol
61123fb8f7 parseutils: fix sorting of colors
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-28 17:15:08 +00:00
Michael Niedermayer
e377208d43 ffmpeg: dont copy creation_time as the destination file is not created at that time
Fixes Ticket1439

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 17:09:36 +02:00
Damien Fetis
b92c7ee662 flv: add support for G.711
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-06-28 16:53:09 +02:00
Diego Biurrun
433492ac65 doc: git: Add checklist with test steps to perform before pushing 2012-06-28 13:47:22 +02:00
Luca Barbato
1cb34ea4fe flvenc: K&R formatting cosmetics 2012-06-28 13:05:43 +02:00
Michael Niedermayer
782763ed2b swr: fix compilation with ancient toolchain that doesnt support SSSE3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 11:13:19 +02:00
Michael Niedermayer
ccbcf482ad udp: use av_freep() instead of av_free()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 10:12:04 +02:00
Michael Bradshaw
fc5999d027 lavf: add proper enum type for fmt ctx duration esitmation method
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
2012-06-28 09:59:53 +02:00
Michael Niedermayer
87df986dcf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mss1: validate number of changeable palette entries
  mss1: report palette changed when some additional colours were decoded
  x86: fft: replace call to memcpy by a loop
  udp: Support IGMPv3 source specific multicast and source blocking
  dxva2: include dxva.h if found
  libm: Provide fallback definitions for isnan() and isinf()
  tcp: Pass NULL as hostname to getaddrinfo if the string is empty
  tcp: Set AI_PASSIVE when the socket will be used for listening

Conflicts:
	configure
	libavcodec/mss1.c
	libavformat/udp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 01:08:52 +02:00
Michael Niedermayer
ee7214c59a log: change color for filters from blue to bright green
The blue is difficult to read on several peoples terminals with black background.

Idea-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 00:36:32 +02:00
Michael Niedermayer
4ccf6e3971 swr: MMX2 & SSSE3 int16 resample core
about 4 times faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 00:36:27 +02:00
Michael Niedermayer
7803a04041 http: try to detect live akamai streams and dont enable seeking for them
Fixes ticket1320

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 00:18:24 +02:00
Michael Niedermayer
d1c74ca2be lsp: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 00:07:22 +02:00
Michael Niedermayer
b1a17953ec lpc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 00:07:10 +02:00
Eric Petit
f1136b2b10 udp: fix occasional crash on shutdown
Wait until the thread is down before destroying the fifo

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 22:50:22 +02:00
Alex Converse
a112822597 movenc: Add channel layouts for PCM. 2012-06-27 13:47:58 -07:00
Michael Bradshaw
54942c2383 lavc: clarify docs for avpkt->destruct
avcodec_encode_audio2 docs are ambiguous about avpkt->destruct and imply
it gets reset.

Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 22:29:54 +02:00
Kostya Shishkov
15358ade15 mss1: validate number of changeable palette entries 2012-06-27 18:05:58 +02:00
Kostya Shishkov
8f5d573a83 mss1: report palette changed when some additional colours were decoded 2012-06-27 18:05:58 +02:00
Christophe Gisquet
a5bfa66df5 x86: fft: replace call to memcpy by a loop
The function call was a mess to handle, and memcpy cannot make
the assumptions we do in the new code.

Tested on an IMC sample: 430c -> 370c.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-27 12:49:33 +01:00
Martin Storsjö
75d339e044 udp: Support IGMPv3 source specific multicast and source blocking
Based on an original patch by Stephen D'Angelo <SDAngelo@evertz.com>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:39:00 +03:00
Ronald S. Bultje
fa84506177 dxva2: include dxva.h if found
Apparently, some build environments require dxva.h even for dxva2,
while others lack this header entirely.  Including it conditionally
allows building in both cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:36:27 +03:00
Martin Storsjö
46df708b45 libm: Provide fallback definitions for isnan() and isinf()
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:04:02 +03:00
Jordi Ortiz
ef882e464a tcp: Pass NULL as hostname to getaddrinfo if the string is empty
This gives you the proper v4 or v6 version of the "any address",
allowing receiving connections on any address on the machine.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:04:02 +03:00
Jordi Ortiz
58f3e09ee4 tcp: Set AI_PASSIVE when the socket will be used for listening
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:04:02 +03:00
Michael Niedermayer
b536e2facf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: add an assert to silence an uninitialized variable warning.
  avconv: shut up an uninitialized variable warning.
  avfiltergraph: shut up uninitialized variable warning.
  af_join: initialize a variable to shut up gcc warning.
  amix: fix format specifier for AVFilterLink.sample_rate.
  lavfi: make filters less verbose.
  mpc8: read APE tags.
  lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes
  libm: provide fallback definition for cbrtf() using powf()
  network: Don't redefine error codes if they already exist in errno.h
  configure: Check for sys/time.h
  network: Include unistd.h from network.h
  avconv: don't include vsrc_buffer.h, which doesn't exist anymore
  lavfi: reorder AVFilterLink fields.
  lavfi: reorder AVFilterContext fields.
  lavfi: reorder AVFilter fields.
  lavfi: reorder AVFilterBufferRef fields.
  lavfi: reorder AVFilterBuffer fields.

Conflicts:
	configure
	libavcodec/v210dec.h
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_crop.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_fade.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vsrc_color.c
	libavformat/network.h
	libavutil/libm.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 01:58:09 +02:00
Michael Niedermayer
5916bc4658 Merge commit '1961e46c15c23a041f8d8614a25388a3ee9eff63'
* commit '1961e46c15c23a041f8d8614a25388a3ee9eff63':
  lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft
  lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft
  lavfi: use proper FF_API guards for different deprecated functions
  lavfi: remove disabled FF_API_VSRC_BUFFER_ADD_FRAME cruft
  lavfi: remove disabled FF_API_SAMPLERATE64 cruft
  lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft

Conflicts:
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/graphparser.c
	libavfilter/version.h
	libavfilter/video.c
	libavfilter/vsrc_buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 00:34:36 +02:00
Michael Niedermayer
052f4f859c Merge commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a'
* commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a':
  lavfi: remove 'opaque' parameter from AVFilter.init()
  mov: do not try to read total disc/track number if data atom is too short.
  avconv: fix -force_key_frames
  dxva2_h264: fix signaling of mbaff frames
  x86: fft: elf64: fix PIC build

Conflicts:
	ffmpeg.c
	libavcodec/v210dec.h
	libavfilter/asrc_anullsrc.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_overlay.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-26 23:57:07 +02:00
Anton Khirnov
c29c1a1b6b avconv: add an assert to silence an uninitialized variable warning.
The warning silenced was:
avconv.c: In function ‘opt_output_file’:
avconv.c:3380:21: warning: ‘meta_out’ may be used uninitialized in this function [-Wuninitialized]
avconv.c:3315:20: note: ‘meta_out’ was declared here
2012-06-26 19:32:41 +02:00
Anton Khirnov
74853ed3f8 avconv: shut up an uninitialized variable warning.
The warning silenced was:
avconv.c: In function ‘configure_filtergraph’:
avconv.c:603:8: warning: ‘ist’ may be used uninitialized in this function [-Wuninitialized]
avconv.c:549:18: note: ‘ist’ was declared here
2012-06-26 19:31:51 +02:00
Anton Khirnov
61d158c321 avfiltergraph: shut up uninitialized variable warning.
The warning silenced was:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:500:13: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:10:17 +02:00
Anton Khirnov
fd2784c3b5 af_join: initialize a variable to shut up gcc warning.
The warning silenced was:
libavfilter/af_join.c: In function ‘join_request_frame’:
libavfilter/af_join.c:451:9: warning: ‘nb_samples’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:09:15 +02:00
Anton Khirnov
422008ac63 amix: fix format specifier for AVFilterLink.sample_rate.
It is a plain int now.
2012-06-26 19:08:26 +02:00
Anton Khirnov
1a49a169eb lavfi: make filters less verbose. 2012-06-26 19:08:13 +02:00
Anton Khirnov
ce0a975689 mpc8: read APE tags. 2012-06-26 19:05:24 +02:00
Gavin Kinsey
37b5959d96 examples/filtering: fix packet memleak
Free packets unconditionally after demuxing, and not only when the
packets belong to a given stream.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-06-26 19:04:17 +02:00
Gavin Kinsey
9ebed95db6 examples/filtering_video: update to the new API
Update the video filtering example program based on the audio one.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-06-26 19:04:11 +02:00
Justin Ruggles
acd9948e74 lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes
Changed to match the number of parameters in conv_func_interleave(), which is
how they are called. The change isn't strictly necessary because the 4th
parameter is not used, but the code is clearer if they match.
2012-06-26 12:29:35 -04:00
Mans Rullgard
153335625c libm: provide fallback definition for cbrtf() using powf()
This adds a fallback for cbrtf() using powf(x, 1/3).  Since
powf() with a non-integer exponent requires a non-negative
base, special handling of negative inputs is needed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-26 15:56:38 +01:00
Ronald S. Bultje
4b1b1449d9 network: Don't redefine error codes if they already exist in errno.h
Since the errno.h values don't match the error codes that winsock
returns, map the winsock error codes to the errno ones, to make
sure explicit checks against AVERROR(x) match.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 17:22:21 +03:00
Ronald S. Bultje
e64bceeac0 configure: Check for sys/time.h
Apparently this include is needed on some systems for building the
poll fallback (for the timeval struct for select?), but it isn't
available on all systems. Thus only include it if it exists.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 17:22:21 +03:00
Martin Storsjö
39dba5aa1b network: Include unistd.h from network.h
This heaader is required for close() for sockets in network
code. For winsock, the equivalent function is defined in the
winsock2.h header.

This avoids having the HAVE_UNISTD_H in all files dealing with
raw sockets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 17:22:21 +03:00
Mans Rullgard
37c3864ef7 x86: fft: elf64: fix PIC build
In a 64-bit PIC build, external functions must be called
through the PLT.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-26 15:57:32 +02:00
Nicolas George
d4c45b8adf Revert "Revert "x86: fft: win64: fix stack alignment for memcpy() call""
This reverts commit f767658414.

The bug it introduces has been fixed.
2012-06-26 15:56:01 +02:00
Nicolas George
91765594dd Revert "Revert "x86: fft: convert sse inline asm to yasm""
This reverts commit fd91a3ec44.

The bug it introduced has been fixed.
2012-06-26 15:55:41 +02:00
Anton Khirnov
b8c632a720 avconv: don't include vsrc_buffer.h, which doesn't exist anymore 2012-06-26 14:33:01 +02:00
Anton Khirnov
83ba22392d lavfi: reorder AVFilterLink fields.
Move private fields to the private section, remove holes.
2012-06-26 13:25:13 +02:00
Anton Khirnov
f892013ac4 lavfi: reorder AVFilterContext fields.
Place related fields together, remove holes.
2012-06-26 13:24:36 +02:00
Anton Khirnov
9618080512 lavfi: reorder AVFilter fields.
Place related fields together, remove holes, move private fields to the
end and mark them as private.
2012-06-26 13:23:51 +02:00
Anton Khirnov
f14e685609 lavfi: reorder AVFilterBufferRef fields.
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
cb81e29138 lavfi: reorder AVFilterBuffer fields.
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
1961e46c15 lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft 2012-06-26 13:20:19 +02:00
Anton Khirnov
5e88b96f37 lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft 2012-06-26 13:18:44 +02:00
Anton Khirnov
205e90249a lavfi: use proper FF_API guards for different deprecated functions 2012-06-26 13:17:31 +02:00
Nicolas George
784675ca91 sink_buffer: make opaque argument optional. 2012-06-26 13:17:30 +02:00
Nicolas George
a2bd8a9384 buffersink: group libav API functions. 2012-06-26 13:17:29 +02:00
Anton Khirnov
0b3b958135 lavfi: remove disabled FF_API_VSRC_BUFFER_ADD_FRAME cruft 2012-06-26 13:15:26 +02:00
Anton Khirnov
6c1e065bd4 lavfi: remove disabled FF_API_SAMPLERATE64 cruft 2012-06-26 13:15:14 +02:00
Anton Khirnov
8d900aa4d0 lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft 2012-06-26 13:14:59 +02:00
Anton Khirnov
a5e8c41c28 lavfi: remove 'opaque' parameter from AVFilter.init()
It is not used in any filters currently and is inherently evil. If
passing binary data to filters is required in the future, it should be
done with some AVOptions-based system.
2012-06-26 13:13:48 +02:00
Carl Eugen Hoyos
fbcaceb1ff mov: do not try to read total disc/track number if data atom is too short.
Fixes bug 308.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-26 13:12:50 +02:00
Stefano Sabatini
e6674e46ec lavu/imgutils: create misc functions for dealing with buffers
Move the lavc/imgconvert functions and rename them as follows:
avpicture_get_size -> av_image_get_buffer_size()
avpicture_fill     -> av_image_fill_arrays()
avpicture_layout   -> av_image_copy_to_buffer()

The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).

The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).
2012-06-26 13:12:12 +02:00
Anton Khirnov
19ad567311 avconv: fix -force_key_frames
parse_forced_keyframes() relies in encoder timebase being set, so call
it from transcode_init() after it is known.
2012-06-26 13:10:33 +02:00
Nicolas George
fd91a3ec44 Revert "x86: fft: convert sse inline asm to yasm"
This reverts commit 8299260470.

It breaks shared builds on x86_64.
2012-06-26 13:00:14 +02:00
Nicolas George
f767658414 Revert "x86: fft: win64: fix stack alignment for memcpy() call"
This reverts commit 8725da49a2.

Necerrary to revert 8299260470.
2012-06-26 12:59:48 +02:00
Stefano Sabatini
79a7451d06 ffplay: add configure_filtergraph() helper
Will help factorization with the pending -af patch, and add some checks
missing in the original code.
2012-06-26 11:42:51 +02:00
Stefano Sabatini
720ec62012 lavfi: drop deprecated and disabled packing API
It was deprecated and removed after the recent 2->3 major bump.
2012-06-26 11:40:21 +02:00
Stefano Sabatini
8dd0e87d7b lavfi: remove old video sink API
It was deprecated since a long time and removed after the 2->3 major
bump.
2012-06-26 11:40:08 +02:00
Stefano Sabatini
f054dbee6c tools/graph2dot: make dot graph representation a bit more compact 2012-06-26 11:34:38 +02:00
Hendrik Leppkes
ea1c5011b3 dxva2_h264: fix signaling of mbaff frames
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 11:59:24 +03:00
Carl Eugen Hoyos
6eff277284 Make LucasArts Smush SANM palette opaque.
Reviewed-by: Paul B Mahol
2012-06-26 09:54:30 +02:00
Carl Eugen Hoyos
c77bcbbb32 Signal MSS1 palette change.
Reviewed-by: Paul B Mahol
2012-06-26 09:30:27 +02:00
Michael Niedermayer
3b0ad040b3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  log: Include io.h on windows
  lavr: x86: merge some branches
  x86: cpu: whitespace (mostly) cosmetics
  x86: fft: win64: fix stack alignment for memcpy() call

Conflicts:
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-26 01:13:07 +02:00
yang
9b72041f80 x86/intmath.h: Fix mull operand constraints
Fixes Ticket1466

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-26 01:08:35 +02:00
Paul B Mahol
e3c2670539 mss1: check number of free colours
Prevents out of array write.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-25 23:07:18 +00:00
Michael Niedermayer
8a0cd58729 sonic: fix FPE
Fixes Ticket1397

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-26 00:38:05 +02:00
Mans Rullgard
0595334892 x86: fft: elf64: fix PIC build
In a 64-bit PIC build, external functions must be called
through the PLT.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-25 22:58:18 +01:00
Michael Niedermayer
dc30c27eb1 h264_parser: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 23:10:45 +02:00
Michael Niedermayer
cd6aa95caa h264_loopfilter: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 23:10:45 +02:00
Stefano Sabatini
9b41ec4b9e lavfi/drawtext: use av_opt_free() to free private context
Simplify code.
2012-06-25 22:49:16 +02:00
Stefano Sabatini
6be8cfa034 lavfi/abuffer: increase logging level of the log showing initial parameters
Also show them in a more parsable/consistent fashion.
2012-06-25 22:49:16 +02:00
Stefano Sabatini
8a3544149f lavfi/avfilter.h: reorganize headers disposition
Group lavfi headers together, slightly improve readability.
2012-06-25 22:49:09 +02:00
Ronald S. Bultje
246154a9af log: Include io.h on windows
This is required for isatty, which exists on MSVC and is found by
configure, but is provided by io.h instead of unistd.h.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-25 23:28:36 +03:00
Carl Eugen Hoyos
bec21ce7f4 Make MSS1 palette opaque. 2012-06-25 21:16:06 +02:00
Justin Ruggles
14a34d90ad lavr: x86: merge some branches 2012-06-25 13:49:18 -04:00
Paul B Mahol
ebfcd6049f doc/general: fix output
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-25 17:36:57 +00:00
Mans Rullgard
963cdf39b4 x86: cpu: whitespace (mostly) cosmetics
This adds whitespace around operators, aligns line continuation
backslashes, and breaks long lines.  Also fixes an ifdef halfway
through a statement.  The one line of duplication this saved is
not worth the ugliness.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-25 16:24:31 +01:00
Michael Niedermayer
a6ff8514a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wtv: Check the return value from gmtime
  x86: fft: convert sse inline asm to yasm
  x86: place some inline asm under #if HAVE_INLINE_ASM

Conflicts:
	libavcodec/x86/fft_sse.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 16:55:31 +02:00
Mans Rullgard
8725da49a2 x86: fft: win64: fix stack alignment for memcpy() call 2012-06-25 15:10:39 +01:00
Martin Storsjö
dc53858063 wtv: Check the return value from gmtime
On MSVC, gmtime returns NULL for values outside of their supported
range (and these show up in our fate test). This doesn't seem
to affect the actual fate test result.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-25 16:20:08 +03:00
Mans Rullgard
8299260470 x86: fft: convert sse inline asm to yasm 2012-06-25 13:31:00 +01:00
Ronald S. Bultje
8123e0901f x86: place some inline asm under #if HAVE_INLINE_ASM
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-25 13:23:12 +01:00
Stefano Sabatini
fec512a52c ffplay: give more meaningful names to the buffersink instances 2012-06-25 13:42:53 +02:00
Stefano Sabatini
43583fb85c lavfi/avcodec: deprecate avfilter_fill_frame_from_*_buffer_ref API
Deprecate functions:
avfilter_fill_frame_from_buffer_ref
avfilter_fill_frame_from_audio_buffer_ref
avfilter_fill_frame_from_video_buffer_ref

and schedule to drop them at the next API major bump.

The function avfilter_copy_buf_props() should be used instead.
2012-06-25 13:42:47 +02:00
Stefano Sabatini
972cad77fa lavfi: remove unnecessary inclusion of libavcodec/avcodec.h in avfilter.h
libavfilter API was designed in order to be clarly distinguished from the
libavcodec API, including avcodec.h in avfilter.h is not going to help to
stick to this principle.

The inclusion of libavutil/audioconvert.h in many files was required
because avcodec.h includes audioconvert.h.

libavfilter/avcodec.h is where the lavc/lavfi interface should be
entirely placed.
2012-06-25 13:42:37 +02:00
Stefano Sabatini
a31ab50712 lavfi: move some FF_API_ definitions from avfilter.h to version.h
version.h seems the right place for FF_API_ definitions.
2012-06-25 13:42:29 +02:00
Michael Niedermayer
5fd3e6965e vocenc: use new header from codec tag 4
this matches sox and should fix ticket1119

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 03:45:29 +02:00
Michael Niedermayer
0abfb0a9d8 vocenc: change default codec to 16bit
Hardly anyone would want 8bit today, 16bit is a much more reasonable
default.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 03:35:09 +02:00
Michael Niedermayer
bacbbd2b03 vocenc: fix sample rate rounding direction
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 03:30:12 +02:00
Michael Niedermayer
f15803e957 fate: Try to fix source path for fate-acodec-dca
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 01:58:18 +02:00
Michael Niedermayer
166f386446 fate: speedup dnxhd tests and reduce their memory requirements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 00:38:35 +02:00
Paul B Mahol
7ebe28c23c xwdenc: support 8bpp grayscale
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-24 11:42:14 +00:00
Piotr Bandurski
b9c94e826e xwddec: support 8bpp grayscale 2012-06-24 11:34:02 +00:00
Michael Niedermayer
244682dd08 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  log: Only include unistd.h if configure found it
  ape: create audio stream before reading tags.
  mov: make a length variable larger.
  image2: Add "start_number" private option to the demuxer
  image2: Add "start_number" private option to the muxer
  avconv: remove a forgotten debugging printf.
  avconv: use more descriptive names for hardcoded filters.
  avconv: remove redundant handling of async.
  doc/filters: fix typo.
  h264: use asm cabac reader under a generic condition

Conflicts:
	ffmpeg.c
	libavformat/img2dec.c
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 21:34:54 +02:00
Michael Niedermayer
5c44c2de80 mlp_parser: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 20:20:23 +02:00
Michael Niedermayer
f0a3259f9a rangecoder.h: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 20:18:00 +02:00
Michael Niedermayer
ee51565e8e configure: fix libavutil.pc generation
Found-by: uau
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 20:11:11 +02:00
Michael Niedermayer
62975afa68 af_aresample: fix sample_rate type.
should fix fate failures on 32bit x86 linux

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 15:13:39 +02:00
Michael Niedermayer
3013722c13 sink_buffer: assert that functions and sinks arent mixed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 14:17:14 +02:00
Michael Niedermayer
fbf03ee391 ffmpeg: fix indent of 1 line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 14:16:45 +02:00
Michael Niedermayer
11f2cad127 examples/filtering_audio: update for avfilter API "cleanup"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 14:15:53 +02:00
Mashiat Sarker Shakkhar
98b3f17bd7 image2: Add "start_number" private option to the demuxer
Currently if a pattern is given we search for up to the fifth file name in
that sequence. This option sets that limit to an arbitrary number.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 12:40:54 +02:00
Michael Niedermayer
eeddd3962e cpu.h: include version.h for LIBAVUTIL_VERSION_MAJOR
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 12:34:12 +02:00
Michael Niedermayer
c41899a377 lavu: split version info into version.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 12:34:12 +02:00
Martin Storsjö
145a8096d5 log: Only include unistd.h if configure found it
MSVC has isatty (in io.h), but not unistd.h. (isatty isn't called
at all for windows, since there's a special case block for that.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-24 12:36:22 +03:00
Anton Khirnov
980e65f119 ape: create audio stream before reading tags.
Tags may contain attached picture, which will be exported as video
streams.

This ensures that the audio stream is always the first.
2012-06-24 07:55:33 +02:00
Anton Khirnov
a7b8ff94b1 mov: make a length variable larger.
Right now, it's uint16_t, but for itunes metadata a 32bit number is
stored in it.
2012-06-24 07:54:29 +02:00
Mashiat Sarker Shakkhar
f57d2f587b image2: Add "start_number" private option to the demuxer
Currently if a pattern is given we look for up to the fifth file name in
the sequence. This option sets that limit to an arbitrary number.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-24 07:37:38 +02:00
Mashiat Sarker Shakkhar
b5bce20cc3 image2: Add "start_number" private option to the muxer
This adds the capability to start counting file number from an arbitrary
integer.

This includes a few lines of trivial code from FFmpeg codebase.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-24 07:35:54 +02:00
Anton Khirnov
fd269d6253 avconv: remove a forgotten debugging printf. 2012-06-24 07:15:32 +02:00
Anton Khirnov
df98bf22cb avconv: use more descriptive names for hardcoded filters.
Also ensure that all such filters get a non-NULL name. Should fix FATE
failures on some architectures after
58b049f2fa.
2012-06-24 07:15:32 +02:00
Anton Khirnov
6fc7d9a078 avconv: remove redundant handling of async.
Because of a mistake during merging the code for simple and complex
filtergraphs, -async inserts an asyncts filter both on input and output.
Remove the output hunk.
2012-06-24 07:15:31 +02:00
Anton Khirnov
7a8059eb9c doc/filters: fix typo. 2012-06-24 07:15:31 +02:00
Hendrik Leppkes
b5e6aa6c33 dxva2_h264: fix signaling of mbaff frames
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 03:22:31 +02:00
Michael Niedermayer
1c60088885 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Only use optimizations with cmov if the CPU supports the instruction
  x86: Add CPU flag for the i686 cmov instruction
  x86: remove unused inline asm macros from dsputil_mmx.h
  x86: move some inline asm macros to the only places they are used
  lavfi: Add the af_channelmap audio channel mapping filter.
  lavfi: add join audio filter.
  lavfi: allow audio filters to request a given number of samples.
  lavfi: support automatically inserting the fifo filter when needed.
  lavfi/audio: eliminate ff_default_filter_samples().

Conflicts:
	Changelog
	libavcodec/x86/h264dsp_mmx.c
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/version.h
	libavutil/x86/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 02:09:53 +02:00
Michael Niedermayer
da728d5d2e ffmpeg: fix FF_API_OLD_VSINK_API=0 case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 02:05:57 +02:00
Michael Niedermayer
caf7381d50 ffmpeg: fix mixup of old and new sinks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 02:05:56 +02:00
Mans Rullgard
0b6f973635 h264: use asm cabac reader under a generic condition
This removes a dependency on implementation details from generic
code and allows easy addition of the equivalent optimisation for
other architectures than x86.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-23 22:14:21 +01:00
Michael Niedermayer
f8fe4d2295 snow.h: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 21:12:29 +02:00
Michael Niedermayer
be64d5f520 snow.c: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 21:12:29 +02:00
Mashiat Sarker Shakkhar
f7595fb3b5 image2: Add "start_number" private option to the muxer
This adds the capability to start counting file number from an arbitrary
integer instead of always starting at 1.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 21:12:01 +02:00
Diego Biurrun
fe07c9c6b5 x86: Only use optimizations with cmov if the CPU supports the instruction 2012-06-23 16:21:50 +02:00
Diego Biurrun
65345a5a30 x86: Add CPU flag for the i686 cmov instruction 2012-06-23 16:21:50 +02:00
Mans Rullgard
29686d6ea3 x86: remove unused inline asm macros from dsputil_mmx.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-23 14:14:06 +01:00
Mans Rullgard
685f5438bb x86: move some inline asm macros to the only places they are used
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-23 14:14:06 +01:00
Nicolas George
6fd0b55ab2 showwaves: fix PTS computation. 2012-06-23 15:08:23 +02:00
Nicolas George
6d627eae3c showwaves: fix first sample of frame test.
Avoids a huge memleak when n != 1.
2012-06-23 15:08:22 +02:00
Nicolas George
bd9939f495 lavfi: display pad type with mismatch error message. 2012-06-23 11:34:46 +02:00
Paul B Mahol
e9d5c0520f lavc: use designated initializers for AVClasses
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-23 00:30:37 +00:00
Paul B Mahol
53cec46b25 libschroedingerdec: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-23 00:29:34 +00:00
Michael Niedermayer
a619fd277a mjpegenc: enable frame multithreading encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 01:38:47 +02:00
Michael Niedermayer
fde1bc64ad lavc: add frame multithreading capability (currently intra only)
Compared to the decoder side, this code is able to change both the
delay and the number of threads seamlessly during encoding. Also
any idle thread can pick up tasks, the strict round robin in order
limit is gone too.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 01:38:47 +02:00
Michael Niedermayer
0c851e4642 threads: make get_logical_cpus() available outside pthread.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 01:38:47 +02:00
Michael Niedermayer
094c5e6c55 mjpegenc: mark as intra only
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 01:38:47 +02:00
Michael Niedermayer
9eae43ddcf lavc: add intra only codec flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 01:38:47 +02:00
Paul B Mahol
9277965883 bmpenc: use av_assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-22 22:47:33 +00:00
Stefano Sabatini
c0ca840837 lavfi/buffer: remove unused function av_vsrc_buffer_add_frame_alt() 2012-06-23 00:42:51 +02:00
Stefano Sabatini
39e019e8c1 ffplay: add cast to fix warning in configure_video_filters()
Fix warning:
ffplay.c:1578:40: warning: passing argument 5 of ‘avfilter_graph_create_filter’ discards ‘const’ qualifier from pointer target type [enabled by default]
libavfilter/avfiltergraph.h:84:5: note: expected ‘void *’ but argument is of type ‘const enum PixelFormat *’
2012-06-23 00:42:51 +02:00
Stefano Sabatini
1dce2368bb lavfi/buffer: apply misc consistency nits 2012-06-23 00:42:51 +02:00
Stefano Sabatini
201b409da0 lavc/pcm: clarify error message from pcm_decode_frame()
Extend/clarify an error message in case of invalid packet size, and
return a proper error message instead of -1.
Improve debuggability.
2012-06-23 00:42:51 +02:00
Michael Niedermayer
69971410f9 ff_snow_common_end: assert() that the last buffer freed differs from the current.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 23:53:24 +02:00
Michael Niedermayer
c13e490dce codec_release_buffer: fix handling of non user buffers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 23:53:24 +02:00
Stefano Sabatini
c17808cebd lavfi: define macro AVFILTER_DEFINE_CLASS
The macro can be used to define consistently the internal class of a
filter, save some typing and factorize.
2012-06-22 23:11:43 +02:00
Stefano Sabatini
012aa12a6b lavfi/drawtext: remove unnecessary parentheses in init() 2012-06-22 23:11:43 +02:00
Alex Converse
41e637e449 lavfi: Add the af_channelmap audio channel mapping filter.
Inspired by MPlayer's af_channels filter and SoX's remix effect.
2012-06-22 13:55:58 -07:00
Michael Niedermayer
0567715a6b qsort: flip compare direction to match libc qsort()
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 22:48:00 +02:00
Michael Niedermayer
e847f41285 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libspeexenc: add supported sample rates and channel layouts.
  Replace usleep() calls with av_usleep()
  lavu: add av_usleep() function
  utvideo: mark interlaced frames as such
  utvideo: Fix interlaced prediction for RGB utvideo.
  cosmetics: do not use full path for local headers
  lavu/file: include unistd.h only when available
  configure: check for unistd.h
  log: include unistd.h only when needed
  lavf: include libavutil/time.h instead of redeclaring av_gettime()

Conflicts:
	configure
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/utvideo.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 22:34:02 +02:00
Clément Bœsch
492cc9bcc4 ffmpeg: remove unused buffer_size in InputFile. 2012-06-22 22:13:22 +02:00
Michael Niedermayer
8aeed14459 h.263enc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 21:51:05 +02:00
Michael Niedermayer
c8f4c83e70 h.263dec: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 21:50:50 +02:00
Anton Khirnov
dc07fb6f7b lavfi: add join audio filter.
It joins multiple input streams into one multi-channel output.
2012-06-22 21:26:18 +02:00
Anton Khirnov
f75be9856a lavfi: allow audio filters to request a given number of samples.
This makes synchronization simpler for filters with multiple inputs.
2012-06-22 21:23:42 +02:00
Anton Khirnov
58b049f2fa lavfi: support automatically inserting the fifo filter when needed.
This breaks libavfilter ABI.
2012-06-22 21:06:01 +02:00
Anton Khirnov
fa06623930 lavfi/audio: eliminate ff_default_filter_samples().
It currently does the following:
1) get a zeroed audio buffer
2) copy some properties (but not the data) of the input buffer to it
3) pass this buffer to the output filter
This looks useless and is indeed not used by any filters, therefore
delete it.

Make ff_null_filter_samples() (just pass the buffer to the next filter)
the new default.
2012-06-22 20:58:19 +02:00
Wolfram Gloger
258dfff839 extend log line buffer sizes
The string passed to av_vlog() from libx264's X264_log overflows the 512
byte part_size, truncating x264 parameter output.  Double this size
and put it in a #define so it only needs to be changed in one place.

Signed-off-by: Wolfram Gloger <video06@malloc.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 19:16:51 +02:00
Anton Khirnov
9ee3334840 libspeexenc: add supported sample rates and channel layouts. 2012-06-22 19:03:24 +02:00
Mans Rullgard
896bb0d742 Replace usleep() calls with av_usleep()
This reduces the dependency on unistd.h which is not available
on all systems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-22 17:15:36 +01:00
Mans Rullgard
d3d3a32c9d lavu: add av_usleep() function
This function implements a delay using the first available
of the following functions:

- nanosleep()
- usleep()
- Sleep() (Windows)

The conditional #includes in time.c are simplified by including
unistd.h and windows.h whenever they are available rather than
having these lines triggered by specific functions.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-22 17:15:18 +01:00
Hendrik Leppkes
f6b4624fcf utvideo: mark interlaced frames as such
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-22 11:45:51 -04:00
Carl Eugen Hoyos
8875333707 utvideo: Fix interlaced prediction for RGB utvideo.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-22 11:45:25 -04:00
Michael Niedermayer
1e7943c315 snow: yuv410 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 17:23:09 +02:00
Michael Niedermayer
fba18ef8cc x86/dsputil_mmx: support 4 sample edges
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 17:23:09 +02:00
Carl Eugen Hoyos
15bde06084 Revert "mathematics.h: remove a couple of math defines"
This reverts commit a2b186a188.

The defines were present for several years, removing
them without a version bump may break API.
(Fixes MPlayer compilation.)
2012-06-22 16:10:42 +02:00
Paul B Mahol
10d2a4028c swresample: make .class_name more descriptive
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-22 14:01:15 +00:00
Michael Niedermayer
68c845cdba snow: yuv444 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 15:46:13 +02:00
Diego Biurrun
a5a93fa8f5 cosmetics: do not use full path for local headers 2012-06-22 10:49:40 +02:00
Michael Niedermayer
13ba872a2a snowenc: update pix_sum for rectangles, needed for non 420
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 04:45:13 +02:00
Michael Niedermayer
b4b7471ec4 snowenc: set chroma subsample factors correctly for non 420
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 04:45:13 +02:00
Paul B Mahol
81416c2f64 swscale: use designated initializers for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-22 02:34:34 +00:00
Michael Niedermayer
2fa5d8f234 ffmpeg: print swr options in --help too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 03:43:29 +02:00
Paul B Mahol
4cdff58206 fate: add tests for SANM and VIMA
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-22 00:16:03 +00:00
Hendrik Leppkes
5916313967 avformat: offset fps calculation by one to include 60.00 fps
To ensure the full range of values is still used, also adjust all uses of this function to loop from 0
instead of 1. This way only 60.00 is added and nothing lost.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 01:58:57 +02:00
Lou Logan
cdb94139cc doc/faq: Update video joining examples
-same_quant is not designed to convert between quantizer scales, AFAIK.

Add example using concat protocol.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 01:36:14 +02:00
Mans Rullgard
d11baad055 lavu/file: include unistd.h only when available
The unistd.h header is only needed for the close() declaration.
If this header is not available, the close() declaration may be
provided by another header, e.g. io.h.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-21 22:54:31 +01:00
Mans Rullgard
542920b7f6 configure: check for unistd.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-21 22:54:05 +01:00
Mans Rullgard
539df61193 log: include unistd.h only when needed
The only symbol this file uses from unistd.h is isatty().  By
including the header only when this function is used, the file
can be built on systems without unistd.h (which presumably also
lack isatty).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-21 22:53:35 +01:00
Mans Rullgard
c19e0ebe53 lavf: include libavutil/time.h instead of redeclaring av_gettime()
This avoids some warnings about redundant declarations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-21 22:53:05 +01:00
Michael Niedermayer
87dced8074 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fix hardcoded tables compililation caused by missing math constants
  lavf: Make codec_tag arrays constant
  twinvq: give massive struct a name.
  lavf, lavu: version bumps and APIchanges for av_gettime() move
  lavfi/audio: don't set cur_buf in ff_filter_samples().
  lavfi/fifo: add audio version of the fifo filter.
  fifo: fix parenthesis placement.
  lavfi: rename vf_fifo.c -> fifo.c
  lavc: remove stats_in from AVCodecContext options table.

Conflicts:
	doc/APIchanges
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/audio.c
	libavfilter/fifo.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 22:37:43 +02:00
Janne Grunau
1d01fee980 fix hardcoded tables compililation caused by missing math constants
Add -D_XOPEN_SOURCE=600 to host cflags to make the constants in math.h
available. Include math.h where necessary and remove redundant M_PI
defines.
2012-06-21 18:05:40 +02:00
Paul B Mahol
fd0b8c6ad5 sanm: silence warnings
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 14:57:21 +00:00
Nicolas George
9e63c30daa lavf: add a real SRT muxer.
This muxer supports CODEC_ID_SRT with the timestamps in the packet data
and CODEC_ID_TEXT with the timestamps in the packet fields.

Makes -scodec copy work from Matroska.
2012-06-21 20:52:56 +02:00
Hendrik Leppkes
14ac47fcc7 vc1: signal interlaced and tff flag to the consumer
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Reviewed-by: Mashiat Sarker Shakkhar <mashiat.sarker@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 19:49:37 +02:00
Michael Niedermayer
b829da3639 smacker: add sanity check for length in smacker_decode_tree()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 19:49:37 +02:00
Nicolas George
7681d0eaca lavd/lavfi: do not set the channel layout list.
The list was set to avfilter_all_channel_layouts,
which is really all common channel layouts.
Not setting it leaves an empty list,
which now means really all.
2012-06-21 19:40:49 +02:00
Ronald S. Bultje
67ffcb9613 lavf: Make codec_tag arrays constant
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-21 16:11:29 +03:00
Paul B Mahol
f4da707f58 Replace Libav with FFmpeg
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 12:33:28 +00:00
Paul B Mahol
3821632e1b smush: set audio packet duration
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 12:14:53 +00:00
Stefano Sabatini
1bb30d0295 lavfi/deshake: fix crash in uninit()
Add NULL check on avctx before calling avcodec_close() on it.

Fix trac ticket #1472.
2012-06-21 17:01:44 +02:00
Ronald S. Bultje
89ffd189ef twinvq: give massive struct a name.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-21 14:41:51 +03:00
Hendrik Leppkes
f77fd34bc3 aac: move sample_fmt selection before decoder configuration.
The decoder configuration initializes the sbr mdct, which needs to know about the sample format to properly take the scale factor into account.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 13:25:50 +02:00
Hendrik Leppkes
24e7a22e1f riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data.
According to the specification on the MSDN [1], 0 is valid for that particular field, and it should be ignored in that case.

[1]: http://msdn.microsoft.com/en-us/library/windows/desktop/dd757714(v=vs.85).aspx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 13:25:50 +02:00
Stefano Sabatini
cb08b6efc9 lavfi/scale: remove unused variable out_link
Fix warning:
libavfilter/vf_scale.c: In function ‘start_frame’:
libavfilter/vf_scale.c:284:23: warning: unused variable ‘out_link’ [-Wunused-variable]
2012-06-21 12:47:48 +02:00
Stefano Sabatini
c0b3c0ffb7 lavfi/audio: remove unused variable in ff_filter_samples()
Fix warning:
libavfilter/audio.c: In function ‘ff_filter_samples’:
libavfilter/audio.c:193:13: warning: unused variable ‘size’ [-Wunused-variable]
2012-06-21 12:47:48 +02:00
Stefano Sabatini
065851ffac lswr/rematrix: specify explicitly the name of the unsupported channel layouts
Help debugging.
2012-06-21 12:47:47 +02:00
Mans Rullgard
dc7e336cae lavf, lavu: version bumps and APIchanges for av_gettime() move
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-21 11:45:28 +01:00
Hendrik Leppkes
6d887ecac2 avformat: add 48 fps to the NTSC framerates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 12:04:47 +02:00
Hendrik Leppkes
2d61f0040d utvideo: mark interlaced frames as such
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 11:47:00 +02:00
Hendrik Leppkes
f6943f2379 lagarith: frame multithreading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 11:47:00 +02:00
Hendrik Leppkes
07d49437d5 wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 11:47:00 +02:00
Stefano Sabatini
98701be356 lavfi/ass: update use of deprecated functions, fix warnings 2012-06-21 11:11:56 +02:00
Stefano Sabatini
eda4500866 lavfi/blackdetect: add logic for handling stream termination
Add request_frame() which checks the black duration when the end of the
stream is signalled. Allow to detect black video segments at the end of
the stream.

Note that the reported last black video segment duration is not very
accurate, since we still miss the duration information in the video
buffer.

Address trac ticket #1470.
2012-06-21 11:11:50 +02:00
Stefano Sabatini
5bc87f1cd6 lavfi/blackdetect: fix pts time debug printing 2012-06-21 11:00:20 +02:00
Anton Khirnov
e026c9b390 lavfi/audio: don't set cur_buf in ff_filter_samples().
It's redundant, since the input buffer is passed as a parameter to the
filter_samples() callback, and can lead to stale pointers remaining on
the link.
2012-06-21 09:27:05 +02:00
Anton Khirnov
4a97ff2fa7 lavfi/fifo: add audio version of the fifo filter. 2012-06-21 07:38:35 +02:00
Anton Khirnov
27570e211a fifo: fix parenthesis placement. 2012-06-21 07:38:28 +02:00
Anton Khirnov
394a2a0452 lavfi: rename vf_fifo.c -> fifo.c
It will be used for audio too.
2012-06-21 07:38:14 +02:00
Anton Khirnov
a50b756280 lavc: remove stats_in from AVCodecContext options table.
Its documentation states that it is allocated/freed by the caller, but
it is declared as an AV_OPT_TYPE_STRING AVOption. Since
367732832f the AVOptions system frees
strings automatically. This can be considered an API break, since it
won't work when the caller doesn't use av_malloc() to allocate the
memory or wants to use the string after closing the codec.

Since there is not much value in this field being an AVOption, the best
solution is to remove it from the options table.
2012-06-21 07:36:44 +02:00
Paul B Mahol
bef8fd7099 LucasArts SMUSH demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 02:27:53 +00:00
Paul B Mahol
69254f4628 LucasArts SMUSH video decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 01:30:16 +00:00
Paul B Mahol
b18357326c LucasArts SMUSH VIMA audio decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 01:23:15 +00:00
Michael Niedermayer
5a90e55ece libavfilter/transform: fix mirroring.
mirror() borrowed from dwt.c, this could be moved to libavutil and made
public API, Ill submit a patch for this

Fixes Ticket1278

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 23:55:17 +02:00
Michael Niedermayer
104c914640 libavutil: fix author attribution
Libav.org has removed this while moving the code around

For reference, the code was originally added in:
commit 9aeeeb63f7
Author: Fabrice Bellard <fabrice@bellard.org>
Date:   Wed Dec 20 00:02:47 2000 +0000

    Initial revision

    Originally committed as revision 2 to svn://svn.ffmpeg.org/ffmpeg/trunk
--
The function name originates from:
commit 9498853132
Author: Fabrice Bellard <fabrice@bellard.org>
Date:   Thu Jul 25 16:01:46 2002 +0000

    more consistent naming

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 23:51:02 +02:00
Paul B Mahol
b2e2287c04 cdxl: disable checked bitstream reader
Overreads should not be possible.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-20 21:07:27 +00:00
Paul B Mahol
de05877390 lavfi: remove redundant checks after av_parse_video_rate()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-20 20:36:12 +00:00
Michael Niedermayer
4da42ebe44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  MS Screen 1 decoder
  aacdec: Fix popping channel layouts.
  av_gettime: support Win32 without gettimeofday()
  Use av_gettime() in various places
  Move av_gettime() to libavutil
  dct-test: use emms_c() from libavutil instead of duplicating it
  mov: fix operator precedence bug
  mathematics.h: remove a couple of math defines
  Remove unnecessary inclusions of [sys/]time.h
  lavf: remove unnecessary inclusions of unistd.h
  bfin: libswscale: add const where appropriate to fix warnings
  bfin: libswscale: remove unnecessary #includes
  udp: Properly check for invalid sockets
  tcp: Check the return value from getsockopt
  network: Use av_strerror for getting error messages
  udp: Properly print error from getnameinfo
  mmst: Use AVUNERROR() to convert error codes to the right range for strerror
  network: Pass pointers of the right type to get/setsockopt/ioctlsocket on windows
  rtmp: Reduce the number of idle posts sent by sleeping 50ms

Conflicts:
	Changelog
	configure
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dct-test.c
	libavcodec/version.h
	libavformat/riff.c
	libavformat/udp.c
	libavutil/Makefile
	libswscale/bfin/yuv2rgb_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 20:47:46 +02:00
Michael Niedermayer
e632a430fe vf_vflip: fix handling of the last line.
Fixes Ticket1271

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 20:14:01 +02:00
Michael Niedermayer
a46f8915be vf_lut: fix handling of odd dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 20:13:43 +02:00
Kostya Shishkov
005c80b645 MS Screen 1 decoder 2012-06-20 19:08:10 +02:00
Alex Converse
43886eaebc aacdec: Fix popping channel layouts.
'channel_layout' not 'channels' from the stored configuration should go
to AVCodecContext's 'channel_layout'.
2012-06-20 09:35:58 -07:00
Michael Niedermayer
827667eca7 mjpegenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 18:20:04 +02:00
Michael Niedermayer
4eae08b438 mjpegdec: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 18:19:53 +02:00
Mans Rullgard
61183b5ab4 av_gettime: support Win32 without gettimeofday()
Based on patch by Ronald S. Bultje.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 17:09:03 +01:00
Mans Rullgard
980f81d961 Use av_gettime() in various places
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 17:09:03 +01:00
Mans Rullgard
ae0a301668 Move av_gettime() to libavutil
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 17:09:03 +01:00
Michael Niedermayer
bc210bfca6 log: flip highlight bit for codec & muxer layer
This way the encoder/muxer side is bold

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 17:22:18 +02:00
Mans Rullgard
db7d8fb4ef dct-test: use emms_c() from libavutil instead of duplicating it 2012-06-20 15:38:00 +01:00
Ronald S. Bultje
f1f37c7011 mov: fix operator precedence bug 2012-06-20 15:37:01 +01:00
Janne Grunau
a2b186a188 mathematics.h: remove a couple of math defines
While these defines are not defined by the C standard they are
standardized as X/Open System Interfaces Extension. We use the
appropiate _XOPEN_SOURCE define to make them available. They
seem to be available on all FATE configs since the constants
are used in files where mathematics.h is not included.
2012-06-20 15:45:21 +02:00
Lou Logan
493156ed31 doc/ffmpeg.texi: use an exising preset file name
libx264-max.ffpreset is no longer with us.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 15:29:46 +02:00
Mans Rullgard
6501dcfb5e Remove unnecessary inclusions of [sys/]time.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 11:46:46 +01:00
Mans Rullgard
4e5a514813 lavf: remove unnecessary inclusions of unistd.h
These files do not use anything provided by unistd.h.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 11:46:30 +01:00
Stefano Sabatini
3ea3e32e03 lavfi: add showwaves filter 2012-06-20 12:37:57 +02:00
Stefano Sabatini
93bbe53c44 lavfi/asplit: fix memleak
The input samples buffer must be unreferenced after it is propagated to
the output links.
2012-06-20 12:37:50 +02:00
Paul B Mahol
86206035d1 avio: av_protocol_next() is gone
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-20 01:56:03 +00:00
Mans Rullgard
4996e8f510 bfin: libswscale: add const where appropriate to fix warnings
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 02:15:33 +01:00
Mans Rullgard
6bac8971cc bfin: libswscale: remove unnecessary #includes
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 02:15:33 +01:00
Paul B Mahol
420990db30 libilbc: use designated initializers for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 20:43:28 +00:00
Paul B Mahol
10952e0602 lavfi/color: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 20:04:17 +00:00
Michael Niedermayer
18d7bea695 wmv2enc: fix rounding flag.
Fixes Ticket1467

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 21:38:18 +02:00
Paul B Mahol
9e7543361c lavfi/color: use AVOptions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 19:27:41 +00:00
Michael Niedermayer
cabbd271a5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits)
  flvdec: remove incomplete, disabled seeking code
  mem: add support for _aligned_malloc() as found on Windows
  lavc: Extend the documentation for avcodec_init_packet
  flvdec: remove incomplete, disabled seeking code
  http: replace atoll() with strtoll()
  mpegts: remove unused/incomplete/broken seeking code
  af_amix: allow float planar sample format as input
  af_amix: use AVFloatDSPContext.vector_fmac_scalar()
  float_dsp: add x86-optimized functions for vector_fmac_scalar()
  float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil
  lavr: Add x86-optimized function for flt to s32 conversion
  lavr: Add x86-optimized function for flt to s16 conversion
  lavr: Add x86-optimized functions for s32 to flt conversion
  lavr: Add x86-optimized functions for s32 to s16 conversion
  lavr: Add x86-optimized functions for s16 to flt conversion
  lavr: Add x86-optimized function for s16 to s32 conversion
  rtpenc: Support packetizing iLBC
  rtpdec: Add a depacketizer for iLBC
  Implement the iLBC storage file format
  mov: Support muxing/demuxing iLBC
  ...

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/dsputil.c
	libavcodec/version.h
	libavformat/movenc.c
	libavformat/mpegts.c
	libavformat/version.h
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 20:53:27 +02:00
Martin Storsjö
042b272a4a udp: Properly check for invalid sockets
If stdin has been closed, 0 is a valid socket descriptor.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:25:09 +03:00
Martin Storsjö
bb6c1abb0e tcp: Check the return value from getsockopt
Make sure we actually have an error code in ret, in case
getsockopt failed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:25:07 +03:00
Martin Storsjö
a840cdda6c network: Use av_strerror for getting error messages
Also use ff_neterrno() instead of errno directly (which doesn't work
on windows), for getting the error code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:24:55 +03:00
Martin Storsjö
860b40f1f2 udp: Properly print error from getnameinfo
getnameinfo doesn't set errno on failure, it returns an error code,
which should be handled by gai_strerror instead of the normal
strerror.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:24:33 +03:00
Martin Storsjö
6aa4e88106 mmst: Use AVUNERROR() to convert error codes to the right range for strerror
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:23:19 +03:00
Martin Storsjö
561687696f network: Pass pointers of the right type to get/setsockopt/ioctlsocket on windows
This avoids warnings.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:22:47 +03:00
Samuel Pitoiset
9d811fd80f rtmp: Reduce the number of idle posts sent by sleeping 50ms
Rtmpt is effectively half duplex - the server can't return any
data unless we send a request (to which the server responds). If
we don't have any data to send currently, and the server didn't
return any data either, wait a little before doing the next request.

This avoids busy looping with idle posts with empty replies, while
waiting for more data from the server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:21:21 +03:00
Paul B Mahol
6b9446e932 avidec: add .category
While here make .class_name consistent with other AVClass.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 16:26:01 +00:00
Pavel Koshevoy
5fa8226420 libavfilter: improve atempo audio quality
Reduce audio fragment alignment jitter by penalizing alignment
correction offsets that deviate too much from the target offset.
This is accomplished by multiplying the cross correlation search
window with a quadratic function.

Signed-off-by: Pavel Koshevoy <pavel@homestead.aragog.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:29:27 +02:00
Michael Niedermayer
08613d50d6 lavf: separate muxer/demuxer class category
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:22:07 +02:00
Michael Niedermayer
6fb7d03d74 lavc: seperate encoder/decoder class category
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:22:07 +02:00
Michael Niedermayer
e69263cd01 avutil: add get_category() for the case where one AVClass can have more than 1 category
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:22:02 +02:00
Michael Niedermayer
b76f77ee0d log: swap colors for muxer and codec layer
This way the filters which are semantically closer to the codec layer
have a (subjectively to me) more similar color.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:13:45 +02:00
Michael Niedermayer
0412e5187e lavfi/avfilter: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:13:45 +02:00
Michael Niedermayer
82ac6a66f9 rv40dsp: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:13:45 +02:00
Stefano Sabatini
db142a8395 lavfi/avcodec: make avfilter_fill_frame_from*() functions use avfilter_copy_buf_props()
The code in avfilter_copy_buf_props() is more generic, allow code
factorization.
2012-06-19 16:44:36 +02:00
Stefano Sabatini
8f8d8b9538 lavfi/avcodec: always use av_frame* accessors in avfilter_copy_buf_props()
Use av_frame_* accessors for the newly added fields in AVFrame (for which
we are supposed to use such accessors), and group the istructions
accordingly.
2012-06-19 16:44:35 +02:00
Stefano Sabatini
d5761fe47d lavfi/avcodec: copy pos field from AVFilterBuffer to AVFrame pkt_pos 2012-06-19 16:44:35 +02:00
Stefano Sabatini
208c5a08da lavc/qtrlenc: return proper error codes from qtrle_encode_init() 2012-06-19 16:44:35 +02:00
Stefano Sabatini
5793a6d9f9 lavc/libschroedinger: add missing failure checks in ff_create_schro_frame() 2012-06-19 16:44:34 +02:00
Michael Niedermayer
97726e86be x86/intmath: fix type of FASTDIV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 16:20:20 +02:00
Paul B Mahol
7238ed6c84 avidec: use designated initializers for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 13:59:17 +00:00
Paul B Mahol
ef8bea9107 mov: use designated initializers for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 13:57:06 +00:00
Carl Eugen Hoyos
c47fc942d4 Fix dependencies for the atempo filter.
Found, analysed and tested by trac user Jamal.

Fixes ticket #1465.
2012-06-19 12:06:41 +02:00
Diego Biurrun
4cc2920dd2 flvdec: remove incomplete, disabled seeking code 2012-06-19 10:42:46 +02:00
Ronald S. Bultje
be1a839ca6 mem: add support for _aligned_malloc() as found on Windows
The check uses check_func_header, since this function is
conditionally available depending on the targeted MSVCRT
version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 10:08:00 +03:00
Simon A. Eugster
7146177d18 lavc: Extend the documentation for avcodec_init_packet
Add a note that pkt->data and pkt->size must be initialized.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 10:07:46 +03:00
Michael Niedermayer
0c142e4cda swr: introduce filter_alloc in preparation of SIMD resample optimisations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 03:09:24 +02:00
Michael Niedermayer
80e857c967 swr/resample: optimize C code for the most common case
15% speedup

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 03:09:24 +02:00
Ronald S. Bultje
8703f0140f flvdec: remove incomplete, disabled seeking code 2012-06-19 01:02:10 +01:00
Ronald S. Bultje
51a2b5546b http: replace atoll() with strtoll() 2012-06-19 01:00:13 +01:00
Ronald S. Bultje
ae2bb52cd2 mpegts: remove unused/incomplete/broken seeking code 2012-06-19 00:56:43 +01:00
Stefano Sabatini
c90e8054af lavc/avcodec.h: fix reference to nonexistent function in av_picture_copy() doxy
Mention av_image_copy() instead.
2012-06-19 01:36:39 +02:00
Stefano Sabatini
18b4404dc3 lavc/imgconvert: fix check on av_image_check_size() return code in avpicture_get_size()
The documentation states that av_image_check_size() will return a
negative value in case of error, while the check is done on ret != 0.

Also return a proper error code rather than -1 in case the check fails.
2012-06-19 01:36:30 +02:00
Stefano Sabatini
0b2ecf8224 lavc/imgconvert: remove pointless switch block from avpicture_fill() 2012-06-19 01:36:23 +02:00
Stefano Sabatini
b583ccc3db lavc/rawdec: propagate duration from packet to frame 2012-06-19 01:36:17 +02:00
Justin Ruggles
ae46fbee1d af_amix: allow float planar sample format as input 2012-06-18 18:01:14 -04:00
Justin Ruggles
f0ece49e74 af_amix: use AVFloatDSPContext.vector_fmac_scalar() 2012-06-18 18:01:14 -04:00
Justin Ruggles
82b2df9790 float_dsp: add x86-optimized functions for vector_fmac_scalar() 2012-06-18 18:01:14 -04:00
Justin Ruggles
cb5042d02c float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil 2012-06-18 18:01:14 -04:00
Justin Ruggles
4e4dd71730 lavr: Add x86-optimized function for flt to s32 conversion 2012-06-18 16:16:59 -04:00
Justin Ruggles
6c63cbfe7a lavr: Add x86-optimized function for flt to s16 conversion 2012-06-18 16:16:59 -04:00
Justin Ruggles
97ce1ba867 lavr: Add x86-optimized functions for s32 to flt conversion 2012-06-18 16:16:59 -04:00
Justin Ruggles
5904f25b9f lavr: Add x86-optimized functions for s32 to s16 conversion 2012-06-18 16:16:59 -04:00
Justin Ruggles
d721f67d0a lavr: Add x86-optimized functions for s16 to flt conversion 2012-06-18 16:16:59 -04:00
Justin Ruggles
1168e29df1 lavr: Add x86-optimized function for s16 to s32 conversion 2012-06-18 16:16:59 -04:00
Michael Niedermayer
4b5c7d4d9a huffyuv: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 21:44:48 +02:00
Michael Niedermayer
da42f56985 asv1: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 21:44:22 +02:00
Martin Storsjö
579fd87b46 rtpenc: Support packetizing iLBC
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:04 +03:00
Martin Storsjö
89c3960544 rtpdec: Add a depacketizer for iLBC
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:04 +03:00
Martin Storsjö
a2b251a05e Implement the iLBC storage file format
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:02 +03:00
Martin Storsjö
9e74db6850 mov: Support muxing/demuxing iLBC
The packet size, signalled via block_align, has to be passed via
the container.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:35 +03:00
Martin Storsjö
3641b0489c Add support for iLBC decoding/encoding via the external library libilbc
The library is 3-clause BSD licensed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:35 +03:00
Samuel Pitoiset
46743a859c rtmp: Don't send every flv packet in a separate HTTP request in RTMPT
Add a new option 'rtmp_flush_interval' that allows specifying the
number of packets to write before sending it off as a HTTP request.

This is mostly relevant for RTMPT - for plain RTMP, it only controls
how often we check the socket for incoming packets, which shouldn't
affect the performance in any noticeable way.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:31 +03:00
Martin Storsjö
bbc8038614 rtsp: Send mode=record instead of mode=receive
This seems to be the correct mode to send, according to the
original RTSP RFC, and matches the method RECORD which is
sent later when starting to send data.

Darwin Streaming Server works fine with either of them.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 21:35:28 +03:00
Ronald S. Bultje
db28b01dcf dirac: replace compound literal with normal initialiser
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-18 19:32:07 +01:00
Michael Niedermayer
b90f83e905 snowenc: update selftest code for the new temporary arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 20:23:53 +02:00
Michael Niedermayer
82edf6727f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: add x86-optimized functions for mixing 1-to-2 s16p with flt coeffs
  lavr: add x86-optimized functions for mixing 1-to-2 fltp with flt coeffs
  Add Dolby/DPLII downmix support to libavresample
  vorbisdec: replace div/mod in loop with a counter
  fate: vorbis: add 5.1 surround test
  rtpenc: Allow requesting H264 RTP packetization mode 0
  configure: Sort the library listings in the help text alphabetically
  dwt: remove variable-length arrays
  RTMPT protocol support
  http: Properly handle chunked transfer-encoding for replies to post data
  http: Fail reading if the connection has gone away
  amr: Mark an array const
  amr: More space cleanup
  rtpenc: Fix memory leaks in the muxer open function

Conflicts:
	Changelog
	configure
	doc/APIchanges
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 20:07:00 +02:00
Michael Niedermayer
f87dacb27d libavutil: add a merge sort.
compared to qsort this is slower but its stable and doesnt have a O(n^2) worst
case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 18:40:02 +02:00
Michael Niedermayer
096db654af qsort doxy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 18:39:35 +02:00
Michael Niedermayer
88f87ebaa3 qsort: add some forgotten ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 18:39:17 +02:00
Justin Ruggles
f61ce90caa lavr: add x86-optimized functions for mixing 1-to-2 s16p with flt coeffs 2012-06-18 11:24:10 -04:00
Justin Ruggles
29f7490c46 lavr: add x86-optimized functions for mixing 1-to-2 fltp with flt coeffs 2012-06-18 11:24:10 -04:00
John Stebbins
3971be0eb5 Add Dolby/DPLII downmix support to libavresample
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-06-18 10:55:00 -04:00
Michael Niedermayer
3a0a2f33a6 libavutil: add AV_QSORT()
about 2-5 times faster than gnu libcs qsort()
And should be 100% binary identical across platforms.

I will bump the version once the API is certainly stable and
everyone is happy with the API.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 16:32:31 +02:00
Mans Rullgard
9fcda25e35 vorbisdec: replace div/mod in loop with a counter
2x speedup of surround decoding on Cortex-A9.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-18 11:47:08 +01:00
Mans Rullgard
7457ebee3a fate: vorbis: add 5.1 surround test
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-18 11:47:08 +01:00
Martin Storsjö
d77f4afa98 rtpenc: Allow requesting H264 RTP packetization mode 0
This requires all NAL units to fit within single RTP packets. It
doesn't change the actual packetization for packets that fit, but
errors out and gives a helpful hint if the NAL units would have to
be split, and signals the right packetization mode in the SDP.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 12:27:56 +03:00
Martin Storsjö
becc3c629b configure: Sort the library listings in the help text alphabetically
Only these three libraries were out of order, the rest was already
neatly sorted.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 11:10:14 +03:00
Nicolas George
8c3514647e ffmpeg.c: count subtitles in total size.
This avoids the "Output file is empty" warning
with subtitles-only files.
2012-06-18 09:40:01 +02:00
Nicolas George
c49e960a60 ffprobe: dump AVPacket.convergence_duration. 2012-06-18 09:39:17 +02:00
Nicolas George
9ae3e45521 ffprobe: add -show_data option. 2012-06-18 09:38:36 +02:00
Michael Bradshaw
2243f0d078 lavf: add field for how duration is estimated
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
2012-06-18 09:36:34 +02:00
Carl Eugen Hoyos
3b3150ec9b Fix interlaced prediction for RGB utvideo.
Fixes ticket #1215
2012-06-18 09:01:35 +02:00
Ronald S. Bultje
d9669eab0b dwt: remove variable-length arrays
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-17 23:20:10 +01:00
Michael Niedermayer
564bb244eb Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: fix -vismv 1
  ffplay: rename buffer source instance from "src" to "ffplay_buffer"
  ffplay: use key=val syntax for the buffersrc args

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 23:42:56 +02:00
Michael Niedermayer
6ca48ad044 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  amr: Cosmetic cleanup
  mov_chan: Fix operator precedence by adding parentheses
  doc: Add missing protocols to list of supported protocols.
  tcp: Check the listen call

Conflicts:
	libavformat/amr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 22:28:28 +02:00
Samuel Pitoiset
8e50c57dcb RTMPT 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
RTMPT protocol implementation uses rtmphttp:// 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-06-17 22:56:56 +03:00
Martin Storsjö
35127bf156 http: Properly handle chunked transfer-encoding for replies to post data
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:56:56 +03:00
Martin Storsjö
eb564b23a3 http: Fail reading if the connection has gone away
This can happen if doing a new request using the same socket,
but the new request failed, which clears the urlcontext.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:56:51 +03:00
Martin Storsjö
eb3918c1fd amr: Mark an array const
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:50:06 +03:00
Martin Storsjö
634e874de5 amr: More space cleanup
This was missed in the previous cleanup patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:50:04 +03:00
Martin Storsjö
e9ef88fbd2 rtpenc: Fix memory leaks in the muxer open function
Also return a proper error code in these cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:49:25 +03:00
Michael Niedermayer
db83570875 ffplay: fix -vismv 1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-17 21:36:58 +02:00
Stefano Sabatini
8f45c3141c ffplay: rename buffer source instance from "src" to "ffplay_buffer"
The new name is more descriptive.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-17 20:32:24 +02:00
Stefano Sabatini
251f398798 ffplay: use key=val syntax for the buffersrc args
Fix warning:
[src @ ...] Flat options syntax is deprecated, use key=value pairs.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-17 20:32:20 +02:00
Michael Niedermayer
1125606a1f vp3dec: fix null ptr derefernce.
Fixes ticket1403

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 19:50:58 +02:00
Michael Niedermayer
5015c37b7d attributes: move av_restrict fallback from internal to attributes
This should fix --enable-hardcoded-tables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 18:05:31 +02:00
Martin Storsjö
5f26d4d448 amr: Cosmetic cleanup
Add spaces around operators, fix brace placement and whitespace to
match K&R style, vertically align code, remove redundant != 0 and
convert x == 0 into !x, drop useless braces.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 19:04:46 +03:00
Michael Niedermayer
40ffbf20d8 fate: fix fate-aac-aref-encode dependancies
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 17:59:00 +02:00
Michael Niedermayer
eaf655384b avienc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 17:10:05 +02:00
Michael Niedermayer
4aed3ac86a msmpeg4enc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 17:09:34 +02:00
Martin Storsjö
44fdf37c94 mov_chan: Fix operator precedence by adding parentheses
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 17:51:50 +03:00
Diego Biurrun
f404c7dcd7 doc: Add missing protocols to list of supported protocols. 2012-06-17 15:23:18 +02:00
Clément Bœsch
20a6fa77a6 doc: add two similar overlay "side-by-side" examples. 2012-06-17 13:20:04 +02:00
Paul B Mahol
54101214d8 lavfi: use designated initializers for AVClass
While here:
    - add missing .version and .category,
    - make .class_name consistent across filters,
    - align declarations.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-17 11:10:10 +00:00
Stefano Sabatini
d70a1a507d MAINTAINERS: reorganize entries in the libavfilter section 2012-06-17 22:17:44 +02:00
Michael Niedermayer
c390822e18 intel h263 dec: support advanced prediction
Fixes Ticket1292

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 21:32:43 +02:00
Pavel Koshevoy
a1aac8d004 lavfi: add atempo filter
Add atempo audio filter for adjusting audio tempo without affecting
pitch. This filter implements WSOLA algorithm with fast cross
correlation calculation in frequency domain.

Signed-off-by: Pavel Koshevoy <pavel@homestead.aragog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-06-17 12:50:35 +02:00
Jordi Ortiz
a7cc78cb11 tcp: Check the listen call
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 13:22:36 +03:00
Michael Niedermayer
bc4da77b08 lavu/internal: define av_restrict if it has not been defined by config.h
This can happen if a application doesnt use ffmpegs configure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 04:48:57 +02:00
J. Bohl
fbed9317ff enable C99-external_inline for icl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 03:46:19 +02:00
Paul B Mahol
137e80817d lavc: build some codecs only if they are actually enabled
Saves few bytes if only some of them in same file are enabled.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-17 00:53:06 +00:00
Ronald S. Bultje
17fad33f81 Change all uses of restrict to use av_restrict instead.
Defining restrict results - for some compilers - in changing other
uses of the restrict keyword also, e.g. __declspec(restrict) gets
changed to __declspec(__restrict) on MSVC. This causes compilation
failures. Therefore, using a private namespace macro instead is
more reliable and robust.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 00:38:39 +02:00
Michael Niedermayer
5c14b282d1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flacdec: read attached pictures.
  lavf: don't segfault when a NULL filename is passed to avformat_open_input()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 23:22:42 +02:00
Michael Niedermayer
9946a6aa55 diracdsp: try to fix segfault
This might fix Ticket1412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 23:16:54 +02:00
Paul B Mahol
c9e183b490 lavfi: update some deprecated functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-16 15:15:16 +00:00
Michael Niedermayer
0354412aa3 ffmenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 17:59:01 +02:00
Michael Niedermayer
3000074495 mpegvideo_common.h: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 17:58:40 +02:00
Michael Niedermayer
809d71d650 sws/swscale_unscaled: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 17:34:07 +02:00
Michael Niedermayer
e003da7139 sws/utils: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 17:34:07 +02:00
Anton Khirnov
ae702edf43 flacdec: read attached pictures. 2012-06-16 17:10:23 +02:00
Anton Khirnov
a5db8e4a1a lavf: don't segfault when a NULL filename is passed to avformat_open_input()
This can easily happen when the caller is using a custom AVIOContext.

Behave as if the filename was an empty string in this case.

CC: libav-stable@libav.org
2012-06-16 17:09:33 +02:00
Paul B Mahol
fd8def9248 lavfi/super2xsai: fix fate test on bigendian
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-16 09:35:05 +00:00
Giorgio Vazzana
c78cf00bd8 md5: consistently use uint32_t instead of unsigned int
Basically to make code clearer and adherent to the
standard. RFC 1321, on page 2 states

Let the symbol "+" denote addition of words (i.e., modulo-2^32
addition). Let X <<< s denote the 32-bit value obtained by circularly
shifting (rotating) X left by s bit positions.

on page 3, section 3.3 states:

A four-word buffer (A,B,C,D) is used to compute the message digest.
Here each of A, B, C, D is a 32-bit register.

so the algorithm needs to work with integers that are exactly 32bits
in length. And indeed in struct AVMD5 the MD buffer is declared as
"uint32_t ABCD[4];", while in the function that performs the block
transformation the state variables were "unsigned int"s. On
architectures where sizeof(unsigned int) != sizeof(uint32_t) this
could be a problem, although I can't name such an architecture from
the top of my head.
On a side note, both the reference implementation in RFC 1321 and the
gnulib implementation (used by md5sum program on GNU systems) use
uint32_t in the transform function.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 12:47:46 +02:00
Clément Bœsch
c7bdfbe79f MAINTAINERS: add my GPG fingerprint. 2012-06-16 02:50:00 +02:00
Michael Niedermayer
46c50b1726 vf_pad: check that we have write permission before writing in the buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 01:54:50 +02:00
Stefano Sabatini
2b1fc5621d lavfi: add asetnsamples audio filter
This filter changes the number of samples on single output operation.

Based on a patch by Andrey Utkin <andrey.krieger.utkin@gmail.com>.
2012-06-16 00:54:20 +02:00
Stefano Sabatini
e20530add7 lavfi/split: give a more accurate description to split
The filter now supports a configurable number of outputs.
2012-06-16 00:46:58 +02:00
Stefano Sabatini
a1411eec21 ffprobe: add writer_print_rational()
Improve overall consistency, allow some factorization.
2012-06-16 00:42:54 +02:00
Stefano Sabatini
b6131ac5d3 doc/filters: prefer @itemize environment for frei0r examples 2012-06-16 00:31:03 +02:00
Stefano Sabatini
eb732b2ade doc/filters: update Frei0r website link
Frei0r recently changed website host.
2012-06-16 00:30:54 +02:00
Stefano Sabatini
b2bcbcd999 lavfi/super2xsai: simplify code updating the color matrix at each y iteration
Remove duplicated out-of-loop init code, and do color matrix
initialization at the beginning of each y iteration.

Allow factorization and avoid an useless matrix update in the last
iteration.
2012-06-16 00:30:48 +02:00
Stefano Sabatini
4ebb46eb14 lavfi/super2xsai: fix table used to update color matrix at the end of each y loop
The previous table appears to be wrong (it was copied from the original
MPlayer super2xsai filter in order to keep binary compatibility).

The new table is consistent with the init code and apparently fixes a
combing artifact on the left edge of the generated image.
2012-06-16 00:30:42 +02:00
Stefano Sabatini
ef255642d5 fate/lavfi: add lavfi-pixfmts_super2xsai test 2012-06-16 00:30:33 +02:00
Stefano Sabatini
635a25954e lavfi/video: set output frame w/h properties in default_start_frame()
Use the same values of the video output link.

Avoid the need to override the default_start_frame() with an ad-hoc
start_frame() callback.

In particular, fix the super2xsai filter which was setting the
input w/h values in the output.
2012-06-16 00:30:27 +02:00
Stefano Sabatini
f0394f28c3 lavfi/avcodec: add consistency checks in avfilter_copy_buf_props()
The function will abort through an assert if the source is not defined,
or if the internal state of the source is inconsistent (e.g. type = AUDIO
&& !src->audio).
2012-06-16 00:30:13 +02:00
Stefano Sabatini
6808759a58 lavc/rawdec: fix various bogus error codes and add some logs
Help debugging.
2012-06-16 00:30:05 +02:00
Stefano Sabatini
3cc1a89881 lavc/utils: in avcodec_decode_video2() return proper error code instead of -1
Return AVERROR(EINVAL) in case of invalid coded size.
2012-06-16 00:29:59 +02:00
Michael Niedermayer
90d8506fbf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64
  segment: remove unnecessary <strings.h> include
  fate: add snow hpel tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 20:56:06 +02:00
Janne Grunau
fbc5740566 af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64 2012-06-15 19:10:58 +02:00
Janne Grunau
1cdcf043ca segment: remove unnecessary <strings.h> include 2012-06-15 19:10:58 +02:00
Mans Rullgard
16b8525963 fate: add snow hpel tests
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-06-15 19:10:58 +02:00
Paul B Mahol
be32145e9d j2kdec: move s->avctx initialization to j2kdec_init()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-15 12:10:25 +00:00
Paul B Mahol
29e9f83192 j2kdec: check colorspace ncomponents
This prevents out of array read.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-15 12:02:37 +00:00
Michael Niedermayer
dd2086140c nutenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Michael Niedermayer
17bbb818ae amr: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Michael Niedermayer
47f8303069 lavf/aviobuf: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Michael Bradshaw
67703d64d7 lavf: cosmetic: format else with indentation
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Clément Bœsch
b678daf05c lavc/microdvddec: fix color parsing. 2012-06-15 18:42:10 +02:00
Clément Bœsch
47395a4f52 lavc/microdvddec: properly reset non persistent color tag. 2012-06-15 18:41:14 +02:00
Clément Bœsch
608bda925a lavf/{srt,microdvd}: correctly raise error on avformat_new_stream() error. 2012-06-15 18:40:14 +02:00
Martin Sliwka
9b6f2c7483 file: Fix handling of windows named pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 15:05:33 +02:00
Michael Niedermayer
11153a9371 avio: Collect and print statistics of bytes read & seeks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 11:24:16 +02:00
William Yu
f77a695d2e lavfi: af_amerge options array was not ended with NULL
Add a NULL to prevent undefined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 11:22:05 +02:00
Michael Niedermayer
cd65cd8c5a revert "extern inline" usage
as it breaks ICC:
libavcodec/libavcodec.a(snowenc.o): In function `encode_q_branch':
/home/fate/x86_64-linux-gnu-icc-2011.4.191/src/libavcodec/snowenc.c:405: undefined reference to `ff_epzs_motion_search'
/home/fate/x86_64-linux-gnu-icc-2011.4.191/src/libavcodec/snowenc.c:414: undefined reference to `ff_get_mb_score'

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 10:29:13 +02:00
J. Bohl
0719e44b58 new attribute "extern inline" (fixing linker error with ff_get_mb_score and ff_get_mb_score)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 03:14:07 +02:00
Paul B Mahol
62c2daab0d configure: do not auto enable mlp decoder when enabling truehd decoder
It is generally bad idea even if codecs use same code.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-15 01:00:54 +00:00
Paul B Mahol
a09ae4ef65 Remove duplicated png and mng signatures.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-15 00:53:34 +00:00
Michael Niedermayer
59c122b3b0 matroskadec: add assert on lack of overflow in pkt_size+offset
currently a overflow there should be impossible but future changes to
the code could easily introduce a bug that no longer limits the 2
values sufficiently so better protect it via av_assert.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:35:52 +02:00
Michael Niedermayer
4b7c52346a matroskadec: change size check in matroska_decode_buffer() to unsigned
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:29:30 +02:00
Michael Niedermayer
08169fc3d2 matroskadec: move lace_size check up so it catches all code pathes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:28:40 +02:00
Michael Niedermayer
88a740afde matroskadec: change assert to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:27:56 +02:00
Dale Curtis
71529bd8c5 Fix incorrect unsigned->signed conversion.
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:17:13 +02:00
Michael Niedermayer
15f8941108 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Avoid C99 variable declarations within for statements.
  rtmp: Read and handle incoming packets while writing data
  doc: document THREAD_TYPE fate variable
  rtpdec: Don't require frames to start with a Mode A packet
  avconv: don't try to free threads that were not initialized.

Conflicts:
	doc/fate.texi
	ffplay.c
	libavdevice/dv1394.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 00:14:21 +02:00
Michael Niedermayer
01a14ce042 riff: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 23:52:56 +02:00
Michael Niedermayer
9d87c8e6f8 rawdec: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 23:52:40 +02:00
Michael Niedermayer
948e97a2cc pcmdec: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 23:52:23 +02:00
Diego Biurrun
d246c18ea6 Avoid C99 variable declarations within for statements.
We generally do not declare variables within for statements and
there are compilers that choke on such constructs.
2012-06-14 23:36:04 +02:00
Michael Niedermayer
bb850480e1 mjpegenc: support slice multithreading
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 21:55:13 +02:00
Samuel Pitoiset
7dc747f50b rtmp: Read and handle incoming packets while writing data
This makes sure all incoming packets are read and handled (and reacted
to) while sending an FLV stream over RTMP to a server. If there were
enough incoming data to fill the TCP buffers, this could potentially
make things block at unexpected places. For the upcoming RTMPT support,
we need to consume all incoming data before we can send the next
request.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-14 22:22:58 +03:00
Luca Barbato
d2d193c9b6 doc: document THREAD_TYPE fate variable 2012-06-14 21:21:06 +02:00
Martin Storsjö
d1beee0701 rtpdec: Don't require frames to start with a Mode A packet
While there is no reason for starting a frame with anything else
than a Mode A packet, some senders seem to consistently use Mode B
packets for everything. This fixes depacketization of such streams.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-14 22:11:43 +03:00
Paul B Mahol
ddece75bc8 png_parser: use designated initializers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-14 17:04:00 +00:00
Paul B Mahol
79c39a98cf Add truehd decoder line.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-14 15:48:43 +00:00
Paul B Mahol
1b129c2abc flashsv2enc: align codec declarations
While here constify enums for .pix_fmts.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-14 15:48:43 +00:00
Paul B Mahol
8ce0c7d264 g729dec: align codec declarations
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-14 15:48:43 +00:00
Paul B Mahol
225489f19b mjpegdec: remove superfluous "mjpeg "
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-14 11:01:49 +00:00
Nicolas George
69bf775e9f bprint: implement vsnprintf for win32. 2012-06-14 13:54:00 +02:00
Anton Khirnov
9034b0ed66 avconv: don't try to free threads that were not initialized. 2012-06-14 10:33:10 +02:00
Paul B Mahol
0f73ac3fc8 vqavideo: pass context to remaining av_(d)log
Finally get rid of all superfluous strings from av_log messages.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-14 02:38:35 +00:00
Martin T. H. Sandsmark
a5c1a0c070 asfdec: fix returned error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 02:45:11 +02:00
David Hill
2ad8ac886b configure: support Bitrig OS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 02:22:01 +02:00
David Hill
266771f991 configure: fix SLIBNAME_WITH_MAJOR for openbsd (and bitrig in the next commit)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 02:21:17 +02:00
Michael Niedermayer
0922633f92 fate.texi: fix typo in title
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 01:38:59 +02:00
Michael Niedermayer
c7b9eab2be Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add a new option 'rtmp_buffer', for setting the client buffer time
  rtmp: Set the client buffer time to 3s instead of 0.26s
  rtmp: Handle server bandwidth packets
  rtmp: Display a verbose message when an unknown packet type is received
  lavfi/audio: use av_samples_copy() instead of custom code.
  configure: add all filters hardcoded into avconv to avconv_deps
  avfiltergraph: remove a redundant call to avfilter_get_by_name().
  lavfi: allow building without swscale.
  build: Do not delete tests/vsynth2 directory, which is no longer created.
  lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
  lavfi: make AVFilterPad opaque after two major bumps.
  lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
  lavfi: make avfilter_get_video_buffer() private on next bump.
  jack: update to new latency range API as the old one has been deprecated
  rtmp: Tokenize the AMF connection parameters manually instead of using strtok_r
  ppc: Rename H.264 optimization template file for consistency.
  lavfi: add channelsplit audio filter.
  golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
  sws: fix planar RGB input conversions for 9/10/16 bpp.

Conflicts:
	Changelog
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/golomb.h
	libavcodec/v210dec.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/version.h
	libavfilter/vf_frei0r.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/video.h
	libavfilter/vsrc_color.c
	libavformat/rtmpproto.c
	libswscale/input.c
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 22:43:57 +02:00
Michael Niedermayer
4a6d790a6f nutenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 18:54:17 +02:00
Michael Niedermayer
53eaca5d6b mpegtsenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 18:51:38 +02:00
Samuel Pitoiset
8517e9c476 rtmp: Add a new option 'rtmp_buffer', for setting the client buffer time
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 17:04:39 +03:00
Samuel Pitoiset
9477c035a7 rtmp: Set the client buffer time to 3s instead of 0.26s
This factorizes existing code into a new function gen_buffer_time(),
which generates the client buffer time message and sends it to the
server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 16:53:32 +03:00
Samuel Pitoiset
c2d38beab2 rtmp: Handle server bandwidth packets
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 16:52:52 +03:00
Samuel Pitoiset
9ff930aace rtmp: Display a verbose message when an unknown packet type is received
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 16:52:31 +03:00
Anton Khirnov
9cdf74f904 lavfi/audio: use av_samples_copy() instead of custom code.
Fixes a possible invalid write, found by Nicolas George.
2012-06-13 13:58:58 +02:00
Anton Khirnov
ce03b0881a configure: add all filters hardcoded into avconv to avconv_deps 2012-06-13 13:58:34 +02:00
Anton Khirnov
24b2f4ed21 avfiltergraph: remove a redundant call to avfilter_get_by_name(). 2012-06-13 13:58:03 +02:00
Anton Khirnov
2f296e39a1 lavfi: allow building without swscale. 2012-06-13 13:57:47 +02:00
Michael Niedermayer
5f8f6243ef swr: fix 10l use of uninitialized data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 13:43:42 +02:00
Diego Biurrun
a488028362 build: Do not delete tests/vsynth2 directory, which is no longer created. 2012-06-13 12:27:49 +02:00
James Zern
b9e5c5f178 doc/encoders: update libvpxenc mappings
max-intra-rate / force_key_frames, forgotten in 695e85f, cb7f062.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 11:33:00 +02:00
Michael Niedermayer
dded4cb20b lavc: fix support of unofficial pix_fmt extensions of jpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 11:30:48 +02:00
Anton Khirnov
9baeff9506 lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
This is more consistent with naming in the rest of Libav.
2012-06-13 11:13:22 +02:00
Anton Khirnov
9d0bfc5052 lavfi: make AVFilterPad opaque after two major bumps.
It will allow adding new fields to it without ABI breaks.
2012-06-13 11:11:33 +02:00
Anton Khirnov
84b9fbe055 lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
This will allow making AVFilterPad opaque for the calling apps, since
those are the only two fields that can be useful to the users.
2012-06-13 11:10:17 +02:00
Anton Khirnov
6d58358a3a lavfi: make avfilter_get_video_buffer() private on next bump.
They are only useful inside filters and we don't allow user filters for
now.
2012-06-13 11:09:15 +02:00
Sean McGovern
8772997d10 jack: update to new latency range API as the old one has been deprecated
Fixes Bugzilla #279.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-06-13 10:59:22 +02:00
Stefano Sabatini
465a72b4b4 lavfi: move definition of avfilter_copy_buf_props() from buffer.c to avcodec.c
avcodec.c is where it is defined the lavc/lavfi interface code, so seems
a more adequate location (and doesn't force the inclusion of
libavcodec/avcodec.h where it is not required).
2012-06-13 10:51:33 +02:00
Stefano Sabatini
134815a030 lavfi: change name of tracing functions and of the macro which enables them
The enabling symbol is renamed FF_AVFILTER_TRACE. Avoid conflicts with
the DEBUG macro, which may be defined for different purposes.
2012-06-13 10:51:15 +02:00
Martin Storsjö
0533868642 rtmp: Tokenize the AMF connection parameters manually instead of using strtok_r
This fixes builds on platforms without strtok_r (windows).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 11:36:47 +03:00
Paul B Mahol
c1d62489e1 libvorbis: split encoder from decoder
Also fix build dependencies while here.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-12 22:12:26 +00:00
Diego Biurrun
af10feadc2 ppc: Rename H.264 optimization template file for consistency. 2012-06-12 23:20:05 +02:00
Michael Niedermayer
2942431a0f arm/intmath: disable av_clip_uintp2_arm with config_small
The code otherwise breaks compilation (gcc 4.5 tested but probably any compiler)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 23:05:47 +02:00
Paul B Mahol
f06269dda5 cosmetics: align more codecs declarations
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-12 20:47:38 +00:00
Anton Khirnov
d625136877 lavfi: add channelsplit audio filter. 2012-06-12 21:38:59 +02:00
Justin Ruggles
4795362660 golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
Fixes infinite loop in FLAC decoding in case of a truncated bitstream due to
the safe bitstream reader returning 0's at the end.

Fixes Bug 310.

CC:libav-stable@libav.org
2012-06-12 14:33:39 -04:00
Ronald S. Bultje
404410a53a sws: fix planar RGB input conversions for 9/10/16 bpp.
Fixes bug 282.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-12 19:52:00 +02:00
Alex Converse
65a80ee1ec avfilter: Log an error if avfilter fails to configure a link. 2012-06-12 10:05:31 -07:00
Anton Khirnov
47b812e9ce avconv: support only native pthreads.
Our w32pthreads wrapper has various issues and is only supposed to be
used in libavcodec.
2012-06-12 13:44:38 +02:00
Samuel Pitoiset
0a9a225733 rtmp: Fix a possible access to invalid memory location when the playpath is too short.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-12 14:33:57 +03:00
Paul B Mahol
a7fbc5d004 libvorbis: cosmetics: remove empty line at EOF
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-12 03:21:07 +00:00
Michael Niedermayer
dc1c79be1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: Log an error if avfilter fails to configure a link.
  avconv: support only native pthreads.
  rtmp: Fix a possible access to invalid memory location when the playpath is too short.

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 20:44:57 +02:00
Michael Niedermayer
2a622c2369 lavf: add a "warning" when discarding a oddly backward subtitle or data starttime
Idea-by: ohsix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 19:28:08 +02:00
Michael Niedermayer
47695b1d65 lavf: handle data like subtitles in start time calculation.
This fixes an issue with a crazy data track starting with a large
negative timestamp.

It could as well be solved in all user apps, but this is looking
attractively simpler ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 19:19:00 +02:00
Michael Niedermayer
728f86edfc swr: mix_2_1_int16_mmx/sse
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 17:49:12 +02:00
Michael Niedermayer
d504266cef swr: mix_1_1_int16_sse
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:43:19 +02:00
Michael Niedermayer
cbeeaf2593 swr: mix_1_1 int16 MMX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:35:13 +02:00
Michael Niedermayer
52afa43691 swr: mix_2_1_float SSE/AVX
Based-on code by Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:35:13 +02:00
Michael Niedermayer
beb0cd6acf swr: SIMD rematrixing and SSE/AVX mix_1_1 float
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:35:07 +02:00
Michael Niedermayer
48a45f819f swr: add native matrix for SIMD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:16:15 +02:00
Michael Niedermayer
9abbbf7530 swr: add function pointers for SIMD rematrixing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:12:08 +02:00
Michael Niedermayer
634d539c12 swresample.c: update copyleft year
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 16:11:17 +02:00
Michael Niedermayer
c8553bea9e swr: use &~15
Idea-by: reimar (and ubitux on IRC)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 10:28:40 +02:00
Michael Niedermayer
4289b6690d swr: replace /16 by >>4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 04:01:17 +02:00
Stefano Sabatini
359abb18cf lavu/error: add av_make_error_string() and av_err2str() convenience utilities
These functions are modeled after the corresponding utilities in
libavutil/timestamp.h.
2012-06-11 23:57:01 +02:00
Stefano Sabatini
5683de00e9 lavu/error: fix sign error in av_sterror() error code
The value returned by strerror_r may be positive depending on the system,
so it is necessary to use AVERROR() in order to get a negative
number. This way the successive negative check will not fail, and the
function will print a meaningful error message on the buffer.
2012-06-11 23:56:31 +02:00
Stefano Sabatini
4299fd23d3 lavu/error: use a table to store error codes and strings, add test
The table is mostly useful to enumerate the available AVERROR* in the
test output.
2012-06-11 23:35:32 +02:00
Stefano Sabatini
3ecaba677e tests/parseutils: change test to make it platform independent
Make the test independent from the actual error string used to describe a
certain error code.
2012-06-11 23:35:31 +02:00
Michael Niedermayer
9ec5e956a2 ffmpeg: disable threading on mingw, it doesnt work due to dependance on internal code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 23:31:28 +02:00
Michael Niedermayer
f91b635b52 rtmpproto: replace strtok_r by av_strtok its unavailable in mingw
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 23:04:24 +02:00
Michael Niedermayer
94d5650266 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Do not send extension for flv files
  rtmp: support connection parameters
  doc: Add documentation for the newly added rtmp_* options

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 21:55:32 +02:00
Michael Niedermayer
65efc66d8e pngenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 21:41:03 +02:00
Michael Niedermayer
7925f923a5 4xm: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 21:40:43 +02:00
Nedeljko Babic
3827a86eac Optimization of AMR NB and WB decoders for MIPS
AMR NB and WB decoders are optimized for MIPS architecture.
Appropriate Makefiles are changed accordingly.

Cnfigure script is changed in order to support optimizations.
 Optimizations are enabled by default when compiling is done for
  mips architecture.
 Appropriate cflags are automatically set.
 Support for several mips CPUs is added in configure script.

New ffmpeg options are added for disabling optimizations.

The FFMPEG option --disable-mipsfpu disables MIPS floating point
 optimizations.
The FFMPEG option --disable-mips32r2 disables MIPS32R2
 optimizations.
The FFMPEG option --disable-mipsdspr1 disables MIPS DSP ASE R1
 optimizations.
The FFMPEG option --disable-mipsdspr2 disables MIPS DSP ASE R2
 optimizations.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Reviewed-by: Vitor Sessak <vitor1001@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 21:12:39 +02:00
Paul B Mahol
751dcd9243 Remove eightsvx_raw decoder line
Decoder have been renamed to pcm_s8_planar long ago.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-11 18:55:09 +00:00
Michael Niedermayer
d9a9518fba flvenc: use av_assert instead of assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 20:14:22 +02:00
Michael Niedermayer
709b54eae9 rv20enc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 20:13:31 +02:00
Samuel Pitoiset
f862537de8 rtmp: Do not send extension for flv files
This fixes bugzilla bug #304.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-11 13:48:39 +03:00
Samuel Pitoiset
8ee3e1874e rtmp: support connection parameters
Allow using connection parameters in order to append arbitrary
AMF data like "B:1 S:authMe O:1 NN:code:1.23 NS:flag:ok O:0" to the
Connect message. You can pass these parameters through the -rtmp_conn
option.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-11 13:46:50 +03:00
Samuel Pitoiset
b4c92e94bb doc: Add documentation for the newly added rtmp_* options
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-11 13:37:23 +03:00
Michael Niedermayer
66531c75d3 random_seed: rewrite generic code.
The new code is faster and reuses the previous state in case of
multiple calls. For testing the iterations are reduced and several
entropy sources are disabled.
Its based on SHA-1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 12:19:11 +02:00
Carl Eugen Hoyos
37f1a7d51d Make png-in-mov QuickTime-compatible for more colour-spaces.
Reported and tested by ami_stuff.

See ticket #1191.
2012-06-11 10:57:23 +02:00
Clément Bœsch
20e46aafbd mov: export orphan tmcd track metadata to global format metadata. 2012-06-11 07:40:58 +02:00
Clément Bœsch
1ec23d9c02 mov: copy timecode metadata from tmcd track to the related video stream.
Apple softwares seem not to add a tref for the timecode (the next commit
fixes this issue), but at least FFmpeg does.

This can be used to generate a sample that demonstrates the feature:

    ./ffmpeg -f lavfi -i testsrc    \
             -f lavfi -i mptestsrc  \
             -f lavfi -i rgbtestsrc \
             -map 0 -map 1 -map 2   \
             -metadata:s:0 timecode=00:00:00:12 \
             -metadata:s:2 timecode=01:02:12:20 \
             -t 10 -y out.mov
    ./ffprobe out.mov

The timecode metadata being transmitted to the video streams, it can be
kept while transmuxed/transcoded.
2012-06-11 07:40:26 +02:00
Clément Bœsch
0d96ec19eb mov: parse tref atom. 2012-06-11 07:35:14 +02:00
Clément Bœsch
9fb2e234d0 movenc: add timecode track support. 2012-06-11 07:35:14 +02:00
Clément Bœsch
9846a9c701 riff: add ISMP/timecode tag. 2012-06-11 07:28:26 +02:00
Michael Niedermayer
0478d5f9fe ffmpeg: allow overriding framerate for stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 03:00:28 +02:00
James Zern
cb7f062286 libvpxenc: add support for forced key frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 02:06:43 +02:00
Michael Niedermayer
a5ca3203f0 rangecoder: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 23:36:22 +02:00
Michael Niedermayer
1248de53c1 amrnbdec: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 23:35:29 +02:00
Michael Niedermayer
4e3a5bc1f6 j2k: remove unreachable assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 23:27:17 +02:00
Michael Niedermayer
3630a07513 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libmp3lame: add missing layout terminator
  avconv: multithreaded demuxing.
  Bump lavu minor and add an APIChanges entry for audioconvert functions.
  audioconvert: add a function for extracting the channel with the given index
  audioconvert: add a function for getting the name of a single channel.
  audioconvert: add a function for getting channel's index in layout
  audioconvert: use av_popcount64 in av_get_channel_layout_nb_channels
  vf_libopencv: add missing headers.
  iac: add missing dependency

Conflicts:
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/libmp3lame.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 21:34:15 +02:00
Michael Niedermayer
9e724d7216 dct-test: fix alignment in ff_prores_idct_put_10_sse2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 20:45:55 +02:00
Michael Niedermayer
234d42f53b postprocess: fix another void returning void function.
lets hope this makes suncc happy finally ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 18:26:16 +02:00
Stefano Sabatini
ee1748ab53 lavfi: fix signature for default_filter_name()
Return a const char *, fix warnings:
libavfilter/avfilter.c: In function ‘default_filter_name’:
libavfilter/avfilter.c:414:5: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
libavfilter/avfilter.c: At top level:
libavfilter/avfilter.c:419:5: warning: initialization from incompatible pointer type [enabled by default]
libavfilter/avfilter.c:419:5: warning: (near initialization for ‘avfilter_class.item_name’) [enabled by default]
2012-06-10 17:23:58 +02:00
Michael Niedermayer
91bdced363 mpegtsenc: prevent pcr_packet_period==0
a period of 1 is the smallest that makes sense

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 16:50:06 +02:00
Michael Niedermayer
1321e6eaa7 tiffenc: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 15:40:24 +02:00
Michael Niedermayer
bcbb30e2a0 libmp3lame: add missing layout terminator
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-10 14:06:50 +02:00
Nicolas George
0d24931604 vf_fps: set frame_rate. 2012-06-10 10:53:03 +02:00
Nicolas George
c8428a0d06 vf_tile: update deprecated functions. 2012-06-10 10:40:33 +02:00
Nicolas George
7b993c4a51 vf_tile: set frame_rate. 2012-06-10 10:35:17 +02:00
Nicolas George
4adf5dfadb sdl: fix aspect ratio computations.
The rounding was wrong due to incorrect ue of floats,
changed to rationals and av_rescale.

The results were not properly passed to SDL.
2012-06-10 09:57:50 +02:00
Nicolas George
3ff6b1a2b3 sdl: fix overlay size.
The size passed to SDL_CreateYUVOverlay is the size
of the video in pixels, it must not take the aspect ratio
into account.
2012-06-10 09:42:31 +02:00
Nicolas George
2f9907be3e sdl: add AVFMT_VARIABLE_FPS and AVFMT_NOTIMESTAMPS.
It allows vsync to be automatically set to passthrough.
2012-06-10 09:42:31 +02:00
Anton Khirnov
5db5169e46 avconv: multithreaded demuxing.
When there are multiple input files, run demuxing for each input file in
a separate thread, so reading packets does not block.

This is useful for achieving low latency when reading from multiple
(possibly slow) input streams.
2012-06-10 08:12:23 +02:00
Anton Khirnov
b0f0dfc485 Bump lavu minor and add an APIChanges entry for audioconvert functions. 2012-06-10 08:04:01 +02:00
Anton Khirnov
59d58b3390 audioconvert: add a function for extracting the channel with the given index 2012-06-10 08:03:45 +02:00
Anton Khirnov
5df320e167 audioconvert: add a function for getting the name of a single channel. 2012-06-10 08:03:11 +02:00
Anton Khirnov
406b257de9 audioconvert: add a function for getting channel's index in layout 2012-06-10 08:02:18 +02:00
Anton Khirnov
3596de55fc audioconvert: use av_popcount64 in av_get_channel_layout_nb_channels 2012-06-10 08:02:11 +02:00
Anton Khirnov
d7d071a673 vf_libopencv: add missing headers.
Fix build after b74a1da4.
2012-06-10 08:02:02 +02:00
Kostya Shishkov
19be0f3ca6 iac: add missing dependency 2012-06-10 06:50:10 +02:00
Michael Niedermayer
4bfee465e9 bprint-test: avoid z modifier, mingw fails with it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:49:31 +02:00
Michael Niedermayer
d35c27db63 sink_buffer: dont return void from void functions.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:30:12 +02:00
Michael Niedermayer
3b196bb737 libavcodec/x86/rv40dsp_init.c: add missing HAVE_YASM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:26:24 +02:00
Michael Niedermayer
915ec91e6b libavcodec/x86/h264dsp_mmx.c: add forgotten HAVE_YASM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:23:44 +02:00
Michael Niedermayer
63bfee8796 libavcodec/x86/dwt.c: move some missed things under HAVE_YASM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:20:27 +02:00
Michael Niedermayer
b84c9cf7f7 dct-test: fix #if for ff_prores_idct_put_10_sse2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:15:38 +02:00
Michael Niedermayer
7b0d362567 libavfilter: make ff_null_start_frame_keep_ref() a non static inline function.
Its only used through the start_frame pointer and thus cannot be inlined easily.
It also appears to break compilation with some unidentified compiler on darwin.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:08:19 +02:00
Michael Niedermayer
8836b41a78 fate-acodec-dca2: add bitexact flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 02:57:45 +02:00
Michael Niedermayer
fd8da83d55 enc_dec_pcm: add bitexact flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 02:57:25 +02:00
Michael Niedermayer
8f1b139c10 cmdutils: dont return void from a void function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 02:38:01 +02:00
Michael Niedermayer
dfaf2dd956 h264: use externally provided dimensions when they appear to be more correct.
This is based on:
	commit 30f515091c
	Author: Mans Rullgard <mans@mansr.com>
    		h264: allow cropping to AVCodecContext.width/height

The above commit is not taken as is as its buggy (incorrect handling of
the interlaced case) and didnt apply cleanly.

Fixes ticket156

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 02:24:25 +02:00
Paul B Mahol
3275981207 libopenjpegdec: make use of FF_ARRAY_ELEMS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 23:34:15 +00:00
James Zern
695e85f189 libvpxenc: add VP8E_SET_MAX_INTRA_BITRATE_PCT mapping
defines 'max-intra-rate' in line with vpxenc param

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 01:18:42 +02:00
Stefano Sabatini
53dfc38452 lavu/timestamp: remove duplicate definition of AV_TS_MAX_STRING_SIZE 2012-06-10 00:37:02 +02:00
Paul B Mahol
1ef5561a66 libopenjpeg: YUVA422P and YUVA444P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 18:36:56 +00:00
Michael Niedermayer
75f8f70221 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: allow cropping to AVCodecContext.width/height
  mov: set AVCodecContext.width/height for h264
  iac: generate codec tables as they are supposed to be
  indeo4: handle frame type 1 properly
  lavu: change versioning script to include all av* prefixed symbols

Conflicts:
	libavcodec/h264.c
	libavutil/libavutil.v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 20:30:17 +02:00
Paul B Mahol
8554e21f79 ffv1enc: add yuva422p to .pix_fmts
This was forgotten in 4e4634aa16.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 18:15:50 +00:00
Michael Niedermayer
94632dbb1e Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: fix return value of get_video_frame if avcodec_decode_video fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 20:09:56 +02:00
J. Bohl
2138bc16fd remove unreferenced table "dnxhd_1238_ac_index_flag" (empty curly braces did not compile with ICL12.1)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 20:09:43 +02:00
Paul B Mahol
a474403229 libopenjpegdec: unbreak yuva420p support
Regression introduced in b7a928b2d1.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 18:06:09 +00:00
Marton Balint
143a5390bf ffplay: fix return value of get_video_frame if avcodec_decode_video fails
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-09 19:45:10 +02:00
Paul B Mahol
7655cc395d colorspace-test: add few more tests
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 14:38:51 +00:00
Michael Niedermayer
b0415287e3 float_dsp.c: Restore author attribution that was removed by libav while moving code to libavutil
Original code comes from:
commit eb4825b5d4
Author: Loren Merritt <lorenm@u.washington.edu>
Date:   Thu Aug 10 19:06:25 2006 +0000

    sse and 3dnow implementations of float->int conversion and mdct windowing.
    15% faster vorbis.

and

commit 0bde73d907
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue May 17 19:02:43 2005 +0000

    Vorbis decoder by (Balatoni Denes | dbalatoni programozo hu)

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 16:09:47 +02:00
Michael Niedermayer
f0313e9022 x86/float_dsp.asm: restore author attribution
The attribution was removed by libav while moving the code to libavutil

The original code is from
commit eb4825b5d4
Author: Loren Merritt <lorenm@u.washington.edu>
Date:   Thu Aug 10 19:06:25 2006 +0000

    sse and 3dnow implementations of float->int conversion and mdct windowing.
    15% faster vorbis.

and

commit 069720565c
Author: Loren Merritt <lorenm@u.washington.edu>
Date:   Fri Aug 11 18:19:37 2006 +0000

    vorbis simd tweaks

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 16:09:11 +02:00
Mans Rullgard
30f515091c h264: allow cropping to AVCodecContext.width/height
Override the frame size from the SPS with AVCodecContext values
if the latter specify a size smaller by less than one macroblock.
This is required for correct cropping of MOV files from Canon cameras.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-09 15:08:52 +01:00
Mans Rullgard
8aa93e9004 mov: set AVCodecContext.width/height for h264
This is required for correct cropping of files from Canon
cameras.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-09 15:08:51 +01:00
Michael Niedermayer
1b7a4c93a9 lavc/bintext: check extradata size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 15:04:12 +02:00
Michael Niedermayer
c61c8536ef lavf/bintext: allocate FF_INPUT_BUFFER_PADDING_SIZE for extradata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 14:36:41 +02:00
Michael Niedermayer
eae983f4ff ffmpeg: fix fate breakage introduced by key=value buffersrc args.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 14:02:27 +02:00
Paul B Mahol
1d69dcb887 swscale: unscaled rgb48 <-> bgr48
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 11:55:52 +00:00
Paul B Mahol
e400b95b32 bink: check av_mallocz() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 10:57:14 +00:00
Paul B Mahol
c2dd01c16f binkaudio: prevent extradata overread
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-09 10:43:20 +00:00
Nicolas George
6fef82f22d ffmpeg: with filter_complex, avoid random in<->out mapping.
With complex filters, an output can come from any input,
or several inputs, including inputs of a different type.
Copying the codec parameters from the first input with
the same type does not make any sense.

This does not change anything for simple 1->1 filters,
as source_index is set in that case.
2012-06-09 08:42:50 +02:00
Nicolas George
fbaa8fe6c6 ffmpeg: init icodec.
With complex filter graphs, it can end up accessed
without having been set.
2012-06-09 08:42:50 +02:00
Nicolas George
8362d734a3 ffmpeg: use the frame rate computed by lavfi.
This frame rate is more reliable than the one copied
from the input stream, so it is used in priority.
2012-06-09 08:42:50 +02:00
Nicolas George
5f281e94ba ffmpeg: add frame rate to the buffersrc arguments.
The arguments now use the key=value syntax.
2012-06-09 08:42:50 +02:00
Nicolas George
0f62125643 buffersrc: deprecate flat options syntax. 2012-06-09 08:42:50 +02:00
Nicolas George
9ca440679d buffersrc: accept the frame rate as argument. 2012-06-09 08:42:50 +02:00
Nicolas George
dcaa4efcee buffersrc: accept key=value arguments.
The current flat arguments syntax is not easily extensible
due to sws_param possibly containing commas.
This is also consistent with abuffersrc.
2012-06-09 08:42:50 +02:00
Nicolas George
283cc05938 buffersink: add av_buffersink_get_frame_rate(). 2012-06-09 08:42:50 +02:00
Nicolas George
7b42036b3b lavfi: add a frame_rate field to AVFilterLink. 2012-06-09 08:42:50 +02:00
Kostya Shishkov
cac4760bf4 iac: generate codec tables as they are supposed to be
Unlike its predecessor, Indeo Audio codec generates tables depending on
sampling rate. Previously decoder used pre-generated tables for 22050 Hz
which obviously doesn't work with other frequencies.

Many thanks to Maxim Poliakovsky for providing all needed information
for this.
2012-06-09 08:38:51 +02:00
Kostya Shishkov
e1a3fa5d3a indeo4: handle frame type 1 properly
It turns out that this frame type is actually intra and should be used as
a reference for interframes too.
2012-06-09 08:38:31 +02:00
Michael Niedermayer
04e2ac4749 libavutil.v: add avpriv prefix
This should fix the fate failure
http://fate.ffmpeg.org/log.cgi?time=20120609002213&log=compile&slot=x86_64-archlinux-gcc-enableshared

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 02:51:02 +02:00
Michael Niedermayer
a5c6349358 swr: skip memset(0) in rematrix when the array is known to be already 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 02:43:10 +02:00
Michael Niedermayer
75d900d52e swr: zero buffers on allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 02:42:46 +02:00
J. Bohl
023c073076 add bracket around the argument (fixes compilation error with ICL)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 00:34:21 +02:00
Michael Niedermayer
690ea9359d Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: reset AVFrame to defaults before decoding each new frame.
  ffplay: check return code of avcodec_decode_video2()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 00:28:20 +02:00
Michael Niedermayer
7e22514d98 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  float_dsp: ppc: add a separate header for Altivec function prototypes
  ARM: fix float_dsp breakage from d5a7229
  Add a float DSP framework to libavutil
  PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutil
  ARM: Move asm.S from libavcodec to libavutil
  vc1dsp: mark put/avg_vc1_mspel_mc() always_inline

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 23:59:09 +02:00
Michael Niedermayer
e016e3c9d7 swr: add mix8to2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 22:12:00 +02:00
Michael Niedermayer
b0348158a0 swr: 5.1->stereo double, float and s16
2.5 times faster than the generic code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 22:02:14 +02:00
Michael Niedermayer
ca30ae12c5 swr: add all in one rematrixing function ptr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 21:55:33 +02:00
Michael Niedermayer
dfde3d497e swr: add inrermediate sample type for rematrixing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 21:54:54 +02:00
Justin Ruggles
03e098e7a0 lavu: change versioning script to include all av* prefixed symbols
Needed to properly export avpriv_* symbols.
2012-06-08 15:47:59 -04:00
Michael Niedermayer
cb819338d1 ffplay: reset AVFrame to defaults before decoding each new frame.
This fixes: ffplay -f lavfi -i cellauto
This was a regression since factorizing the filter code with ffmpeg.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-08 21:32:10 +02:00
Michael Niedermayer
349b65eee2 ffplay: check return code of avcodec_decode_video2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-08 21:32:10 +02:00
Justin Ruggles
3b81a18ba3 float_dsp: ppc: add a separate header for Altivec function prototypes
Also include config.h so that HAVE_ALTIVEC will be defined.
Fixes compilation on PPC with Altivec enabled.
2012-06-08 14:52:01 -04:00
Mans Rullgard
a839d6abf8 ARM: fix float_dsp breakage from d5a7229
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-08 19:45:37 +01:00
Justin Ruggles
d5a7229ba4 Add a float DSP framework to libavutil
Move vector_fmul() from DSPContext to AVFloatDSPContext.
2012-06-08 13:14:38 -04:00
Justin Ruggles
98db4e2a4e PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutil
This will allow for easier implementation of Altivec functions in libraries
other than libavcodec.
2012-06-08 13:14:38 -04:00
Justin Ruggles
94d2b0d2fd ARM: Move asm.S from libavcodec to libavutil
This will allow for easier implementation of ARM-optimized functions in
libraries other than libavcodec.
2012-06-08 13:14:38 -04:00
Michael Niedermayer
718607be28 rv10: change assert() to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 18:24:47 +02:00
Mike Scheutzow
1be7bfdd2b ffmpeg.c: fix erroneous "Output file is empty" message.
This message is printed whenever the RAWVIDEO codec is used, whether the
output file contains any frames or not. Test command:
./ffmpeg -i infile.y4m outfile.y4m

Signed-off-by: Mike Scheutzow <mjs973@optonline.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 18:22:40 +02:00
Paul B Mahol
134d0f7119 Revert "Fix building libopencore_amrnb decoder without libopencore_amrnb encoder"
Reverting "Fix" because it disables amrwb decoder.

This reverts commit e11020a145.
2012-06-08 13:55:30 +00:00
Carl Eugen Hoyos
b35d38bd04 Add iac build dependency.
Found and analysed by trac user Jamal.

Fixes the remaining part of ticket #1428.
2012-06-08 15:29:24 +02:00
Carl Eugen Hoyos
37a9cdfc2c Fix dirac decoder build dependencies.
Found, analysed and tested by trac user Jamal.

Fixes part of ticket #1428.
2012-06-08 15:29:24 +02:00
Carl Eugen Hoyos
8a880d6918 Fix latm muxer Makefile dependencies.
Found, analysed and tested by trac user Jamal.

Fixes part of ticket #1428.
2012-06-08 15:29:23 +02:00
Carl Eugen Hoyos
b8e2dcd266 Fix jacosub muxer Makefile dependencies.
Found, analysed and tested by trac user Jamal.

Fixes part of ticket #1428.
2012-06-08 15:29:23 +02:00
Carl Eugen Hoyos
b8fe9f08be Fix amv encoder dependencies.
Found, analysed and tested by trac user Jamal.

Fixes part of ticket #1428.
2012-06-08 15:29:23 +02:00
Paul B Mahol
e11020a145 Fix building libopencore_amrnb decoder without libopencore_amrnb encoder
Fixes #1210.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-08 13:03:10 +00:00
Paul B Mahol
f4e0ec814b pixdesc: BGRA64 is rgb pixel format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-08 10:42:27 +00:00
Michael Niedermayer
5b51efdc3a fate-bprint: try to workaround platform specific value.
this should fix some fate failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 12:16:31 +02:00
Michael Niedermayer
d5d30d56ed Revert "sinewin_tablegen: use av_assert"
using as_assert() in the table generator would make the generators
have to be linked to libavutil.

This reverts commit c3b6efa4cb.
2012-06-08 11:44:50 +02:00
Mans Rullgard
bc92214e27 vc1dsp: mark put/avg_vc1_mspel_mc() always_inline
This ensures that these functions are inlined into the per-position
entry points, allowing constant propagation as needed for proper
optimisation.

18% faster VC1 decoding on Cortex-A9.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-08 09:40:07 +01:00
Michael Niedermayer
80485a4f9a mpegtsenc: make pts/dts offseting optional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-08 03:35:15 +02:00
Nicolas George
6668ef7567 cmdutils: include threading caps in codecs listing.
Suggested by Roger Pack on ffmpeg-user.
2012-06-07 23:19:20 +02:00
Nicolas George
e0545262a2 amerge: accept multiple inputs. 2012-06-07 22:51:08 +02:00
Nicolas George
e8e492b302 af_amerge: move nb_in_ch into the in structure.
With that change, there is only one array for the inputs,
it will make easier to implement a variable number of inputs.
2012-06-07 22:28:32 +02:00
Nicolas George
e45a92dc88 audioconvert: implement av_bprint_channel_layout().
And reimplement av_get_channel_layout_string() on top of it.
2012-06-07 22:28:32 +02:00
Nicolas George
7a2b429175 fate: add bprint test. 2012-06-07 22:28:32 +02:00
Nicolas George
b3e2bb08a9 bprint: add av_bprint_init_for_buffer(). 2012-06-07 22:28:32 +02:00
Nicolas George
9148ae5b91 opt: add test for IMAGE_SIZE and PIXEL_FMT. 2012-06-07 22:13:59 +02:00
Nicolas George
61c266d72f opt: free test_ctx.string at the end.
Makes valgrind happy.
2012-06-07 22:13:59 +02:00
Nicolas George
42b774ab6f opt: init test_ctx to 0.
Otherwise, setting string will try to free a random address.
2012-06-07 22:13:59 +02:00
Nicolas George
d9b0d75c56 opt: add AV_OPT_TYPE_PIXEL_FMT. 2012-06-07 22:13:59 +02:00
Michael Niedermayer
9f7b014ad3 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: fix build if avfilter is disabled
  ffplay: fix frame_delay calculation in new avfilter code
  ffplay: add support for changing pixel format
  ffplay: add missing filt_in assignment after video filter reconfigure
  ffplay: fix frame aspect ratio after qatar merge
  ffplay: fix use after free
  ffplay: use dummy video driver if display is disabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 21:55:34 +02:00
Michael Niedermayer
67732b9d62 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegts: Remove disabled extension matching probe.
  fate: avoid freopen(NULL) in videogen/rotozoom

Conflicts:
	tests/rotozoom.c
	tests/videogen.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 21:45:52 +02:00
Michael Niedermayer
b4d44367bc h261enc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 21:32:32 +02:00
Michael Niedermayer
07732b4f09 h261dec: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 21:31:22 +02:00
Michael Niedermayer
a21c212681 swfenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 21:30:07 +02:00
Alex Converse
a8656cd425 mpegts: Remove disabled extension matching probe. 2012-06-07 12:27:04 -07:00
Michael Niedermayer
610a52647b xmv: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 21:09:06 +02:00
Michael Niedermayer
4e3fc46828 h264_mvpred: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 21:07:17 +02:00
Michael Niedermayer
3422e7c395 lavc/rectangle: change assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 20:51:07 +02:00
Michael Niedermayer
107b42388c lavf: fix missing "parser not found" message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 19:02:32 +02:00
Michael Niedermayer
23d8aaae46 yuv2rgb: remove assert() the codepath is not invalid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 18:01:09 +02:00
Michael Niedermayer
5ee638fd54 svq1enc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-07 18:01:09 +02:00
Nicolas George
25e87fc5f6 ffmpeg: move keyboard interaction in a function.
It makes the transcode loop easier to read (30% less code)
and the differences with avconv easier to spot.
2012-06-07 17:13:02 +02:00
Nicolas George
9915a33fc2 lavfi/audio: fix size of copied samples.
Fixes sporadic segfaults with some filters.
2012-06-07 17:03:45 +02:00
Mans Rullgard
d0e9415d23 fate: avoid freopen(NULL) in videogen/rotozoom
A number of systems do not implement freopen() with a NULL filename
correctly.  This changes these programs to output individual images
if opening a named output argument as a file fails, in this case
assuming it is a directory.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-07 11:28:39 +01:00
Marton Balint
5fdcfdf237 ffplay: fix build if avfilter is disabled
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-07 01:22:00 +02:00
Marton Balint
a78bc6f78c ffplay: fix frame_delay calculation in new avfilter code
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-07 01:22:00 +02:00
Marton Balint
e85df18d74 ffplay: add support for changing pixel format
With the filtering code refactored, it was much easier to finally fix this.

Fixes ticket 123 and 238.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-07 01:22:00 +02:00
Marton Balint
cd947e9a2b ffplay: add missing filt_in assignment after video filter reconfigure
Fixes segfaults on changing resolution.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-07 01:22:00 +02:00
Marton Balint
0a501c756f ffplay: fix frame aspect ratio after qatar merge
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-07 01:22:00 +02:00
Michael Niedermayer
c9651d4bee ffplay: fix use after free
reproduceable with:
ffmpeg -i tests/lena.pnm -pix_fmt pal8 -vcodec rawvideo -s 512x512 out.avi
valgrind ffplay_g out.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-07 01:21:52 +02:00
Marton Balint
1372c826de ffplay: use dummy video driver if display is disabled
Fixes ticket 1402.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-07 00:05:29 +02:00
Stefano Sabatini
8d1de449f0 ffprobe: show packet duration in frame 2012-06-06 23:26:04 +02:00
Stefano Sabatini
9083d09ebb ffprobe: honour special value for duration
A duration value is undefined when is 0, take into consideration this
fact when printing optional fields.
2012-06-06 23:26:04 +02:00
Stefano Sabatini
ad347bf459 lavfi: remove avfilter_default_item_name() from public API
The function was introduced in 4d6a8a2bdb and is not used anymore
outside avfilter.c.

This avoids to pollute the public API with an apparently unnecessary
function. The function was introduced a few days ago, so removing it from
the public API should do no much harm.
2012-06-06 23:25:33 +02:00
Stefano Sabatini
fe16ca1b91 lavfi/ocv: fix compilation after internalization of public functions
Include missing required internal headers.
2012-06-06 23:22:13 +02:00
Stefano Sabatini
ce7266c66a tools/graph2dot: factorize code printing non-media specific link information 2012-06-06 23:20:02 +02:00
Stefano Sabatini
20689670c8 tools/graph2dot: show input and output pad names in the link label 2012-06-06 23:19:56 +02:00
Michael Niedermayer
eeba7c874b wmv2enc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 21:18:47 +02:00
Michael Niedermayer
c3b6efa4cb sinewin_tablegen: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 21:18:33 +02:00
Michael Niedermayer
62eace231c put_bits: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 21:18:14 +02:00
Michael Niedermayer
28e4f906fa golomb: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 20:13:17 +02:00
Michael Niedermayer
6e6dd9995b resample_template: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 20:08:57 +02:00
Michael Niedermayer
58e4adb6f7 libavutil/integer: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 20:01:08 +02:00
Michael Niedermayer
2f23a8ab17 libavutil/mathematics: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 20:00:35 +02:00
Michael Niedermayer
317ca0d3f7 mpegvideo: fix out of heap array accesses
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 19:26:21 +02:00
Philip Langdale
92c065f93f ffmpeg: Set duration on encoded subtitle packets.
Currently, we don't set the duration on the packet of a newly
encoded subtitle. This information may be required by the
muxer.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 18:49:10 +02:00
Michael Niedermayer
33775c3507 search_for_quantizers_faac: fix curband
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 18:35:05 +02:00
Matthieu Bouron
f6d952f584 mxfenc: write optional field dominance flag in picture description
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 17:13:28 +02:00
Reimar Döffinger
93147daf59 ffmpeg: avoid a confusing and easy to break if().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 17:13:28 +02:00
Carl Eugen Hoyos
bb32124577 Fix maxband limit when decoding mpc8.
Fixes yesterday's merge of Kostya's fix for ticket #409.
2012-06-06 13:09:02 +02:00
Michael Niedermayer
c8a11014b6 ffmpeg: use isatty() before messing with the terminal state
This fixes terminal messup in case of crashes (like in make fate)

Reviewed-by: François Revol <revol@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 03:54:02 +02:00
Michael Niedermayer
ad60b3b181 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vorbis: Validate that the floor 1 X values contain no duplicates.
  avprobe: Identify codec probe failures rather than calling them unsupported codecs.
  avformat: Probe codecs at score 0 on buffer exhaustion conditions.
  avformat: Factorize codec probing.
  Indeo Audio decoder
  imc: make IMDCT support stereo output
  imc: move channel-specific data into separate context
  lavfi: remove request/poll and drawing functions from public API on next bump
  lavfi: make avfilter_insert_pad and pals private on next bump.
  lavfi: make formats API private on next bump.
  avplay: use buffersrc instead of custom input filter.
  avtools: move buffer management code from avconv to cmdutils.
  avconv: don't use InputStream in the buffer management code.
  avconv: fix exiting when max frames is reached.
  mpc8: fix maximum bands handling
  aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.

Conflicts:
	Changelog
	cmdutils.h
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/mpc8.c
	libavcodec/v210dec.h
	libavcodec/version.h
	libavcodec/vorbisdec.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fifo.c
	libavfilter/vf_format.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 01:08:33 +02:00
Stefano Sabatini
647e2e070f lavfi: remove more instances of avfilter_default_filter_name()
They were discarded in 0f0f3bd1e0.
2012-06-05 19:00:52 +02:00
Alex Converse
ecf79c4d3e vorbis: Validate that the floor 1 X values contain no duplicates.
Duplicate values in this vector are explicitly banned by the Vorbis I spec
and cause divide-by-zero crashes later on.
2012-06-05 09:51:51 -07:00
Alex Converse
503f2feb14 avprobe: Identify codec probe failures rather than calling them unsupported codecs. 2012-06-05 09:51:51 -07:00
Alex Converse
f0ff9eb493 avformat: Probe codecs at score 0 on buffer exhaustion conditions. 2012-06-05 09:51:51 -07:00
Alex Converse
62bebf6edb avformat: Factorize codec probing. 2012-06-05 09:51:51 -07:00
Stefano Sabatini
62b39d41cd lavc: add pkt_duration field to AVFrame 2012-06-05 18:42:17 +02:00
Stefano Sabatini
0da9bce5a3 lavfi: move avfilter_copy_frame_props() definition from buffer.c to avcodec.c
The new location is more suited, as it is where the lavfi/lavc glue is
defined.
2012-06-05 18:39:47 +02:00
Kostya Shishkov
c6061443f7 Indeo Audio decoder 2012-06-05 18:30:54 +02:00
Kostya Shishkov
34271cabac imc: make IMDCT support stereo output
This will be useful for Indeo Audio decoder which is almost the same
but supports stereo.
2012-06-05 18:28:44 +02:00
Kostya Shishkov
c45e2da617 imc: move channel-specific data into separate context
This will be useful for Indeo Audio decoder which is almost the same
but supports stereo.
2012-06-05 18:28:44 +02:00
Andrew Wason
c527027c27 aconvert filter needs to configure samplerates
I changed the *_set_common_* functions to only set unset formats, then
added a wrapper that calls them after the filters query_formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 18:15:29 +02:00
Michael Niedermayer
787c395a30 swr-test: support "--help"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 17:27:38 +02:00
Michael Niedermayer
63b1c08073 buildsys: fix rules for swresample-test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 17:27:38 +02:00
Michael Niedermayer
5a7a9f02de libswresample/Makefile: put each object on its own line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 17:27:38 +02:00
Paul B Mahol
02827a3c99 swscale: RGBA64LE <-> RGBA64BE support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-05 12:18:30 +00:00
Nicolas George
aba8065adb avfiltergraph: call query_formats on inputs first.
This is a temporary workaround for amerge,
until format renegociation is implemented.

Should fix trac ticket #1400.
2012-06-05 13:26:34 +02:00
Nicolas George
6a4c5c730e avfiltergraph: check query_formats return value. 2012-06-05 13:26:34 +02:00
Carl Eugen Hoyos
a3bc7f916d Make H264 reorder buffer size message less verbose. 2012-06-05 12:52:07 +02:00
Piotr Bandurski
48fdaa1cff snowdec: add new line to some error messages 2012-06-05 12:15:18 +02:00
Piotr Bandurski
a489db6cde isom: add Radius DV YUV FourCCs 2012-06-05 12:13:39 +02:00
Stefano Sabatini
1488c4dc0b lavfi: move tracing utilities definition from video.c to avfilter.c
These utilities are meant to be defined in avfilter.c, since they are
generic and thus contain both audio and video code.
2012-06-05 11:52:47 +02:00
Carl Eugen Hoyos
1faf0d6a7a Add missing CRLFs to avisynth error messages. 2012-06-05 11:13:30 +02:00
Carl Eugen Hoyos
757d5b9bfd Fix MP2 muxer Makefile dependencies.
Found, analysed and tested by trac user Jamal.

Fixes ticket #1411
2012-06-05 09:54:03 +02:00
Anton Khirnov
803391f719 lavfi: remove request/poll and drawing functions from public API on next bump
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:16 +02:00
Anton Khirnov
fa417fcd27 lavfi: make avfilter_insert_pad and pals private on next bump.
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:08 +02:00
Anton Khirnov
b74a1da49d lavfi: make formats API private on next bump.
It is only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:37:30 +02:00
Anton Khirnov
67339f6eb4 avplay: use buffersrc instead of custom input filter.
We do not allow user filters, so avtools shouldn't use them either.

It also allows to reuse buffer management code from avconv, thus
reducing duplication.
2012-06-05 09:36:10 +02:00
Anton Khirnov
d55c2e05b5 avtools: move buffer management code from avconv to cmdutils.
It will be used by avplay.
2012-06-05 09:35:58 +02:00
Anton Khirnov
3ffa233595 avconv: don't use InputStream in the buffer management code.
Use just the pointer to the head of the buffer pool.

This will allow sharing the code with avplay.
2012-06-05 09:35:39 +02:00
Anton Khirnov
e58b75f7ff avconv: fix exiting when max frames is reached.
frame number should never be strictly larger than max frames, so the
if() was never triggered.
2012-06-05 09:35:08 +02:00
Clément Bœsch
44be67595d lavfi/select: use exported dsputil_init function.
This is the deprecated version of the function but it is exported, so it
should fix the shared FATE box.
2012-06-05 07:29:00 +02:00
Kostya Shishkov
b56825c40e mpc8: fix maximum bands handling
In Musepack SV8 codec property tell the maximum nonzero band, but every
frame codes maximum band as a limit (i.e. strictly less than given value).
Synthesis also expects maximum nonzero band, so there's a need to convert
frame maximum band limit value.
2012-06-05 06:55:57 +02:00
Michael Bradshaw
1b27b8bf6c MANGLEd swscale x86 asm to save registers
register starvation caused gcc4.2 to fail building 32 bit shared libs
on 64 bit OS X

Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 03:02:41 +02:00
Andrew Wason
1ef802d038 update filtering_audio example
The filtering_audio.c example needs to be updated for the new
"abuffer" filter args.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 03:02:41 +02:00
Clément Bœsch
13a7bd70c8 lavfi/select: 10l: llabs -> fabs after switching types. 2012-06-05 00:17:38 +02:00
Alex Converse
79c8e29a7e aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono. 2012-06-04 15:16:17 -07:00
Michael Niedermayer
9c4821ca7b Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: calculate audio diff threshold based on the actual settings
  ffplay: try more channel count combinations for SDL_OpenAudio
  ffplay: simplify audio_open, rename parameters to more explanatory names
  ffplay: remove VideoState from audio_open
  ffplay: put audio parameters to their own struct
  ffplay: put audio_open into a seperate function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 23:35:42 +02:00
Michael Niedermayer
944d049eaa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Write chan atom for all audio tracks in mov mode movies.
  mpegtsenc: use avio_open_dyn_buf(), zero pointers after freeing
  doc/avconv: add some details about the transcoding process.
  avidec: make scale and rate unsigned.
  avconv: check output stream recording time before each frame returned from filters
  avconv: split selecting input file out of transcode().
  avconv: split checking for active outputs out of transcode().
  avfiltergraph: make some functions static.

Conflicts:
	ffmpeg.c
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavformat/mpegtsenc.c
	tests/ref/fate/acodec-alac
	tests/ref/fate/acodec-pcm-s16be
	tests/ref/fate/acodec-pcm-s24be
	tests/ref/fate/acodec-pcm-s32be
	tests/ref/fate/acodec-pcm-s8
	tests/ref/lavf/mov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 22:59:32 +02:00
Clément Bœsch
df03ae8dd8 ffmpeg: remove two unused variables. 2012-06-04 22:32:26 +02:00
Clément Bœsch
5e8225004f Changelog: add ffprobe flat output. 2012-06-04 21:46:24 +02:00
Clément Bœsch
72868144e5 lavfi/select: add scene detection.
Based on the shotdetect algorithm (http://shotdetect.nonutc.fr/ by Johan
MATHE johan.mathe tremplin-utc.net).
2012-06-04 21:44:34 +02:00
Carl Eugen Hoyos
6b87f0707d Do not try to encode DVCPRO HD, it produces broken files. 2012-06-04 20:42:00 +02:00
Carl Eugen Hoyos
0a3e15690f Allow colour space autodetection when encoding ljpeg.
This works as expected if the input stream is not yuv4xxp.

Reviewed-by: Paul B Mahol
2012-06-04 20:01:39 +02:00
Carl Eugen Hoyos
02c2a54bf6 Remove misplaced comment. 2012-06-04 20:01:36 +02:00
Clément Bœsch
bae99f7651 ffprobe/flat: add escape for '`' and '$'. 2012-06-04 19:15:39 +02:00
Alex Converse
41e9682af2 movenc: Write chan atom for all audio tracks in mov mode movies. 2012-06-04 10:08:31 -07:00
Michael Niedermayer
02ff89a1cd ffmpeg: disable audio volume insertion on the output side.
This fixes -vol leading to 2 inserted volume filters

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 15:49:03 +02:00
Jindřich Makovička
84e430dd7b mpegtsenc: use avio_open_dyn_buf(), zero pointers after freeing
Per suggestion by Michael Niedermayer.

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-04 15:41:09 +03:00
Anton Khirnov
2b1f105f1b doc/avconv: add some details about the transcoding process. 2012-06-04 14:22:16 +02:00
Anton Khirnov
a982e5a031 avidec: make scale and rate unsigned.
The specs say they are unsigned 32bit integers.
2012-06-04 14:18:49 +02:00
Anton Khirnov
bb7431f4fc avconv: check output stream recording time before each frame returned from filters
There may be multiple frames returned, so with just one check we can
write more than requested to the output.
2012-06-04 14:18:34 +02:00
Anton Khirnov
a508e7a1ff avconv: split selecting input file out of transcode(). 2012-06-04 14:18:18 +02:00
Anton Khirnov
2f51ec2b94 avconv: split checking for active outputs out of transcode(). 2012-06-04 14:17:52 +02:00
Anton Khirnov
8eb9bf0933 avfiltergraph: make some functions static.
They are not used outside of avfiltergraph.c
2012-06-04 14:17:39 +02:00
Paul B Mahol
b0f6df28de libopenjpeg: YUV410P and YUV411P support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-04 11:44:04 +00:00
Carl Eugen Hoyos
568a592418 Fix compilation condition for some ProRes dsp encoder functions.
Found, analysed and tested by trac user Jamal.

Fixes part of Ticket #1404.
2012-06-04 12:18:56 +02:00
Carl Eugen Hoyos
84986b4e61 Fix compilation condition for some ProRes dsp decoder functions.
Found, analysed and tested by trac user Jamal.

Fixes part of Ticket #1404.
2012-06-04 12:15:41 +02:00
Carl Eugen Hoyos
a4b885d55e Fix ProRes decoder Makefile dependencies.
Found, analysed and tested by trac user Jamal.

Fixes part of Ticket #1404.
2012-06-04 12:07:30 +02:00
Carl Eugen Hoyos
c02ef07881 Fix G.723.1 encoder Makefile dependencies. 2012-06-04 12:06:48 +02:00
Clément Bœsch
c790ae0265 ffmpeg: add missing return carriage in error message. 2012-06-04 09:10:07 +02:00
Clément Bœsch
e00b2d284e options: stop after option is found.
This reverts 78da04384a6c22820518706d84631006d31a85ea; it is not
required anymore since the previous commit (these extended checks were
for the -timecode option in both muxers and encoders), and reduces the
diff with the fork.
2012-06-04 07:41:22 +02:00
Clément Bœsch
6b35f1a2a6 timecode: move timecode muxer options to metadata.
Some demuxers set a timecode in the format or streams metadata. The
muxers now make use of this metadata instead of a duplicated private
option.

This makes possible transparent copy of the timecode when transmuxing
and transcoding.

-timecode option for MPEG1/2 codec is also renamed to -gop_timecode. The
global ffmpeg -timecode option will set it anyway so no option change
visible for the user.
2012-06-04 07:41:22 +02:00
Stefano Sabatini
0f0f3bd1e0 lavfi: use av_default_item_name() as filter private context logger
avfilter_default_filter_name() is supposed to access an AVFilterContext
struct, if used with a private struct it will cause a crash since it will
access fields which are non defined in the private struct.
2012-06-04 02:40:01 +02:00
Michael Niedermayer
38c9ebd2a9 ffv1dec: print more information for -debug 1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 01:04:03 +02:00
Michael Niedermayer
730d079bf7 ffv1: fix log level of FF_DEBUG_PICT_INFO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 01:04:03 +02:00
Stefano Sabatini
f1add01d98 ffmpeg: be more verbose when printing an error in transcode()
Helps debuggability.
2012-06-04 00:55:08 +02:00
Stefano Sabatini
6a9854e8f4 ffmpeg: specify more meaningful names for the lavfi buffer sources 2012-06-04 00:55:02 +02:00
Stefano Sabatini
4d6a8a2bdb lavfi: add avfilter_default_filter_name()
The function is modelled after av_default_item_name(), and will print the
name of the instance filter if defined, otherwise the name of the filter.

This allows to show the instance name in the log, which is useful when
debugging complex filter graphs.
2012-06-04 00:54:57 +02:00
Michael Niedermayer
7d82020fcb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  librtmp: return AVERROR_UNKNOWN instead of -1.
  librtmp: don't abuse a variable for two unrelated things.
  librtmp: add rtmp_app and rtmp_playpath private options.
  bmv: add stricter checks for invalid decoded length
  avpacket: fix duplicating side data.
  flv: support stream text data as onTextData

Conflicts:
	libavcodec/bmv.c
	libavformat/flvdec.c
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 00:33:42 +02:00
Stefano Sabatini
e10eac910a lavc/raw: add test utility for listing fourcc/pix_fmt map
The test program is useful for checking which raw formats are currently
identified by a codec tag.
2012-06-04 00:07:24 +02:00
Stefano Sabatini
f3fea5bab1 lavfi/lut: fix component -> rgba mapping 2012-06-04 00:07:24 +02:00
Nicolas George
8b0e173529 ffmpeg: use filter time base as codec time base. 2012-06-03 23:43:57 +02:00
Nicolas George
48b5bcb3dd ffmpeg: avoid NULL dereference with filters.
icodec can be NULL if there is no input stream
clearly associated with the output stream.
2012-06-03 23:43:57 +02:00
Michael Niedermayer
eb7efc126a log: color prefixes according to their source.
The use of cyan is droped from the levels to avoid confusion
magenta/cyan/blue is used for muxer/codec/filter layer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 22:12:14 +02:00
Michael Niedermayer
2e39e7d0f1 log: add AV_CLASS_CATEGORY_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 21:57:17 +02:00
Michael Niedermayer
2191aef93b log: cleanup color arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 21:56:35 +02:00
Michael Niedermayer
a5c7525bcb set some categories of some AVClass structs
Please help setting the category for all remaining AVClasses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 21:55:50 +02:00
Michael Niedermayer
44c10168cf mpc8: fix channel checks
fix heap array overflow

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 17:40:30 +02:00
Michael Niedermayer
a5ad3c2382 av_get_audio_frame_duration: fix FPE
Fixes ticket1392

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 17:12:57 +02:00
Anton Khirnov
19dfbf1915 librtmp: return AVERROR_UNKNOWN instead of -1. 2012-06-03 15:46:27 +02:00
Anton Khirnov
a91943bcef librtmp: don't abuse a variable for two unrelated things. 2012-06-03 15:46:16 +02:00
Anton Khirnov
007aedeebf librtmp: add rtmp_app and rtmp_playpath private options.
This makes it easier to switch between native rtmp and librtmp.
2012-06-03 15:45:55 +02:00
Kostya Shishkov
96fadfb158 bmv: add stricter checks for invalid decoded length
This makes decoder handle random data passed as BMV frame data.
2012-06-03 15:26:11 +02:00
Michael Niedermayer
6df1cfa7e4 mace: check channel count, fixes FPE
Fixes ticket1391

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 15:01:34 +02:00
Michael Niedermayer
cc229d4e83 h263: disable loop filter with lowres
Fixes ticket1212

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 15:01:34 +02:00
Carl Eugen Hoyos
169dae8114 Unconditionally compile init_stream() in bintext.
Fixes compilation of xbin, adf and idf demuxer if
bintext demuxer was disabled.

Fixes ticket #1399
2012-06-03 14:47:26 +02:00
Anton Khirnov
cf3a1948e9 avpacket: fix duplicating side data.
Use correct side data size instead of just zeroed field.
2012-06-03 10:22:42 +02:00
Nicolas George
7f17f4f1a7 af_amerge: use the buferqueue API. 2012-06-03 10:04:01 +02:00
Nicolas George
2f2d47ab63 af_astreamsync: set samples rate in query_formats. 2012-06-03 10:04:01 +02:00
Michael Niedermayer
c983ca5b90 mpegtsenc: zero pointers after freeing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 03:44:16 +02:00
Michael Niedermayer
328e203ca9 mpegts_audio_write: fix potential integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 03:43:40 +02:00
Luca Barbato
21e2dc9fb7 flv: support stream text data as onTextData
Adobe specifies onTextData as the standard message to use to deliver
text information.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-06-03 03:36:01 +02:00
Michael Niedermayer
f67309cabe Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegtsenc: Support LATM packetization for AAC
  adtsenc: Don't expose the muxer internals to the rest of lavf
  mpegtsenc: use AVFormatContext for AAC packetization
  mpegtsenc: use AVERROR() for return codes

Conflicts:
	libavformat/adts.h
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 02:56:52 +02:00
Mans Rullgard
a128b310ef configure: add --enable/disable-random option
This allows creating random configurations which is useful for
testing purposes.

Signed-off-by: Mans Rullgard <mans@mansr.com>

Conflicts:

	configure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 02:08:16 +02:00
Mans Rullgard
d0f34c96b1 aacsbr: remove unused variables 2012-06-03 01:53:36 +02:00
Michael Niedermayer
0e3cec9f7d aacsbr: optimize sine level addition
Based-on commit by Måns Rullgård <mans@mansr.com>

original:   1424 decicycles in phi, 1024 runs, 0 skips
mans code:  1104 decicycles in phi, 1024 runs, 0 skips
this change: 734 decicycles in phi, 1024 runs, 0 skips

mans code:   1 file changed, 20 insertions(+), 10 deletions(-)
this change: 1 file changed, 10 insertions(+), 6 deletions(-)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-03 01:53:10 +02:00
Jindrich Makovicka
2439bd8681 mpegtsenc: Support LATM packetization for AAC
This adds the avoption mpegts_flags and converts the existing
resend_headers option into a flag, keeping the old option as
fallback for now.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-03 01:20:41 +03:00
Jindrich Makovicka
485d3ea064 adtsenc: Don't expose the muxer internals to the rest of lavf
This isn't required any longer, when the mpegts muxer uses it
as a proper chained muxer.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-03 01:18:11 +03:00
Jindrich Makovicka
b1c56eabe8 mpegtsenc: use AVFormatContext for AAC packetization
This removes the dependency on adts.c internals, and simplifies
adding other packetization formats.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-03 01:17:48 +03:00
Jindrich Makovicka
d1a3a3d4b2 mpegtsenc: use AVERROR() for return codes
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-03 01:13:35 +03:00
Michael Niedermayer
e95233789c mpc7: fix handling of last frame
Fixes heap buffer overflow
Fixes ticket1393

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 23:43:31 +02:00
Michael Niedermayer
e0eaf10049 oggdec: fix regression that caused reading the whole file during open
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 22:50:40 +02:00
Marton Balint
22505c188c ffplay: calculate audio diff threshold based on the actual settings
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-02 21:56:08 +02:00
Marton Balint
0dad529201 ffplay: try more channel count combinations for SDL_OpenAudio
This should fix ticket 1384.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-02 21:55:58 +02:00
Michael Niedermayer
82570d2f09 png_parser: dont falsely mark frames as keyframes
Fixes Ticket1381

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 21:12:20 +02:00
Michael Niedermayer
5665674b55 lavf: use input keyframe flag when muxer does not provide keyframe flags.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 21:11:43 +02:00
Michael Niedermayer
b3675f890a bink: fix out of reference frame read
Fixes Ticket1374

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 19:56:10 +02:00
Marton Balint
7821264c26 ffplay: simplify audio_open, rename parameters to more explanatory names
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-02 19:46:00 +02:00
Marton Balint
7342037973 ffplay: remove VideoState from audio_open
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-02 19:46:00 +02:00
Marton Balint
e1248f5c52 ffplay: put audio parameters to their own struct
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-02 19:46:00 +02:00
Marton Balint
03095d73a3 ffplay: put audio_open into a seperate function
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-06-02 19:45:59 +02:00
Michael Niedermayer
1bf22c3a8f Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: remove VideoPicture pix_fmt and use frame pixel format instead
  ffplay: only request 4 or 6 channels from SDL, if SDL version is at least 1.2.8
  ffplay: add pause audio feature in the middle of a packet
  ffplay: remove VideoPicture duration field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 17:06:09 +02:00
Michael Niedermayer
fb4e434cfb h264: log debug output for slightly truncated streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 15:37:20 +02:00
Michael Niedermayer
cd0f9f00a2 h264: try to better handle h264 streams that are slightly truncated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 15:36:50 +02:00
Michael Niedermayer
debbcfae60 bmv: fix apparent sign error in the frame_off check
Fixes part of Ticket1373

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 04:18:13 +02:00
Michael Niedermayer
679c578cb8 bmv: fix integer overflows in vlc decoder.
Fixes part of Ticket1373

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Based-on-patch-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 04:18:13 +02:00
Michael Niedermayer
9ebe6e3910 ffv1: fix integer overflow in quant table initialization
Fixes part of Ticket1372

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 02:37:36 +02:00
Michael Niedermayer
97c281d5b7 ffv1: fix crash caused by version becoming inconsistent
Fixes part of Ticket1372

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-02 02:30:55 +02:00
Michael Niedermayer
0bae6661cd fraps: fix version 0/1 input data size check.
Fixes array overread.
Fixes Ticket1371

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 23:22:54 +02:00
Michael Niedermayer
f23a2418fb wmv1: check that the input buffer is large enough
Fixes null ptr deref
Fixes Ticket1367

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 23:22:54 +02:00
Clément Bœsch
fd0c83c666 ffprobe: add flat output format. 2012-06-01 21:06:06 +02:00
Clément Bœsch
db839544d6 ffprobe/xml: use writer multiple_sections instead of local context variable. 2012-06-01 20:52:30 +02:00
Clément Bœsch
2248db946c ffprobe: move packets_and_frames work to writer context. 2012-06-01 20:52:30 +02:00
Carl Eugen Hoyos
7980a260a9 Let ffmpeg select the null and anull filters.
They are needed since 16e25ef.
2012-06-01 20:10:43 +02:00
Michael Niedermayer
fbc5e0fae1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  http: Add the url_shutdown function for https, too
  http: Simplify code by removing a local variable
  http: Clear the old URLContext pointer when closed
  tcp: Try enabling SO_REUSEADDR when listening
  tcp: Check the return values from bind and accept
  avisynth: Make sure the filename passed to avisynth is in the right code page

Conflicts:
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 19:59:39 +02:00
Michael Niedermayer
0d83edaba9 dct-test: give emms a memory clober.
Without this, the compiler in theory could attempt to keep
things in float registers across the emms which would cause
bad things to happen.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 19:16:14 +02:00
Michael Niedermayer
461030a7ac dct-test: perform emms before gettime().
This fixes the hypothetical case of a gettime implementation using floats

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 19:15:24 +02:00
Michael Niedermayer
9758b1cb88 fate: enable fate-mapchan-6ch-extract-2-downmix-mono
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 18:44:07 +02:00
Michael Niedermayer
d43812e235 ffmpeg: move pan filter insertion up.
This fixes one (disabled) fate test.

Thanks-to: ubitux to pointing at the odd filter order and stereo/mono messup
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 18:43:13 +02:00
Martin Storsjö
dbaf79c9d7 http: Add the url_shutdown function for https, too
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-01 18:38:31 +03:00
Martin Storsjö
5952564185 http: Simplify code by removing a local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-01 18:38:29 +03:00
Martin Storsjö
3cbcfa2dec http: Clear the old URLContext pointer when closed
This fixes issues with opening http urls that have authentication
or redirects, introduced in commit e999b641.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-01 18:38:28 +03:00
Michael Niedermayer
0766b6e3ec rv20: fix lowres out of array read
Fixes Ticket1239

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 17:07:07 +02:00
Michael Niedermayer
febc013dc5 yopdec: check frame oddness to be within supported limits
Fixes Ticket1365

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 15:52:20 +02:00
Michael Niedermayer
b6fdf8dea7 yopdec: check that palette fits in the packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 15:51:50 +02:00
Michael Niedermayer
f218121a4d http: use ffurl_closep()
Fixes Ticket1383

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 14:48:17 +02:00
Michael Niedermayer
edf96d631c url: add ffurl_closep() which also sets the context pointer to NULL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 14:47:30 +02:00
Michael Niedermayer
f89aa6751c lavf: use av_freep() in ffurl_close()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 14:40:05 +02:00
Martin Storsjö
2dbb8cc6a3 tcp: Check the return values from bind and accept
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-01 14:25:15 +02:00
Michael Niedermayer
5f509fa2e1 log: add category to AVClass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 14:02:03 +02:00
Michael Niedermayer
23b365f1c4 ffmpeg: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 12:31:13 +02:00
Michael Niedermayer
422418b664 dnxhd: replace asserts by av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 12:14:49 +02:00
Michael Niedermayer
e6866b1c67 fate: only check stddev for acodec-ra144
ra144 uses floats so bitexactness cannot be guranteed
This should fix a long standing issue with icc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 12:14:49 +02:00
Carl Eugen Hoyos
aac41ec119 Let ffmpeg select the setpts filter.
Do not disable ffmpeg with --disable-everything.
2012-06-01 09:45:25 +02:00
Clément Bœsch
64df092b25 swr: fix a few typo. 2012-06-01 08:06:36 +02:00
Michael Niedermayer
abf5f6ea2a fate: try to fix 3rd md5 implementation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 04:16:23 +02:00
Michael Niedermayer
03ce421c13 8svx: fix crash
Fixes Ticket1377

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 02:32:00 +02:00
Piotr Bandurski
59352cc219 sgienc: add a limit for maximum supported resolution
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 01:14:49 +02:00
Martin Storsjö
b7c3772be8 tcp: Try enabling SO_REUSEADDR when listening
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-01 01:56:22 +03:00
Martin Storsjö
641f4a885f tcp: Check the return values from bind and accept
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-01 01:56:21 +03:00
Michael Niedermayer
8a0efa9cc0 qdm2: fix incorrect error spam
Fixes Ticket1375

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 00:35:06 +02:00
Michael Niedermayer
e47e23698b libmp3lame: add missing layout terminator
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-01 00:07:36 +02:00
Michael Niedermayer
7cb8663362 h264: Fail on DPC its not fully implemented
Fixes part of Ticket1369

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 23:52:08 +02:00
Michael Niedermayer
3c276ac0f8 dv-demux: dont mess with codec values
Fixes part of Ticket1369

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 23:50:08 +02:00
Clément Bœsch
303619d3ca jacosub_probe: slightly increase the score to limit misdetection. 2012-05-31 22:12:46 +02:00
Clément Bœsch
908293d1bc jacosub_probe: speedup by making only one call to sscanf 2012-05-31 21:55:35 +02:00
Oka Motofumi
5c742005fb avisynth: Make sure the filename passed to avisynth is in the right code page
avisynth is a non-unicode application and cannot accept UTF-8
characters. Therefore, the input filename should be converted to
the correct code page that it expects.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-31 22:39:08 +03:00
Michael Niedermayer
5afdb3e6b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Fix fate-ac3-fixed-encode for pre-ssse3 x86 machines
  http: Pass the proper return code of net IO operations
  http: Add 'post_data', a new option which sets custom HTTP post data
  lavfi: amix: check active input count before calling request_samples
  vp8: move block coeff arithcoder on stack.
  mp3/ac3 probe: search for PES headers to prevent probing MPEG-PS as MP3.

Conflicts:
	libavformat/ac3dec.c
	libavformat/mp3dec.c
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 21:27:42 +02:00
Michael Niedermayer
b7d1488393 h264: move q0 scan tables into context
This fixes out of global array reads.
The alternative solutions of checking the index or modifying the VLC tables
to prevent the index going outside are each about 1-2 cpu cyclces slower
per coded 4x4 block.
The alternative of padding the global tables directly is more ugly and
moving them to the context should benefit cache locality.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 20:25:23 +02:00
Michael Niedermayer
18b46a494e oggparsevorbis: fix null ptr dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 20:25:23 +02:00
Michael Niedermayer
b02cc2ddc6 mpeg4videodec: Check that cplx_estimation_* fits in the available space
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 20:25:23 +02:00
Nicolas George
06bf6d3bc0 vf_overlay: rewrite request/push logic.
The old implementation, upon receiving a frame on the main
input, would request an overlay frame if necessary. This could
generate an infinite recursion, off-by-one frame mismatch and
other harmful effects, especially it the split filter is present
upgraph.

The new implementation uses the linear approach: it uses two
buffer queues for frames received out of turn and forwards
request_frame calls to the input where a frame is necessary.
2012-05-31 17:27:27 +02:00
Nicolas George
6d679c4359 lavfi: add a generic API for buffer queues. 2012-05-31 17:27:27 +02:00
Nicolas George
72f3786d0f sink_buffer: guard against NULL frames.
This only happens if some filter somewhere is bogus,
but it helps debugging.
2012-05-31 17:27:27 +02:00
Piotr Bandurski
e03ddbcd91 gifenc: support resolutions up to 65535x65535
Maybe someone can add a check in the second gif encoder (rgb24), because I'm not sure where it should be added.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 16:59:25 +02:00
Piotr Bandurski
d2581dcca6 mjpegenc: add a limit for maximum supported resolution
jpeg does not allow more than 65000 pixels for width and height

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 16:57:47 +02:00
Matthieu Bouron
320e537baf mxfenc: support 50 and 60 frame rates
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 16:55:37 +02:00
Michael Niedermayer
cc4d80c99f ipmovie_probe: speedup by avoiding memcmp() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 16:19:26 +02:00
Michael Niedermayer
ebfe0c6eb8 ac3_probe: speedup by checking for header earlier
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 16:14:27 +02:00
Michael Niedermayer
6cfaccabc4 probetest: allow specifying parameters on the command line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 15:53:58 +02:00
Michael Niedermayer
76170f5373 yop_probe: check more fields to avoid detecting random data as yop
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 14:47:15 +02:00
Michael Niedermayer
60de761657 ffmpeg: allow overriding input top field first
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 12:42:02 +02:00
Paul B Mahol
824a6975ee binkaudio: check number of channels
Fixes #1380.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-05-31 08:58:31 +00:00
Michael Niedermayer
8aaa00c301 indeo5: check quant_mat
prevents out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 05:07:51 +02:00
Michael Niedermayer
3b275ce374 fate: dont freopen() stdout
it doesnt work and breaks most BSDs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 02:56:56 +02:00
Michael Niedermayer
0dfcd7e7e3 range coder test code: decoding errors are av_log_error not debug.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 00:48:29 +02:00
Michael Niedermayer
21fdf1ccf0 ffv1: fix reading global header with CRC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 00:47:36 +02:00
Michael Niedermayer
57778f61d0 avidec: fix odd extradata size case.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 00:46:47 +02:00
Michael Niedermayer
76853a3e0c libavformat: ff_get_bmp_header: return esize too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-31 00:46:02 +02:00
Michael Niedermayer
0fcf3013c4 fate: Fix fate-ac3-fixed-encode for pre-ssse3 x86 machines
The default mmxext and sse implementations of apply_window_int16
aren't bitexact.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-31 00:01:04 +03:00
Samuel Pitoiset
9613240f72 http: Pass the proper return code of net IO operations
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-30 23:46:51 +03:00
Samuel Pitoiset
1876e7c0c2 http: Add 'post_data', a new option which sets custom HTTP post data
This allows doing http posts with a content-length header sent
in advance, avoiding chunked encoding.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-30 23:41:05 +03:00
Justin Ruggles
c7bd556d48 lavfi: amix: check active input count before calling request_samples
fixes use of the amix filter with only 1 input
2012-05-30 16:20:03 -04:00
Michael Niedermayer
a1fc1d2e1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm-mpeg: improve log message wording
  fate: add missing $(TARGET_PATH) to ac3-fixed-encode
  fate: fix md5sum replacement on some systems
  avprobe: correctly set the default formatter
  lavr: add x86-optimized function for mixing 2 to 1 s16p with q8 coeffs
  lavr: add x86-optimized functions for mixing 2 to 1 s16p with float coeffs
  lavr: add C functions for mixing 2 to 1 channels with s16p format
  avprobe: move formatter functions in the context

Conflicts:
	ffprobe.c
	libavcodec/pcm-mpeg.c
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 19:32:06 +02:00
Ronald S. Bultje
6163d880c0 vp8: move block coeff arithcoder on stack.
This prevents gcc from assuming that contents of it may have changed
between calls to vp56_range_get_prob(), thus preventing countless (and
unnecessary) movs. Decoding of sintel trailer goes from (avg+SG) 9.796
+/- 0.003 to 9.635 +/- 0.010.
2012-05-30 09:08:29 -07:00
Ronald S. Bultje
64bde80563 mp3/ac3 probe: search for PES headers to prevent probing MPEG-PS as MP3. 2012-05-30 09:08:29 -07:00
Christian Schmidt
d041dec3cb pcm-mpeg: improve log message wording
We support every defined value for channel layout, bitrate and sample depth.
All other values are not unsupported, but reserved.
Update comments to say "are used" instead of "are known or exist".

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-05-30 11:27:29 -04:00
Michael Niedermayer
39f0a45a1a h264_cavlc: check prefix before using it.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 16:42:01 +02:00
Michael Niedermayer
32e60b6bfe h264: increase scantable sizes to avoid overread
We could also check the index but this would slow speed critical code
down.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 16:40:33 +02:00
Michael Niedermayer
fd4c1c0b70 truemotion1: Check index, fix out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 16:20:22 +02:00
Michael Niedermayer
96fe99cb11 ffmpeg: disable autoinsertion for -async on the output side of the filtergraph.
This fixes the issue that since the last merge -async caused 2 aresample
filters to be inserted
users that generate funny timestamps in a filtergraph should probably
manually insert a aresample filter where they need it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 15:55:31 +02:00
Michael Niedermayer
89cf5bf39a cmdutils: replace 1 line #ifs by if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 15:45:05 +02:00
Gavin Kinsey
bf6fb563b9 Allow building of command line utils without swresample lib
This allows building ffprobe without swresample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 15:45:05 +02:00
Paul B Mahol
f5af8d5e76 exr: make message about missing feature more useful
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-05-30 12:07:41 +00:00
Michael Niedermayer
d24ef674ec fate: fix long standing bug in the g723_1 test
The test compared files of mismatching sample rate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 13:28:42 +02:00
Michael Niedermayer
f5e0ef536a fate: add a fate-acodec-dca test that works on all platforms second try
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 13:10:22 +02:00
Michael Niedermayer
607461e50d fate: add bitexact flag to ac3-fixed
cant hurt, and should be there for all tests

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 13:10:22 +02:00
Paul B Mahol
8f61526978 iff: check if there is extradata
Fixes #1368.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-05-30 07:50:32 +00:00
Paul B Mahol
d66b0cd5c5 exr: alpha support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-05-30 07:06:12 +00:00
Mans Rullgard
0857e46dd5 fate: add missing $(TARGET_PATH) to ac3-fixed-encode
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-30 07:55:13 +01:00
Mans Rullgard
00c78a0a15 fate: fix md5sum replacement on some systems
On systems where the 'md5' command is used, there is a conflict
with the md5() shell function in fate-run.sh.  Using the 'command'
keyword bypasses the shell function for correct behaviour.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-30 07:52:35 +01:00
Michael Niedermayer
7a2ae764f4 fate: disable fate-acodec-dca
the new test doesnt work on all platforms, thus disable it until a better solution is found.
the dca2 test remains and provides partial testing until this is resolved

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 06:48:13 +02:00
Michael Niedermayer
ef96ec97fb fate: remove unused functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 05:57:56 +02:00
Michael Niedermayer
6aceed3b72 fate: remove tests/codec-regression.sh
This was somehow forgotten in todays merge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 05:57:56 +02:00
Michael Niedermayer
5855e46398 fate: resurrect acodec-dca
This was lost in todays merge
Ideas to do this less ugly are welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 05:57:56 +02:00
Lou Logan
73f3f6baff lavc: clarify experimental codec message
Should be easier for new users to get a working output.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 05:02:54 +02:00
Michael Niedermayer
fd707add6b fate: try to fix fate-nellymoser-aref-encode make dependancies
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 04:52:13 +02:00
Michael Niedermayer
e0a01e4c85 fate: make idroq test run again.
Didnt investigate what broke it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 04:38:41 +02:00
Michael Niedermayer
16e25ef34b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: extend -r to work on any input stream.
  doc/avconv: expand documentation for the -s option.
  avconv: don't print filters inserted by avconv in stream mappings.
  avconv: merge configuration code for complex and simple filters
  avconv: split configuring input filters out of configure_complex_filter

Conflicts:
	configure
	doc/ffmpeg.texi
	ffmpeg.c
	tests/ref/fate/idroq-video-encode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 04:38:32 +02:00
Michael Niedermayer
b0387edd5e Merge commit 'f919cc7df6ab844bc12f89fe7bef4fb915a47725'
* commit 'f919cc7df6ab844bc12f89fe7bef4fb915a47725':
  fate: fix acodec/vsynth tests for make 3.81
  pcm_mpeg: fix number of consumed bytes to include the header.
  avfilter: include required header file avfilter.h in video.h
  x86: Avoid movs on BUTTERFLYPS when in AVX mode
  x86: use new schema for ASM macros
  fate: convert codec-regression.sh to makefile rules
  fate: allow tests to specify unit size for psnr comparison
  fate: teach videogen/rotozoom to output a single raw video stream
  http: Add support for reusing the http socket for subsequent requests
  http: Add support for using persistent connections

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30 01:40:54 +02:00
Clément Bœsch
8619362ff1 ffprobe: fix C escaping. 2012-05-30 01:07:41 +02:00
Luca Barbato
43b50e62c4 avprobe: correctly set the default formatter 2012-05-29 14:09:43 -07:00
Marton Balint
f1a75aa033 ffplay: remove VideoPicture pix_fmt and use frame pixel format instead
VideoPicture pixel format is set at allocation time, therefore it is not
reflecting the proper value.

Fixes files with changing pixel format in the avfilter disabled case.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-29 22:41:50 +02:00
Marton Balint
15751e3fdd ffplay: only request 4 or 6 channels from SDL, if SDL version is at least 1.2.8
Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-29 22:41:50 +02:00
Marton Balint
a6f51de3bf ffplay: add pause audio feature in the middle of a packet
Fixes ticket 215.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-29 22:41:50 +02:00
Marton Balint
d872e11300 ffplay: remove VideoPicture duration field
We are not using it.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-29 22:41:50 +02:00
Clément Bœsch
2d52ee8a1a lavf/microdvd: support events lasting to the next one.
Example:

{3350}{}this subtitle...
{3390}{}...continues up to...
{4000}{4500}this one.
{4600}{}and now...
{4800}{}...to the end of the presentation
2012-05-29 21:33:28 +02:00
Clément Bœsch
d51e08bb89 lavc: switch from ts_end to duration in ff_ass_add_rect.
Make possible a end-to-presentation duration.
2012-05-29 21:33:28 +02:00
Justin Ruggles
b75726cb79 lavr: add x86-optimized function for mixing 2 to 1 s16p with q8 coeffs 2012-05-29 15:33:25 -04:00
Justin Ruggles
c140fb2cbc lavr: add x86-optimized functions for mixing 2 to 1 s16p with float coeffs 2012-05-29 15:33:18 -04:00
Justin Ruggles
8dfc122719 lavr: add C functions for mixing 2 to 1 channels with s16p format 2012-05-29 15:16:20 -04:00
Luca Barbato
528995589f avprobe: move formatter functions in the context
Avoid possible clashes.
2012-05-29 11:00:12 -07:00
Michael Niedermayer
e7cb161515 ape: Fix null ptr dereference with files missing a seekatable.
Such files are currently not supported as the table is used at several points

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-29 19:56:07 +02:00
Michael Niedermayer
5880d78873 movdec: Check count of stts/ctts elements instead of just the pointer.
Fixes overreading the array

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-29 19:56:07 +02:00
Michael Niedermayer
1b8741a684 4xm: fix division by zero caused by bps<8
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-29 19:56:07 +02:00
Anton Khirnov
c9cc76290f avconv: extend -r to work on any input stream.
This is done by automatically inserting a setpts filter.
2012-05-29 19:19:17 +02:00
Anton Khirnov
4f81a5072a doc/avconv: expand documentation for the -s option. 2012-05-29 19:19:16 +02:00
Anton Khirnov
cf6c38c62b avconv: don't print filters inserted by avconv in stream mappings. 2012-05-29 19:19:16 +02:00
Anton Khirnov
8daf21d567 avconv: merge configuration code for complex and simple filters
Some tests change because -s now inserts the scaler to the end instead
of beginning of the filtergraph.
2012-05-29 19:19:16 +02:00
Anton Khirnov
a977d91e28 avconv: split configuring input filters out of configure_complex_filter 2012-05-29 19:19:16 +02:00
Clément Bœsch
dae8505492 ffprobe: make -of an alias for -print_format.
This is for interoperability purpose with the fork.
2012-05-29 18:50:20 +02:00
Mans Rullgard
f919cc7df6 fate: fix acodec/vsynth tests for make 3.81
GNU make 3.81 applies pattern rules in declaration order rather than
by stem length as in 3.82.  This moves the more generic patterns above
the more specific ones such that they work with either make version.
Some of the vsynth patterns are also simplified a little.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-29 17:49:44 +01:00
Stefano Sabatini
ad381ac97f ffprobe: fix chapter printing, fix JSON output
Make writer_print_chapter_header() set the internal values *before* the
private writer callback is called, otherwise the accessed internal values
will be wrong.

Fix regression introduced in fa6cb2fdff.

Found-By: Daemon404
2012-05-29 18:11:36 +02:00
Hendrik Leppkes
c58bcead3b pcm_mpeg: fix number of consumed bytes to include the header.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-05-29 16:08:56 +02:00
Janne Grunau
12d42cd7a8 avfilter: include required header file avfilter.h in video.h 2012-05-29 15:36:06 +02:00
Vitor Sessak
4a301706fd x86: Avoid movs on BUTTERFLYPS when in AVX mode
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-05-29 15:29:46 +02:00
Vitor Sessak
bac0729d9e x86: use new schema for ASM macros
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-05-29 14:49:45 +02:00
Stefano Sabatini
a5e83a5d4c Changelog: apply misc formatting fixes 2012-05-29 13:06:38 +02:00
Stefano Sabatini
4eb1ff6582 Changelog: remove asplit entry from 0.11, it was added in 0.10 2012-05-29 13:06:38 +02:00
Stefano Sabatini
89d49acb3b ffprobe: add INI writer
Liberally based on the work of Luca Barbato <lu_zero@gentoo.org>, done
for libav/avprobe.
2012-05-29 13:06:33 +02:00
Paul B Mahol
908c045f3a avfilter: use designated initializer for class
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-05-29 07:59:21 +00:00
Mans Rullgard
7263cd5544 fate: convert codec-regression.sh to makefile rules
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-29 08:35:41 +01:00
Mans Rullgard
47b5996bb0 fate: allow tests to specify unit size for psnr comparison
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-29 08:27:19 +01:00
Mans Rullgard
7e5880e0cb fate: teach videogen/rotozoom to output a single raw video stream
This makes videogen/rotozoom output a raw video stream on stdout
if no output directory is specified.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-29 08:27:19 +01:00
Clément Bœsch
f0c15ecd45 doc/syntax: escape '@' to fix a warning.
Fix the following warning:
doc/syntax.texi:147: warning: Accent command `@"' must not be followed by whitespace
2012-05-29 07:40:58 +02:00
Stefano Sabatini
67b7631040 lavc: prettify printing of some codec tags which contains non alphanumeric characters
Make av_get_codec_tag_string() show codec tag string characters in a more
intelligible ways. For example the ascii char "@" is used as a number, so
should be displayed like "[64]" rather than as a printable character.

Apart alphanumeric chars, only the characters ' ' and '.' are used
literally in codec tags, all the other characters represent numbers.
2012-05-29 01:02:50 +02:00
Stefano Sabatini
fa6cb2fdff ffprobe: add multiple_sections field to WriterContext
Move the field "multiple_entries" from the JSON writer private context to
WriterContext, and rename it "multiple_sections".

This allows to factorize the code with the pending INI format patch.
2012-05-29 01:02:50 +02:00
Stefano Sabatini
c365cdf202 ffprobe: add support to '\b' and '\f' escaping in c_escape_str() 2012-05-29 01:02:47 +02:00
Stefano Sabatini
6994b552a6 ffprobe: make c_escape_str() documentation terser
Avoid to specify implementation details, better to check the code for
that.
2012-05-29 01:02:13 +02:00
Michael Niedermayer
59a78290b6 lavfi: use getter/setter functions for AVFrame.pkt_pos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 23:45:17 +02:00
Philip Langdale
ea60a11e8e movenc: Fix muxing of Apple Quicktime chapters. v3
There is basic support for muxing chapter information into the
Apple Quicktime format already, but there are two errors which
prevent correct detection on the player side.

1) A special apple 'text' atom needs to be included inside the
gmhd atom.

2) The *different* 'text' atom inside the 'stsd' atom needs a
proper header.

With these changes, the chapters are now picked up by Apple
players and reported correctly by tools like mediainfo and mp4chaps.

v3 Update: The stub TextSampleEntry creation is moved to where the
chapter track is created so it's now specific to this track.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 22:52:23 +02:00
Robert Nagy
c2eae4bae7 lavfi: Fill linesize, sample_rate and channel_layout fields in avfilter_fill_frame_from_audio_buffer_ref.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 22:52:23 +02:00
Clément Bœsch
d187e7616e ffmpeg: use %f instead of %lf in volume args format printf.
%f refers to a double argument already.
2012-05-28 22:17:05 +02:00
Michael Niedermayer
ca7fa3a516 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  AVOptions: fix the value printed in out of range error message.

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 22:07:34 +02:00
Michael Niedermayer
f2bc2e8954 configure: disable avresample by default
avresample is redundant and unneeded

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 19:43:57 +02:00
Michael Niedermayer
f0e39889ad configure: add asyncts->avresample dependancy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 19:43:34 +02:00
Carl Eugen Hoyos
5cd947d81b Fix r10k codec for widths that are not multiples of 64.
Fixes ticket #1358
2012-05-28 19:05:15 +02:00
Carl Eugen Hoyos
77cea13f05 Mark avui encoder experimental.
Some decoders require the AVID atom that we currently
do not write when encoding avui.
2012-05-28 18:20:39 +02:00
Michael Niedermayer
b4904e804d jvdec: check videosize
Fixes null ptr dereference
fixes Ticket1364

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 17:24:13 +02:00
Michael Niedermayer
50122084a6 motionpixels: check extradata size
Fixes null ptr derefernce
Fixes Ticket1363

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 17:24:13 +02:00
Michael Niedermayer
849d4b0413 iff_ilbm: fix null ptr deref
Fixes Ticket1362

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 17:24:13 +02:00
Michael Niedermayer
77a4c8b959 yop: check for missing extradata
Fixes null ptr deref
Fixes Ticket1361

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 17:24:13 +02:00
Michael Niedermayer
01900fcc45 xan: fix out of array read
Fixes ticket1360

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 17:24:13 +02:00
Michael Niedermayer
1e5c7376c4 cdgraphics: Fix out of array write
Fixes Ticket1359

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 17:24:13 +02:00
Carl Eugen Hoyos
83de4f5fc9 Test extradata size before reading from extradata when decoding avui. 2012-05-28 15:58:46 +02:00
Michael Niedermayer
d5a17d7f4d configure: fix the wording for gpl incompatible licenses warnings
calling the 4 clause BSD license non free is quite a stretch ;)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 15:49:12 +02:00
Michael Niedermayer
f997ac1c8b configure: openssl is compatible with the LGPL.
looking at the license i cannot see why they would be incompatible and
researching this matter a bit also turned up no reasons.

If i missed something, please dont hesitate to flame me and or revert

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 15:49:07 +02:00
Samuel Pitoiset
e999b641df http: Add support for reusing the http socket for subsequent requests
Introduce ff_http_do_new_request(), a new function which sends a new
HTTP request, reusing the existing connection to the server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-28 16:42:40 +03:00
Samuel Pitoiset
3bdb438e65 http: Add support for using persistent connections
Add a new AVOption 'multiple_requests', which indicates if we want
to use persistent connections (ie. Connection: keep-alive).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-28 16:42:14 +03:00
Anton Khirnov
0426c69310 AVOptions: fix the value printed in out of range error message. 2012-05-28 12:55:41 +02:00
Michael Niedermayer
394b692b70 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avprobe: restore pseudo-INI old style format for compatibility.
  avprobe: fix formatting.
  log: make colored output more colorful.
  rtsp: Check for dynamic payload handlers if no static payload mapping was found

Conflicts:
	Changelog
	doc/ffprobe.texi
	ffprobe.c
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-28 00:50:23 +02:00
Michael Niedermayer
875851294f avienc: create xsub in avi files that are closer to whats in the wild
Fixes ticket1332

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-27 22:45:52 +02:00
Michael Niedermayer
9c27f29a01 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: force exit when filter configuration fails
  ffplay: fix stream cycling if audio decoding fails
  ffplay: flush codec buffers before freeing filters
  ffplay: dont destroy packet queues on stream change

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-27 16:04:10 +02:00
Michael Niedermayer
fcd08262fd tests and tools: cleanup ffmpeg reference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-27 15:42:55 +02:00
Vitor Sessak
2fd5e70869 x86: use new schema for ASM macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-27 15:42:45 +02:00
Michael Niedermayer
65212e3ed9 mxfdec: remove unused last_index_duration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-27 15:42:45 +02:00
Clément Bœsch
80bf2b6e84 Changelog: fix wrong/inaccurate entries. 2012-05-27 15:28:24 +02:00
Carl Eugen Hoyos
ab7d6cb8f7 Support decoding fourcc YVYU.
Based on work by ami_stuff.

Fixes ticket #1352
2012-05-27 01:13:37 +02:00
Clément Bœsch
5c3f79198c lavfi/deshake: add libavcodec dependency (dsputil). 2012-05-27 00:34:09 +02:00
Clément Bœsch
19c1bf1525 ffprobe: reduce the number of AVBPrint resets. 2012-05-26 22:53:13 +02:00
Michael Niedermayer
53ce990513 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  opt: Add av_opt_set_bin()
  avconv: Display the error returned by avformat_write_header
  rtpenc_chain: Return an error code instead of just a plain pointer
  rtpenc_chain: Free the URLContext on failure
  rtpenc: Expose the ssrc as an avoption
  avprobe: display the codec profile in show_stream()
  avprobe: fix function prototype
  cosmetics: Fix indentation
  avprobe: changelog entry
  avprobe: update documentation
  avprobe: provide JSON output
  avprobe: output proper INI format
  avprobe: improve formatting
  rtmp: fix url parsing
  fate: document TARGET_EXEC and its usage

Conflicts:
	doc/APIchanges
	doc/fate.texi
	doc/ffprobe.texi
	ffprobe.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 22:37:37 +02:00
Anton Khirnov
8271f55bd7 avprobe: restore pseudo-INI old style format for compatibility. 2012-05-26 21:14:35 +02:00
Anton Khirnov
d30acfa94c avprobe: fix formatting. 2012-05-26 21:14:27 +02:00
Anton Khirnov
780ff97fef log: make colored output more colorful.
Green for verbose, cyan for debug.
2012-05-26 21:14:17 +02:00
Michael Niedermayer
a48b890392 aacdec: fix "may be used uninitialized" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 21:03:58 +02:00
Michael Niedermayer
21e5dd93d7 aacpsy: fix "may be used uninitialized" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 20:59:57 +02:00
Martin Storsjö
6099543ad4 rtsp: Check for dynamic payload handlers if no static payload mapping was found
Some systems abuse the static payload types 35 or 36 (which
according to IANA are unassigned) for H264.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-26 21:58:18 +03:00
Alexis Ballier
0bf90ceb84 Fix tests without fate samples.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 20:49:59 +02:00
Michael Niedermayer
f7c89705e4 avio: fix "discards const qualifier from pointer target type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 20:46:02 +02:00
Michael Niedermayer
8a45e0c354 lswsutils: fix "ncompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 20:46:00 +02:00
Michael Niedermayer
6d401effc4 lavfutils: fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 20:45:59 +02:00
Michael Niedermayer
be97675e6c af_aresample: fix pts, they where off by a packet in the -async >0 case.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 16:22:46 +02:00
Samuel Pitoiset
154486f9ad opt: Add av_opt_set_bin()
Introduce a new function to set binary data through AVOption,
avoiding having to convert the binary data to a string inbetween.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-26 14:31:44 +03:00
Michael Niedermayer
aeb2dea802 Changelog, spell out the CVEs that where fixed.
there are some holes in the list as some things have been fixed
in previous releases already.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 13:07:04 +02:00
Christian Schmidt
f7d5272456 ffprobe: display the codec profile in show_stream()
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-05-26 12:39:11 +02:00
Martin Storsjö
a1a6cdc26e avconv: Display the error returned by avformat_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-26 13:35:44 +03:00
Martin Storsjö
68c813081b rtpenc_chain: Return an error code instead of just a plain pointer
Also check the return value in sapenc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-26 13:35:44 +03:00
Martin Storsjö
93cef6f923 rtpenc_chain: Free the URLContext on failure
If an URLContext is passed in, its ownership is given to this
function, and is either owned by the returned AVFormatContext
on a successful return, or freed on failure.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-26 13:35:44 +03:00
Martin Storsjö
2dcb21a95d rtpenc: Expose the ssrc as an avoption
This allows the caller to set it, and allows the caller to query
what it was set to.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-26 13:35:39 +03:00
Stefano Sabatini
36f714f825 tests/lavfi: use do_lavfi_pixfmts for the pixdesctest test
Simplify, and as a side effect extend the number of supported formats, in
particular add a test for pal8.
2012-05-26 12:02:30 +02:00
Stefano Sabatini
52b23cbf1c tests/lavfi: rework lavfi-regression.sh, avoid use of ffmpeg -pix_fmts
Use lavfi-showfiltfmts for checking the format supported by the scale
filter instead. The advantage is that the scale filter may support
formats which are not supported by libswscale (namely: the pal8 format).

The new implementation is also a bit cleaner, because it doesn't depend
on the ffmpeg output.
2012-05-26 10:46:46 +02:00
Michael Niedermayer
72261fa867 swr: fix swr_drop_output()
Fixes part of Ticket1341

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 02:33:38 +02:00
Michael Niedermayer
411689b5e1 af_aresample: fix request_frame()
Fixes part of Ticket1341

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 02:28:40 +02:00
Christian Schmidt
b1d22dc52f avprobe: display the codec profile in show_stream()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-05-25 16:41:47 -07:00
Luca Barbato
70026be8e5 avprobe: fix function prototype
Make opt_output_format return the correct value.
2012-05-25 16:41:47 -07:00
ami_stuff
ca8623e1a5 Support some BOXX codecs.
Fixes a part of ticket #1352.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-26 00:18:15 +02:00
Martin Storsjö
39e29aa019 cosmetics: Fix indentation
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-26 00:34:20 +03:00
Luca Barbato
f4dd6465e9 avprobe: changelog entry 2012-05-25 14:20:34 -07:00
Luca Barbato
6a6c2a94c5 avprobe: update documentation
Update the documentation according to the latest changes
2012-05-25 14:20:34 -07:00
Luca Barbato
0d242a7713 avprobe: provide JSON output
JSON usage is quite widespread.
2012-05-25 14:20:34 -07:00
Luca Barbato
3a8c95f730 avprobe: output proper INI format
Make the output valid INI serialization.
2012-05-25 14:20:34 -07:00
Luca Barbato
beb33fca69 avprobe: improve formatting
Do not use decimals if not needed.
2012-05-25 14:20:34 -07:00
Luca Barbato
c6eeb9b7b6 rtmp: fix url parsing
The application component can have a subcomponent to specify the
application instance even if it doesn't have a ":" in the playpath.
2012-05-25 14:20:34 -07:00
Luca Barbato
b0970a69d1 fate: document TARGET_EXEC and its usage
TARGET_EXEC allows running FATE on simulators, remote targets and
memory checkers. Also document a known issue with Wine and mixed
Unix/Windows line ending.
2012-05-25 14:20:33 -07:00
Michael Niedermayer
c0b47d1914 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Don't write the 'wave' atom or its child 'enda' for lpcm audio.
  imc: some cosmetics
  rtmp: Pass the proper return code in rtmp_handshake
  rtmp: Check return codes of net IO operations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-25 21:06:14 +02:00
Alex Converse
ed7bdd8647 movenc: Don't write the 'wave' atom or its child 'enda' for lpcm audio.
It's left over from stsd v0. QuickTime 7 no longer writes 'wave' or 'enda'
when 'lpcm' is the audio tag.
2012-05-25 11:24:43 -07:00
Kostya Shishkov
d073f122ea imc: some cosmetics 2012-05-25 20:18:02 +02:00
Marton Balint
7315e40a24 ffplay: force exit when filter configuration fails
Switching to visualization instead of exiting ffplay is a bit more tricky, so
just exit for now.

Fixes ticket 38.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-24 23:48:52 +02:00
Marton Balint
8c9971c35e ffplay: fix stream cycling if audio decoding fails
Fixes ticket 1161.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-24 23:48:52 +02:00
Marton Balint
c2e8691c07 ffplay: flush codec buffers before freeing filters
We do this to ensure that input_get_buffer is not called from a
frame_worker_thread of a multithreaded decoder when we already freed the
filters.

Fixes occasional segfaults on video stream change.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-24 23:48:52 +02:00
Marton Balint
a687acbbf0 ffplay: dont destroy packet queues on stream change
This fixes occasional segfaults caused by lock request of the packet queue from
the reader thread.

Also don't allow to put frames into the queue when it's aborted, and don't try
to fill the queue with frames when it is aborted.

Signed-off-by: Marton Balint <cus@passwd.hu>
2012-05-24 23:48:51 +02:00
Samuel Pitoiset
177bcc9593 rtmp: Pass the proper return code in rtmp_handshake
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-24 22:16:46 +03:00
Samuel Pitoiset
bba287fdac rtmp: Check return codes of net IO operations
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-05-24 22:16:46 +03:00
Luca Barbato
22f7942fe7 ffv1: set the range coder state in decode_slice_header 2001-01-01 01:06:41 +01:00
Janne Grunau
dcdfb8ede3 pcmdec: change default of channels parameter to 1
This was previously implicitly done in ff_raw_read_header().
Fixes fate tests with pcm input.
2012-10-25 15:14:40 +02:00
2614 changed files with 171978 additions and 77697 deletions

104
.gitignore vendored
View File

@@ -1,64 +1,68 @@
.config
.version
*.a
*.o
*.d
*.def
*.dll
*.dylib
*.exe
*.ho
*.exp
*.h.c
*.ilk
*.lib
*.pc
*.pdb
*.so
*.so.*
*.ver
*-example
*-test
*_g
*.def
*.dll
*.lib
*.exp
config.*
doc/*.1
doc/*.html
doc/*.pod
doc/fate.txt
doxy
ffmpeg
ffplay
ffprobe
ffserver
avconv
doc/avoptions_codec.texi
doc/avoptions_format.texi
doc/print_options
doc/examples/decoding_encoding
doc/examples/filtering_audio
doc/examples/filtering_video
doc/examples/metadata
doc/examples/muxing
libavcodec/*_tablegen
libavcodec/*_tables.c
libavcodec/*_tables.h
libavcodec/codec_names.h
libavutil/avconfig.h
tests/audiogen
tests/base64
tests/data
tests/rotozoom
tests/tiny_psnr
tests/videogen
tests/vsynth1
tests/vsynth2
tools/aviocat
tools/cws2fws
tools/ffeval
tools/graph2dot
tools/ismindex
tools/lavfi-showfiltfmts
tools/pktdumper
tools/probetest
tools/qt-faststart
tools/trasher
version.h
/.config
/.version
/ffmpeg
/ffplay
/ffprobe
/ffserver
/config.*
/version.h
/doc/*.1
/doc/*.3
/doc/*.html
/doc/*.pod
/doc/avoptions_codec.texi
/doc/avoptions_format.texi
/doc/examples/decoding_encoding
/doc/examples/demuxing
/doc/examples/filtering_audio
/doc/examples/filtering_video
/doc/examples/metadata
/doc/examples/muxing
/doc/examples/resampling_audio
/doc/examples/scaling_video
/doc/fate.txt
/doc/doxy/html/
/doc/print_options
/libavcodec/*_tablegen
/libavcodec/*_tables.c
/libavcodec/*_tables.h
/libavutil/avconfig.h
/tests/audiogen
/tests/base64
/tests/data/
/tests/rotozoom
/tests/tiny_psnr
/tests/videogen
/tests/vsynth1/
/tools/aviocat
/tools/ffbisect
/tools/bisect.need
/tools/cws2fws
/tools/fourcc2pixfmt
/tools/ffescape
/tools/ffeval
/tools/graph2dot
/tools/ismindex
/tools/pktdumper
/tools/probetest
/tools/qt-faststart
/tools/trasher

270
Changelog
View File

@@ -1,15 +1,268 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version next:
version <next>:
- aac: check the maximum number of channels to avoid invalid writes
- indeo3: fix off by one in MV validity check
- id3v2: check for end of file while unescaping tags to avoid invalid
writes, reported by Google Security Team
- afifo: fix request_samples on the last frame in certain cases
- hls, segment: fix splitting for audio-only streams
- wav: Always seek to an even offset, Bug #500, LP: #1174737
- swscale: Use alpha from the right row in yuva2rgba_c, Bug #504
- indeo3: use unaligned reads on reference blocks, Bug #503
- oma: properly forward errors in oma_read_packet
- af_asyncts: fix offset calculation
Most of the following fixes resulted from test samples that the Google
Security Team has kindly made available to us:
- af_channelmap: sanity check input channel indices in all cases
- avfiltergraph: check for sws opts being non-NULL before using them
- bmv: check for len being valid in bmv_decode_frame()
- configure: Enable hwaccels without external dependencies by default
- dfa: check for invalid access in decode_wdlt()
- id3v2: pad the APIC packets as required by lavc
- indeo3: check motion vectors
- indeo3: fix data size check
- indeo3: switch parsing the header to bytestream2
- lavf: make sure stream probe data gets freed
- matroska: Update the available size after lace parsing
- matroska: fix a corner case in ebml-lace parsing
- matroska: pass the lace size to the matroska_parse_rm_audio
- mp3dec: fallback to generic seeking when a TOC is not present
- oggdec: fix faulty cleanup prototype
- oma: Validate sample rates
- qdm2: check that the FFT size is a power of 2
- riff: check for eof if chunk size and code are 0 to prevent an infinite loop
- rv10: check that extradata is large enough
- svq1dec: check that the reference frame has the same dimensions as the current one
- svq1dec: clip motion vectors to the frame size
- xmv: check audio track parameters validity
- xmv: do not leak memory in the error paths in xmv_read_header()
- atrac3: avoid oversized shifting in decode_bytes()
- eamad: allocate a dummy reference frame when the real one is missing
- ffv1: fix calculating slice dimensions for version 2
- flacdec: simplify bounds checking in flac_probe()
- h264: check for luma and chroma bit dept being equal (CVE-2013-2277)
- hqdn3d: Fix out of array read in LOWPASS
- iff: validate CMAP palette size (CVE-2013-2495)
- ivi_common: do not call MC for intra frames when dc_transform is unset
- libmp3lame: use the correct remaining buffer size when flushing
- lzo: fix overflow checking in copy_backptr()
- mp3dec: Fix VBR bit rate parsing
- png: use av_mallocz_array() for the zlib zalloc function
- roqvideodec: fix a potential infinite loop in roqvideo_decode_frame()
- shorten: fix various programming mistakes
- vf_gradfun: fix uninitialized variable use
- vf_hqdn3d: fix uninitialized variable use
- vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
- wmadec: require block_align to be set
- wmaprodec: require block_align to be set
- wmaprodec: return an error, not 0, when the input is too small
- xxan: fix invalid memory access in xan_decode_frame_type0()
- h264: fix deadlocks with broken/fuzzed files
- flvdec: make decoder more robust
- vorbisdec: fix buffer overflow (CVE-2013-0894)
- ac3dec: validate channel output mode against channel count
- doc: minor improvements
- loco: check that there is data left after decoding a plane.
- mov: use the format context for logging.
- lagarith: avoid infinite loop in lag_rac_refill() with corrupted files
- flicvideo: avoid an infinite loop in byte run compression
- av_memcpy_backptr: avoid an infinite loop for back = 0
- mlpdec: do not try to allocate a zero-sized output buffer.
- qtrle: add more checks against pixel_ptr being negative.
- 4xm: check the return value of read_huffman_tables().
- cavs: initialize various context tables, avoids crashes with corrupted files
- x86/H.264: Don't use redzone in AVX h264_deblock on Win64
- VQA video: check chunk sizes before reading chunks
- RoQ video decoder: check dimensions validity
- QDM2: check array index before use, fix out of array accesses
- mpegvideo: Do REBASE_PICTURE with byte pointers
- SVQ3: unbreak decoding
- libopencore-amrwb: Make AMR-WB ifdeffery more precise
- libopencore-amr: Conditionally compile decoder and encoder bits
- arm: Fall back to runtime cpu feature detection via /proc/cpuinfo
- xxan: properly handle odd heights
- msrledec: check bounds before constructing a possibly invalid pointer (CVE-2496)
- qtrle: fix the topmost line for 1bit
- aasc: fix output for msrle compression
- yop: check for input overreads
- yop: check that extradata is large enough
- fraps: fix off-by one bug for version 1
- vf_delogo: fix copying the input frame
- vf_delogo: fix an uninitialized read
- dnxhdenc: fix invalid reads in dnxhd_mb_var_thread()
- ATRAC3: use correct loop variable in add_tonal_components()
- MLP: store the channel layout for each substream
- MLP decoder: TrueHD: use Libav channel order
- x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
- arm: vp8: Fix the plain-armv6 version of vp8_luma_dc_wht
- lavr: call mix_function_init() in ff_audio_mix_set_matrix()
- rtpenc_chain: Use the original AVFormatContext for getting payload type
- rtp: Make sure the output format pointer is set
- rtp: Make sure priv_data is set before reading it
- videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
- get_bits: change the failure condition in init_get_bits
- mpegvideo: fix loop condition in draw_line()
- fate: update ref after rv30_loop_filter fix
- RV30: fix masking in rv30_loop_filter()
- libcdio: support recent cdio-paranoia
- Theora: Skip zero-sized headers
- H.264: add 3 pixels below for subpixel filter wait position
- H.264: fix ff_generate_sliding_window_mmcos() prototype
- H.264: don't clobber mmco opcode tables for non-first slice headers
- libx264: use the library specific default rc_initial_buffer_occupancy
- lavc: set the default rc_initial_buffer_occupancy
- lavc: introduce the convenience function init_get_bits8
- lavc: check for overflow in init_get_bits
- configure: enable pic for shared libs on AArch64
- zmbv: Reset the decoder on keyframe errors
- VC1 decoder: prevent a crash due missing pred_flag parameter
- matroska: Fix use after free
- VP3: Fix double free in vp3_decode_end()
- Fix a crash on windows platforms related to automatic stack alignment
in libavresample
- Fix memleaks in the Ogg demuxer. Related to CVE-2012-2882
version 1.1:
- stream disposition information printing in ffprobe
- filter for loudness analysis following EBU R128
- Opus encoder using libopus
- ffprobe -select_streams option
- Pinnacle TARGA CineWave YUV16 decoder
- TAK demuxer, decoder and parser
- DTS-HD demuxer
- remove -same_quant, it hasn't worked for years
- FFM2 support
- X-Face image encoder and decoder
- 24-bit FLAC encoding
- multi-channel ALAC encoding up to 7.1
- metadata (INFO tag) support in WAV muxer
- subtitles raw text decoder
- support for building DLLs using MSVC
- LVF demuxer
- ffescape tool
- metadata (info chunk) support in CAF muxer
- field filter ported from libmpcodecs
- AVR demuxer
- geq filter ported from libmpcodecs
- remove ffserver daemon mode
- AST muxer/demuxer
- new expansion syntax for drawtext
- BRender PIX image decoder
- ffprobe -show_entries option
- ffprobe -sections option
- ADPCM IMA Dialogic decoder
- BRSTM demuxer
- animated GIF decoder and demuxer
- PVF demuxer
- subtitles filter
- IRCAM muxer/demuxer
- Paris Audio File demuxer
- Virtual concatenation demuxer
- VobSub demuxer
- JSON captions for TED talks decoding support
- SOX Resampler support in libswresample
- aselect filter
- SGI RLE 8-bit decoder
- Silicon Graphics Motion Video Compressor 1 & 2 decoder
- Silicon Graphics Movie demuxer
- apad filter
- Resolution & pixel format change support with multithreading for H.264
- documentation split into per-component manuals
- pp (postproc) filter ported from MPlayer
- NIST Sphere demuxer
- MPL2, VPlayer, MPlayer, AQTitle, PJS and SubViewer v1 subtitles demuxers and decoders
- Sony Wave64 muxer
- adobe and limelight publisher authentication in RTMP
- data: URI scheme
- support building on the Plan 9 operating system
- kerndeint filter ported from MPlayer
- histeq filter ported from VirtualDub
- Megalux Frame demuxer
- 012v decoder
- Improved AVC Intra decoding support
version 1.0:
- INI and flat output in ffprobe
- Scene detection in libavfilter
- Indeo Audio decoder
- channelsplit audio filter
- setnsamples audio filter
- atempo filter
- ffprobe -show_data option
- RTMPT protocol support
- iLBC encoding/decoding via libilbc
- Microsoft Screen 1 decoder
- join audio filter
- audio channel mapping filter
- Microsoft ATC Screen decoder
- RTSP listen mode
- TechSmith Screen Codec 2 decoder
- AAC encoding via libfdk-aac
- Microsoft Expression Encoder Screen decoder
- RTMPS protocol support
- RTMPTS protocol support
- RTMPE protocol support
- RTMPTE protocol support
- showwaves and showspectrum filter
- LucasArts SMUSH playback support
- SAMI, RealText and SubViewer demuxers and decoders
- Heart Of Darkness PAF playback support
- iec61883 device
- asettb filter
- new option: -progress
- 3GPP Timed Text encoder/decoder
- GeoTIFF decoder support
- ffmpeg -(no)stdin option
- Opus decoder using libopus
- caca output device using libcaca
- alphaextract and alphamerge filters
- concat filter
- flite filter
- Canopus Lossless Codec decoder
- bitmap subtitles in filters (experimental and temporary)
- MP2 encoding via TwoLAME
- bmp parser
- smptebars source
- asetpts filter
- hue filter
- ICO muxer
- SubRip encoder and decoder without embedded timing
- edge detection filter
- framestep filter
- ffmpeg -shortest option is now per-output file
-pass and -passlogfile are now per-output stream
- volume measurement filter
- Ut Video encoder
- Microsoft Screen 2 decoder
- smartblur filter ported from MPlayer
- CPiA decoder
- decimate filter ported from MPlayer
- RTP depacketization of JPEG
- Smooth Streaming live segmenter muxer
- F4V muxer
- sendcmd and asendcmd filters
- WebVTT demuxer and decoder (simple tags supported)
- RTP packetization of JPEG
- faststart option in the MOV/MP4 muxer
- support for building with MSVC
version 0.11:
Fixes:CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
- Fixes: CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
CVE-2012-2779, CVE-2012-2782, CVE-2012-2783, CVE-2012-2784, CVE-2012-2785,
CVE-2012-2786, CVE-2012-2787, CVE-2012-2788, CVE-2012-2789, CVE-2012-2790,
CVE-2012-2791, CVE-2012-2792, CVE-2012-2793, CVE-2012-2794, CVE-2012-2795,
CVE-2012-2796, CVE-2012-2797, CVE-2012-2798, CVE-2012-2799, CVE-2012-2800,
CVE-2012-2801, CVE-2012-2802, CVE-2012-2803, CVE-2012-2804,
- v408 Quicktime and Microsoft AYUV Uncompressed 4:4:4:4 encoder and decoder
- setfield filter
- CDXL demuxer and decoder
@@ -40,13 +293,14 @@ Fixes:CVE-2012-2772, CVE-2012-2774, CVE-2012-2775, CVE-2012-2776, CVE-2012-2777,
- accept + prefix to -pix_fmt option to disable automatic conversions.
- complete audio filtering in libavfilter and ffmpeg
- add fps filter
- audio split filter
- vorbis parser
- png parser
- audio mix filter
- ffv1: support (draft) version 1.3
version 0.10:
- Fixes: CVE-2011-3929, CVE-2011-3934, CVE-2011-3935, CVE-2011-3936,
CVE-2011-3937, CVE-2011-3940, CVE-2011-3941, CVE-2011-3944,
CVE-2011-3945, CVE-2011-3946, CVE-2011-3947, CVE-2011-3949,

65
LICENSE
View File

@@ -1,5 +1,4 @@
FFmpeg:
-------
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other
@@ -14,9 +13,35 @@ configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
Specifically, the GPL parts of FFmpeg are
- libpostproc
- libmpcodecs
- optional x86 optimizations in the files
libavcodec/x86/idct_mmx.c
- libutvideo encoding/decoding wrappers in
libavcodec/libutvideo*.cpp
- the X11 grabber in libavdevice/x11grab.c
- the swresample test app in
libswresample/swresample-test.c
- the texi2pod.pl tool
- the following filters in libavfilter:
- f_ebur128.c
- vf_blackframe.c
- vf_boxblur.c
- vf_colormatrix.c
- vf_cropdetect.c
- vf_decimate.c
- vf_delogo.c
- vf_geq.c
- vf_histeq.c
- vf_hqdn3d.c
- vf_hue.c
- vf_kerndeint.c
- vf_mp.c
- vf_pp.c
- vf_smartblur.c
- vf_super2xsai.c
- vf_tinterlace.c
- vf_yadif.c
- vsrc_mptestsrc.c
There are a handful of files under other licensing terms, namely:
@@ -33,18 +58,32 @@ for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
COPYING.GPLv3 to learn the exact legal terms that apply in this case.
external libraries:
-------------------
external libraries
==================
Some external libraries, e.g. libx264, are under GPL and can be used in
conjunction with FFmpeg. They require --enable-gpl to be passed to configure
as well.
FFmpeg can be combined with a number of external libraries, which sometimes
affect the licensing of binaries resulting from the combination.
The OpenCORE external libraries are under the Apache License 2.0. That license
is incompatible with the LGPL v2.1 and the GPL v2, but not with version 3 of
those licenses. So to combine the OpenCORE libraries with FFmpeg, the license
version needs to be upgraded by passing --enable-version3 to configure.
compatible libraries
--------------------
The nonfree external libraries libfaac and libaacplus can be hooked up in FFmpeg.
You need to pass --enable-nonfree to configure to enable it. Employ this option
with care as FFmpeg then becomes nonfree and unredistributable.
The libcdio, libx264, libxavs and libxvid libraries are under GPL. When
combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
passing --enable-gpl to configure.
The OpenCORE and VisualOn libraries are under the Apache License 2.0. That
license is incompatible with the LGPL v2.1 and the GPL v2, but not with
version 3 of those licenses. So to combine these libraries with FFmpeg, the
license version needs to be upgraded by passing --enable-version3 to configure.
incompatible libraries
----------------------
The Fraunhofer AAC library, FAAC and aacplus are under licenses which
are incompatible with the GPLv2 and v3. We do not know for certain if their
licenses are compatible with the LGPL.
If you wish to enable these libraries, pass --enable-nonfree to configure.
But note that if you enable any of these libraries the resulting binary will
be under a complex license mix that is more restrictive than the LGPL and that
may result in additional obligations. It is possible that these
restrictions cause the resulting binary to be unredistributeable.

View File

@@ -130,9 +130,12 @@ Codecs:
bmp.c Mans Rullgard, Kostya Shishkov
cavs* Stefan Gehrer
celp_filters.* Vitor Sessak
cdxl.c Paul B Mahol
cinepak.c Roberto Togni
cljr Alex Beregszaszi
cllc.c Derek Buitenhuis
cook.c, cookdata.h Benjamin Larsson
cpia.c Stephan Hilb
crystalhd.c Philip Langdale
cscd.c Reimar Doeffinger
dca.c Kostya Shishkov, Benjamin Larsson
@@ -180,7 +183,7 @@ Codecs:
lzo.h, lzo.c Reimar Doeffinger
mdec.c Michael Niedermayer
mimic.c Ramiro Polla
mjpeg.c Michael Niedermayer
mjpeg*.c Michael Niedermayer
mlp* Ramiro Polla
mmvideo.c Peter Ross
mpc* Kostya Shishkov
@@ -191,6 +194,7 @@ Codecs:
msvideo1.c Mike Melanson
nellymoserdec.c Benjamin Larsson
nuv.c Reimar Doeffinger
paf.* Paul B Mahol
pcx.c Ivo van Poorten
pgssubdec.c Reimar Doeffinger
ptx.c Ivo van Poorten
@@ -215,6 +219,7 @@ Codecs:
srt* Aurelien Jacobs
sunrast.c Ivo van Poorten
svq3.c Michael Niedermayer
tak* Paul B Mahol
targa.c Kostya Shishkov
tiff.c Kostya Shishkov
truemotion1* Mike Melanson
@@ -229,6 +234,8 @@ Codecs:
vble.c Derek Buitenhuis
vc1* Kostya Shishkov
vcr1.c Michael Niedermayer
vda_h264_dec.c Xidorn Quan
vima.c Paul B Mahol
vmnc.c Kostya Shishkov
vorbis_enc.c Oded Shimon
vorbis_dec.c Denes Balatoni, David Conrad
@@ -243,8 +250,10 @@ Codecs:
wmv2.c Michael Niedermayer
wnv1.c Kostya Shishkov
xan.c Mike Melanson
xbm* Paul B Mahol
xl.c Kostya Shishkov
xvmc.c Ivan Kalvachev
xwd* Paul B Mahol
zerocodec.c Derek Buitenhuis
zmbv* Kostya Shishkov
@@ -263,22 +272,27 @@ libavdevice
libavdevice/avdevice.h
iec61883.c Georg Lippitsch
libdc1394.c Roman Shaposhnik
v4l2.c Luca Abeni
vfwcap.c Ramiro Polla
dshow.c Roger Pack
libavfilter
===========
Video filters:
Generic parts:
graphdump.c Nicolas George
Filters:
af_amerge.c Nicolas George
af_astreamsync.c Nicolas George
af_atempo.c Pavel Koshevoy
af_pan.c Nicolas George
vsrc_mandelbrot.c Michael Niedermayer
vf_yadif.c Michael Niedermayer
Sources:
vsrc_mandelbrot.c Michael Niedermayer
libavformat
===========
@@ -293,17 +307,25 @@ Generic parts:
Muxers/Demuxers:
4xm.c Mike Melanson
adtsenc.c Robert Swain
afc.c Paul B Mahol
aiff.c Baptiste Coudurier
ape.c Kostya Shishkov
ass* Aurelien Jacobs
astdec.c Paul B Mahol
astenc.c James Almer
avi* Michael Niedermayer
avr.c Paul B Mahol
bink.c Peter Ross
brstm.c Paul B Mahol
caf* Peter Ross
cdxl.c Paul B Mahol
crc.c Michael Niedermayer
daud.c Reimar Doeffinger
dtshddec.c Paul B Mahol
dv.c Roman Shaposhnik
dxa.c Kostya Shishkov
electronicarts.c Peter Ross
epafdec.c Paul B Mahol
ffm* Baptiste Coudurier
flac* Justin Ruggles
flic.c Mike Melanson
@@ -314,19 +336,22 @@ Muxers/Demuxers:
idroqdec.c Mike Melanson
iff.c Jaikrishnan Menon
ipmovie.c Mike Melanson
img2.c Michael Niedermayer
img2*.c Michael Niedermayer
ircam* Paul B Mahol
iss.c Stefan Gehrer
jacosub* Clément Bœsch
jvdec.c Peter Ross
libmodplug.c Clément Bœsch
libnut.c Oded Shimon
lmlm4.c Ivo van Poorten
lvfdec.c Paul B Mahol
lxfdec.c Tomas Härdin
matroska.c Aurelien Jacobs
matroskadec.c Aurelien Jacobs
matroskaenc.c David Conrad
metadata* Aurelien Jacobs
microdvd* Aurelien Jacobs
mgsts.c Paul B Mahol
mm.c Peter Ross
mov.c Michael Niedermayer, Baptiste Coudurier
movenc.c Michael Niedermayer, Baptiste Coudurier
@@ -338,6 +363,7 @@ Muxers/Demuxers:
mtv.c Reynaldo H. Verdejo Pinochet
mxf* Baptiste Coudurier
mxfdec.c Tomas Härdin
nistspheredec.c Paul B Mahol
nsvdec.c Francois Revol
nut.c Michael Niedermayer
nuv.c Reimar Doeffinger
@@ -345,8 +371,10 @@ Muxers/Demuxers:
oggenc.c Baptiste Coudurier
oggparse*.c David Conrad
oma.c Maxim Poliakovski
paf.c Paul B Mahol
psxstr.c Mike Melanson
pva.c Ivo van Poorten
pvfdec.c Paul B Mahol
r3d.c Baptiste Coudurier
raw.c Michael Niedermayer
rdt.c Ronald S. Bultje
@@ -362,8 +390,10 @@ Muxers/Demuxers:
segafilm.c Mike Melanson
siff.c Kostya Shishkov
smacker.c Kostya Shishkov
smjpeg* Paul B Mahol
srtdec.c Aurelien Jacobs
swf.c Baptiste Coudurier
takdec.c Paul B Mahol
tta.c Alex Beregszaszi
txd.c Ivo van Poorten
voc.c Aurelien Jacobs
@@ -372,6 +402,7 @@ Muxers/Demuxers:
westwood.c Mike Melanson
wtv.c Peter Ross
wv.c Kostya Shishkov
wvenc.c Paul B Mahol
Protocols:
bluray.c Petri Hintukainen
@@ -380,6 +411,20 @@ Protocols:
udp.c Luca Abeni
libswresample
=============
Generic parts:
audioconvert.c Michael Niedermayer
dither.c Michael Niedermayer
rematrix*.c Michael Niedermayer
swresample*.c Michael Niedermayer
Resamplers:
resample*.c Michael Niedermayer
soxr_resample.c Rob Sykes
Operating systems / CPU architectures
=====================================
@@ -400,9 +445,11 @@ x86 Michael Niedermayer
Releases
========
0.11 Michael Niedermayer
0.10 Michael Niedermayer
1.2 Michael Niedermayer
1.1 Michael Niedermayer
1.0 Michael Niedermayer
If you want to maintain an older release, please contact us
GnuPG Fingerprints of maintainers and contributors
@@ -414,6 +461,7 @@ Attila Kinali 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
Baptiste Coudurier 8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
Ben Littler 3EE3 3723 E560 3214 A8CD 4DEB 2CDB FCE7 768C 8D2C
Benoit Fouet B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
Bœsch Clément 52D0 3A82 D445 F194 DB8B 2B16 87EE 2CB8 F4B8 FCF9
Daniel Verkamp 78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
Diego Biurrun 8227 1E31 B6D9 4994 7427 E220 9CAE D6CC 4757 FCC5
Gwenole Beauchesne 2E63 B3A6 3E44 37E2 017D 2704 53C7 6266 B153 99C4
@@ -431,5 +479,6 @@ Reinhard Tartler 9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4
Reynaldo H. Verdejo Pinochet 6E27 CD34 170C C78E 4D4F 5F40 C18E 077F 3114 452A
Robert Swain EE7A 56EA 4A81 A7B5 2001 A521 67FA 362D A2FC 3E71
Sascha Sommer 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
Stefano Sabatini 9A43 10F8 D32C D33C 48E7 C52C 5DF2 8E4D B2EE 066B
Tomas Härdin D133 29CA 4EEC 9DB4 7076 F697 B04B 7403 3313 41FD
Stefano Sabatini 0D0B AD6B 5330 BBAD D3D6 6A0C 719C 2839 FC43 2D5F
Stephan Hilb 4F38 0B3A 5F39 B99B F505 E562 8D5C 5554 4E17 8863
Tomas Härdin A79D 4E3D F38F 763F 91F5 8B33 A01E 8AE0 41BB 2551

View File

@@ -15,9 +15,11 @@ PROGS-$(CONFIG_FFPLAY) += ffplay
PROGS-$(CONFIG_FFPROBE) += ffprobe
PROGS-$(CONFIG_FFSERVER) += ffserver
PROGS := $(PROGS-yes:%=%$(EXESUF))
PROGS := $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF))
INSTPROGS = $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF))
OBJS = $(PROGS-yes:%=%.o) cmdutils.o
OBJS = cmdutils.o $(EXEOBJS)
OBJS-ffmpeg = ffmpeg_opt.o ffmpeg_filter.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64
HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
TOOLS = qt-faststart trasher
@@ -40,7 +42,7 @@ FFLIBS-$(CONFIG_SWSCALE) += swscale
FFLIBS := avutil
DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd
EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile
EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile $(SRC_PATH)/doc/examples/README
SKIPHEADERS = cmdutils_common_opts.h
@@ -51,14 +53,14 @@ FF_DEP_LIBS := $(DEP_LIBS)
all: $(PROGS)
$(PROGS): %$(EXESUF): %$(PROGSSUF)_g$(EXESUF)
$(CP) $< $@$(PROGSSUF)
$(STRIP) $@$(PROGSSUF)
$(PROGS): %$(EXESUF): %_g$(EXESUF)
$(CP) $< $@
$(STRIP) $@
$(TOOLS): %$(EXESUF): %.o
$(LD) $(LDFLAGS) -o $@ $< $(ELIBS)
$(TOOLS): %$(EXESUF): %.o $(EXEOBJS)
$(LD) $(LDFLAGS) $(LD_O) $^ $(ELIBS)
tools/cws2fws$(EXESUF): ELIBS = -lz
tools/cws2fws$(EXESUF): ELIBS = $(ZLIB)
config.h: .config
.config: $(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c))
@@ -67,10 +69,12 @@ config.h: .config
@-tput sgr0 2>/dev/null
SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \
ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
ALTIVEC-OBJS ARMV5TE-OBJS ARMV6-OBJS ARMVFP-OBJS MMI-OBJS \
MMX-OBJS NEON-OBJS VIS-OBJS YASM-OBJS \
OBJS TESTOBJS
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
ARMV5TE-OBJS ARMV6-OBJS VFP-OBJS NEON-OBJS \
ALTIVEC-OBJS VIS-OBJS \
MMX-OBJS YASM-OBJS \
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MIPS32R2-OBJS \
OBJS HOSTOBJS TESTOBJS
define RESET
$(1) :=
@@ -87,12 +91,19 @@ endef
$(foreach D,$(FFLIBS),$(eval $(call DOSUBDIR,lib$(D))))
ffplay.o: CFLAGS += $(SDL_CFLAGS)
ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
ffserver_g$(EXESUF): LDFLAGS += $(FFSERVERLDFLAGS)
define DOPROG
OBJS-$(1) += $(1).o cmdutils.o $(EXEOBJS)
$(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1))
$$(OBJS-$(1)): CFLAGS += $(CFLAGS-$(1))
$(1)$(PROGSSUF)_g$(EXESUF): LDFLAGS += $(LDFLAGS-$(1))
$(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(LIBS-$(1))
-include $$(OBJS-$(1):.o=.d)
endef
%$(PROGSSUF)_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
$(LD) $(LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
$(foreach P,$(PROGS-yes),$(eval $(call DOPROG,$(P))))
%$(PROGSSUF)_g$(EXESUF): %.o $(FF_DEP_LIBS)
$(LD) $(LDFLAGS) $(LD_O) $(OBJS-$*) $(FF_EXTRALIBS)
OBJDIRS += tools
@@ -142,14 +153,13 @@ uninstall-data:
clean::
$(RM) $(ALLPROGS) $(ALLPROGS_G)
$(RM) $(CLEANSUFFIXES)
$(RM) $(TOOLS)
$(RM) $(CLEANSUFFIXES:%=tools/%)
$(RM) coverage.info
$(RM) -r coverage-html
distclean::
$(RM) $(DISTCLEANSUFFIXES)
$(RM) config.* .version version.h libavutil/avconfig.h
$(RM) config.* .version version.h libavutil/avconfig.h libavcodec/codec_names.h
config:
$(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
@@ -163,7 +173,7 @@ coverage-html: coverage.info
$(Q)genhtml -o $@ $<
$(Q)touch $@
check: all alltools checkheaders examples testprogs fate
check: all alltools examples testprogs fate
include $(SRC_PATH)/doc/Makefile
include $(SRC_PATH)/tests/Makefile

View File

@@ -1 +1 @@
0.11.1
1.1.5

View File

@@ -1 +1 @@
0.11.1
1.1.5

View File

@@ -1,9 +1,12 @@
OBJS-$(HAVE_ARMV5TE) += $(ARMV5TE-OBJS) $(ARMV5TE-OBJS-yes)
OBJS-$(HAVE_ARMV6) += $(ARMV6-OBJS) $(ARMV6-OBJS-yes)
OBJS-$(HAVE_ARMVFP) += $(ARMVFP-OBJS) $(ARMVFP-OBJS-yes)
OBJS-$(HAVE_VFP) += $(VFP-OBJS) $(VFP-OBJS-yes)
OBJS-$(HAVE_NEON) += $(NEON-OBJS) $(NEON-OBJS-yes)
OBJS-$(HAVE_MMI) += $(MMI-OBJS) $(MMI-OBJS-yes)
OBJS-$(HAVE_MIPSFPU) += $(MIPSFPU-OBJS) $(MIPSFPU-OBJS-yes)
OBJS-$(HAVE_MIPS32R2) += $(MIPS32R2-OBJS) $(MIPS32R2-OBJS-yes)
OBJS-$(HAVE_MIPSDSPR1) += $(MIPSDSPR1-OBJS) $(MIPSDSPR1-OBJS-yes)
OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS) $(MIPSDSPR2-OBJS-yes)
OBJS-$(HAVE_ALTIVEC) += $(ALTIVEC-OBJS) $(ALTIVEC-OBJS-yes)

1232
cmdutils.c

File diff suppressed because it is too large Load Diff

View File

@@ -75,25 +75,25 @@ void log_callback_help(void* ptr, int level, const char* fmt, va_list vl);
* Fallback for options that are not explicitly handled, these will be
* parsed through AVOptions.
*/
int opt_default(const char *opt, const char *arg);
int opt_default(void *optctx, const char *opt, const char *arg);
/**
* Set the libav* libraries log level.
*/
int opt_loglevel(const char *opt, const char *arg);
int opt_loglevel(void *optctx, const char *opt, const char *arg);
int opt_report(const char *opt);
int opt_max_alloc(const char *opt, const char *arg);
int opt_max_alloc(void *optctx, const char *opt, const char *arg);
int opt_cpuflags(const char *opt, const char *arg);
int opt_cpuflags(void *optctx, const char *opt, const char *arg);
int opt_codec_debug(const char *opt, const char *arg);
int opt_codec_debug(void *optctx, const char *opt, const char *arg);
/**
* Limit the execution time.
*/
int opt_timelimit(const char *opt, const char *arg);
int opt_timelimit(void *optctx, const char *opt, const char *arg);
/**
* Parse a string and return its corresponding value as a double.
@@ -139,7 +139,7 @@ typedef struct SpecifierOpt {
} u;
} SpecifierOpt;
typedef struct {
typedef struct OptionDef {
const char *name;
int flags;
#define HAS_ARG 0x0001
@@ -148,14 +148,14 @@ typedef struct {
#define OPT_STRING 0x0008
#define OPT_VIDEO 0x0010
#define OPT_AUDIO 0x0020
#define OPT_GRAB 0x0040
#define OPT_INT 0x0080
#define OPT_FLOAT 0x0100
#define OPT_SUBTITLE 0x0200
#define OPT_INT64 0x0400
#define OPT_EXIT 0x0800
#define OPT_DATA 0x1000
#define OPT_FUNC2 0x2000
#define OPT_PERFILE 0x2000 /* the option is per-file (currently ffmpeg-only).
implied by OPT_OFFSET or OPT_SPEC */
#define OPT_OFFSET 0x4000 /* option is specified as an offset in a passed optctx */
#define OPT_SPEC 0x8000 /* option is to be stored in an array of SpecifierOpt.
Implies OPT_OFFSET. Next element after the offset is
@@ -164,16 +164,24 @@ typedef struct {
#define OPT_DOUBLE 0x20000
union {
void *dst_ptr;
int (*func_arg)(const char *, const char *);
int (*func2_arg)(void *, const char *, const char *);
int (*func_arg)(void *, const char *, const char *);
size_t off;
} u;
const char *help;
const char *argname;
} OptionDef;
void show_help_options(const OptionDef *options, const char *msg, int mask,
int value);
/**
* Print help for all options matching specified flags.
*
* @param options a list of options
* @param msg title of this group. Only printed if at least one option matches.
* @param req_flags print only options which have all those flags set.
* @param rej_flags don't print options which have any of those flags set.
* @param alt_flags print only options that have at least one of those flags set
*/
void show_help_options(const OptionDef *options, const char *msg, int req_flags,
int rej_flags, int alt_flags);
/**
* Show help for all options with given flags in class and all its
@@ -181,10 +189,23 @@ void show_help_options(const OptionDef *options, const char *msg, int mask,
*/
void show_help_children(const AVClass *class, int flags);
/**
* Per-fftool specific help handler. Implemented in each
* fftool, called by show_help().
*/
void show_help_default(const char *opt, const char *arg);
/**
* Generic -h handler common to all fftools.
*/
int show_help(void *optctx, const char *opt, const char *arg);
/**
* Parse the command line arguments.
*
* @param optctx an opaque options context
* @param argc number of command line arguments
* @param argv values of command line arguments
* @param options Array with the definitions required to interpret every
* option of the form: -option_name [argument]
* @param parse_arg_function Name of the function called to process every
@@ -202,6 +223,95 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options
int parse_option(void *optctx, const char *opt, const char *arg,
const OptionDef *options);
/**
* An option extracted from the commandline.
* Cannot use AVDictionary because of options like -map which can be
* used multiple times.
*/
typedef struct Option {
const OptionDef *opt;
const char *key;
const char *val;
} Option;
typedef struct OptionGroupDef {
/**< group name */
const char *name;
/**
* Option to be used as group separator. Can be NULL for groups which
* are terminated by a non-option argument (e.g. ffmpeg output files)
*/
const char *sep;
} OptionGroupDef;
typedef struct OptionGroup {
const OptionGroupDef *group_def;
const char *arg;
Option *opts;
int nb_opts;
AVDictionary *codec_opts;
AVDictionary *format_opts;
struct SwsContext *sws_opts;
struct SwrContext *swr_opts;
} OptionGroup;
/**
* A list of option groups that all have the same group type
* (e.g. input files or output files)
*/
typedef struct OptionGroupList {
const OptionGroupDef *group_def;
OptionGroup *groups;
int nb_groups;
} OptionGroupList;
typedef struct OptionParseContext {
OptionGroup global_opts;
OptionGroupList *groups;
int nb_groups;
/* parsing state */
OptionGroup cur_group;
} OptionParseContext;
/**
* Parse an options group and write results into optctx.
*
* @param optctx an app-specific options context. NULL for global options group
*/
int parse_optgroup(void *optctx, OptionGroup *g);
/**
* Split the commandline into an intermediate form convenient for further
* processing.
*
* The commandline is assumed to be composed of options which either belong to a
* group (those with OPT_SPEC, OPT_OFFSET or OPT_PERFILE) or are global
* (everything else).
*
* A group (defined by an OptionGroupDef struct) is a sequence of options
* terminated by either a group separator option (e.g. -i) or a parameter that
* is not an option (doesn't start with -). A group without a separator option
* must always be first in the supplied groups list.
*
* All options within the same group are stored in one OptionGroup struct in an
* OptionGroupList, all groups with the same group definition are stored in one
* OptionGroupList in OptionParseContext.groups. The order of group lists is the
* same as the order of group definitions.
*/
int split_commandline(OptionParseContext *octx, int argc, char *argv[],
const OptionDef *options,
const OptionGroupDef *groups, int nb_groups);
/**
* Free all allocated memory in an OptionParseContext.
*/
void uninit_parse_context(OptionParseContext *octx);
/**
* Find the '-loglevel' option in the command line args and apply it.
*/
@@ -230,12 +340,16 @@ int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec);
* Create a new options dictionary containing only the options from
* opts which apply to the codec with ID codec_id.
*
* @param opts dictionary to place options in
* @param codec_id ID of the codec that should be filtered for
* @param s Corresponding format context.
* @param st A stream from s for which the options should be filtered.
* @param codec The particular codec for which the options should be filtered.
* If null, the default one is looked up according to the codec id.
* @return a pointer to the created dictionary
*/
AVDictionary *filter_codec_opts(AVDictionary *opts, AVCodec *codec,
AVFormatContext *s, AVStream *st);
AVDictionary *filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id,
AVFormatContext *s, AVStream *st, AVCodec *codec);
/**
* Setup AVCodecContext options for avformat_find_stream_info().
@@ -275,62 +389,81 @@ void show_banner(int argc, char **argv, const OptionDef *options);
* libraries.
* This option processing function does not utilize the arguments.
*/
int opt_version(const char *opt, const char *arg);
int show_version(void *optctx, const char *opt, const char *arg);
/**
* Print the license of the program to stdout. The license depends on
* the license of the libraries compiled into the program.
* This option processing function does not utilize the arguments.
*/
int opt_license(const char *opt, const char *arg);
int show_license(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the formats supported by the
* program.
* This option processing function does not utilize the arguments.
*/
int opt_formats(const char *opt, const char *arg);
int show_formats(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the codecs supported by the
* program.
* This option processing function does not utilize the arguments.
*/
int opt_codecs(const char *opt, const char *arg);
int show_codecs(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the decoders supported by the
* program.
*/
int show_decoders(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the encoders supported by the
* program.
*/
int show_encoders(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the filters supported by the
* program.
* This option processing function does not utilize the arguments.
*/
int opt_filters(const char *opt, const char *arg);
int show_filters(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the bit stream filters supported by the
* program.
* This option processing function does not utilize the arguments.
*/
int opt_bsfs(const char *opt, const char *arg);
int show_bsfs(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the protocols supported by the
* program.
* This option processing function does not utilize the arguments.
*/
int opt_protocols(const char *opt, const char *arg);
int show_protocols(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the pixel formats supported by the
* program.
* This option processing function does not utilize the arguments.
*/
int opt_pix_fmts(const char *opt, const char *arg);
int show_pix_fmts(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the standard channel layouts supported by
* the program.
* This option processing function does not utilize the arguments.
*/
int show_layouts(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the sample formats supported by the
* program.
*/
int show_sample_fmts(const char *opt, const char *arg);
int show_sample_fmts(void *optctx, const char *opt, const char *arg);
/**
* Return a positive value if a line read from standard input
@@ -342,6 +475,7 @@ int read_yesno(void);
* Read the file with name filename, and put its content in a newly
* allocated 0-terminated buffer.
*
* @param filename file to read from
* @param bufptr location where pointer to buffer is returned
* @param size location where size of buffer is returned
* @return 0 in case of success, a negative value corresponding to an
@@ -370,20 +504,80 @@ int cmdutils_read_file(const char *filename, char **bufptr, size_t *size);
FILE *get_preset_file(char *filename, size_t filename_size,
const char *preset_name, int is_path, const char *codec_name);
/**
* Do all the necessary cleanup and abort.
* This function is implemented in the avtools, not cmdutils.
*/
void exit_program(int ret);
/**
* Realloc array to hold new_size elements of elem_size.
* Calls exit_program() on failure.
* Calls exit() on failure.
*
* @param array array to reallocate
* @param elem_size size in bytes of each element
* @param size new element count will be written here
* @param new_size number of elements to place in reallocated array
* @return reallocated array
*/
void *grow_array(void *array, int elem_size, int *size, int new_size);
#define GROW_ARRAY(array, nb_elems)\
array = grow_array(array, sizeof(*array), &nb_elems, nb_elems + 1)
typedef struct FrameBuffer {
uint8_t *base[4];
uint8_t *data[4];
int linesize[4];
int h, w;
enum AVPixelFormat pix_fmt;
int refcount;
struct FrameBuffer **pool; ///< head of the buffer pool
struct FrameBuffer *next;
} FrameBuffer;
/**
* Get a frame from the pool. This is intended to be used as a callback for
* AVCodecContext.get_buffer.
*
* @param s codec context. s->opaque must be a pointer to the head of the
* buffer pool.
* @param frame frame->opaque will be set to point to the FrameBuffer
* containing the frame data.
*/
int codec_get_buffer(AVCodecContext *s, AVFrame *frame);
/**
* A callback to be used for AVCodecContext.release_buffer along with
* codec_get_buffer().
*/
void codec_release_buffer(AVCodecContext *s, AVFrame *frame);
/**
* A callback to be used for AVFilterBuffer.free.
* @param fb buffer to free. fb->priv must be a pointer to the FrameBuffer
* containing the buffer data.
*/
void filter_release_buffer(AVFilterBuffer *fb);
/**
* Free all the buffers in the pool. This must be called after all the
* buffers have been released.
*/
void free_buffer_pool(FrameBuffer **pool);
#define GET_PIX_FMT_NAME(pix_fmt)\
const char *name = av_get_pix_fmt_name(pix_fmt);
#define GET_SAMPLE_FMT_NAME(sample_fmt)\
const char *name = av_get_sample_fmt_name(sample_fmt)
#define GET_SAMPLE_RATE_NAME(rate)\
char name[16];\
snprintf(name, sizeof(name), "%d", rate);
#define GET_CH_LAYOUT_NAME(ch_layout)\
char name[16];\
snprintf(name, sizeof(name), "0x%"PRIx64, ch_layout);
#define GET_CH_LAYOUT_DESC(ch_layout)\
char name[128];\
av_get_channel_layout_string(name, sizeof(name), 0, ch_layout);
#endif /* CMDUTILS_H */

View File

@@ -1,20 +1,21 @@
{ "L", OPT_EXIT, {(void*)opt_license}, "show license" },
{ "h", OPT_EXIT, {(void*)opt_help}, "show help" },
{ "?", OPT_EXIT, {(void*)opt_help}, "show help" },
{ "help", OPT_EXIT, {(void*)opt_help}, "show help" },
{ "-help", OPT_EXIT, {(void*)opt_help}, "show help" },
{ "version", OPT_EXIT, {(void*)opt_version}, "show version" },
{ "formats" , OPT_EXIT, {(void*)opt_formats }, "show available formats" },
{ "codecs" , OPT_EXIT, {(void*)opt_codecs }, "show available codecs" },
{ "bsfs" , OPT_EXIT, {(void*)opt_bsfs }, "show available bit stream filters" },
{ "protocols", OPT_EXIT, {(void*)opt_protocols}, "show available protocols" },
{ "filters", OPT_EXIT, {(void*)opt_filters }, "show available filters" },
{ "pix_fmts" , OPT_EXIT, {(void*)opt_pix_fmts }, "show available pixel formats" },
{ "L" , OPT_EXIT, {.func_arg = show_license}, "show license" },
{ "h" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "?" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "help" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "-help" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "version" , OPT_EXIT, {.func_arg = show_version}, "show version" },
{ "formats" , OPT_EXIT, {.func_arg = show_formats }, "show available formats" },
{ "codecs" , OPT_EXIT, {.func_arg = show_codecs }, "show available codecs" },
{ "decoders" , OPT_EXIT, {.func_arg = show_decoders }, "show available decoders" },
{ "encoders" , OPT_EXIT, {.func_arg = show_encoders }, "show available encoders" },
{ "bsfs" , OPT_EXIT, {.func_arg = show_bsfs }, "show available bit stream filters" },
{ "protocols" , OPT_EXIT, {.func_arg = show_protocols}, "show available protocols" },
{ "filters" , OPT_EXIT, {.func_arg = show_filters }, "show available filters" },
{ "pix_fmts" , OPT_EXIT, {.func_arg = show_pix_fmts }, "show available pixel formats" },
{ "layouts" , OPT_EXIT, {.func_arg = show_layouts }, "show standard channel layouts" },
{ "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
{ "loglevel", HAS_ARG, {(void*)opt_loglevel}, "set libav* logging level", "loglevel" },
{ "v", HAS_ARG, {(void*)opt_loglevel}, "set libav* logging level", "loglevel" },
{ "debug", HAS_ARG, {(void*)opt_codec_debug}, "set debug flags", "flags" },
{ "fdebug", HAS_ARG, {(void*)opt_codec_debug}, "set debug flags", "flags" },
{ "report", 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc", HAS_ARG, {(void*)opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags", HAS_ARG | OPT_EXPERT, {(void*)opt_cpuflags}, "force specific cpu flags", "flags" },
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "report" , 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc" , HAS_ARG, {.func_arg = opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags" , HAS_ARG | OPT_EXPERT, {.func_arg = opt_cpuflags}, "force specific cpu flags", "flags" },

View File

@@ -10,8 +10,9 @@ ifndef SUBDIR
ifndef V
Q = @
ECHO = printf "$(1)\t%s\n" $(2)
BRIEF = CC CXX AS YASM AR LD HOSTCC STRIP CP
SILENT = DEPCC YASMDEP RM RANLIB
BRIEF = CC CXX HOSTCC HOSTLD AS YASM AR LD STRIP CP
SILENT = DEPCC DEPHOSTCC DEPAS DEPYASM RANLIB RM
MSG = $@
M = @$(call ECHO,$(TAG),$@);
$(foreach VAR,$(BRIEF), \
@@ -26,15 +27,17 @@ ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil postproc swscal
IFLAGS := -I. -I$(SRC_PATH)/
CPPFLAGS := $(IFLAGS) $(CPPFLAGS)
CFLAGS += $(ECFLAGS)
CCFLAGS = $(CFLAGS)
CXXFLAGS := $(CFLAGS) $(CXXFLAGS)
YASMFLAGS += $(IFLAGS) -I$(SRC_PATH)/libavutil/x86/ -Pconfig.asm
HOSTCFLAGS += $(IFLAGS)
LDFLAGS := $(ALLFFLIBS:%=-Llib%) $(LDFLAGS)
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
ASFLAGS := $(CPPFLAGS) $(ASFLAGS)
CXXFLAGS += $(CPPFLAGS) $(CFLAGS)
YASMFLAGS += $(IFLAGS:%=%/) -Pconfig.asm
HOSTCCFLAGS = $(IFLAGS) $(HOSTCFLAGS)
LDFLAGS := $(ALLFFLIBS:%=$(LD_PATH)lib%) $(LDFLAGS)
define COMPILE
$($(1)DEP)
$($(1)) $(CPPFLAGS) $($(1)FLAGS) $($(1)_DEPFLAGS) -c $($(1)_O) $<
$(call $(1)DEP,$(1))
$($(1)) $($(1)FLAGS) $($(1)_DEPFLAGS) $($(1)_C) $($(1)_O) $<
endef
COMPILE_C = $(call COMPILE,CC)
@@ -53,8 +56,11 @@ COMPILE_S = $(call COMPILE,AS)
%.o: %.S
$(COMPILE_S)
%.ho: %.h
$(CC) $(CPPFLAGS) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
%.i: %.c
$(CC) $(CCFLAGS) $(CC_E) $<
%.h.c:
$(Q)echo '#include "$*.h"' >$@
%.ver: %.v
$(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
@@ -79,7 +85,8 @@ OBJS += $(OBJS-yes)
FFLIBS := $(FFLIBS-yes) $(FFLIBS)
TESTPROGS += $(TESTPROGS-yes)
FFEXTRALIBS := $(FFLIBS:%=-l%$(BUILDSUF)) $(EXTRALIBS)
LDLIBS = $(FFLIBS:%=%$(BUILDSUF))
FFEXTRALIBS := $(LDLIBS:%=$(LD_LIB)) $(EXTRALIBS)
EXAMPLES := $(EXAMPLES:%=$(SUBDIR)%-example$(EXESUF))
OBJS := $(sort $(OBJS:%=$(SUBDIR)%))
@@ -90,31 +97,44 @@ HOSTPROGS := $(HOSTPROGS:%=$(SUBDIR)%$(HOSTEXESUF))
TOOLS += $(TOOLS-yes)
TOOLOBJS := $(TOOLS:%=tools/%.o)
TOOLS := $(TOOLS:%=tools/%$(EXESUF))
HEADERS += $(HEADERS-yes)
DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h))
SKIPHEADERS += $(ARCH_HEADERS:%=$(ARCH)/%) $(SKIPHEADERS-)
SKIPHEADERS := $(SKIPHEADERS:%=$(SUBDIR)%)
checkheaders: $(filter-out $(SKIPHEADERS:.h=.ho),$(ALLHEADERS:.h=.ho))
HOBJS = $(filter-out $(SKIPHEADERS:.h=.h.o),$(ALLHEADERS:.h=.h.o))
checkheaders: $(HOBJS)
.SECONDARY: $(HOBJS:.o=.c)
alltools: $(TOOLS)
$(HOSTOBJS): %.o: %.c
$(HOSTCC) $(HOSTCFLAGS) -c -o $@ $<
$(call COMPILE,HOSTCC)
$(HOSTPROGS): %$(HOSTEXESUF): %.o
$(HOSTCC) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS)
$(HOSTLD) $(HOSTLDFLAGS) $(HOSTLD_O) $< $(HOSTLIBS)
$(OBJS): | $(sort $(dir $(OBJS)))
$(HOSTOBJS): | $(sort $(dir $(HOSTOBJS)))
$(TESTOBJS): | $(sort $(dir $(TESTOBJS)))
$(HOBJS): | $(sort $(dir $(HOBJS)))
$(TOOLOBJS): | tools
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS))
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS) $(HOBJS))
CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver *.gcno *.gcda
CLEANSUFFIXES = *.d *.o *~ *.h.c *.map *.ver *.ho *.gcno *.gcda
DISTCLEANSUFFIXES = *.pc
LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a
-include $(wildcard $(OBJS:.o=.d) $(TESTOBJS:.o=.d))
define RULES
clean::
$(RM) $(OBJS) $(OBJS:.o=.d)
$(RM) $(HOSTPROGS)
$(RM) $(TOOLS)
endef
$(eval $(RULES))
-include $(wildcard $(OBJS:.o=.d) $(HOSTOBJS:.o=.d) $(TESTOBJS:.o=.d) $(HOBJS:.o=.d))

86
compat/getopt.c Normal file
View File

@@ -0,0 +1,86 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* This file was copied from the following newsgroup posting:
*
* Newsgroups: mod.std.unix
* Subject: public domain AT&T getopt source
* Date: 3 Nov 85 19:34:15 GMT
*
* Here's something you've all been waiting for: the AT&T public domain
* source for getopt(3). It is the code which was given out at the 1985
* UNIFORUM conference in Dallas. I obtained it by electronic mail
* directly from AT&T. The people there assure me that it is indeed
* in the public domain.
*/
#include <stdio.h>
#include <string.h>
static int opterr = 1;
static int optind = 1;
static int optopt;
static char *optarg;
#undef fprintf
static int getopt(int argc, char *argv[], char *opts)
{
static int sp = 1;
int c;
char *cp;
if (sp == 1) {
if (optind >= argc ||
argv[optind][0] != '-' || argv[optind][1] == '\0')
return EOF;
else if (!strcmp(argv[optind], "--")) {
optind++;
return EOF;
}
}
optopt = c = argv[optind][sp];
if (c == ':' || (cp = strchr(opts, c)) == NULL) {
fprintf(stderr, ": illegal option -- %c\n", c);
if (argv[optind][++sp] == '\0') {
optind++;
sp = 1;
}
return '?';
}
if (*++cp == ':') {
if (argv[optind][sp+1] != '\0')
optarg = &argv[optind++][sp+1];
else if(++optind >= argc) {
fprintf(stderr, ": option requires an argument -- %c\n", c);
sp = 1;
return '?';
} else
optarg = argv[optind++];
sp = 1;
} else {
if (argv[optind][++sp] == '\0') {
sp = 1;
optind++;
}
optarg = NULL;
}
return c;
}

71
compat/msvcrt/snprintf.c Normal file
View File

@@ -0,0 +1,71 @@
/*
* C99-compatible snprintf() and vsnprintf() implementations
* Copyright (c) 2012 Ronald S. Bultje <rsbultje@gmail.com>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <stdio.h>
#include <stdarg.h>
#include <limits.h>
#include <string.h>
#include "compat/va_copy.h"
#include "libavutil/error.h"
#if defined(__MINGW32__)
#define EOVERFLOW EFBIG
#endif
int avpriv_snprintf(char *s, size_t n, const char *fmt, ...)
{
va_list ap;
int ret;
va_start(ap, fmt);
ret = avpriv_vsnprintf(s, n, fmt, ap);
va_end(ap);
return ret;
}
int avpriv_vsnprintf(char *s, size_t n, const char *fmt,
va_list ap)
{
int ret;
va_list ap_copy;
if (n == 0)
return _vscprintf(fmt, ap);
else if (n > INT_MAX)
return AVERROR(EOVERFLOW);
/* we use n - 1 here because if the buffer is not big enough, the MS
* runtime libraries don't add a terminating zero at the end. MSDN
* recommends to provide _snprintf/_vsnprintf() a buffer size that
* is one less than the actual buffer, and zero it before calling
* _snprintf/_vsnprintf() to workaround this problem.
* See http://msdn.microsoft.com/en-us/library/1kt27hek(v=vs.80).aspx */
memset(s, 0, n);
va_copy(ap_copy, ap);
ret = _vsnprintf(s, n - 1, fmt, ap_copy);
va_end(ap_copy);
if (ret == -1)
ret = _vscprintf(fmt, ap);
return ret;
}

38
compat/msvcrt/snprintf.h Normal file
View File

@@ -0,0 +1,38 @@
/*
* C99-compatible snprintf() and vsnprintf() implementations
* Copyright (c) 2012 Ronald S. Bultje <rsbultje@gmail.com>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef COMPAT_SNPRINTF_H
#define COMPAT_SNPRINTF_H
#include <stdarg.h>
#include <stdio.h>
int avpriv_snprintf(char *s, size_t n, const char *fmt, ...);
int avpriv_vsnprintf(char *s, size_t n, const char *fmt, va_list ap);
#undef snprintf
#undef _snprintf
#undef vsnprintf
#define snprintf avpriv_snprintf
#define _snprintf avpriv_snprintf
#define vsnprintf avpriv_vsnprintf
#endif /* COMPAT_SNPRINTF_H */

10
compat/plan9/head Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
n=10
case "$1" in
-n) n=$2; shift 2 ;;
-n*) n=${1#-n}; shift ;;
esac
exec sed ${n}q "$@"

34
compat/plan9/main.c Normal file
View File

@@ -0,0 +1,34 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
int plan9_main(int argc, char **argv);
#undef main
int main(int argc, char **argv)
{
/* The setfcr() function in lib9 is broken, must use asm. */
#ifdef __i386
short fcr;
__asm__ volatile ("fstcw %0 \n"
"or $63, %0 \n"
"fldcw %0 \n"
: "=m"(fcr));
#endif
return plan9_main(argc, argv);
}

2
compat/plan9/printf Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
exec awk "BEGIN { for (i = 2; i < ARGC; i++) printf \"$1\", ARGV[i] }" "$@"

94
compat/strtod.c Normal file
View File

@@ -0,0 +1,94 @@
/*
* C99-compatible strtod() implementation
* Copyright (c) 2012 Ronald S. Bultje <rsbultje@gmail.com>
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <ctype.h>
#include <limits.h>
#include <stdlib.h>
#include "libavutil/avstring.h"
#include "libavutil/mathematics.h"
static char *check_nan_suffix(char *s)
{
char *start = s;
if (*s++ != '(')
return start;
while ((*s >= 'a' && *s <= 'z') || (*s >= 'A' && *s <= 'Z') ||
(*s >= '0' && *s <= '9') || *s == '_')
s++;
return *s == ')' ? s + 1 : start;
}
#undef strtod
double strtod(const char *, char **);
double avpriv_strtod(const char *nptr, char **endptr)
{
char *end;
double res;
/* Skip leading spaces */
while (isspace(*nptr))
nptr++;
if (!av_strncasecmp(nptr, "infinity", 8)) {
end = nptr + 8;
res = INFINITY;
} else if (!av_strncasecmp(nptr, "inf", 3)) {
end = nptr + 3;
res = INFINITY;
} else if (!av_strncasecmp(nptr, "+infinity", 9)) {
end = nptr + 9;
res = INFINITY;
} else if (!av_strncasecmp(nptr, "+inf", 4)) {
end = nptr + 4;
res = INFINITY;
} else if (!av_strncasecmp(nptr, "-infinity", 9)) {
end = nptr + 9;
res = -INFINITY;
} else if (!av_strncasecmp(nptr, "-inf", 4)) {
end = nptr + 4;
res = -INFINITY;
} else if (!av_strncasecmp(nptr, "nan", 3)) {
end = check_nan_suffix(nptr + 3);
res = NAN;
} else if (!av_strncasecmp(nptr, "+nan", 4) ||
!av_strncasecmp(nptr, "-nan", 4)) {
end = check_nan_suffix(nptr + 4);
res = NAN;
} else if (!av_strncasecmp(nptr, "0x", 2) ||
!av_strncasecmp(nptr, "-0x", 3) ||
!av_strncasecmp(nptr, "+0x", 3)) {
/* FIXME this doesn't handle exponents, non-integers (float/double)
* and numbers too large for long long */
res = strtoll(nptr, &end, 16);
} else {
res = strtod(nptr, &end);
}
if (endptr)
*endptr = end;
return res;
}

7
compat/tms470/math.h Normal file
View File

@@ -0,0 +1,7 @@
#include_next <math.h>
#undef INFINITY
#undef NAN
#define INFINITY (*(const float*)((const unsigned []){ 0x7f800000 }))
#define NAN (*(const float*)((const unsigned []){ 0x7fc00000 }))

View File

@@ -1,6 +1,6 @@
/*
* FFT/MDCT transform with 3DNow! optimizations
* Copyright (c) 2008 Loren Merritt
* MSVC Compatible va_copy macro
* Copyright (c) 2012 Derek Buitenhuis
*
* This file is part of FFmpeg.
*
@@ -19,5 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#define EMULATE_3DNOWEXT
#include "fft_3dn2.c"
#include <stdarg.h>
#if !defined(va_copy) && defined(_MSC_VER)
#define va_copy(dst, src) ((dst) = (src))
#endif

2621
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,69 +1,276 @@
Never assume the API of libav* to be stable unless at least 1 month has passed
since the last major version increase.
since the last major version increase or the API was added.
The last version increases were:
libavcodec: 2012-01-27
libavdevice: 2011-04-18
libavfilter: 2011-04-18
libavfilter: 2012-06-22
libavformat: 2012-01-27
libavresample: 2012-04-24
libavresample: 2012-10-05
libpostproc: 2011-04-18
libswresample: 2011-09-19
libswscale: 2011-06-20
libavutil: 2011-04-18
libavutil: 2012-10-22
API changes, most recent first:
2012-05-24 - xxxxxxx - lavu 51.54.100
2012-12-20 - xxxxxxx - lavfi 3.28.100 - avfilter.h
Add AVFilterLink.channels, avfilter_link_get_channels()
and avfilter_ref_get_channels().
2012-12-15 - 2ada584d - lavc 54.80.100 - avcodec.h
Add pkt_size field to AVFrame.
2012-11-25 - c70ec631 - lavu 52.9.100 - opt.h
Add the following convenience functions to opt.h:
av_opt_get_image_size
av_opt_get_pixel_fmt
av_opt_get_sample_fmt
av_opt_set_image_size
av_opt_set_pixel_fmt
av_opt_set_sample_fmt
2012-11-17 - 4cd74c81 - lavu 52.8.100 - bprint.h
Add av_bprint_strftime().
2012-11-15 - 92648107 - lavu 52.7.100 - opt.h
Add av_opt_get_key_value().
2012-11-13 - 79456652 - lavfi 3.23.100 - avfilter.h
Add channels field to AVFilterBufferRefAudioProps.
2012-11-03 - 481fdeee - lavu 52.3.100 - opt.h
Add AV_OPT_TYPE_SAMPLE_FMT value to AVOptionType enum.
2012-10-21 - 6fb2fd8 - lavc 54.68.100 - avcodec.h
lavfi 3.20.100 - avfilter.h
Add AV_PKT_DATA_STRINGS_METADATA side data type, used to transmit key/value
strings between AVPacket and AVFrame, and add metadata field to
AVCodecContext (which shall not be accessed by users; see AVFrame metadata
instead).
2012-09-27 - a70b493 - lavd 54.3.100 - version.h
Add LIBAVDEVICE_IDENT symbol.
2012-09-27 - a70b493 - lavfi 3.18.100 - version.h
Add LIBAVFILTER_IDENT symbol.
2012-09-27 - a70b493 - libswr 0.16.100 - version.h
Add LIBSWRESAMPLE_VERSION, LIBSWRESAMPLE_BUILD
and LIBSWRESAMPLE_IDENT symbols.
2012-09-06 - 29e972f - lavu 51.72.100 - parseutils.h
Add av_small_strptime() time parsing function.
Can be used as a stripped-down replacement for strptime(), on
systems which do not support it.
2012-08-25 - 2626cc4 - lavf 54.28.100
Matroska demuxer now identifies SRT subtitles as AV_CODEC_ID_SUBRIP instead
of AV_CODEC_ID_TEXT.
2012-08-13 - 5c0d8bc - lavfi 3.8.100 - avfilter.h
Add avfilter_get_class() function, and priv_class field to AVFilter
struct.
2012-08-12 - a25346e - lavu 51.69.100 - opt.h
Add AV_OPT_FLAG_FILTERING_PARAM symbol in opt.h.
2012-07-31 - 23fc4dd - lavc 54.46.100
Add channels field to AVFrame.
2012-07-30 - f893904 - lavu 51.66.100
Add av_get_channel_description()
and av_get_standard_channel_layout() functions.
2012-07-21 - 016a472 - lavc 54.43.100
Add decode_error_flags field to AVFrame.
2012-07-20 - b062936 - lavf 54.18.100
Add avformat_match_stream_specifier() function.
2012-07-14 - f49ec1b - lavc 54.38.100 - avcodec.h
Add metadata to AVFrame, and the accessor functions
av_frame_get_metadata() and av_frame_set_metadata().
2012-07-10 - 0e003d8 - lavc 54.33.100
Add av_fast_padded_mallocz().
2012-07-10 - 21d5609 - lavfi 3.2.0 - avfilter.h
Add init_opaque() callback to AVFilter struct.
2012-06-26 - e6674e4 - lavu 51.63.100 - imgutils.h
Add functions to libavutil/imgutils.h:
av_image_get_buffer_size()
av_image_fill_arrays()
av_image_copy_to_buffer()
2012-06-24 - c41899a - lavu 51.62.100 - version.h
version moved from avutil.h to version.h
2012-04-11 - 359abb1 - lavu 51.58.100 - error.h
Add av_make_error_string() and av_err2str() utilities to
libavutil/error.h.
2012-06-05 - 62b39d4 - lavc 54.24.100
Add pkt_duration field to AVFrame.
2012-05-24 - f2ee065 - lavu 51.54.100
Move AVPALETTE_SIZE and AVPALETTE_COUNT macros from
libavcodec/avcodec.h to libavutil/pixfmt.h.
2012-05-07 - xxxxxxx - lavf 54.5.100
2012-05-14 - 94a9ac1 - lavf 54.5.100
Add av_guess_sample_aspect_ratio() function.
2012-04-20 - xxxxxxx - lavfi 2.70.100
2012-04-20 - 65fa7bc - lavfi 2.70.100
Add avfilter_unref_bufferp() to avfilter.h.
2012-04-12 - xxxxxxx - lavfi 2.68.100
2012-04-13 - 162e400 - lavfi 2.68.100
Install libavfilter/asrc_abuffer.h public header.
2012-03-26 - a67d9cf - lavfi 2.66.100
Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
2012-05-15 - lavfi 2.17.0
2012-12-29 - 2ce43b3 / d8fd06c - lavu 52.13.100 / 52.3.0 - avstring.h
Add av_basename() and av_dirname().
2012-11-11 - 03b0787 / 5980f5d - lavu 52.6.100 / 52.2.0 - audioconvert.h
Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated.
2012-11-05 - 7d26be6 / dfde8a3 - lavu 52.5.100 / 52.1.0 - intmath.h
Add av_ctz() for trailing zero bit count
2012-10-21 - e3a91c5 / a893655 - lavu 51.77.100 / 51.45.0 - error.h
Add AVERROR_EXPERIMENTAL
2012-10-12 - a33ed6b / d2fcb35 - lavu 51.76.100 / 51.44.0 - pixdesc.h
Add functions for accessing pixel format descriptors.
Accessing the av_pix_fmt_descriptors array directly is now
deprecated.
2012-10-11 - f391e40 / 9a92aea - lavu 51.75.100 / 51.43.0 - aes.h, md5.h, sha.h, tree.h
Add functions for allocating the opaque contexts for the algorithms,
2012-10-10 - de31814 / b522000 - lavf 54.32.100 / 54.18.0 - avio.h
Add avio_closep to complement avio_close.
2012-10-08 - ae77266 / 78071a1 - lavu 51.74.100 / 51.42.0 - pixfmt.h
Rename PixelFormat to AVPixelFormat and all PIX_FMT_* to AV_PIX_FMT_*.
To provide backwards compatibility, PixelFormat is now #defined as
AVPixelFormat.
Note that this can break user code that includes pixfmt.h and uses the
'PixelFormat' identifier. Such code should either #undef PixelFormat
or stop using the PixelFormat name.
2012-10-05 - 55c49af / e7ba5b1 - lavr 1.0.0 - avresample.h
Data planes parameters to avresample_convert() and
avresample_read() are now uint8_t** instead of void**.
Libavresample is now stable.
2012-09-24 - 46a3595 / a42aada - lavc 54.59.100 / 54.28.0 - avcodec.h
Add avcodec_free_frame(). This function must now
be used for freeing an AVFrame.
2012-09-12 - e3e09f2 / 8919fee - lavu 51.73.100 / 51.41.0 - audioconvert.h
Added AV_CH_LOW_FREQUENCY_2 channel mask value.
2012-09-04 - b21b5b0 / 686a329 - lavu 51.71.100 / 51.40.0 - opt.h
Reordered the fields in default_val in AVOption, changed which
default_val field is used for which AVOptionType.
2012-08-30 - 98298eb / a231832 - lavc 54.54.101 / 54.26.1 - avcodec.h
Add codec descriptor properties AV_CODEC_PROP_LOSSY and
AV_CODEC_PROP_LOSSLESS.
2012-08-18 - lavc 54.26 - avcodec.h
Add codec descriptors for accessing codec properties without having
to refer to a specific decoder or encoder.
f5f3684 / c223d79 - Add an AVCodecDescriptor struct and functions
avcodec_descriptor_get() and avcodec_descriptor_next().
f5f3684 / 51efed1 - Add AVCodecDescriptor.props and AV_CODEC_PROP_INTRA_ONLY.
6c180b3 / 91e59fe - Add avcodec_descriptor_get_by_name().
2012-08-08 - f5f3684 / 987170c - lavu 51.68.100 / 51.38.0 - dict.h
Add av_dict_count().
2012-08-07 - 7a72695 / 104e10f - lavc 54.51.100 / 54.25.0 - avcodec.h
Rename CodecID to AVCodecID and all CODEC_ID_* to AV_CODEC_ID_*.
To provide backwards compatibility, CodecID is now #defined as AVCodecID.
Note that this can break user code that includes avcodec.h and uses the
'CodecID' identifier. Such code should either #undef CodecID or stop using the
CodecID name.
2012-08-03 - e776ee8 / 239fdf1 - lavu 51.66.101 / 51.37.1 - cpu.h
lsws 2.1.1 - swscale.h
Rename AV_CPU_FLAG_MMX2 ---> AV_CPU_FLAG_MMXEXT.
Rename SWS_CPU_CAPS_MMX2 ---> SWS_CPU_CAPS_MMXEXT.
2012-07-29 - 7c26761 / 681ed00 - lavf 54.22.100 / 54.13.0 - avformat.h
Add AVFMT_FLAG_NOBUFFER for low latency use cases.
2012-07-10 - 5fade8a - lavu 51.37.0
Add av_malloc_array() and av_mallocz_array()
2012-06-22 - e847f41 / d3d3a32 - lavu 51.61.100 / 51.34.0
Add av_usleep()
2012-06-20 - 4da42eb / ae0a301 - lavu 51.60.100 / 51.33.0
Move av_gettime() to libavutil, add libavutil/time.h
2012-06-09 - 82edf67 / 3971be0 - lavr 0.0.3
Add a parameter to avresample_build_matrix() for Dolby/DPLII downmixing.
2012-06-12 - c7b9eab / 9baeff9 - lavfi 2.79.100 / 2.23.0 - avfilter.h
Add AVFilterContext.nb_inputs/outputs. Deprecate
AVFilterContext.input/output_count.
2012-06-12 - c7b9eab / 84b9fbe - lavfi 2.79.100 / 2.22.0 - avfilter.h
Add avfilter_pad_get_type() and avfilter_pad_get_name(). Those
should now be used instead of accessing AVFilterPad members
directly.
2012-06-12 - 3630a07 / b0f0dfc - lavu 51.57.100 / 51.32.0 - audioconvert.h
Add av_get_channel_layout_channel_index(), av_get_channel_name()
and av_channel_layout_extract_channel().
2012-05-25 - 53ce990 / 154486f - lavu 51.55.100 / 51.31.0 - opt.h
Add av_opt_set_bin()
2012-05-15 - lavfi 2.74.100 / 2.17.0
Add support for audio filters
ac71230/a2cd9be - add video/audio buffer sink in a new installed
61930bd / ac71230, 1cbf7fb / a2cd9be - add video/audio buffer sink in a new installed
header buffersink.h
720c6b7 - add av_buffersrc_write_frame(), deprecate
1cbf7fb / 720c6b7 - add av_buffersrc_write_frame(), deprecate
av_vsrc_buffer_add_frame()
ab16504 - add avfilter_copy_buf_props()
9453c9e - add extended_data to AVFilterBuffer
1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
61930bd / ab16504 - add avfilter_copy_buf_props()
61930bd / 9453c9e - add extended_data to AVFilterBuffer
61930bd / 1b8c927 - add avfilter_get_audio_buffer_ref_from_arrays()
2012-05-09 - lavu 51.30.0 - samplefmt.h
142e740 - add av_samples_copy()
6d7f617 - add av_samples_set_silence()
2012-05-09 - lavu 51.53.100 / 51.30.0 - samplefmt.h
61930bd / 142e740 - add av_samples_copy()
61930bd / 6d7f617 - add av_samples_set_silence()
2012-05-09 - a5117a2 - lavc 54.13.1
2012-05-09 - 61930bd / a5117a2 - lavc 54.21.101 / 54.13.1
For audio formats with fixed frame size, the last frame
no longer needs to be padded with silence, libavcodec
will handle this internally (effectively all encoders
behave as if they had CODEC_CAP_SMALL_LAST_FRAME set).
2012-05-07 - 828bd08 - lavc 54.13.0 - avcodec.h
2012-05-07 - 653d117 / 828bd08 - lavc 54.20.100 / 54.13.0 - avcodec.h
Add sample_rate and channel_layout fields to AVFrame.
2012-05-01 - 4010d72 - lavr 0.0.1
2012-05-01 - 2330eb1 / 4010d72 - lavr 0.0.1
Change AV_MIX_COEFF_TYPE_Q6 to AV_MIX_COEFF_TYPE_Q8.
2012-04-25 - 3527a73 - lavu 51.29.0 - cpu.h
2012-04-25 - e890b68 / 3527a73 - lavu 51.48.100 / 51.29.0 - cpu.h
Add av_parse_cpu_flags()
2012-04-24 - c8af852 - lavr 0.0.0
2012-04-24 - 3ead79e / c8af852 - lavr 0.0.0
Add libavresample audio conversion library
2012-04-20 - 0c0d1bc - lavu 51.28.0 - audio_fifo.h
2012-04-20 - 3194ab7 / 0c0d1bc - lavu 51.47.100 / 51.28.0 - audio_fifo.h
Add audio FIFO functions:
av_audio_fifo_free()
av_audio_fifo_alloc()
@@ -75,10 +282,10 @@ API changes, most recent first:
av_audio_fifo_size()
av_audio_fifo_space()
2012-04-14 - lavfi 2.16.0 - avfiltergraph.h
d7bcc71 Add avfilter_graph_parse2().
2012-04-14 - lavfi 2.70.100 / 2.16.0 - avfiltergraph.h
7432bcf / d7bcc71 Add avfilter_graph_parse2().
2012-04-08 - 4d693b0 - lavu 51.27.0 - samplefmt.h
2012-04-08 - 6bfb304 / 4d693b0 - lavu 51.46.100 / 51.27.0 - samplefmt.h
Add av_get_packed_sample_fmt() and av_get_planar_sample_fmt()
2012-03-21 - b75c67d - lavu 51.43.100
@@ -106,69 +313,73 @@ API changes, most recent first:
2012-01-24 - 0c3577b - lavfi 2.60.100
Add avfilter_graph_dump.
2012-03-05 - lavc 54.8.0
6699d07 Add av_get_exact_bits_per_sample()
9524cf7 Add av_get_audio_frame_duration()
2012-03-20 - 0ebd836 / 3c90cc2 - lavfo 54.2.0
Deprecate av_read_packet(), use av_read_frame() with
AVFMT_FLAG_NOPARSE | AVFMT_FLAG_NOFILLIN in AVFormatContext.flags
2012-03-04 - 44fe77b - lavc 54.7.0 - avcodec.h
2012-03-05 - lavc 54.10.100 / 54.8.0
f095391 / 6699d07 Add av_get_exact_bits_per_sample()
f095391 / 9524cf7 Add av_get_audio_frame_duration()
2012-03-04 - 2af8f2c / 44fe77b - lavc 54.8.100 / 54.7.0 - avcodec.h
Add av_codec_is_encoder/decoder().
2012-03-01 - 442c132 - lavc 54.3.0 - avcodec.h
2012-03-01 - 1eb7f39 / 442c132 - lavc 54.5.100 / 54.3.0 - avcodec.h
Add av_packet_shrink_side_data.
2012-02-29 - dd2a4bc - lavf 54.2.0 - avformat.h
2012-02-29 - 79ae084 / dd2a4bc - lavf 54.2.100 / 54.2.0 - avformat.h
Add AVStream.attached_pic and AV_DISPOSITION_ATTACHED_PIC,
used for dealing with attached pictures/cover art.
2012-02-25 - c9bca80 - lavu 51.24.0 - error.h
2012-02-25 - 305e4b3 / c9bca80 - lavu 51.41.100 / 51.24.0 - error.h
Add AVERROR_UNKNOWN
NOTE: this was backported to 0.8
2012-02-20 - e9cda85 - lavc 54.2.0
2012-02-20 - eadd426 / e9cda85 - lavc 54.2.100 / 54.2.0
Add duration field to AVCodecParserContext
2012-02-20 - 0b42a93 - lavu 51.23.1 - mathematics.h
2012-02-20 - eadd426 / 0b42a93 - lavu 51.40.100 / 51.23.1 - mathematics.h
Add av_rescale_q_rnd()
2012-02-08 - 38d5533 - lavu 51.22.1 - pixdesc.h
2012-02-08 - f2b20b7 / 38d5533 - lavu 51.38.101 / 51.22.1 - pixdesc.h
Add PIX_FMT_PSEUDOPAL flag.
2012-02-08 - 52f82a1 - lavc 54.01.0
2012-02-08 - f2b20b7 / 52f82a1 - lavc 54.2.100 / 54.1.0
Add avcodec_encode_video2() and deprecate avcodec_encode_video().
2012-02-01 - 316fc74 - lavc 54.01.0
2012-02-01 - 4c677df / 316fc74 - lavc 54.1.0
Add av_fast_padded_malloc() as alternative for av_realloc() when aligned
memory is required. The buffer will always have FF_INPUT_BUFFER_PADDING_SIZE
zero-padded bytes at the end.
2012-01-31 - dd6d3b0 - lavf 54.01.0
2012-01-31 - a369a6b / dd6d3b0 - lavf 54.1.0
Add avformat_get_riff_video_tags() and avformat_get_riff_audio_tags().
NOTE: this was backported to 0.8
2012-01-31 - af08d9a - lavc 54.01.0
2012-01-31 - a369a6b / af08d9a - lavc 54.1.0
Add avcodec_is_open() function.
NOTE: this was backported to 0.8
2012-01-30 - 8b93312 - lavu 51.22.0 - intfloat.h
2012-01-30 - 151ecc2 / 8b93312 - lavu 51.36.100 / 51.22.0 - intfloat.h
Add a new installed header libavutil/intfloat.h with int/float punning
functions.
NOTE: this was backported to 0.8
2012-01-25 - lavf 53.22.0
f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
2012-01-25 - lavf 53.31.100 / 53.22.0
3c5fe5b / f1caf01 Allow doing av_write_frame(ctx, NULL) for flushing possible
buffered data within a muxer. Added AVFMT_ALLOW_FLUSH for
muxers supporting it (av_write_frame makes sure it is called
only for muxers with this flag).
2012-01-15 - lavc 53.34.0
2012-01-15 - lavc 53.56.105 / 53.34.0
New audio encoding API:
b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
67f5650 / b2c75b6 Add CODEC_CAP_VARIABLE_FRAME_SIZE capability for use by audio
encoders.
5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
67f5650 / 5ee5fa0 Add avcodec_fill_audio_frame() as a convenience function.
67f5650 / b2c75b6 Add avcodec_encode_audio2() and deprecate avcodec_encode_audio().
Add AVCodec.encode2().
2012-01-12 - 3167dc9 - lavfi 2.15.0
2012-01-12 - b18e17e / 3167dc9 - lavfi 2.59.100 / 2.15.0
Add a new installed header -- libavfilter/version.h -- with version macros.
2011-12-08 - a502939 - lavfi 2.52.0
@@ -189,37 +400,37 @@ API changes, most recent first:
2011-10-20 - b35e9e1 - lavu 51.22.0
Add av_strtok() to avstring.h.
2011-01-03 - b73ec05 - lavu 51.21.0
2012-01-03 - ad1c8dd / b73ec05 - lavu 51.34.100 / 51.21.0
Add av_popcount64
2011-12-18 - 8400b12 - lavc 53.28.1
2011-12-18 - 7c29313 / 8400b12 - lavc 53.46.1 / 53.28.1
Deprecate AVFrame.age. The field is unused.
2011-12-12 - 5266045 - lavf 53.17.0
2011-12-12 - 8bc7fe4 / 5266045 - lavf 53.25.0 / 53.17.0
Add avformat_close_input().
Deprecate av_close_input_file() and av_close_input_stream().
2011-12-02 - 0eea212 - lavc 53.25.0
2011-12-02 - e4de716 / 0eea212 - lavc 53.40.0 / 53.25.0
Add nb_samples and extended_data fields to AVFrame.
Deprecate AVCODEC_MAX_AUDIO_FRAME_SIZE.
Deprecate avcodec_decode_audio3() in favor of avcodec_decode_audio4().
avcodec_decode_audio4() writes output samples to an AVFrame, which allows
audio decoders to use get_buffer().
2011-12-04 - 560f773 - lavc 53.24.0
2011-12-04 - e4de716 / 560f773 - lavc 53.40.0 / 53.24.0
Change AVFrame.data[4]/base[4]/linesize[4]/error[4] to [8] at next major bump.
Change AVPicture.data[4]/linesize[4] to [8] at next major bump.
Change AVCodecContext.error[4] to [8] at next major bump.
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
2011-11-23 - bbb46f3 - lavu 51.18.0
2011-11-23 - 8e576d5 / bbb46f3 - lavu 51.27.0 / 51.18.0
Add av_samples_get_buffer_size(), av_samples_fill_arrays(), and
av_samples_alloc(), to samplefmt.h.
2011-11-23 - 8889cc4 - lavu 51.17.0
2011-11-23 - 8e576d5 / 8889cc4 - lavu 51.27.0 / 51.17.0
Add planar sample formats and av_sample_fmt_is_planar() to samplefmt.h.
2011-11-19 - f3a29b7 - lavc 53.21.0
2011-11-19 - dbb38bc / f3a29b7 - lavc 53.36.0 / 53.21.0
Move some AVCodecContext fields to a new private struct, AVCodecInternal,
which is accessed from a new field, AVCodecContext.internal.
- fields moved:
@@ -227,55 +438,55 @@ API changes, most recent first:
AVCodecContext.internal_buffer_count --> AVCodecInternal.buffer_count
AVCodecContext.is_copy --> AVCodecInternal.is_copy
2011-11-16 - 6270671 - lavu 51.16.0
2011-11-16 - 8709ba9 / 6270671 - lavu 51.26.0 / 51.16.0
Add av_timegm()
2011-11-13 - lavf 53.15.0
2011-11-13 - lavf 53.21.0 / 53.15.0
New interrupt callback API, allowing per-AVFormatContext/AVIOContext
interrupt callbacks.
6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
5f268ca / 6aa0b98 Add AVIOInterruptCB struct and the interrupt_callback field to
AVFormatContext.
1dee0ac Add avio_open2() with additional parameters. Those are
5f268ca / 1dee0ac Add avio_open2() with additional parameters. Those are
an interrupt callback and an options AVDictionary.
This will allow passing AVOptions to protocols after lavf
54.0.
2011-11-06 - ba04ecf - lavu 51.14.0
2011-11-06 - 13b7781 / ba04ecf - lavu 51.24.0 / 51.14.0
Add av_strcasecmp() and av_strncasecmp() to avstring.h.
2011-11-06 - 07b172f - lavu 51.13.0
2011-11-06 - 13b7781 / 07b172f - lavu 51.24.0 / 51.13.0
Add av_toupper()/av_tolower()
2011-11-05 - b6d08f4 - lavf 53.13.0
2011-11-05 - d8cab5c / b6d08f4 - lavf 53.19.0 / 53.13.0
Add avformat_network_init()/avformat_network_deinit()
2011-10-27 - 512557b - lavc 53.15.0
2011-10-27 - 6faf0a2 / 512557b - lavc 53.24.0 / 53.15.0
Remove avcodec_parse_frame.
Deprecate AVCodecContext.parse_only and CODEC_CAP_PARSE_ONLY.
2011-10-19 - 569129a - lavf 53.10.0
2011-10-19 - d049257 / 569129a - lavf 53.17.0 / 53.10.0
Add avformat_new_stream(). Deprecate av_new_stream().
2011-10-13 - b631fba - lavf 53.9.0
2011-10-13 - 91eb1b1 / b631fba - lavf 53.16.0 / 53.9.0
Add AVFMT_NO_BYTE_SEEK AVInputFormat flag.
2011-10-12 - lavu 51.12.0
2011-10-12 - lavu 51.21.0 / 51.12.0
AVOptions API rewrite.
- 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
- f884ef0 / 145f741 FF_OPT_TYPE* renamed to AV_OPT_TYPE_*
- new setting/getting functions with slightly different semantics:
dac66da av_set_string3 -> av_opt_set
f884ef0 / dac66da av_set_string3 -> av_opt_set
av_set_double -> av_opt_set_double
av_set_q -> av_opt_set_q
av_set_int -> av_opt_set_int
41d9d51 av_get_string -> av_opt_get
f884ef0 / 41d9d51 av_get_string -> av_opt_get
av_get_double -> av_opt_get_double
av_get_q -> av_opt_get_q
av_get_int -> av_opt_get_int
- 8c5dcaa trivial rename av_next_option -> av_opt_next
- 641c7af new functions - av_opt_child_next, av_opt_child_class_next
- f884ef0 / 8c5dcaa trivial rename av_next_option -> av_opt_next
- f884ef0 / 641c7af new functions - av_opt_child_next, av_opt_child_class_next
and av_opt_find2()
2011-09-22 - a70e787 - lavu 51.17.0
@@ -321,31 +532,31 @@ API changes, most recent first:
2011-08-20 - 69e2c1a - lavu 51.13.0
Add av_get_media_type_string().
2011-09-03 - fb4ca26 - lavc 53.13.0
2011-09-03 - 1889c67 / fb4ca26 - lavc 53.13.0
lavf 53.11.0
lsws 2.1.0
Add {avcodec,avformat,sws}_get_class().
2011-08-03 - c11fb82 - lavu 51.15.0
2011-08-03 - 1889c67 / c11fb82 - lavu 51.15.0
Add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find() function.
2011-08-14 - 323b930 - lavu 51.12.0
Add av_fifo_peek2(), deprecate av_fifo_peek().
2011-08-26 - lavu 51.9.0
- add41de..abc78a5 Do not include intfloat_readwrite.h,
2011-08-26 - lavu 51.14.0 / 51.9.0
- 976a8b2 / add41de..976a8b2 / abc78a5 Do not include intfloat_readwrite.h,
mathematics.h, rational.h, pixfmt.h, or log.h from avutil.h.
2011-08-16 - 48f9e45 - lavf 53.8.0
2011-08-16 - 27fbe31 / 48f9e45 - lavf 53.11.0 / 53.8.0
Add avformat_query_codec().
2011-08-16 - bca06e7 - lavc 53.11.0
2011-08-16 - 27fbe31 / bca06e7 - lavc 53.11.0
Add avcodec_get_type().
2011-08-06 - 2f63440 - lavf 53.7.0
2011-08-06 - 0cb233c / 2f63440 - lavf 53.7.0
Add error_recognition to AVFormatContext.
2011-08-02 - 9d39cbf - lavc 53.9.1
2011-08-02 - 1d186e9 / 9d39cbf - lavc 53.9.1
Add AV_PKT_FLAG_CORRUPT AVPacket flag.
2011-07-16 - b57df29 - lavfi 2.27.0
@@ -356,11 +567,11 @@ API changes, most recent first:
avfilter_set_common_packing_formats()
avfilter_all_packing_formats()
2011-07-10 - a67c061 - lavf 53.6.0
2011-07-10 - 3602ad7 / a67c061 - lavf 53.6.0
Add avformat_find_stream_info(), deprecate av_find_stream_info().
NOTE: this was backported to 0.7
2011-07-10 - 0b950fe - lavc 53.8.0
2011-07-10 - 3602ad7 / 0b950fe - lavc 53.8.0
Add avcodec_open2(), deprecate avcodec_open().
NOTE: this was backported to 0.7
@@ -403,35 +614,35 @@ API changes, most recent first:
2011-06-12 - 6119b23 - lavfi 2.16.0 - avfilter_graph_parse()
Change avfilter_graph_parse() signature.
2011-06-23 - 67e9ae1 - lavu 51.8.0 - attributes.h
2011-06-23 - 686959e / 67e9ae1 - lavu 51.10.0 / 51.8.0 - attributes.h
Add av_printf_format().
2011-06-16 - 05e84c9, 25de595 - lavf 53.2.0 - avformat.h
2011-06-16 - 2905e3f / 05e84c9, 2905e3f / 25de595 - lavf 53.4.0 / 53.2.0 - avformat.h
Add avformat_open_input and avformat_write_header().
Deprecate av_open_input_stream, av_open_input_file,
AVFormatParameters and av_write_header.
2011-06-16 - 7e83e1c, dc59ec5 - lavu 51.7.0 - opt.h
2011-06-16 - 2905e3f / 7e83e1c, 2905e3f / dc59ec5 - lavu 51.9.0 / 51.7.0 - opt.h
Add av_opt_set_dict() and av_opt_find().
Deprecate av_find_opt().
Add AV_DICT_APPEND flag.
2011-06-10 - cb7c11c - lavu 51.6.0 - opt.h
2011-06-10 - 45fb647 / cb7c11c - lavu 51.6.0 - opt.h
Add av_opt_flag_is_set().
2011-06-10 - c381960 - lavfi 2.15.0 - avfilter_get_audio_buffer_ref_from_arrays
Add avfilter_get_audio_buffer_ref_from_arrays() to avfilter.h.
2011-06-09 - d9f80ea - lavu 51.8.0 - AVMetadata
2011-06-09 - f9ecb84 / d9f80ea - lavu 51.8.0 - AVMetadata
Move AVMetadata from lavf to lavu and rename it to
AVDictionary -- new installed header dict.h.
All av_metadata_* functions renamed to av_dict_*.
2011-06-07 - a6703fa - lavu 51.8.0 - av_get_bytes_per_sample()
2011-06-07 - d552f61 / a6703fa - lavu 51.8.0 - av_get_bytes_per_sample()
Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
Deprecate av_get_bits_per_sample_fmt().
2011-06-05 - b39b062 - lavu 51.8.0 - opt.h
2011-06-05 - f956924 / b39b062 - lavu 51.8.0 - opt.h
Add av_opt_free convenience function.
2011-06-06 - 95a0242 - lavfi 2.14.0 - AVFilterBufferRefAudioProps
@@ -461,7 +672,7 @@ API changes, most recent first:
Add av_get_pix_fmt_name() in libavutil/pixdesc.h, and deprecate
avcodec_get_pix_fmt_name() in libavcodec/avcodec.h in its favor.
2011-05-25 - 30315a8 - lavf 53.3.0 - avformat.h
2011-05-25 - 39e4206 / 30315a8 - lavf 53.3.0 - avformat.h
Add fps_probe_size to AVFormatContext.
2011-05-22 - 5ecdfd0 - lavf 53.2.0 - avformat.h
@@ -477,10 +688,10 @@ API changes, most recent first:
2011-05-14 - 9fdf772 - lavfi 2.6.0 - avcodec.h
Add avfilter_get_video_buffer_ref_from_frame() to libavfilter/avcodec.h.
2011-05-18 - 64150ff - lavc 53.7.0 - AVCodecContext.request_sample_fmt
2011-05-18 - 75a37b5 / 64150ff - lavc 53.7.0 - AVCodecContext.request_sample_fmt
Add request_sample_fmt field to AVCodecContext.
2011-05-10 - 188dea1 - lavc 53.6.0 - avcodec.h
2011-05-10 - 59eb12f / 188dea1 - lavc 53.6.0 - avcodec.h
Deprecate AVLPCType and the following fields in
AVCodecContext: lpc_coeff_precision, prediction_order_method,
min_partition_order, max_partition_order, lpc_type, lpc_passes.
@@ -510,81 +721,81 @@ API changes, most recent first:
Add av_dynarray_add function for adding
an element to a dynamic array.
2011-04-26 - bebe72f - lavu 51.1.0 - avutil.h
2011-04-26 - d7e5aeb / bebe72f - lavu 51.1.0 - avutil.h
Add AVPictureType enum and av_get_picture_type_char(), deprecate
FF_*_TYPE defines and av_get_pict_type_char() defined in
libavcodec/avcodec.h.
2011-04-26 - 10d3940 - lavfi 2.3.0 - avfilter.h
2011-04-26 - d7e5aeb / 10d3940 - lavfi 2.3.0 - avfilter.h
Add pict_type and key_frame fields to AVFilterBufferRefVideo.
2011-04-26 - 7a11c82 - lavfi 2.2.0 - vsrc_buffer
2011-04-26 - d7e5aeb / 7a11c82 - lavfi 2.2.0 - vsrc_buffer
Add sample_aspect_ratio fields to vsrc_buffer arguments
2011-04-21 - 94f7451 - lavc 53.1.0 - avcodec.h
2011-04-21 - 8772156 / 94f7451 - lavc 53.1.0 - avcodec.h
Add CODEC_CAP_SLICE_THREADS for codecs supporting sliced threading.
2011-04-15 - lavc 52.120.0 - avcodec.h
AVPacket structure got additional members for passing side information:
4de339e introduce side information for AVPacket
2d8591c make containers pass palette change in AVPacket
c407984 / 4de339e introduce side information for AVPacket
c407984 / 2d8591c make containers pass palette change in AVPacket
2011-04-12 - lavf 52.107.0 - avio.h
Avio cleanup, part II - deprecate the entire URLContext API:
175389c add avio_check as a replacement for url_exist
ff1ec0c add avio_pause and avio_seek_time as replacements
c55780d / 175389c add avio_check as a replacement for url_exist
9891004 / ff1ec0c add avio_pause and avio_seek_time as replacements
for _av_url_read_fseek/fpause
cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
d4d0932 / cdc6a87 deprecate av_protocol_next(), avio_enum_protocols
should be used instead.
80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
f87b1b3 rename open flags: URL_* -> AVIO_*
f8270bb add avio_enum_protocols.
5593f03 deprecate URLProtocol.
c486dad deprecate URLContext.
026e175 deprecate the typedef for URLInterruptCB
8e76a19 deprecate av_register_protocol2.
b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
1305d93 deprecate av_url_read_seek
fa104e1 deprecate av_url_read_pause
727c7aa deprecate url_get_filename().
5958df3 deprecate url_max_packet_size().
1869ea0 deprecate url_get_file_handle().
32a97d4 deprecate url_filesize().
e52a914 deprecate url_close().
58a48c6 deprecate url_seek().
925e908 deprecate url_write().
dce3756 deprecate url_read_complete().
bc371ac deprecate url_read().
0589da0 deprecate url_open().
62eaaea deprecate url_connect.
5652bb9 deprecate url_alloc.
333e894 deprecate url_open_protocol
e230705 deprecate url_poll and URLPollEntry
c88caa5 / 80c6e23 rename url_set_interrupt_cb->avio_set_interrupt_cb.
c88caa5 / f87b1b3 rename open flags: URL_* -> AVIO_*
d4d0932 / f8270bb add avio_enum_protocols.
d4d0932 / 5593f03 deprecate URLProtocol.
d4d0932 / c486dad deprecate URLContext.
d4d0932 / 026e175 deprecate the typedef for URLInterruptCB
c88caa5 / 8e76a19 deprecate av_register_protocol2.
11d7841 / b840484 deprecate URL_PROTOCOL_FLAG_NESTED_SCHEME
11d7841 / 1305d93 deprecate av_url_read_seek
11d7841 / fa104e1 deprecate av_url_read_pause
434f248 / 727c7aa deprecate url_get_filename().
434f248 / 5958df3 deprecate url_max_packet_size().
434f248 / 1869ea0 deprecate url_get_file_handle().
434f248 / 32a97d4 deprecate url_filesize().
434f248 / e52a914 deprecate url_close().
434f248 / 58a48c6 deprecate url_seek().
434f248 / 925e908 deprecate url_write().
434f248 / dce3756 deprecate url_read_complete().
434f248 / bc371ac deprecate url_read().
434f248 / 0589da0 deprecate url_open().
434f248 / 62eaaea deprecate url_connect.
434f248 / 5652bb9 deprecate url_alloc.
434f248 / 333e894 deprecate url_open_protocol
434f248 / e230705 deprecate url_poll and URLPollEntry
2011-04-08 - lavf 52.106.0 - avformat.h
Minor avformat.h cleanup:
a9bf9d8 deprecate av_guess_image2_codec
c3675df rename avf_sdp_create->av_sdp_create
d4d0932 / a9bf9d8 deprecate av_guess_image2_codec
d4d0932 / c3675df rename avf_sdp_create->av_sdp_create
2011-04-03 - lavf 52.105.0 - avio.h
Large-scale renaming/deprecating of AVIOContext-related functions:
724f6a0 deprecate url_fdopen
403ee83 deprecate url_open_dyn_packet_buf
6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf
b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf
8978fed introduce an AVIOContext.seekable field as a replacement for
2cae980 / 724f6a0 deprecate url_fdopen
2cae980 / 403ee83 deprecate url_open_dyn_packet_buf
2cae980 / 6dc7d80 rename url_close_dyn_buf -> avio_close_dyn_buf
2cae980 / b92c545 rename url_open_dyn_buf -> avio_open_dyn_buf
2cae980 / 8978fed introduce an AVIOContext.seekable field as a replacement for
AVIOContext.is_streamed and url_is_streamed()
b64030f deprecate get_checksum()
4c4427a deprecate init_checksum()
4ec153b deprecate udp_set_remote_url/get_local_port
933e90a deprecate av_url_read_fseek/fpause
8d9769a deprecate url_fileno
b7f2fdd rename put_flush_packet -> avio_flush
35f1023 deprecate url_close_buf
83fddae deprecate url_open_buf
d9d86e0 rename url_fprintf -> avio_printf
59f65d9 deprecate url_setbufsize
3e68b3b deprecate url_ferror
1caa412 / b64030f deprecate get_checksum()
1caa412 / 4c4427a deprecate init_checksum()
2fd41c9 / 4ec153b deprecate udp_set_remote_url/get_local_port
4fa0e24 / 933e90a deprecate av_url_read_fseek/fpause
4fa0e24 / 8d9769a deprecate url_fileno
0fecf26 / b7f2fdd rename put_flush_packet -> avio_flush
0fecf26 / 35f1023 deprecate url_close_buf
0fecf26 / 83fddae deprecate url_open_buf
0fecf26 / d9d86e0 rename url_fprintf -> avio_printf
0fecf26 / 59f65d9 deprecate url_setbufsize
6947b0c / 3e68b3b deprecate url_ferror
e8bb2e2 deprecate url_fget_max_packet_size
76aa876 rename url_fsize -> avio_size
e519753 deprecate url_fgetc
@@ -605,7 +816,7 @@ API changes, most recent first:
b3db9ce deprecate get_partial_buffer
8d9ac96 rename av_alloc_put_byte -> avio_alloc_context
2011-03-25 - 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
2011-03-25 - 27ef7b1 / 34b47d7 - lavc 52.115.0 - AVCodecContext.audio_service_type
Add audio_service_type field to AVCodecContext.
2011-03-17 - e309fdc - lavu 50.40.0 - pixfmt.h
@@ -643,11 +854,11 @@ API changes, most recent first:
2011-02-10 - 12c14cd - lavf 52.99.0 - AVStream.disposition
Add AV_DISPOSITION_HEARING_IMPAIRED and AV_DISPOSITION_VISUAL_IMPAIRED.
2011-02-09 - 5592734 - lavc 52.112.0 - avcodec_thread_init()
2011-02-09 - c0b102c - lavc 52.112.0 - avcodec_thread_init()
Deprecate avcodec_thread_init()/avcodec_thread_free() use; instead
set thread_count before calling avcodec_open.
2011-02-09 - 778b08a - lavc 52.111.0 - threading API
2011-02-09 - 37b00b4 - lavc 52.111.0 - threading API
Add CODEC_CAP_FRAME_THREADS with new restrictions on get_buffer()/
release_buffer()/draw_horiz_band() callbacks for appropriate codecs.
Add thread_type and active_thread_type fields to AVCodecContext.

View File

@@ -31,7 +31,7 @@ PROJECT_NAME = FFmpeg
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 0.11.1
PROJECT_NUMBER = 1.1.5
# With the PROJECT_LOGO tag one can specify an logo or icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
@@ -44,7 +44,7 @@ PROJECT_LOGO =
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = doxy
OUTPUT_DIRECTORY = doc/doxy
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output
@@ -288,7 +288,7 @@ TYPEDEF_HIDES_STRUCT = NO
# causing a significant performance penality.
# If the system has enough physical memory increasing the cache will improve the
# performance by keeping more symbols in memory. Note that the value works on
# a logarithmic scale so increasing the size by one will rougly double the
# a logarithmic scale so increasing the size by one will roughly double the
# memory usage. The cache size is given by this formula:
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
# corresponding to a cache size of 2^16 = 65536 symbols
@@ -489,12 +489,6 @@ MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
# If the sources in your project are distributed over multiple directories
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
# in the documentation. The default is NO.
SHOW_DIRECTORIES = NO
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
# This will remove the Files entry from the Quick Index and from the
# Folder Tree View (if specified). The default is YES.
@@ -645,15 +639,14 @@ EXCLUDE_SYMBOLS =
# directories that contain example code fragments that are included (see
# the \include command).
EXAMPLE_PATH = libavcodec/ \
libavformat/
EXAMPLE_PATH = doc/examples/
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
EXAMPLE_PATTERNS = *-example.c
EXAMPLE_PATTERNS = *.c
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude
@@ -800,13 +793,13 @@ HTML_FILE_EXTENSION = .html
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
HTML_HEADER = doc/doxy/header.html
#HTML_HEADER = doc/doxy/header.html
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER = doc/doxy/footer.html
#HTML_FOOTER = doc/doxy/footer.html
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
@@ -815,7 +808,7 @@ HTML_FOOTER = doc/doxy/footer.html
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET = doc/doxy/doxy_stylesheet.css
#HTML_STYLESHEET = doc/doxy/doxy_stylesheet.css
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
# Doxygen will adjust the colors in the stylesheet and background images
@@ -825,7 +818,7 @@ HTML_STYLESHEET = doc/doxy/doxy_stylesheet.css
# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
# The allowed range is 0 to 359.
HTML_COLORSTYLE_HUE = 120
#HTML_COLORSTYLE_HUE = 120
# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
# the colors in the HTML output. For a value of 0 the output will use
@@ -848,12 +841,6 @@ HTML_COLORSTYLE_GAMMA = 80
HTML_TIMESTAMP = YES
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
# NO a bullet list will be used.
HTML_ALIGN_MEMBERS = YES
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded. For this to work a browser that supports
@@ -1034,11 +1021,6 @@ ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
# and Class Hierarchy pages using a tree view instead of an ordered list.
USE_INLINE_TREES = NO
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.
@@ -1374,14 +1356,9 @@ INCLUDE_FILE_PATTERNS =
# instead of the = operator.
PREDEFINED = "__attribute__(x)=" \
"RENAME(x)=x ## _TMPL" \
"DEF(x)=x ## _TMPL" \
HAVE_AV_CONFIG_H \
HAVE_MMX \
HAVE_MMX2 \
HAVE_AMD3DNOW \
"DECLARE_ALIGNED(a,t,n)=t n" \
"offsetof(x,y)=0x42"
"offsetof(x,y)=0x42" \
av_alloc_size \
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.

View File

@@ -1,25 +1,45 @@
MANPAGES = $(PROGS-yes:%=doc/%.1)
PODPAGES = $(PROGS-yes:%=doc/%.pod)
HTMLPAGES = $(PROGS-yes:%=doc/%.html) \
LIBRARIES-$(CONFIG_AVUTIL) += libavutil
LIBRARIES-$(CONFIG_SWSCALE) += libswscale
LIBRARIES-$(CONFIG_SWRESAMPLE) += libswresample
LIBRARIES-$(CONFIG_AVCODEC) += libavcodec
LIBRARIES-$(CONFIG_AVFORMAT) += libavformat
LIBRARIES-$(CONFIG_AVDEVICE) += libavdevice
LIBRARIES-$(CONFIG_AVFILTER) += libavfilter
COMPONENTS-yes = $(PROGS-yes)
COMPONENTS-$(CONFIG_AVUTIL) += ffmpeg-utils
COMPONENTS-$(CONFIG_SWSCALE) += ffmpeg-scaler
COMPONENTS-$(CONFIG_SWRESAMPLE) += ffmpeg-resampler
COMPONENTS-$(CONFIG_AVCODEC) += ffmpeg-codecs ffmpeg-bitstream-filters
COMPONENTS-$(CONFIG_AVFORMAT) += ffmpeg-formats ffmpeg-protocols
COMPONENTS-$(CONFIG_AVDEVICE) += ffmpeg-devices
COMPONENTS-$(CONFIG_AVFILTER) += ffmpeg-filters
MANPAGES = $(COMPONENTS-yes:%=doc/%.1) $(LIBRARIES-yes:%=doc/%.3)
PODPAGES = $(COMPONENTS-yes:%=doc/%.pod) $(LIBRARIES-yes:%=doc/%.pod)
HTMLPAGES = $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
doc/developer.html \
doc/faq.html \
doc/fate.html \
doc/general.html \
doc/git-howto.html \
doc/libavfilter.html \
doc/nut.html \
doc/platform.html \
doc/syntax.html \
TXTPAGES = doc/fate.txt \
DOCS = $(HTMLPAGES) $(MANPAGES) $(PODPAGES)
ifdef HAVE_MAKEINFO
DOCS += $(TXTPAGES)
endif
DOCS-$(CONFIG_HTMLPAGES) += $(HTMLPAGES)
DOCS-$(CONFIG_PODPAGES) += $(PODPAGES)
DOCS-$(CONFIG_MANPAGES) += $(MANPAGES)
DOCS-$(CONFIG_TXTPAGES) += $(TXTPAGES)
DOCS = $(DOCS-yes)
all-$(CONFIG_DOC): documentation
all-$(CONFIG_DOC): doc
doc: documentation
apidoc: doc/doxy/html
documentation: $(DOCS)
TEXIDEP = awk '/^@(verbatim)?include/ { printf "$@: $(@D)/%s\n", $$2 }' <$< >$(@:%=%.d)
@@ -29,13 +49,11 @@ doc/%.txt: doc/%.texi
$(Q)$(TEXIDEP)
$(M)makeinfo --force --no-headers -o $@ $< 2>/dev/null
doc/print_options.o: libavformat/options_table.h libavcodec/options_table.h
GENTEXI = format codec
GENTEXI := $(GENTEXI:%=doc/avoptions_%.texi)
$(GENTEXI): TAG = GENTEXI
$(GENTEXI): doc/avoptions_%.texi: doc/print_options
$(GENTEXI): doc/avoptions_%.texi: doc/print_options$(HOSTEXESUF)
$(M)doc/print_options $* > $@
doc/%.html: TAG = HTML
@@ -46,28 +64,40 @@ doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
doc/%.pod: TAG = POD
doc/%.pod: doc/%.texi $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)$(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@
doc/%.1: TAG = MAN
doc/%.1 doc/%.3: TAG = MAN
doc/%.1: doc/%.pod $(GENTEXI)
$(M)pod2man --section=1 --center=" " --release=" " $< > $@
doc/%.3: doc/%.pod $(GENTEXI)
$(M)pod2man --section=3 --center=" " --release=" " $< > $@
$(DOCS): | doc/
$(DOCS) doc/doxy/html: | doc/
doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(INSTHEADERS)
$(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $^
install-man:
ifdef CONFIG_MANPAGES
install-progs-$(CONFIG_DOC): install-man
install-man: $(MANPAGES)
$(Q)mkdir -p "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"
endif
uninstall: uninstall-man
uninstall-man:
$(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
clean::
$(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
clean:: docclean
docclean:
$(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
$(RM) -r doc/doxy/html
-include $(wildcard $(DOCS:%=%.d))
.PHONY: documentation
.PHONY: apidoc doc documentation

View File

@@ -1,7 +1,7 @@
Release Notes
=============
* 0.11 "Happiness" May, 2012
* 1.1 "Fire Flower" January, 2013
General notes
@@ -14,3 +14,12 @@ accepted. If you are experiencing issues with any formally released version of
FFmpeg, please try git master to check if the issue still exists. If it does,
make your report against the development code following the usual bug reporting
guidelines.
Of big interest to our Windows users, FFmpeg now supports building with the MSVC
compiler. Since MSVC does not support C99 features used extensively by FFmpeg,
this has been accomplished using a converter that turns C99 code to C89. See the
platform-specific documentation for more detailed documentation on building
FFmpeg with MSVC.
The used output sample format for several audio decoders has changed, make
sure you always check/use AVCodecContext.sample_fmt or AVFrame.format.

11
doc/authors.texi Normal file
View File

@@ -0,0 +1,11 @@
@chapter Authors
The FFmpeg developers.
For details about the authorship, see the Git history of the project
(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
@command{git log} in the FFmpeg source directory, or browsing the
online repository at @url{http://source.ffmpeg.org}.
Maintainers for the specific components are listed in the file
@file{MAINTAINERS} in the source code tree.

View File

@@ -1,10 +1,11 @@
All the numerical options, if not specified otherwise, accept in input
a string representing a number, which may contain one of the
International System number postfixes, for example 'K', 'M', 'G'.
If 'i' is appended after the postfix, powers of 2 are used instead of
powers of 10. The 'B' postfix multiplies the value for 8, and can be
appended after another postfix or used alone. This allows using for
example 'KB', 'MiB', 'G' and 'B' as postfix.
SI unit prefixes, for example 'K', 'M', 'G'.
If 'i' is appended after the prefix, binary prefixes are used,
which are based on powers of 1024 instead of powers of 1000.
The 'B' postfix multiplies the value by 8, and can be
appended after a unit prefix or used alone. This allows using for
example 'KB', 'MiB', 'G' and 'B' as number postfix.
Options which do not take arguments are boolean options, and set the
corresponding value to true. They can be set to false by prefixing
@@ -18,10 +19,10 @@ are used to precisely specify which stream(s) does a given option belong to.
A stream specifier is a string generally appended to the option name and
separated from it by a colon. E.g. @code{-codec:a:1 ac3} option contains
@code{a:1} stream specifer, which matches the second audio stream. Therefore it
@code{a:1} stream specifier, which matches the second audio stream. Therefore it
would select the ac3 codec for the second audio stream.
A stream specifier can match several stream, the option is then applied to all
A stream specifier can match several streams, the option is then applied to all
of them. E.g. the stream specifier in @code{-b:a 128k} matches all audio
streams.
@@ -44,6 +45,7 @@ program with id @var{program_id}. Otherwise matches all streams in this program.
@item #@var{stream_id}
Matches the stream by format-specific ID.
@end table
@section Generic options
These options are shared amongst the av* tools.
@@ -53,8 +55,29 @@ These options are shared amongst the av* tools.
@item -L
Show license.
@item -h, -?, -help, --help
Show help.
@item -h, -?, -help, --help [@var{arg}]
Show help. An optional parameter may be specified to print help about a specific
item.
Possible values of @var{arg} are:
@table @option
@item decoder=@var{decoder_name}
Print detailed information about the decoder named @var{decoder_name}. Use the
@option{-decoders} option to get a list of all decoders.
@item encoder=@var{encoder_name}
Print detailed information about the encoder named @var{encoder_name}. Use the
@option{-encoders} option to get a list of all encoders.
@item demuxer=@var{demuxer_name}
Print detailed information about the demuxer named @var{demuxer_name}. Use the
@option{-formats} option to get a list of all demuxers and muxers.
@item muxer=@var{muxer_name}
Print detailed information about the muxer named @var{muxer_name}. Use the
@option{-formats} option to get a list of all muxers and demuxers.
@end table
@item -version
Show version.
@@ -71,23 +94,16 @@ Encoding available
@end table
@item -codecs
Show available codecs.
Show all codecs known to libavcodec.
The fields preceding the codec names have the following meanings:
@table @samp
@item D
Decoding available
@item E
Encoding available
@item V/A/S
Video/audio/subtitle codec
@item S
Codec supports slices
@item D
Codec supports direct rendering
@item T
Codec can handle input truncated at random locations instead of only at frame boundaries
@end table
Note that the term 'codec' is used throughout this documentation as a shortcut
for what is more correctly called a media bitstream format.
@item -decoders
Show available decoders.
@item -encoders
Show all available encoders.
@item -bsfs
Show available bitstream filters.
@@ -104,6 +120,9 @@ Show available pixel formats.
@item -sample_fmts
Show available sample formats.
@item -layouts
Show channel names and standard channel layouts.
@item -loglevel @var{loglevel} | -v @var{loglevel}
Set the logging level used by the library.
@var{loglevel} is a number or a string containing one of the following values:
@@ -133,8 +152,21 @@ directory.
This file can be useful for bug reports.
It also implies @code{-loglevel verbose}.
Note: setting the environment variable @code{FFREPORT} to any value has the
same effect.
Setting the environment variable @code{FFREPORT} to any value has the
same effect. If the value is a ':'-separated key=value sequence, these
options will affect the report; options values must be escaped if they
contain special characters or the options delimiter ':' (see the
``Quoting and escaping'' section in the ffmpeg-utils manual). The
following option is recognized:
@table @option
@item file
set the file name to use for the report; @code{%p} is expanded to the name
of the program, @code{%t} is expanded to a timestamp, @code{%%} is expanded
to a plain @code{%}
@end table
Errors in parsing the environment variable are not fatal, and will not
appear in the report.
@item -cpuflags flags (@emph{global})
Allows setting and clearing cpu flags. This option is intended
@@ -177,6 +209,3 @@ use @option{-option 0}/@option{-option 1}.
Note2 old undocumented way of specifying per-stream AVOptions by prepending
v/a/s to the options name is now obsolete and will be removed soon.
@include avoptions_codec.texi
@include avoptions_format.texi

View File

@@ -61,3 +61,29 @@ use is purely internal and the format of the data it accepts is not publicly
documented.
@c man end AUDIO DECODERS
@chapter Subtitles Decoders
@c man begin SUBTILES DECODERS
@section dvdsub
This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
also be found in VobSub file pairs and in some Matroska files.
@subsection Options
@table @option
@item palette
Specify the global palette used by the bitmaps. When stored in VobSub, the
palette is normally specified in the index file; in Matroska, the palette is
stored in the codec extra-data in the same format as in VobSub. In DVDs, the
palette is stored in the IFO file, and therefore not available when reading
from dumped VOB files.
The format for this option is a string containing 16 24-bits hexadecimal
numbers (without 0x prefix) separated by comas, for example @code{0d00ee,
ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}.
@end table
@c man end SUBTILES DECODERS

149
doc/default.css Normal file
View File

@@ -0,0 +1,149 @@
a {
color: #2D6198;
}
a:visited {
color: #884488;
}
#banner {
background-color: white;
position: relative;
text-align: center;
}
#banner img {
padding-bottom: 1px;
padding-top: 5px;
}
#body {
margin-left: 1em;
margin-right: 1em;
}
body {
background-color: #313131;
margin: 0;
text-align: justify;
}
.center {
margin-left: auto;
margin-right: auto;
text-align: center;
}
#container {
background-color: white;
color: #202020;
margin-left: 1em;
margin-right: 1em;
}
#footer {
text-align: center;
}
h1, h2, h3 {
padding-left: 0.4em;
border-radius: 4px;
padding-bottom: 0.2em;
padding-top: 0.2em;
border: 1px solid #6A996A;
}
h1 {
background-color: #7BB37B;
color: #151515;
font-size: 1.2em;
padding-bottom: 0.3em;
padding-top: 0.3em;
}
h2 {
color: #313131;
font-size: 0.9em;
background-color: #ABE3AB;
}
h3 {
color: #313131;
font-size: 0.8em;
margin-bottom: -8px;
background-color: #BBF3BB;
}
img {
border: 0;
}
#navbar {
background-color: #738073;
border-bottom: 1px solid #5C665C;
border-top: 1px solid #5C665C;
margin-top: 12px;
padding: 0.3em;
position: relative;
text-align: center;
}
#navbar a, #navbar_secondary a {
color: white;
padding: 0.3em;
text-decoration: none;
}
#navbar a:hover, #navbar_secondary a:hover {
background-color: #313131;
color: white;
text-decoration: none;
}
#navbar_secondary {
background-color: #738073;
border-bottom: 1px solid #5C665C;
border-left: 1px solid #5C665C;
border-right: 1px solid #5C665C;
padding: 0.3em;
position: relative;
text-align: center;
}
p {
margin-left: 1em;
margin-right: 1em;
}
pre {
margin-left: 3em;
margin-right: 3em;
padding: 0.3em;
border: 1px solid #bbb;
background-color: #f7f7f7;
}
dl dt {
font-weight: bold;
}
#proj_desc {
font-size: 1.2em;
}
#repos {
margin-left: 1em;
margin-right: 1em;
border-collapse: collapse;
border: solid 1px #6A996A;
}
#repos th {
background-color: #7BB37B;
border: solid 1px #6A996A;
}
#repos td {
padding: 0.2em;
border: solid 1px #6A996A;
}

View File

@@ -23,8 +23,31 @@ The description of some of the currently available demuxers follows.
Image file demuxer.
This demuxer reads from a list of image files specified by a pattern.
The syntax and meaning of the pattern is specified by the
option @var{pattern_type}.
The pattern may contain the string "%d" or "%0@var{N}d", which
The pattern may contain a suffix which is used to automatically
determine the format of the images contained in the files.
The size, the pixel format, and the format of each image must be the
same for all the files in the sequence.
This demuxer accepts the following options:
@table @option
@item framerate
Set the framerate for the video stream. It defaults to 25.
@item loop
If set to 1, loop over the input. Default value is 0.
@item pattern_type
Select the pattern type used to interpret the provided filename.
@var{pattern_type} accepts one of the following values.
@table @option
@item sequence
Select a sequence pattern type, used to specify a sequence of files
indexed by sequential numbers.
A sequence pattern may contain the string "%d" or "%0@var{N}d", which
specifies the position of the characters representing a sequential
number in each filename matched by the pattern. If the form
"%d0@var{N}d" is used, the string representing the number in each
@@ -32,13 +55,11 @@ filename is 0-padded and @var{N} is the total number of 0-padded
digits representing the number. The literal character '%' can be
specified in the pattern with the string "%%".
If the pattern contains "%d" or "%0@var{N}d", the first filename of
If the sequence pattern contains "%d" or "%0@var{N}d", the first filename of
the file list specified by the pattern must contain a number
inclusively contained between 0 and 4, all the following numbers must
be sequential. This limitation may be hopefully fixed.
The pattern may contain a suffix which is used to automatically
determine the format of the images contained in the files.
inclusively contained between @var{start_number} and
@var{start_number}+@var{start_number_range}-1, and all the following
numbers must be sequential.
For example the pattern "img-%03d.bmp" will match a sequence of
filenames of the form @file{img-001.bmp}, @file{img-002.bmp}, ...,
@@ -46,17 +67,6 @@ filenames of the form @file{img-001.bmp}, @file{img-002.bmp}, ...,
sequence of filenames of the form @file{i%m%g-1.jpg},
@file{i%m%g-2.jpg}, ..., @file{i%m%g-10.jpg}, etc.
The size, the pixel format, and the format of each image must be the
same for all the files in the sequence.
The following example shows how to use @command{ffmpeg} for creating a
video from the images in the file sequence @file{img-001.jpeg},
@file{img-002.jpeg}, ..., assuming an input frame rate of 10 frames per
second:
@example
ffmpeg -i 'img-%03d.jpeg' -r 10 out.mkv
@end example
Note that the pattern must not necessarily contain "%d" or
"%0@var{N}d", for example to convert a single image file
@file{img.jpeg} you can employ the command:
@@ -64,6 +74,75 @@ Note that the pattern must not necessarily contain "%d" or
ffmpeg -i img.jpeg img.png
@end example
@item glob
Select a glob wildcard pattern type.
The pattern is interpreted like a @code{glob()} pattern. This is only
selectable if libavformat was compiled with globbing support.
@item glob_sequence @emph{(deprecated, will be removed)}
Select a mixed glob wildcard/sequence pattern.
If your version of libavformat was compiled with globbing support, and
the provided pattern contains at least one glob meta character among
@code{%*?[]@{@}} that is preceded by an unescaped "%", the pattern is
interpreted like a @code{glob()} pattern, otherwise it is interpreted
like a sequence pattern.
All glob special characters @code{%*?[]@{@}} must be prefixed
with "%". To escape a literal "%" you shall use "%%".
For example the pattern @code{foo-%*.jpeg} will match all the
filenames prefixed by "foo-" and terminating with ".jpeg", and
@code{foo-%?%?%?.jpeg} will match all the filenames prefixed with
"foo-", followed by a sequence of three characters, and terminating
with ".jpeg".
This pattern type is deprecated in favor of @var{glob} and
@var{sequence}.
@end table
Default value is @var{glob_sequence}.
@item pixel_format
Set the pixel format of the images to read. If not specified the pixel
format is guessed from the first image file in the sequence.
@item start_number
Set the index of the file matched by the image file pattern to start
to read from. Default value is 0.
@item start_number_range
Set the index interval range to check when looking for the first image
file in the sequence, starting from @var{start_number}. Default value
is 5.
@item video_size
Set the video size of the images to read. If not specified the video
size is guessed from the first image file in the sequence.
@end table
@subsection Examples
@itemize
@item
Use @command{ffmpeg} for creating a video from the images in the file
sequence @file{img-001.jpeg}, @file{img-002.jpeg}, ..., assuming an
input frame rate of 10 frames per second:
@example
ffmpeg -i 'img-%03d.jpeg' -r 10 out.mkv
@end example
@item
As above, but start by reading from a file with index 100 in the sequence:
@example
ffmpeg -start_number 100 -i 'img-%03d.jpeg' -r 10 out.mkv
@end example
@item
Read images matching the "*.png" glob pattern , that is all the files
terminating with the ".png" suffix:
@example
ffmpeg -pattern_type glob -i "*.png" -r 10 out.mkv
@end example
@end itemize
@section applehttp
Apple HTTP Live Streaming demuxer.
@@ -105,4 +184,56 @@ the script is directly played, the actual times will match the absolute
timestamps up to the sound controller's clock accuracy, but if the user
somehow pauses the playback or seeks, all times will be shifted accordingly.
@section concat
Virtual concatenation script demuxer.
This demuxer reads a list of files and other directives from a text file and
demuxes them one after the other, as if all their packet had been muxed
together.
The timestamps in the files are adjusted so that the first file starts at 0
and each next file starts where the previous one finishes. Note that it is
done globally and may cause gaps if all streams do not have exactly the same
length.
All files must have the same streams (same codecs, same time base, etc.).
This script format can currently not be probed, it must be specified explicitly.
@subsection Syntax
The script is a text file in extended-ASCII, with one directive per line.
Empty lines, leading spaces and lines starting with '#' are ignored. The
following directive is recognized:
@table @option
@item @code{file @var{path}}
Path to a file to read; special characters and spaces must be escaped with
backslash or single quotes.
@end table
@section tedcaptions
JSON captions used for @url{http://www.ted.com/, TED Talks}.
TED does not provide links to the captions, but they can be guessed from the
page. The file @file{tools/bookmarklets.html} from the FFmpeg source tree
contains a bookmarklet to expose them.
This demuxer accepts the following option:
@table @option
@item start_time
Set the start time of the TED talk, in milliseconds. The default is 15000
(15s). It is used to sync the captions with the downloadable videos, because
they include a 15s intro.
@end table
Example: convert the captions to a format most players understand:
@example
ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
@end example
@c man end INPUT DEVICES

View File

@@ -170,7 +170,7 @@ For exported names, each library has its own prefixes. Just check the existing
code and name accordingly.
@end itemize
@subsection Miscellanous conventions
@subsection Miscellaneous conventions
@itemize @bullet
@item
fprintf and printf are forbidden in libavformat and libavcodec,
@@ -190,8 +190,8 @@ set shiftwidth=4
set softtabstop=4
set cindent
set cinoptions=(0
" allow tabs in Makefiles
autocmd FileType make set noexpandtab shiftwidth=8 softtabstop=8
" Allow tabs in Makefiles.
autocmd FileType make,automake set noexpandtab shiftwidth=8 softtabstop=8
" Trailing whitespace and tabs are forbidden, so highlight them.
highlight ForbiddenWhitespace ctermbg=red guibg=red
match ForbiddenWhitespace /\s\+$\|\t/
@@ -204,8 +204,8 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
(c-add-style "ffmpeg"
'("k&r"
(c-basic-offset . 4)
(indent-tabs-mode nil)
(show-trailing-whitespace t)
(indent-tabs-mode . nil)
(show-trailing-whitespace . t)
(c-offsets-alist
(statement-cont . (c-lineup-assignments +)))
)
@@ -317,7 +317,8 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
(e.g. addition of a function to the public API or extension of an
existing data structure).
Incrementing the third component means a noteworthy binary compatible
change (e.g. encoder bug fix that matters for the decoder).
change (e.g. encoder bug fix that matters for the decoder). The third
component always starts at 100 to distinguish FFmpeg from Libav.
@item
Compiler warnings indicate potential bugs or code with bad style. If a type of
warning always points to correct and clean code, that warning should
@@ -393,7 +394,9 @@ send a reminder by email. Your patch should eventually be dealt with.
@item
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
@item
Did you add the CodecID to @file{avcodec.h}?
Did you add the AVCodecID to @file{avcodec.h}?
When adding new codec IDs, also add an entry to the codec descriptor
list in @file{libavcodec/codec_desc.c}.
@item
If it has a fourCC, did you add it to @file{libavformat/riff.c},
even if it is only a decoder?
@@ -427,7 +430,7 @@ send a reminder by email. Your patch should eventually be dealt with.
Was the patch generated with git format-patch or send-email?
@item
Did you sign off your patch? (git commit -s)
See @url{http://kerneltrap.org/files/Jeremy/DCO.txt} for the meaning
See @url{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/SubmittingPatches} for the meaning
of sign off.
@item
Did you provide a clear git commit log message?
@@ -489,6 +492,10 @@ send a reminder by email. Your patch should eventually be dealt with.
Consider to add a regression test for your code.
@item
If you added YASM code please check that things still work with --disable-yasm
@item
Make sure you check the return values of function and return appropriate
error codes. Especially memory allocation functions like @code{av_malloc()}
are notoriously left unchecked, which is a serious problem.
@end enumerate
@section Patch review process
@@ -529,4 +536,16 @@ Running 'make fate' accomplishes this, please see @url{fate.html} for details.
this case, the reference results of the regression tests shall be modified
accordingly].
@subsection Adding files to the fate-suite dataset
When there is no muxer or encoder available to generate test media for a
specific test then the media has to be inlcuded in the fate-suite.
First please make sure that the sample file is as small as possible to test the
respective decoder or demuxer sufficiently. Large files increase network
bandwidth and disk space requirements.
Once you have a working fate test and fate sample, provide in the commit
message or introductionary message for the patch series that you post to
the ffmpeg-devel mailing list, a direct link to download the sample media.
@bye

14
doc/doxy-wrapper.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/sh
SRC_PATH="${1}"
DOXYFILE="${2}"
shift 2
doxygen - <<EOF
@INCLUDE = ${DOXYFILE}
INPUT = $@
HTML_HEADER = ${SRC_PATH}/doc/doxy/header.html
HTML_FOOTER = ${SRC_PATH}/doc/doxy/footer.html
HTML_STYLESHEET = ${SRC_PATH}/doc/doxy/doxy_stylesheet.css
EOF

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,9 @@
</div>
<div id="footer">
Generated on $datetime for $projectname by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion
</div>
<footer class="footer pagination-right">
<span class="label label-info">
Generated on $datetime for $projectname by&#160;<a href="http://www.doxygen.org/index.html">doxygen</a> $doxygenversion
</span>
</footer>
</div>
</body>
</html>

View File

@@ -1,14 +1,16 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link href="$relpath$doxy_stylesheet.css" rel="stylesheet" type="text/css" />
<!--Header replace -->
</head>
<div id="container">
<div class="container">
<div id="body">
<div>
<!--Header replace -->
<div class="menu">

View File

@@ -420,6 +420,46 @@ Selected by Encoder (default)
A description of some of the currently available video encoders
follows.
@section libtheora
Theora format supported through libtheora.
Requires the presence of the libtheora headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libtheora}.
@subsection Options
The following global options are mapped to internal libtheora options
which affect the quality and the bitrate of the encoded stream.
@table @option
@item b
Set the video bitrate, only works if the @code{qscale} flag in
@option{flags} is not enabled.
@item flags
Used to enable constant quality mode encoding through the
@option{qscale} flag, and to enable the @code{pass1} and @code{pass2}
modes.
@item g
Set the GOP size.
@item global_quality
Set the global quality in lambda units, only works if the
@code{qscale} flag in @option{flags} is enabled. The value is clipped
in the [0 - 10*@code{FF_QP2LAMBDA}] range, and then multiplied for 6.3
to get a value in the native libtheora range [0-63]. A higher value
corresponds to a higher quality.
For example, to set maximum constant quality encoding with
@command{ffmpeg}:
@example
ffmpeg -i INPUT -flags:v qscale -global_quality:v "10*QP2LAMBDA" -codec:v libtheora OUTPUT.ogg
@end example
@end table
@section libvpx
VP8 format supported through libvpx.
@@ -511,6 +551,12 @@ rc_2pass_vbr_minsection_pct
@item slices
@code{VP8E_SET_TOKEN_PARTITIONS}
@item max-intra-rate
@code{VP8E_SET_MAX_INTRA_BITRATE_PCT}
@item force_key_frames
@code{VPX_EFLAG_FORCE_KF}
@item Alternate reference frame related
@table @option
@item vp8flags altref
@@ -571,10 +617,12 @@ Specify Weighted prediction for P-frames.
Deprecated in favor of @var{x264opts} (see @var{weightp} libx264 option).
@item x264opts @var{options}
Allow to set any x264 option, see x264 --fullhelp for a list.
Allow to set any x264 option, see @code{x264 --fullhelp} for a list.
@var{options} is a list of @var{key}=@var{value} couples separated by
":".
":". In @var{filter} and @var{psy-rd} options that use ":" as a separator
themselves, use "," instead. They accept it as well since long ago but this
is kept undocumented for some reason.
@end table
For example to specify libx264 encoding options with @command{ffmpeg}:

View File

@@ -21,30 +21,78 @@ The following unary operators are available: @code{+}, @code{-}.
The following functions are available:
@table @option
@item sinh(x)
Compute hyperbolic sine of @var{x}.
@item cosh(x)
Compute hyperbolic cosine of @var{x}.
@item tanh(x)
Compute hyperbolic tangent of @var{x}.
@item sin(x)
Compute sine of @var{x}.
@item cos(x)
Compute cosine of @var{x}.
@item tan(x)
Compute tangent of @var{x}.
@item atan(x)
Compute arctangent of @var{x}.
@item asin(x)
Compute arcsine of @var{x}.
@item acos(x)
Compute arccosine of @var{x}.
@item exp(x)
Compute exponential of @var{x} (with base @code{e}, the Euler's number).
@item log(x)
Compute natural logarithm of @var{x}.
@item abs(x)
Compute absolute value of @var{x}.
@item squish(x)
Compute expression @code{1/(1 + exp(4*x))}.
@item gauss(x)
Compute Gauss function of @var{x}, corresponding to
@code{exp(-x*x/2) / sqrt(2*PI)}.
@item isinf(x)
Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise.
@item isnan(x)
Return 1.0 if @var{x} is NAN, 0.0 otherwise.
@item mod(x, y)
Compute the remainder of division of @var{x} by @var{y}.
@item max(x, y)
Return the maximum between @var{x} and @var{y}.
@item min(x, y)
Return the maximum between @var{x} and @var{y}.
@item eq(x, y)
Return 1 if @var{x} and @var{y} are equivalent, 0 otherwise.
@item gte(x, y)
Return 1 if @var{x} is greater than or equal to @var{y}, 0 otherwise.
@item gt(x, y)
Return 1 if @var{x} is greater than @var{y}, 0 otherwise.
@item lte(x, y)
Return 1 if @var{x} is lesser than or equal to @var{y}, 0 otherwise.
@item lt(x, y)
Return 1 if @var{x} is lesser than @var{y}, 0 otherwise.
@item st(var, expr)
Allow to store the value of the expression @var{expr} in an internal
variable. @var{var} specifies the number of the variable where to

View File

@@ -3,20 +3,22 @@ FFMPEG_LIBS= libavdevice \
libavformat \
libavfilter \
libavcodec \
libavresample \
libswresample \
libswscale \
libavutil \
CFLAGS += -Wall -O2 -g
CFLAGS += $(shell pkg-config --cflags $(FFMPEG_LIBS))
LDLIBS += $(shell pkg-config --libs $(FFMPEG_LIBS))
CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS)
LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS)
EXAMPLES= decoding_encoding \
demuxing \
filtering_video \
filtering_audio \
metadata \
muxing \
resampling_audio \
scaling_video \
OBJS=$(addsuffix .o,$(EXAMPLES))
@@ -24,9 +26,12 @@ OBJS=$(addsuffix .o,$(EXAMPLES))
decoding_encoding: LDLIBS += -lm
muxing: LDLIBS += -lm
.phony: all clean
.phony: all clean-test clean
all: $(OBJS) $(EXAMPLES)
clean:
rm -rf $(EXAMPLES) $(OBJS)
clean-test:
$(RM) test*.pgm test.h264 test.mp2 test.sw test.mpg
clean: clean-test
$(RM) $(EXAMPLES) $(OBJS)

18
doc/examples/README Normal file
View File

@@ -0,0 +1,18 @@
FFmpeg examples README
----------------------
Both following use cases rely on pkg-config and make, thus make sure
that you have them installed and working on your system.
1) Build the installed examples in a generic read/write user directory
Copy to a read/write user directory and just use "make", it will link
to the libraries on your system, assuming the PKG_CONFIG_PATH is
correctly configured.
2) Build the examples in-tree
Assuming you are in the source FFmpeg checkout directory, you need to build
FFmpeg (no need to make install in any prefix). Then you can go into the
doc/examples and run a command such as PKG_CONFIG_PATH=pc-uninstalled make.

View File

@@ -27,13 +27,16 @@
* Note that libavcodec only handles codecs (mpeg, mpeg4, etc...),
* not file formats (avi, vob, mp4, mov, mkv, mxf, flv, mpegts, mpegps, etc...). See library 'libavformat' for the
* format handling
* @example doc/examples/decoding_encoding.c
*/
#include <math.h>
#include <libavutil/imgutils.h>
#include <libavutil/opt.h>
#include <libavcodec/avcodec.h>
#include <libavutil/channel_layout.h>
#include <libavutil/common.h>
#include <libavutil/imgutils.h>
#include <libavutil/mathematics.h>
#include <libavutil/samplefmt.h>
@@ -41,6 +44,59 @@
#define AUDIO_INBUF_SIZE 20480
#define AUDIO_REFILL_THRESH 4096
/* check that a given sample format is supported by the encoder */
static int check_sample_fmt(AVCodec *codec, enum AVSampleFormat sample_fmt)
{
const enum AVSampleFormat *p = codec->sample_fmts;
while (*p != AV_SAMPLE_FMT_NONE) {
if (*p == sample_fmt)
return 1;
p++;
}
return 0;
}
/* just pick the highest supported samplerate */
static int select_sample_rate(AVCodec *codec)
{
const int *p;
int best_samplerate = 0;
if (!codec->supported_samplerates)
return 44100;
p = codec->supported_samplerates;
while (*p) {
best_samplerate = FFMAX(*p, best_samplerate);
p++;
}
return best_samplerate;
}
/* select layout with the highest channel count */
static int select_channel_layout(AVCodec *codec)
{
const uint64_t *p;
uint64_t best_ch_layout = 0;
int best_nb_channells = 0;
if (!codec->channel_layouts)
return AV_CH_LAYOUT_STEREO;
p = codec->channel_layouts;
while (*p) {
int nb_channels = av_get_channel_layout_nb_channels(*p);
if (nb_channels > best_nb_channells) {
best_ch_layout = *p;
best_nb_channells = nb_channels;
}
p++;
}
return best_ch_layout;
}
/*
* Audio encoding example
*/
@@ -48,44 +104,83 @@ static void audio_encode_example(const char *filename)
{
AVCodec *codec;
AVCodecContext *c= NULL;
int frame_size, i, j, out_size, outbuf_size;
AVFrame *frame;
AVPacket pkt;
int i, j, k, ret, got_output;
int buffer_size;
FILE *f;
short *samples;
uint16_t *samples;
float t, tincr;
uint8_t *outbuf;
printf("Encode audio file %s\n", filename);
/* find the MP2 encoder */
codec = avcodec_find_encoder(CODEC_ID_MP2);
codec = avcodec_find_encoder(AV_CODEC_ID_MP2);
if (!codec) {
fprintf(stderr, "codec not found\n");
fprintf(stderr, "Codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
/* put sample parameters */
c->bit_rate = 64000;
c->sample_rate = 44100;
c->channels = 2;
c->sample_fmt = AV_SAMPLE_FMT_S16;
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "could not open codec\n");
if (!c) {
fprintf(stderr, "Could not allocate audio codec context\n");
exit(1);
}
/* the codec gives us the frame size, in samples */
frame_size = c->frame_size;
samples = malloc(frame_size * 2 * c->channels);
outbuf_size = 10000;
outbuf = malloc(outbuf_size);
/* put sample parameters */
c->bit_rate = 64000;
/* check that the encoder supports s16 pcm input */
c->sample_fmt = AV_SAMPLE_FMT_S16;
if (!check_sample_fmt(codec, c->sample_fmt)) {
fprintf(stderr, "Encoder does not support sample format %s",
av_get_sample_fmt_name(c->sample_fmt));
exit(1);
}
/* select other audio parameters supported by the encoder */
c->sample_rate = select_sample_rate(codec);
c->channel_layout = select_channel_layout(codec);
c->channels = av_get_channel_layout_nb_channels(c->channel_layout);
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "Could not open codec\n");
exit(1);
}
f = fopen(filename, "wb");
if (!f) {
fprintf(stderr, "could not open %s\n", filename);
fprintf(stderr, "Could not open %s\n", filename);
exit(1);
}
/* frame containing input raw audio */
frame = avcodec_alloc_frame();
if (!frame) {
fprintf(stderr, "Could not allocate audio frame\n");
exit(1);
}
frame->nb_samples = c->frame_size;
frame->format = c->sample_fmt;
frame->channel_layout = c->channel_layout;
/* the codec gives us the frame size, in samples,
* we calculate the size of the samples buffer in bytes */
buffer_size = av_samples_get_buffer_size(NULL, c->channels, c->frame_size,
c->sample_fmt, 0);
samples = av_malloc(buffer_size);
if (!samples) {
fprintf(stderr, "Could not allocate %d bytes for samples buffer\n",
buffer_size);
exit(1);
}
/* setup the data pointers in the AVFrame */
ret = avcodec_fill_audio_frame(frame, c->channels, c->sample_fmt,
(const uint8_t*)samples, buffer_size, 0);
if (ret < 0) {
fprintf(stderr, "Could not setup audio frame\n");
exit(1);
}
@@ -93,19 +188,46 @@ static void audio_encode_example(const char *filename)
t = 0;
tincr = 2 * M_PI * 440.0 / c->sample_rate;
for(i=0;i<200;i++) {
for(j=0;j<frame_size;j++) {
av_init_packet(&pkt);
pkt.data = NULL; // packet data will be allocated by the encoder
pkt.size = 0;
for (j = 0; j < c->frame_size; j++) {
samples[2*j] = (int)(sin(t) * 10000);
samples[2*j+1] = samples[2*j];
for (k = 1; k < c->channels; k++)
samples[2*j + k] = samples[2*j];
t += tincr;
}
/* encode the samples */
out_size = avcodec_encode_audio(c, outbuf, outbuf_size, samples);
fwrite(outbuf, 1, out_size, f);
ret = avcodec_encode_audio2(c, &pkt, frame, &got_output);
if (ret < 0) {
fprintf(stderr, "Error encoding audio frame\n");
exit(1);
}
if (got_output) {
fwrite(pkt.data, 1, pkt.size, f);
av_free_packet(&pkt);
}
}
/* get the delayed frames */
for (got_output = 1; got_output; i++) {
ret = avcodec_encode_audio2(c, &pkt, NULL, &got_output);
if (ret < 0) {
fprintf(stderr, "Error encoding frame\n");
exit(1);
}
if (got_output) {
fwrite(pkt.data, 1, pkt.size, f);
av_free_packet(&pkt);
}
}
fclose(f);
free(outbuf);
free(samples);
av_freep(&samples);
avcodec_free_frame(&frame);
avcodec_close(c);
av_free(c);
}
@@ -125,26 +247,30 @@ static void audio_decode_example(const char *outfilename, const char *filename)
av_init_packet(&avpkt);
printf("Decode audio file %s\n", filename);
printf("Decode audio file %s to %s\n", filename, outfilename);
/* find the mpeg audio decoder */
codec = avcodec_find_decoder(CODEC_ID_MP2);
codec = avcodec_find_decoder(AV_CODEC_ID_MP2);
if (!codec) {
fprintf(stderr, "codec not found\n");
fprintf(stderr, "Codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
if (!c) {
fprintf(stderr, "Could not allocate audio codec context\n");
exit(1);
}
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "could not open codec\n");
fprintf(stderr, "Could not open codec\n");
exit(1);
}
f = fopen(filename, "rb");
if (!f) {
fprintf(stderr, "could not open %s\n", filename);
fprintf(stderr, "Could not open %s\n", filename);
exit(1);
}
outfile = fopen(outfilename, "wb");
@@ -162,7 +288,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
if (!decoded_frame) {
if (!(decoded_frame = avcodec_alloc_frame())) {
fprintf(stderr, "out of memory\n");
fprintf(stderr, "Could not allocate audio frame\n");
exit(1);
}
} else
@@ -203,7 +329,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
avcodec_close(c);
av_free(c);
av_free(decoded_frame);
avcodec_free_frame(&decoded_frame);
}
/*
@@ -213,23 +339,26 @@ static void video_encode_example(const char *filename, int codec_id)
{
AVCodec *codec;
AVCodecContext *c= NULL;
int i, out_size, x, y, outbuf_size;
int i, ret, x, y, got_output;
FILE *f;
AVFrame *picture;
uint8_t *outbuf;
int had_output=0;
AVFrame *frame;
AVPacket pkt;
uint8_t endcode[] = { 0, 0, 1, 0xb7 };
printf("Encode video file %s\n", filename);
/* find the mpeg1 video encoder */
codec = avcodec_find_encoder(codec_id);
if (!codec) {
fprintf(stderr, "codec not found\n");
fprintf(stderr, "Codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
picture= avcodec_alloc_frame();
if (!c) {
fprintf(stderr, "Could not allocate video codec context\n");
exit(1);
}
/* put sample parameters */
c->bit_rate = 400000;
@@ -240,81 +369,105 @@ static void video_encode_example(const char *filename, int codec_id)
c->time_base= (AVRational){1,25};
c->gop_size = 10; /* emit one intra frame every ten frames */
c->max_b_frames=1;
c->pix_fmt = PIX_FMT_YUV420P;
c->pix_fmt = AV_PIX_FMT_YUV420P;
if(codec_id == CODEC_ID_H264)
if(codec_id == AV_CODEC_ID_H264)
av_opt_set(c->priv_data, "preset", "slow", 0);
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "could not open codec\n");
fprintf(stderr, "Could not open codec\n");
exit(1);
}
f = fopen(filename, "wb");
if (!f) {
fprintf(stderr, "could not open %s\n", filename);
fprintf(stderr, "Could not open %s\n", filename);
exit(1);
}
/* alloc image and output buffer */
outbuf_size = 100000 + 12*c->width*c->height;
outbuf = malloc(outbuf_size);
frame = avcodec_alloc_frame();
if (!frame) {
fprintf(stderr, "Could not allocate video frame\n");
exit(1);
}
frame->format = c->pix_fmt;
frame->width = c->width;
frame->height = c->height;
/* the image can be allocated by any means and av_image_alloc() is
* just the most convenient way if av_malloc() is to be used */
av_image_alloc(picture->data, picture->linesize,
c->width, c->height, c->pix_fmt, 1);
ret = av_image_alloc(frame->data, frame->linesize, c->width, c->height,
c->pix_fmt, 32);
if (ret < 0) {
fprintf(stderr, "Could not allocate raw picture buffer\n");
exit(1);
}
/* encode 1 second of video */
for(i=0;i<25;i++) {
av_init_packet(&pkt);
pkt.data = NULL; // packet data will be allocated by the encoder
pkt.size = 0;
fflush(stdout);
/* prepare a dummy image */
/* Y */
for(y=0;y<c->height;y++) {
for(x=0;x<c->width;x++) {
picture->data[0][y * picture->linesize[0] + x] = x + y + i * 3;
frame->data[0][y * frame->linesize[0] + x] = x + y + i * 3;
}
}
/* Cb and Cr */
for(y=0;y<c->height/2;y++) {
for(x=0;x<c->width/2;x++) {
picture->data[1][y * picture->linesize[1] + x] = 128 + y + i * 2;
picture->data[2][y * picture->linesize[2] + x] = 64 + x + i * 5;
frame->data[1][y * frame->linesize[1] + x] = 128 + y + i * 2;
frame->data[2][y * frame->linesize[2] + x] = 64 + x + i * 5;
}
}
frame->pts = i;
/* encode the image */
out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
had_output |= out_size;
printf("encoding frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuf, 1, out_size, f);
ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
if (ret < 0) {
fprintf(stderr, "Error encoding frame\n");
exit(1);
}
if (got_output) {
printf("Write frame %3d (size=%5d)\n", i, pkt.size);
fwrite(pkt.data, 1, pkt.size, f);
av_free_packet(&pkt);
}
}
/* get the delayed frames */
for(; out_size || !had_output; i++) {
for (got_output = 1; got_output; i++) {
fflush(stdout);
out_size = avcodec_encode_video(c, outbuf, outbuf_size, NULL);
had_output |= out_size;
printf("write frame %3d (size=%5d)\n", i, out_size);
fwrite(outbuf, 1, out_size, f);
ret = avcodec_encode_video2(c, &pkt, NULL, &got_output);
if (ret < 0) {
fprintf(stderr, "Error encoding frame\n");
exit(1);
}
if (got_output) {
printf("Write frame %3d (size=%5d)\n", i, pkt.size);
fwrite(pkt.data, 1, pkt.size, f);
av_free_packet(&pkt);
}
}
/* add sequence end code to have a real mpeg file */
outbuf[0] = 0x00;
outbuf[1] = 0x00;
outbuf[2] = 0x01;
outbuf[3] = 0xb7;
fwrite(outbuf, 1, 4, f);
fwrite(endcode, 1, sizeof(endcode), f);
fclose(f);
free(outbuf);
avcodec_close(c);
av_free(c);
av_free(picture->data[0]);
av_free(picture);
av_freep(&frame->data[0]);
avcodec_free_frame(&frame);
printf("\n");
}
@@ -335,15 +488,42 @@ static void pgm_save(unsigned char *buf, int wrap, int xsize, int ysize,
fclose(f);
}
static int decode_write_frame(const char *outfilename, AVCodecContext *avctx,
AVFrame *frame, int *frame_count, AVPacket *pkt, int last)
{
int len, got_frame;
char buf[1024];
len = avcodec_decode_video2(avctx, frame, &got_frame, pkt);
if (len < 0) {
fprintf(stderr, "Error while decoding frame %d\n", *frame_count);
return len;
}
if (got_frame) {
printf("Saving %sframe %3d\n", last ? "last " : "", *frame_count);
fflush(stdout);
/* the picture is allocated by the decoder, no need to free it */
snprintf(buf, sizeof(buf), outfilename, *frame_count);
pgm_save(frame->data[0], frame->linesize[0],
avctx->width, avctx->height, buf);
(*frame_count)++;
}
if (pkt->data) {
pkt->size -= len;
pkt->data += len;
}
return 0;
}
static void video_decode_example(const char *outfilename, const char *filename)
{
AVCodec *codec;
AVCodecContext *c= NULL;
int frame, got_picture, len;
int frame_count;
FILE *f;
AVFrame *picture;
AVFrame *frame;
uint8_t inbuf[INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE];
char buf[1024];
AVPacket avpkt;
av_init_packet(&avpkt);
@@ -351,17 +531,20 @@ static void video_decode_example(const char *outfilename, const char *filename)
/* set end of buffer to 0 (this ensures that no overreading happens for damaged mpeg streams) */
memset(inbuf + INBUF_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
printf("Decode video file %s\n", filename);
printf("Decode video file %s to %s\n", filename, outfilename);
/* find the mpeg1 video decoder */
codec = avcodec_find_decoder(CODEC_ID_MPEG1VIDEO);
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG1VIDEO);
if (!codec) {
fprintf(stderr, "codec not found\n");
fprintf(stderr, "Codec not found\n");
exit(1);
}
c = avcodec_alloc_context3(codec);
picture= avcodec_alloc_frame();
if (!c) {
fprintf(stderr, "Could not allocate video codec context\n");
exit(1);
}
if(codec->capabilities&CODEC_CAP_TRUNCATED)
c->flags|= CODEC_FLAG_TRUNCATED; /* we do not send complete frames */
@@ -372,19 +555,23 @@ static void video_decode_example(const char *outfilename, const char *filename)
/* open it */
if (avcodec_open2(c, codec, NULL) < 0) {
fprintf(stderr, "could not open codec\n");
fprintf(stderr, "Could not open codec\n");
exit(1);
}
/* the codec gives us the frame size, in samples */
f = fopen(filename, "rb");
if (!f) {
fprintf(stderr, "could not open %s\n", filename);
fprintf(stderr, "Could not open %s\n", filename);
exit(1);
}
frame = 0;
frame = avcodec_alloc_frame();
if (!frame) {
fprintf(stderr, "Could not allocate video frame\n");
exit(1);
}
frame_count = 0;
for(;;) {
avpkt.size = fread(inbuf, 1, INBUF_SIZE, f);
if (avpkt.size == 0)
@@ -406,26 +593,9 @@ static void video_decode_example(const char *outfilename, const char *filename)
/* here, we use a stream based decoder (mpeg1video), so we
feed decoder and see if it could decode a frame */
avpkt.data = inbuf;
while (avpkt.size > 0) {
len = avcodec_decode_video2(c, picture, &got_picture, &avpkt);
if (len < 0) {
fprintf(stderr, "Error while decoding frame %d\n", frame);
while (avpkt.size > 0)
if (decode_write_frame(outfilename, c, frame, &frame_count, &avpkt, 0) < 0)
exit(1);
}
if (got_picture) {
printf("saving frame %3d\n", frame);
fflush(stdout);
/* the picture is allocated by the decoder. no need to
free it */
snprintf(buf, sizeof(buf), outfilename, frame);
pgm_save(picture->data[0], picture->linesize[0],
c->width, c->height, buf);
frame++;
}
avpkt.size -= len;
avpkt.data += len;
}
}
/* some codecs, such as MPEG, transmit the I and P frame with a
@@ -433,47 +603,48 @@ static void video_decode_example(const char *outfilename, const char *filename)
chance to get the last frame of the video */
avpkt.data = NULL;
avpkt.size = 0;
len = avcodec_decode_video2(c, picture, &got_picture, &avpkt);
if (got_picture) {
printf("saving last frame %3d\n", frame);
fflush(stdout);
/* the picture is allocated by the decoder. no need to
free it */
snprintf(buf, sizeof(buf), outfilename, frame);
pgm_save(picture->data[0], picture->linesize[0],
c->width, c->height, buf);
frame++;
}
decode_write_frame(outfilename, c, frame, &frame_count, &avpkt, 1);
fclose(f);
avcodec_close(c);
av_free(c);
av_free(picture);
avcodec_free_frame(&frame);
printf("\n");
}
int main(int argc, char **argv)
{
const char *filename;
const char *output_type;
/* register all the codecs */
avcodec_register_all();
if (argc <= 1) {
audio_encode_example("/tmp/test.mp2");
audio_decode_example("/tmp/test.sw", "/tmp/test.mp2");
video_encode_example("/tmp/test.h264", CODEC_ID_H264);
video_encode_example("/tmp/test.mpg", CODEC_ID_MPEG1VIDEO);
filename = "/tmp/test.mpg";
} else {
filename = argv[1];
if (argc < 2) {
printf("usage: %s output_type\n"
"API example program to decode/encode a media stream with libavcodec.\n"
"This program generates a synthetic stream and encodes it to a file\n"
"named test.h264, test.mp2 or test.mpg depending on output_type.\n"
"The encoded stream is then decoded and written to a raw data output.\n"
"output_type must be choosen between 'h264', 'mp2', 'mpg'.\n",
argv[0]);
return 1;
}
output_type = argv[1];
// audio_decode_example("/tmp/test.sw", filename);
video_decode_example("/tmp/test%d.pgm", filename);
if (!strcmp(output_type, "h264")) {
video_encode_example("test.h264", AV_CODEC_ID_H264);
} else if (!strcmp(output_type, "mp2")) {
audio_encode_example("test.mp2");
audio_decode_example("test.sw", "test.mp2");
} else if (!strcmp(output_type, "mpg")) {
video_encode_example("test.mpg", AV_CODEC_ID_MPEG1VIDEO);
video_decode_example("test%02d.pgm", "test.mpg");
} else {
fprintf(stderr, "Invalid output type '%s', choose between 'h264', 'mp2', or 'mpg'\n",
output_type);
return 1;
}
return 0;
}

340
doc/examples/demuxing.c Normal file
View File

@@ -0,0 +1,340 @@
/*
* Copyright (c) 2012 Stefano Sabatini
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @file
* libavformat demuxing API use example.
*
* Show how to use the libavformat and libavcodec API to demux and
* decode audio and video data.
* @example doc/examples/demuxing.c
*/
#include <libavutil/imgutils.h>
#include <libavutil/samplefmt.h>
#include <libavutil/timestamp.h>
#include <libavformat/avformat.h>
static AVFormatContext *fmt_ctx = NULL;
static AVCodecContext *video_dec_ctx = NULL, *audio_dec_ctx;
static AVStream *video_stream = NULL, *audio_stream = NULL;
static const char *src_filename = NULL;
static const char *video_dst_filename = NULL;
static const char *audio_dst_filename = NULL;
static FILE *video_dst_file = NULL;
static FILE *audio_dst_file = NULL;
static uint8_t *video_dst_data[4] = {NULL};
static int video_dst_linesize[4];
static int video_dst_bufsize;
static uint8_t **audio_dst_data = NULL;
static int audio_dst_linesize;
static int audio_dst_bufsize;
static int video_stream_idx = -1, audio_stream_idx = -1;
static AVFrame *frame = NULL;
static AVPacket pkt;
static int video_frame_count = 0;
static int audio_frame_count = 0;
static int decode_packet(int *got_frame, int cached)
{
int ret = 0;
if (pkt.stream_index == video_stream_idx) {
/* decode video frame */
ret = avcodec_decode_video2(video_dec_ctx, frame, got_frame, &pkt);
if (ret < 0) {
fprintf(stderr, "Error decoding video frame\n");
return ret;
}
if (*got_frame) {
printf("video_frame%s n:%d coded_n:%d pts:%s\n",
cached ? "(cached)" : "",
video_frame_count++, frame->coded_picture_number,
av_ts2timestr(frame->pts, &video_dec_ctx->time_base));
/* copy decoded frame to destination buffer:
* this is required since rawvideo expects non aligned data */
av_image_copy(video_dst_data, video_dst_linesize,
(const uint8_t **)(frame->data), frame->linesize,
video_dec_ctx->pix_fmt, video_dec_ctx->width, video_dec_ctx->height);
/* write to rawvideo file */
fwrite(video_dst_data[0], 1, video_dst_bufsize, video_dst_file);
}
} else if (pkt.stream_index == audio_stream_idx) {
/* decode audio frame */
ret = avcodec_decode_audio4(audio_dec_ctx, frame, got_frame, &pkt);
if (ret < 0) {
fprintf(stderr, "Error decoding audio frame\n");
return ret;
}
if (*got_frame) {
printf("audio_frame%s n:%d nb_samples:%d pts:%s\n",
cached ? "(cached)" : "",
audio_frame_count++, frame->nb_samples,
av_ts2timestr(frame->pts, &audio_dec_ctx->time_base));
ret = av_samples_alloc(audio_dst_data, &audio_dst_linesize, frame->channels,
frame->nb_samples, frame->format, 1);
if (ret < 0) {
fprintf(stderr, "Could not allocate audio buffer\n");
return AVERROR(ENOMEM);
}
/* TODO: extend return code of the av_samples_* functions so that this call is not needed */
audio_dst_bufsize =
av_samples_get_buffer_size(NULL, frame->channels,
frame->nb_samples, frame->format, 1);
/* copy audio data to destination buffer:
* this is required since rawaudio expects non aligned data */
av_samples_copy(audio_dst_data, frame->data, 0, 0,
frame->nb_samples, frame->channels, frame->format);
/* write to rawaudio file */
fwrite(audio_dst_data[0], 1, audio_dst_bufsize, audio_dst_file);
av_freep(&audio_dst_data[0]);
}
}
return ret;
}
static int open_codec_context(int *stream_idx,
AVFormatContext *fmt_ctx, enum AVMediaType type)
{
int ret;
AVStream *st;
AVCodecContext *dec_ctx = NULL;
AVCodec *dec = NULL;
ret = av_find_best_stream(fmt_ctx, type, -1, -1, NULL, 0);
if (ret < 0) {
fprintf(stderr, "Could not find %s stream in input file '%s'\n",
av_get_media_type_string(type), src_filename);
return ret;
} else {
*stream_idx = ret;
st = fmt_ctx->streams[*stream_idx];
/* find decoder for the stream */
dec_ctx = st->codec;
dec = avcodec_find_decoder(dec_ctx->codec_id);
if (!dec) {
fprintf(stderr, "Failed to find %s codec\n",
av_get_media_type_string(type));
return ret;
}
if ((ret = avcodec_open2(dec_ctx, dec, NULL)) < 0) {
fprintf(stderr, "Failed to open %s codec\n",
av_get_media_type_string(type));
return ret;
}
}
return 0;
}
static int get_format_from_sample_fmt(const char **fmt,
enum AVSampleFormat sample_fmt)
{
int i;
struct sample_fmt_entry {
enum AVSampleFormat sample_fmt; const char *fmt_be, *fmt_le;
} sample_fmt_entries[] = {
{ AV_SAMPLE_FMT_U8, "u8", "u8" },
{ AV_SAMPLE_FMT_S16, "s16be", "s16le" },
{ AV_SAMPLE_FMT_S32, "s32be", "s32le" },
{ AV_SAMPLE_FMT_FLT, "f32be", "f32le" },
{ AV_SAMPLE_FMT_DBL, "f64be", "f64le" },
};
*fmt = NULL;
for (i = 0; i < FF_ARRAY_ELEMS(sample_fmt_entries); i++) {
struct sample_fmt_entry *entry = &sample_fmt_entries[i];
if (sample_fmt == entry->sample_fmt) {
*fmt = AV_NE(entry->fmt_be, entry->fmt_le);
return 0;
}
}
fprintf(stderr,
"sample format %s is not supported as output format\n",
av_get_sample_fmt_name(sample_fmt));
return -1;
}
int main (int argc, char **argv)
{
int ret = 0, got_frame;
if (argc != 4) {
fprintf(stderr, "usage: %s input_file video_output_file audio_output_file\n"
"API example program to show how to read frames from an input file.\n"
"This program reads frames from a file, decodes them, and writes decoded\n"
"video frames to a rawvideo file named video_output_file, and decoded\n"
"audio frames to a rawaudio file named audio_output_file.\n"
"\n", argv[0]);
exit(1);
}
src_filename = argv[1];
video_dst_filename = argv[2];
audio_dst_filename = argv[3];
/* register all formats and codecs */
av_register_all();
/* open input file, and allocate format context */
if (avformat_open_input(&fmt_ctx, src_filename, NULL, NULL) < 0) {
fprintf(stderr, "Could not open source file %s\n", src_filename);
exit(1);
}
/* retrieve stream information */
if (avformat_find_stream_info(fmt_ctx, NULL) < 0) {
fprintf(stderr, "Could not find stream information\n");
exit(1);
}
if (open_codec_context(&video_stream_idx, fmt_ctx, AVMEDIA_TYPE_VIDEO) >= 0) {
video_stream = fmt_ctx->streams[video_stream_idx];
video_dec_ctx = video_stream->codec;
video_dst_file = fopen(video_dst_filename, "wb");
if (!video_dst_file) {
fprintf(stderr, "Could not open destination file %s\n", video_dst_filename);
ret = 1;
goto end;
}
/* allocate image where the decoded image will be put */
ret = av_image_alloc(video_dst_data, video_dst_linesize,
video_dec_ctx->width, video_dec_ctx->height,
video_dec_ctx->pix_fmt, 1);
if (ret < 0) {
fprintf(stderr, "Could not allocate raw video buffer\n");
goto end;
}
video_dst_bufsize = ret;
}
if (open_codec_context(&audio_stream_idx, fmt_ctx, AVMEDIA_TYPE_AUDIO) >= 0) {
int nb_planes;
audio_stream = fmt_ctx->streams[audio_stream_idx];
audio_dec_ctx = audio_stream->codec;
audio_dst_file = fopen(audio_dst_filename, "wb");
if (!audio_dst_file) {
fprintf(stderr, "Could not open destination file %s\n", video_dst_filename);
ret = 1;
goto end;
}
nb_planes = av_sample_fmt_is_planar(audio_dec_ctx->sample_fmt) ?
audio_dec_ctx->channels : 1;
audio_dst_data = av_mallocz(sizeof(uint8_t *) * nb_planes);
if (!audio_dst_data) {
fprintf(stderr, "Could not allocate audio data buffers\n");
ret = AVERROR(ENOMEM);
goto end;
}
}
/* dump input information to stderr */
av_dump_format(fmt_ctx, 0, src_filename, 0);
if (!audio_stream && !video_stream) {
fprintf(stderr, "Could not find audio or video stream in the input, aborting\n");
ret = 1;
goto end;
}
frame = avcodec_alloc_frame();
if (!frame) {
fprintf(stderr, "Could not allocate frame\n");
ret = AVERROR(ENOMEM);
goto end;
}
/* initialize packet, set data to NULL, let the demuxer fill it */
av_init_packet(&pkt);
pkt.data = NULL;
pkt.size = 0;
if (video_stream)
printf("Demuxing video from file '%s' into '%s'\n", src_filename, video_dst_filename);
if (audio_stream)
printf("Demuxing audio from file '%s' into '%s'\n", src_filename, audio_dst_filename);
/* read frames from the file */
while (av_read_frame(fmt_ctx, &pkt) >= 0)
decode_packet(&got_frame, 0);
/* flush cached frames */
pkt.data = NULL;
pkt.size = 0;
do {
decode_packet(&got_frame, 1);
} while (got_frame);
printf("Demuxing succeeded.\n");
if (video_stream) {
printf("Play the output video file with the command:\n"
"ffplay -f rawvideo -pix_fmt %s -video_size %dx%d %s\n",
av_get_pix_fmt_name(video_dec_ctx->pix_fmt), video_dec_ctx->width, video_dec_ctx->height,
video_dst_filename);
}
if (audio_stream) {
const char *fmt;
if ((ret = get_format_from_sample_fmt(&fmt, audio_dec_ctx->sample_fmt)) < 0)
goto end;
printf("Play the output audio file with the command:\n"
"ffplay -f %s -ac %d -ar %d %s\n",
fmt, audio_dec_ctx->channels, audio_dec_ctx->sample_rate,
audio_dst_filename);
}
end:
if (video_dec_ctx)
avcodec_close(video_dec_ctx);
if (audio_dec_ctx)
avcodec_close(audio_dec_ctx);
avformat_close_input(&fmt_ctx);
if (video_dst_file)
fclose(video_dst_file);
if (audio_dst_file)
fclose(audio_dst_file);
av_free(frame);
av_free(video_dst_data[0]);
av_free(audio_dst_data);
return ret < 0;
}

View File

@@ -25,6 +25,7 @@
/**
* @file
* API example for audio decoding and filtering
* @example doc/examples/filtering_audio.c
*/
#include <unistd.h>
@@ -84,21 +85,23 @@ static int init_filters(const char *filters_descr)
char args[512];
int ret;
AVFilter *abuffersrc = avfilter_get_by_name("abuffer");
AVFilter *abuffersink = avfilter_get_by_name("abuffersink");
AVFilter *abuffersink = avfilter_get_by_name("ffabuffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_S16, -1 };
const int64_t *chlayouts = avfilter_all_channel_layouts;
AVABufferSinkParams *abuffersink_params;
const AVFilterLink *outlink;
AVRational time_base = fmt_ctx->streams[audio_stream_index]->time_base;
filter_graph = avfilter_graph_alloc();
/* buffer audio source: the decoded frames from the decoder will be inserted here. */
if (!dec_ctx->channel_layout)
dec_ctx->channel_layout = av_get_default_channel_layout(dec_ctx->channels);
snprintf(args, sizeof(args), "%d:%d:0x%"PRIx64,
dec_ctx->sample_rate, dec_ctx->sample_fmt, dec_ctx->channel_layout);
snprintf(args, sizeof(args),
"time_base=%d/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%"PRIx64,
time_base.num, time_base.den, dec_ctx->sample_rate,
av_get_sample_fmt_name(dec_ctx->sample_fmt), dec_ctx->channel_layout);
ret = avfilter_graph_create_filter(&buffersrc_ctx, abuffersrc, "in",
args, NULL, filter_graph);
if (ret < 0) {
@@ -109,7 +112,6 @@ static int init_filters(const char *filters_descr)
/* buffer audio sink: to terminate the filter chain. */
abuffersink_params = av_abuffersink_params_alloc();
abuffersink_params->sample_fmts = sample_fmts;
abuffersink_params->channel_layouts = chlayouts;
ret = avfilter_graph_create_filter(&buffersink_ctx, abuffersink, "out",
NULL, abuffersink_params, filter_graph);
av_free(abuffersink_params);
@@ -194,7 +196,6 @@ int main(int argc, char **argv)
avcodec_get_frame_defaults(&frame);
got_frame = 0;
ret = avcodec_decode_audio4(dec_ctx, &frame, &got_frame, &packet);
av_free_packet(&packet);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error decoding audio\n");
continue;
@@ -208,15 +209,20 @@ int main(int argc, char **argv)
}
/* pull filtered audio from the filtergraph */
while (avfilter_poll_frame(buffersink_ctx->inputs[0])) {
av_buffersink_get_buffer_ref(buffersink_ctx, &samplesref, 0);
while (1) {
ret = av_buffersink_get_buffer_ref(buffersink_ctx, &samplesref, 0);
if(ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
break;
if(ret < 0)
goto end;
if (samplesref) {
print_samplesref(samplesref);
avfilter_unref_buffer(samplesref);
avfilter_unref_bufferp(&samplesref);
}
}
}
}
av_free_packet(&packet);
}
end:
avfilter_graph_free(&filter_graph);

View File

@@ -24,6 +24,7 @@
/**
* @file
* API example for decoding and filtering
* @example doc/examples/filtering_video.c
*/
#define _XOPEN_SOURCE 600 /* for usleep */
@@ -34,6 +35,7 @@
#include <libavfilter/avfiltergraph.h>
#include <libavfilter/avcodec.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
const char *filter_descr = "scale=78:24";
@@ -83,17 +85,21 @@ static int init_filters(const char *filters_descr)
char args[512];
int ret;
AVFilter *buffersrc = avfilter_get_by_name("buffer");
AVFilter *buffersink = avfilter_get_by_name("buffersink");
AVFilter *buffersink = avfilter_get_by_name("ffbuffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
enum PixelFormat pix_fmts[] = { PIX_FMT_GRAY8, PIX_FMT_NONE };
enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };
AVBufferSinkParams *buffersink_params;
filter_graph = avfilter_graph_alloc();
/* buffer video source: the decoded frames from the decoder will be inserted here. */
snprintf(args, sizeof(args), "%d:%d:%d:%d:%d:%d:%d",
dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
dec_ctx->time_base.num, dec_ctx->time_base.den,
dec_ctx->sample_aspect_ratio.num, dec_ctx->sample_aspect_ratio.den);
snprintf(args, sizeof(args),
"video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
dec_ctx->time_base.num, dec_ctx->time_base.den,
dec_ctx->sample_aspect_ratio.num, dec_ctx->sample_aspect_ratio.den);
ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",
args, NULL, filter_graph);
if (ret < 0) {
@@ -102,8 +108,11 @@ static int init_filters(const char *filters_descr)
}
/* buffer video sink: to terminate the filter chain. */
buffersink_params = av_buffersink_params_alloc();
buffersink_params->pixel_fmts = pix_fmts;
ret = avfilter_graph_create_filter(&buffersink_ctx, buffersink, "out",
NULL, pix_fmts, filter_graph);
NULL, buffersink_params, filter_graph);
av_free(buffersink_params);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot create buffer sink\n");
return ret;
@@ -191,7 +200,6 @@ int main(int argc, char **argv)
avcodec_get_frame_defaults(&frame);
got_frame = 0;
ret = avcodec_decode_video2(dec_ctx, &frame, &got_frame, &packet);
av_free_packet(&packet);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error decoding video\n");
break;
@@ -201,18 +209,27 @@ int main(int argc, char **argv)
frame.pts = av_frame_get_best_effort_timestamp(&frame);
/* push the decoded frame into the filtergraph */
av_vsrc_buffer_add_frame(buffersrc_ctx, &frame, 0);
if (av_buffersrc_add_frame(buffersrc_ctx, &frame, 0) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while feeding the filtergraph\n");
break;
}
/* pull filtered pictures from the filtergraph */
while (avfilter_poll_frame(buffersink_ctx->inputs[0])) {
av_buffersink_get_buffer_ref(buffersink_ctx, &picref, 0);
while (1) {
ret = av_buffersink_get_buffer_ref(buffersink_ctx, &picref, 0);
if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
break;
if (ret < 0)
goto end;
if (picref) {
display_picref(picref, buffersink_ctx->inputs[0]->time_base);
avfilter_unref_buffer(picref);
avfilter_unref_bufferp(&picref);
}
}
}
}
av_free_packet(&packet);
}
end:
avfilter_graph_free(&filter_graph);

View File

@@ -23,6 +23,7 @@
/**
* @file
* Shows how the metadata API can be used in application programs.
* @example doc/examples/metadata.c
*/
#include <stdio.h>

View File

@@ -26,6 +26,7 @@
*
* Output a media file in any supported libavformat format.
* The default codecs are used.
* @example doc/examples/muxing.c
*/
#include <stdlib.h>
@@ -37,13 +38,11 @@
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#undef exit
/* 5 seconds stream duration */
#define STREAM_DURATION 200.0
#define STREAM_FRAME_RATE 25 /* 25 images/s */
#define STREAM_NB_FRAMES ((int)(STREAM_DURATION * STREAM_FRAME_RATE))
#define STREAM_PIX_FMT PIX_FMT_YUV420P /* default pix_fmt */
#define STREAM_PIX_FMT AV_PIX_FMT_YUV420P /* default pix_fmt */
static int sws_flags = SWS_BICUBIC;
@@ -54,53 +53,95 @@ static float t, tincr, tincr2;
static int16_t *samples;
static int audio_input_frame_size;
/*
* add an audio output stream
*/
static AVStream *add_audio_stream(AVFormatContext *oc, enum CodecID codec_id)
/* Add an output stream. */
static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
enum AVCodecID codec_id)
{
AVCodecContext *c;
AVStream *st;
AVCodec *codec;
/* find the audio encoder */
codec = avcodec_find_encoder(codec_id);
if (!codec) {
fprintf(stderr, "codec not found\n");
/* find the encoder */
*codec = avcodec_find_encoder(codec_id);
if (!(*codec)) {
fprintf(stderr, "Could not find encoder for '%s'\n",
avcodec_get_name(codec_id));
exit(1);
}
st = avformat_new_stream(oc, codec);
st = avformat_new_stream(oc, *codec);
if (!st) {
fprintf(stderr, "Could not alloc stream\n");
fprintf(stderr, "Could not allocate stream\n");
exit(1);
}
st->id = 1;
st->id = oc->nb_streams-1;
c = st->codec;
/* put sample parameters */
c->sample_fmt = AV_SAMPLE_FMT_S16;
c->bit_rate = 64000;
c->sample_rate = 44100;
c->channels = 2;
switch ((*codec)->type) {
case AVMEDIA_TYPE_AUDIO:
st->id = 1;
c->sample_fmt = AV_SAMPLE_FMT_S16;
c->bit_rate = 64000;
c->sample_rate = 44100;
c->channels = 2;
break;
// some formats want stream headers to be separate
case AVMEDIA_TYPE_VIDEO:
avcodec_get_context_defaults3(c, *codec);
c->codec_id = codec_id;
c->bit_rate = 400000;
/* Resolution must be a multiple of two. */
c->width = 352;
c->height = 288;
/* timebase: This is the fundamental unit of time (in seconds) in terms
* of which frame timestamps are represented. For fixed-fps content,
* timebase should be 1/framerate and timestamp increments should be
* identical to 1. */
c->time_base.den = STREAM_FRAME_RATE;
c->time_base.num = 1;
c->gop_size = 12; /* emit one intra frame every twelve frames at most */
c->pix_fmt = STREAM_PIX_FMT;
if (c->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
/* just for testing, we also add B frames */
c->max_b_frames = 2;
}
if (c->codec_id == AV_CODEC_ID_MPEG1VIDEO) {
/* Needed to avoid using macroblocks in which some coeffs overflow.
* This does not happen with normal video, it just happens here as
* the motion of the chroma plane does not match the luma plane. */
c->mb_decision = 2;
}
break;
default:
break;
}
/* Some formats want stream headers to be separate. */
if (oc->oformat->flags & AVFMT_GLOBALHEADER)
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
return st;
}
static void open_audio(AVFormatContext *oc, AVStream *st)
/**************************************************************/
/* audio output */
static float t, tincr, tincr2;
static int16_t *samples;
static int audio_input_frame_size;
static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
{
AVCodecContext *c;
int ret;
c = st->codec;
/* open it */
if (avcodec_open2(c, NULL, NULL) < 0) {
fprintf(stderr, "could not open codec\n");
ret = avcodec_open2(c, codec, NULL);
if (ret < 0) {
fprintf(stderr, "Could not open audio codec: %s\n", av_err2str(ret));
exit(1);
}
@@ -117,6 +158,10 @@ static void open_audio(AVFormatContext *oc, AVStream *st)
samples = av_malloc(audio_input_frame_size *
av_get_bytes_per_sample(c->sample_fmt) *
c->channels);
if (!samples) {
fprintf(stderr, "Could not allocate audio samples buffer\n");
exit(1);
}
}
/* Prepare a 16 bit dummy audio frame of 'frame_size' samples and
@@ -141,7 +186,7 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
AVCodecContext *c;
AVPacket pkt = { 0 }; // data and size must be 0;
AVFrame *frame = avcodec_alloc_frame();
int got_packet;
int got_packet, ret;
av_init_packet(&pkt);
c = st->codec;
@@ -154,17 +199,25 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
av_get_bytes_per_sample(c->sample_fmt) *
c->channels, 1);
avcodec_encode_audio2(c, &pkt, frame, &got_packet);
ret = avcodec_encode_audio2(c, &pkt, frame, &got_packet);
if (ret < 0) {
fprintf(stderr, "Error encoding audio frame: %s\n", av_err2str(ret));
exit(1);
}
if (!got_packet)
return;
pkt.stream_index = st->index;
/* Write the compressed frame to the media file. */
if (av_interleaved_write_frame(oc, &pkt) != 0) {
fprintf(stderr, "Error while writing audio frame\n");
ret = av_interleaved_write_frame(oc, &pkt);
if (ret != 0) {
fprintf(stderr, "Error while writing audio frame: %s\n",
av_err2str(ret));
exit(1);
}
avcodec_free_frame(&frame);
}
static void close_audio(AVFormatContext *oc, AVStream *st)
@@ -177,138 +230,54 @@ static void close_audio(AVFormatContext *oc, AVStream *st)
/**************************************************************/
/* video output */
static AVFrame *picture, *tmp_picture;
static uint8_t *video_outbuf;
static int frame_count, video_outbuf_size;
static AVFrame *frame;
static AVPicture src_picture, dst_picture;
static int frame_count;
/* Add a video output stream. */
static AVStream *add_video_stream(AVFormatContext *oc, enum CodecID codec_id)
static void open_video(AVFormatContext *oc, AVCodec *codec, AVStream *st)
{
AVCodecContext *c;
AVStream *st;
AVCodec *codec;
/* find the video encoder */
codec = avcodec_find_encoder(codec_id);
if (!codec) {
fprintf(stderr, "codec not found\n");
exit(1);
}
st = avformat_new_stream(oc, codec);
if (!st) {
fprintf(stderr, "Could not alloc stream\n");
exit(1);
}
c = st->codec;
/* find the video encoder */
codec = avcodec_find_encoder(codec_id);
if (!codec) {
fprintf(stderr, "codec not found\n");
exit(1);
}
avcodec_get_context_defaults3(c, codec);
c->codec_id = codec_id;
/* Put sample parameters. */
c->bit_rate = 400000;
/* Resolution must be a multiple of two. */
c->width = 352;
c->height = 288;
/* timebase: This is the fundamental unit of time (in seconds) in terms
* of which frame timestamps are represented. For fixed-fps content,
* timebase should be 1/framerate and timestamp increments should be
* identical to 1. */
c->time_base.den = STREAM_FRAME_RATE;
c->time_base.num = 1;
c->gop_size = 12; /* emit one intra frame every twelve frames at most */
c->pix_fmt = STREAM_PIX_FMT;
if (c->codec_id == CODEC_ID_MPEG2VIDEO) {
/* just for testing, we also add B frames */
c->max_b_frames = 2;
}
if (c->codec_id == CODEC_ID_MPEG1VIDEO) {
/* Needed to avoid using macroblocks in which some coeffs overflow.
* This does not happen with normal video, it just happens here as
* the motion of the chroma plane does not match the luma plane. */
c->mb_decision = 2;
}
/* Some formats want stream headers to be separate. */
if (oc->oformat->flags & AVFMT_GLOBALHEADER)
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
return st;
}
static AVFrame *alloc_picture(enum PixelFormat pix_fmt, int width, int height)
{
AVFrame *picture;
uint8_t *picture_buf;
int size;
picture = avcodec_alloc_frame();
if (!picture)
return NULL;
size = avpicture_get_size(pix_fmt, width, height);
picture_buf = av_malloc(size);
if (!picture_buf) {
av_free(picture);
return NULL;
}
avpicture_fill((AVPicture *)picture, picture_buf,
pix_fmt, width, height);
return picture;
}
static void open_video(AVFormatContext *oc, AVStream *st)
{
AVCodecContext *c;
c = st->codec;
int ret;
AVCodecContext *c = st->codec;
/* open the codec */
if (avcodec_open2(c, NULL, NULL) < 0) {
fprintf(stderr, "could not open codec\n");
ret = avcodec_open2(c, codec, NULL);
if (ret < 0) {
fprintf(stderr, "Could not open video codec: %s\n", av_err2str(ret));
exit(1);
}
video_outbuf = NULL;
if (!(oc->oformat->flags & AVFMT_RAWPICTURE)) {
/* Allocate output buffer. */
/* XXX: API change will be done. */
/* Buffers passed into lav* can be allocated any way you prefer,
* as long as they're aligned enough for the architecture, and
* they're freed appropriately (such as using av_free for buffers
* allocated with av_malloc). */
video_outbuf_size = 200000;
video_outbuf = av_malloc(video_outbuf_size);
/* allocate and init a re-usable frame */
frame = avcodec_alloc_frame();
if (!frame) {
fprintf(stderr, "Could not allocate video frame\n");
exit(1);
}
/* Allocate the encoded raw picture. */
picture = alloc_picture(c->pix_fmt, c->width, c->height);
if (!picture) {
fprintf(stderr, "Could not allocate picture\n");
ret = avpicture_alloc(&dst_picture, c->pix_fmt, c->width, c->height);
if (ret < 0) {
fprintf(stderr, "Could not allocate picture: %s\n", av_err2str(ret));
exit(1);
}
/* If the output format is not YUV420P, then a temporary YUV420P
* picture is needed too. It is then converted to the required
* output format. */
tmp_picture = NULL;
if (c->pix_fmt != PIX_FMT_YUV420P) {
tmp_picture = alloc_picture(PIX_FMT_YUV420P, c->width, c->height);
if (!tmp_picture) {
fprintf(stderr, "Could not allocate temporary picture\n");
if (c->pix_fmt != AV_PIX_FMT_YUV420P) {
ret = avpicture_alloc(&src_picture, AV_PIX_FMT_YUV420P, c->width, c->height);
if (ret < 0) {
fprintf(stderr, "Could not allocate temporary picture: %s\n",
av_err2str(ret));
exit(1);
}
}
/* copy data and linesize picture pointers to frame */
*((AVPicture *)frame) = dst_picture;
}
/* Prepare a dummy image. */
static void fill_yuv_image(AVFrame *pict, int frame_index,
static void fill_yuv_image(AVPicture *pict, int frame_index,
int width, int height)
{
int x, y, i;
@@ -331,70 +300,69 @@ static void fill_yuv_image(AVFrame *pict, int frame_index,
static void write_video_frame(AVFormatContext *oc, AVStream *st)
{
int out_size, ret;
AVCodecContext *c;
static struct SwsContext *img_convert_ctx;
c = st->codec;
int ret;
static struct SwsContext *sws_ctx;
AVCodecContext *c = st->codec;
if (frame_count >= STREAM_NB_FRAMES) {
/* No more frames to compress. The codec has a latency of a few
* frames if using B-frames, so we get the last frames by
* passing the same picture again. */
} else {
if (c->pix_fmt != PIX_FMT_YUV420P) {
if (c->pix_fmt != AV_PIX_FMT_YUV420P) {
/* as we only generate a YUV420P picture, we must convert it
* to the codec pixel format if needed */
if (img_convert_ctx == NULL) {
img_convert_ctx = sws_getContext(c->width, c->height,
PIX_FMT_YUV420P,
c->width, c->height,
c->pix_fmt,
sws_flags, NULL, NULL, NULL);
if (img_convert_ctx == NULL) {
if (!sws_ctx) {
sws_ctx = sws_getContext(c->width, c->height, AV_PIX_FMT_YUV420P,
c->width, c->height, c->pix_fmt,
sws_flags, NULL, NULL, NULL);
if (!sws_ctx) {
fprintf(stderr,
"Cannot initialize the conversion context\n");
"Could not initialize the conversion context\n");
exit(1);
}
}
fill_yuv_image(tmp_picture, frame_count, c->width, c->height);
sws_scale(img_convert_ctx, tmp_picture->data, tmp_picture->linesize,
0, c->height, picture->data, picture->linesize);
fill_yuv_image(&src_picture, frame_count, c->width, c->height);
sws_scale(sws_ctx,
(const uint8_t * const *)src_picture.data, src_picture.linesize,
0, c->height, dst_picture.data, dst_picture.linesize);
} else {
fill_yuv_image(picture, frame_count, c->width, c->height);
fill_yuv_image(&dst_picture, frame_count, c->width, c->height);
}
}
if (oc->oformat->flags & AVFMT_RAWPICTURE) {
/* Raw video case - the API will change slightly in the near
* future for that. */
/* Raw video case - directly store the picture in the packet */
AVPacket pkt;
av_init_packet(&pkt);
pkt.flags |= AV_PKT_FLAG_KEY;
pkt.stream_index = st->index;
pkt.data = (uint8_t *)picture;
pkt.data = dst_picture.data[0];
pkt.size = sizeof(AVPicture);
ret = av_interleaved_write_frame(oc, &pkt);
} else {
/* encode the image */
out_size = avcodec_encode_video(c, video_outbuf,
video_outbuf_size, picture);
/* If size is zero, it means the image was buffered. */
if (out_size > 0) {
AVPacket pkt;
av_init_packet(&pkt);
AVPacket pkt;
int got_output;
if (c->coded_frame->pts != AV_NOPTS_VALUE)
pkt.pts = av_rescale_q(c->coded_frame->pts,
c->time_base, st->time_base);
av_init_packet(&pkt);
pkt.data = NULL; // packet data will be allocated by the encoder
pkt.size = 0;
ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
if (ret < 0) {
fprintf(stderr, "Error encoding video frame: %s\n", av_err2str(ret));
exit(1);
}
/* If size is zero, it means the image was buffered. */
if (got_output) {
if (c->coded_frame->key_frame)
pkt.flags |= AV_PKT_FLAG_KEY;
pkt.stream_index = st->index;
pkt.data = video_outbuf;
pkt.size = out_size;
/* Write the compressed frame to the media file. */
ret = av_interleaved_write_frame(oc, &pkt);
@@ -403,7 +371,7 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st)
}
}
if (ret != 0) {
fprintf(stderr, "Error while writing video frame\n");
fprintf(stderr, "Error while writing video frame: %s\n", av_err2str(ret));
exit(1);
}
frame_count++;
@@ -412,13 +380,9 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st)
static void close_video(AVFormatContext *oc, AVStream *st)
{
avcodec_close(st->codec);
av_free(picture->data[0]);
av_free(picture);
if (tmp_picture) {
av_free(tmp_picture->data[0]);
av_free(tmp_picture);
}
av_free(video_outbuf);
av_free(src_picture.data[0]);
av_free(dst_picture.data[0]);
av_free(frame);
}
/**************************************************************/
@@ -430,8 +394,9 @@ int main(int argc, char **argv)
AVOutputFormat *fmt;
AVFormatContext *oc;
AVStream *audio_st, *video_st;
AVCodec *audio_codec, *video_codec;
double audio_pts, video_pts;
int i;
int ret, i;
/* Initialize libavcodec, and register all codecs and formats. */
av_register_all();
@@ -439,8 +404,10 @@ int main(int argc, char **argv)
if (argc != 2) {
printf("usage: %s output_file\n"
"API example program to output a media file with libavformat.\n"
"This program generates a synthetic audio and video stream, encodes and\n"
"muxes them into a file named output_file.\n"
"The output format is automatically guessed according to the file extension.\n"
"Raw images can also be output by using '%%d' in the filename\n"
"Raw images can also be output by using '%%d' in the filename.\n"
"\n", argv[0]);
return 1;
}
@@ -462,34 +429,43 @@ int main(int argc, char **argv)
* and initialize the codecs. */
video_st = NULL;
audio_st = NULL;
if (fmt->video_codec != CODEC_ID_NONE) {
video_st = add_video_stream(oc, fmt->video_codec);
if (fmt->video_codec != AV_CODEC_ID_NONE) {
video_st = add_stream(oc, &video_codec, fmt->video_codec);
}
if (fmt->audio_codec != CODEC_ID_NONE) {
audio_st = add_audio_stream(oc, fmt->audio_codec);
if (fmt->audio_codec != AV_CODEC_ID_NONE) {
audio_st = add_stream(oc, &audio_codec, fmt->audio_codec);
}
/* Now that all the parameters are set, we can open the audio and
* video codecs and allocate the necessary encode buffers. */
if (video_st)
open_video(oc, video_st);
open_video(oc, video_codec, video_st);
if (audio_st)
open_audio(oc, audio_st);
open_audio(oc, audio_codec, audio_st);
av_dump_format(oc, 0, filename, 1);
/* open the output file, if needed */
if (!(fmt->flags & AVFMT_NOFILE)) {
if (avio_open(&oc->pb, filename, AVIO_FLAG_WRITE) < 0) {
fprintf(stderr, "Could not open '%s'\n", filename);
ret = avio_open(&oc->pb, filename, AVIO_FLAG_WRITE);
if (ret < 0) {
fprintf(stderr, "Could not open '%s': %s\n", filename,
av_err2str(ret));
return 1;
}
}
/* Write the stream header, if any. */
avformat_write_header(oc, NULL);
ret = avformat_write_header(oc, NULL);
if (ret < 0) {
fprintf(stderr, "Error occurred when opening output file: %s\n",
av_err2str(ret));
return 1;
}
picture->pts = 0;
if (frame)
frame->pts = 0;
for (;;) {
/* Compute current audio and video time. */
if (audio_st)
@@ -512,7 +488,7 @@ int main(int argc, char **argv)
write_audio_frame(oc, audio_st);
} else {
write_video_frame(oc, video_st);
picture->pts++;
frame->pts += av_rescale_q(1, video_st->codec->time_base, video_st->time_base);
}
}

View File

@@ -0,0 +1,223 @@
/*
* Copyright (c) 2012 Stefano Sabatini
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @example doc/examples/resampling_audio.c
* libswresample API use example.
*/
#include <libavutil/opt.h>
#include <libavutil/channel_layout.h>
#include <libavutil/samplefmt.h>
#include <libswresample/swresample.h>
static int get_format_from_sample_fmt(const char **fmt,
enum AVSampleFormat sample_fmt)
{
int i;
struct sample_fmt_entry {
enum AVSampleFormat sample_fmt; const char *fmt_be, *fmt_le;
} sample_fmt_entries[] = {
{ AV_SAMPLE_FMT_U8, "u8", "u8" },
{ AV_SAMPLE_FMT_S16, "s16be", "s16le" },
{ AV_SAMPLE_FMT_S32, "s32be", "s32le" },
{ AV_SAMPLE_FMT_FLT, "f32be", "f32le" },
{ AV_SAMPLE_FMT_DBL, "f64be", "f64le" },
};
*fmt = NULL;
for (i = 0; i < FF_ARRAY_ELEMS(sample_fmt_entries); i++) {
struct sample_fmt_entry *entry = &sample_fmt_entries[i];
if (sample_fmt == entry->sample_fmt) {
*fmt = AV_NE(entry->fmt_be, entry->fmt_le);
return 0;
}
}
fprintf(stderr,
"Sample format %s not supported as output format\n",
av_get_sample_fmt_name(sample_fmt));
return AVERROR(EINVAL);
}
/**
* Fill dst buffer with nb_samples, generated starting from t.
*/
void fill_samples(double *dst, int nb_samples, int nb_channels, int sample_rate, double *t)
{
int i, j;
double tincr = 1.0 / sample_rate, *dstp = dst;
const double c = 2 * M_PI * 440.0;
/* generate sin tone with 440Hz frequency and duplicated channels */
for (i = 0; i < nb_samples; i++) {
*dstp = sin(c * *t);
for (j = 1; j < nb_channels; j++)
dstp[j] = dstp[0];
dstp += nb_channels;
*t += tincr;
}
}
int alloc_samples_array_and_data(uint8_t ***data, int *linesize, int nb_channels,
int nb_samples, enum AVSampleFormat sample_fmt, int align)
{
int nb_planes = av_sample_fmt_is_planar(sample_fmt) ? nb_channels : 1;
*data = av_malloc(sizeof(*data) * nb_planes);
if (!*data)
return AVERROR(ENOMEM);
return av_samples_alloc(*data, linesize, nb_channels,
nb_samples, sample_fmt, align);
}
int main(int argc, char **argv)
{
int64_t src_ch_layout = AV_CH_LAYOUT_STEREO, dst_ch_layout = AV_CH_LAYOUT_SURROUND;
int src_rate = 48000, dst_rate = 44100;
uint8_t **src_data = NULL, **dst_data = NULL;
int src_nb_channels = 0, dst_nb_channels = 0;
int src_linesize, dst_linesize;
int src_nb_samples = 1024, dst_nb_samples, max_dst_nb_samples;
enum AVSampleFormat src_sample_fmt = AV_SAMPLE_FMT_DBL, dst_sample_fmt = AV_SAMPLE_FMT_S16;
const char *dst_filename = NULL;
FILE *dst_file;
int dst_bufsize;
const char *fmt;
struct SwrContext *swr_ctx;
double t;
int ret;
if (argc != 2) {
fprintf(stderr, "Usage: %s output_file\n"
"API example program to show how to resample an audio stream with libswresample.\n"
"This program generates a series of audio frames, resamples them to a specified "
"output format and rate and saves them to an output file named output_file.\n",
argv[0]);
exit(1);
}
dst_filename = argv[1];
dst_file = fopen(dst_filename, "wb");
if (!dst_file) {
fprintf(stderr, "Could not open destination file %s\n", dst_filename);
exit(1);
}
/* create resampler context */
swr_ctx = swr_alloc();
if (!swr_ctx) {
fprintf(stderr, "Could not allocate resampler context\n");
ret = AVERROR(ENOMEM);
goto end;
}
/* set options */
av_opt_set_int(swr_ctx, "in_channel_layout", src_ch_layout, 0);
av_opt_set_int(swr_ctx, "in_sample_rate", src_rate, 0);
av_opt_set_sample_fmt(swr_ctx, "in_sample_fmt", src_sample_fmt, 0);
av_opt_set_int(swr_ctx, "out_channel_layout", dst_ch_layout, 0);
av_opt_set_int(swr_ctx, "out_sample_rate", dst_rate, 0);
av_opt_set_sample_fmt(swr_ctx, "out_sample_fmt", dst_sample_fmt, 0);
/* initialize the resampling context */
if ((ret = swr_init(swr_ctx)) < 0) {
fprintf(stderr, "Failed to initialize the resampling context\n");
goto end;
}
/* allocate source and destination samples buffers */
src_nb_channels = av_get_channel_layout_nb_channels(src_ch_layout);
ret = alloc_samples_array_and_data(&src_data, &src_linesize, src_nb_channels,
src_nb_samples, src_sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate source samples\n");
goto end;
}
/* compute the number of converted samples: buffering is avoided
* ensuring that the output buffer will contain at least all the
* converted input samples */
max_dst_nb_samples = dst_nb_samples =
av_rescale_rnd(src_nb_samples, dst_rate, src_rate, AV_ROUND_UP);
/* buffer is going to be directly written to a rawaudio file, no alignment */
dst_nb_channels = av_get_channel_layout_nb_channels(dst_ch_layout);
ret = alloc_samples_array_and_data(&dst_data, &dst_linesize, dst_nb_channels,
dst_nb_samples, dst_sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate destination samples\n");
goto end;
}
t = 0;
do {
/* generate synthetic audio */
fill_samples((double *)src_data[0], src_nb_samples, src_nb_channels, src_rate, &t);
/* compute destination number of samples */
dst_nb_samples = av_rescale_rnd(swr_get_delay(swr_ctx, src_rate) +
src_nb_samples, dst_rate, src_rate, AV_ROUND_UP);
if (dst_nb_samples > max_dst_nb_samples) {
av_free(dst_data[0]);
ret = av_samples_alloc(dst_data, &dst_linesize, dst_nb_channels,
dst_nb_samples, dst_sample_fmt, 1);
if (ret < 0)
break;
max_dst_nb_samples = dst_nb_samples;
}
/* convert to destination format */
ret = swr_convert(swr_ctx, dst_data, dst_nb_samples, (const uint8_t **)src_data, src_nb_samples);
if (ret < 0) {
fprintf(stderr, "Error while converting\n");
goto end;
}
dst_bufsize = av_samples_get_buffer_size(&dst_linesize, dst_nb_channels,
ret, dst_sample_fmt, 1);
printf("t:%f in:%d out:%d\n", t, src_nb_samples, ret);
fwrite(dst_data[0], 1, dst_bufsize, dst_file);
} while (t < 10);
if ((ret = get_format_from_sample_fmt(&fmt, dst_sample_fmt)) < 0)
goto end;
fprintf(stderr, "Resampling succeeded. Play the output file with the command:\n"
"ffplay -f %s -channel_layout %"PRId64" -channels %d -ar %d %s\n",
fmt, dst_ch_layout, dst_nb_channels, dst_rate, dst_filename);
end:
if (dst_file)
fclose(dst_file);
if (src_data)
av_freep(&src_data[0]);
av_freep(&src_data);
if (dst_data)
av_freep(&dst_data[0]);
av_freep(&dst_data);
swr_free(&swr_ctx);
return ret < 0;
}

View File

@@ -0,0 +1,141 @@
/*
* Copyright (c) 2012 Stefano Sabatini
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @file
* libswscale API use example.
* @example doc/examples/scaling_video.c
*/
#include <libavutil/imgutils.h>
#include <libavutil/parseutils.h>
#include <libswscale/swscale.h>
static void fill_yuv_image(uint8_t *data[4], int linesize[4],
int width, int height, int frame_index)
{
int x, y;
/* Y */
for (y = 0; y < height; y++)
for (x = 0; x < width; x++)
data[0][y * linesize[0] + x] = x + y + frame_index * 3;
/* Cb and Cr */
for (y = 0; y < height / 2; y++) {
for (x = 0; x < width / 2; x++) {
data[1][y * linesize[1] + x] = 128 + y + frame_index * 2;
data[2][y * linesize[2] + x] = 64 + x + frame_index * 5;
}
}
}
int main(int argc, char **argv)
{
uint8_t *src_data[4], *dst_data[4];
int src_linesize[4], dst_linesize[4];
int src_w = 320, src_h = 240, dst_w, dst_h;
enum AVPixelFormat src_pix_fmt = AV_PIX_FMT_YUV420P, dst_pix_fmt = AV_PIX_FMT_RGB24;
const char *dst_size = NULL;
const char *dst_filename = NULL;
FILE *dst_file;
int dst_bufsize;
struct SwsContext *sws_ctx;
int i, ret;
if (argc != 3) {
fprintf(stderr, "Usage: %s output_file output_size\n"
"API example program to show how to scale an image with libswscale.\n"
"This program generates a series of pictures, rescales them to the given "
"output_size and saves them to an output file named output_file\n."
"\n", argv[0]);
exit(1);
}
dst_filename = argv[1];
dst_size = argv[2];
if (av_parse_video_size(&dst_w, &dst_h, dst_size) < 0) {
fprintf(stderr,
"Invalid size '%s', must be in the form WxH or a valid size abbreviation\n",
dst_size);
exit(1);
}
dst_file = fopen(dst_filename, "wb");
if (!dst_file) {
fprintf(stderr, "Could not open destination file %s\n", dst_filename);
exit(1);
}
/* create scaling context */
sws_ctx = sws_getContext(src_w, src_h, src_pix_fmt,
dst_w, dst_h, dst_pix_fmt,
SWS_BILINEAR, NULL, NULL, NULL);
if (!sws_ctx) {
fprintf(stderr,
"Impossible to create scale context for the conversion "
"fmt:%s s:%dx%d -> fmt:%s s:%dx%d\n",
av_get_pix_fmt_name(src_pix_fmt), src_w, src_h,
av_get_pix_fmt_name(dst_pix_fmt), dst_w, dst_h);
ret = AVERROR(EINVAL);
goto end;
}
/* allocate source and destination image buffers */
if ((ret = av_image_alloc(src_data, src_linesize,
src_w, src_h, src_pix_fmt, 16)) < 0) {
fprintf(stderr, "Could not allocate source image\n");
goto end;
}
/* buffer is going to be written to rawvideo file, no alignmnet */
if ((ret = av_image_alloc(dst_data, dst_linesize,
dst_w, dst_h, dst_pix_fmt, 1)) < 0) {
fprintf(stderr, "Could not allocate destination image\n");
goto end;
}
dst_bufsize = ret;
for (i = 0; i < 100; i++) {
/* generate synthetic video */
fill_yuv_image(src_data, src_linesize, src_w, src_h, i);
/* convert to destination format */
sws_scale(sws_ctx, (const uint8_t * const*)src_data,
src_linesize, 0, src_h, dst_data, dst_linesize);
/* write scaled image to file */
fwrite(dst_data[0], 1, dst_bufsize, dst_file);
}
fprintf(stderr, "Scaling succeeded. Play the output file with the command:\n"
"ffplay -f rawvideo -pix_fmt %s -video_size %dx%d %s\n",
av_get_pix_fmt_name(dst_pix_fmt), dst_w, dst_h, dst_filename);
end:
if (dst_file)
fclose(dst_file);
av_freep(&src_data[0]);
av_freep(&dst_data[0]);
sws_freeContext(sws_ctx);
return ret < 0;
}

View File

@@ -79,6 +79,17 @@ not a bug they should fix:
Then again, some of them do not know the difference between an undecidable
problem and an NP-hard problem...
@section I have installed this library with my distro's package manager. Why does @command{configure} not see it?
Distributions usually split libraries in several packages. The main package
contains the files necessary to run programs using the library. The
development package contains the files necessary to build programs using the
library. Sometimes, docs and/or data are in a separate package too.
To build FFmpeg, you need to install the development package. It is usually
called @file{libfoo-dev} or @file{libfoo-devel}. You can remove it after the
build is finished, but be sure to keep the main package.
@chapter Usage
@section ffmpeg does not work; what is wrong?
@@ -99,7 +110,16 @@ Then you may run:
Notice that @samp{%d} is replaced by the image number.
@file{img%03d.jpg} means the sequence @file{img001.jpg}, @file{img002.jpg}, etc...
@file{img%03d.jpg} means the sequence @file{img001.jpg}, @file{img002.jpg}, etc.
Use the @option{-start_number} option to declare a starting number for
the sequence. This is useful if your sequence does not start with
@file{img001.jpg} but is still in a numerical order. The following
example will start with @file{img100.jpg}:
@example
ffmpeg -f image2 -start_number 100 -i img%d.jpg /tmp/a.mpg
@end example
If you have large number of pictures to rename, you can use the
following command to ease the burden. The command, using the bourne
@@ -122,6 +142,12 @@ Then run:
The same logic is used for any image format that ffmpeg reads.
You can also use @command{cat} to pipe images to ffmpeg:
@example
cat *.jpg | ffmpeg -f image2pipe -c:v mjpeg -i - output.mpg
@end example
@section How do I encode movie to single pictures?
Use:
@@ -213,8 +239,63 @@ For ANY other help on Avisynth, please visit the
@section How can I join video files?
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow to join video files by
merely concatenating them.
To "join" video files is quite ambiguous. The following list explains the
different kinds of "joining" and points out how those are addressed in
FFmpeg. To join video files may mean:
@itemize
@item
To put them one after the other: this is called to @emph{concatenate} them
(in short: concat) and is addressed
@ref{How can I concatenate video files, in this very faq}.
@item
To put them together in the same file, to let the user choose between the
different versions (example: different audio languages): this is called to
@emph{multiplex} them together (in short: mux), and is done by simply
invoking ffmpeg with several @option{-i} options.
@item
For audio, to put all channels together in a single stream (example: two
mono streams into one stereo stream): this is sometimes called to
@emph{merge} them, and can be done using the
@url{http://ffmpeg.org/ffmpeg-filters.html#amerge, @code{amerge}} filter.
@item
For audio, to play one on top of the other: this is called to @emph{mix}
them, and can be done by first merging them into a single stream and then
using the @url{http://ffmpeg.org/ffmpeg-filters.html#pan, @code{pan}} filter to mix
the channels at will.
@item
For video, to display both together, side by side or one on top of a part of
the other; it can be done using the
@url{http://ffmpeg.org/ffmpeg-filters.html#overlay, @code{overlay}} video filter.
@end itemize
@anchor{How can I concatenate video files}
@section How can I concatenate video files?
There are several solutions, depending on the exact circumstances.
@subsection Concatenating using the concat @emph{filter}
FFmpeg has a @url{http://ffmpeg.org/ffmpeg-filters.html#concat,
@code{concat}} filter designed specifically for that, with examples in the
documentation. This operation is recommended if you need to re-encode.
@subsection Concatenating using the concat @emph{demuxer}
FFmpeg has a @url{http://www.ffmpeg.org/ffmpeg-formats.html#concat,
@code{concat}} demuxer which you can use when you want to avoid a re-encode and
your format doesn't support file level concatenation.
@subsection Concatenating using the concat @emph{protocol} (file level)
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow to concatenate
video by merely concatenating the files them.
Hence you may concatenate your multimedia files by first transcoding them to
these privileged formats, then using the humble @code{cat} command (or the
@@ -222,28 +303,38 @@ equally humble @code{copy} under Windows), and finally transcoding back to your
format of choice.
@example
ffmpeg -i input1.avi -same_quant intermediate1.mpg
ffmpeg -i input2.avi -same_quant intermediate2.mpg
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -same_quant output.avi
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
@end example
Notice that you should either use @code{-same_quant} or set a reasonably high
bitrate for your intermediate and output files, if you want to preserve
video quality.
Additionally, you can use the @code{concat} protocol instead of @code{cat} or
@code{copy} which will avoid creation of a potentially huge intermediate file.
Also notice that you may avoid the huge intermediate files by taking advantage
of named pipes, should your platform support it:
@example
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
@end example
Note that you may need to escape the character "|" which is special for many
shells.
Another option is usage of named pipes, should your platform support it:
@example
mkfifo intermediate1.mpg
mkfifo intermediate2.mpg
ffmpeg -i input1.avi -same_quant -y intermediate1.mpg < /dev/null &
ffmpeg -i input2.avi -same_quant -y intermediate2.mpg < /dev/null &
ffmpeg -i input1.avi -qscale:v 1 -y intermediate1.mpg < /dev/null &
ffmpeg -i input2.avi -qscale:v 1 -y intermediate2.mpg < /dev/null &
cat intermediate1.mpg intermediate2.mpg |\
ffmpeg -f mpeg -i - -same_quant -c:v mpeg4 -acodec libmp3lame output.avi
ffmpeg -f mpeg -i - -c:v mpeg4 -acodec libmp3lame output.avi
@end example
@subsection Concatenating using raw audio and video
Similarly, the yuv4mpegpipe format, and the raw video, raw audio codecs also
allow concatenation, and the transcoding step is almost lossless.
When using multiple yuv4mpegpipe(s), the first line needs to be discarded
@@ -251,7 +342,8 @@ from all but the first stream. This can be accomplished by piping through
@code{tail} as seen below. Note that when piping through @code{tail} you
must use command grouping, @code{@{ ;@}}, to background properly.
For example, let's say we want to join two FLV files into an output.flv file:
For example, let's say we want to concatenate two FLV files into an
output.flv file:
@example
mkfifo temp1.a
@@ -268,7 +360,7 @@ cat temp1.a temp2.a > all.a &
cat temp1.v temp2.v > all.v &
ffmpeg -f u16le -acodec pcm_s16le -ac 2 -ar 44100 -i all.a \
-f yuv4mpegpipe -i all.v \
-same_quant -y output.flv
-y output.flv
rm temp[12].[av] all.[av]
@end example
@@ -310,11 +402,48 @@ specifying the exact format.
aconvert=s16:stereo:packed
@end example
@section Why does FFmpeg not see the subtitles in my VOB file?
VOB and a few other formats do not have a global header that describes
everything present in the file. Instead, applications are supposed to scan
the file to see what it contains. Since VOB files are frequently large, only
the beginning is scanned. If the subtitles happen only later in the file,
they will not be initally detected.
Some applications, including the @code{ffmpeg} command-line tool, can only
work with streams that were detected during the initial scan; streams that
are detected later are ignored.
The size of the initial scan is controlled by two options: @code{probesize}
(default ~5 Mo) and @code{analyzeduration} (default 5,000,000 µs = 5 s). For
the subtitle stream to be detected, both values must be large enough.
@section Why was the @command{ffmpeg} @option{-sameq} option removed? What to use instead?
The @option{-sameq} option meant "same quantizer", and made sense only in a
very limited set of cases. Unfortunately, a lot of people mistook it for
"same quality" and used it in places where it did not make sense: it had
roughly the expected visible effect, but achieved it in a very inefficient
way.
Each encoder has its own set of options to set the quality-vs-size balance,
use the options for the encoder you are using to set the quality level to a
point acceptable for your tastes. The most common options to do that are
@option{-qscale} and @option{-qmax}, but you should peruse the documentation
of the encoder you chose.
@chapter Development
@section Are there examples illustrating how to use the FFmpeg libraries, particularly libavcodec and libavformat?
Yes. Read the Developers Guide of the FFmpeg documentation. Alternatively,
Yes. Check the @file{doc/examples} directory in the source
repository, also available online at:
@url{https://github.com/FFmpeg/FFmpeg/tree/master/doc/examples}.
Examples are also installed by default, usually in
@code{$PREFIX/share/ffmpeg/examples}.
Also you may read the Developers Guide of the FFmpeg documentation. Alternatively,
examine the source code for one of the many open source projects that
already incorporate FFmpeg at (@url{projects.html}).
@@ -326,31 +455,8 @@ with @code{#ifdef}s related to the compiler.
@section Is Microsoft Visual C++ supported?
No. Microsoft Visual C++ is not compliant to the C99 standard and does
not - among other things - support the inline assembly used in FFmpeg.
If you wish to use MSVC++ for your
project then you can link the MSVC++ code with libav* as long as
you compile the latter with a working C compiler. For more information, see
the @emph{Microsoft Visual C++ compatibility} section in the FFmpeg
documentation.
There have been efforts to make FFmpeg compatible with MSVC++ in the
past. However, they have all been rejected as too intrusive, especially
since MinGW does the job adequately. None of the core developers
work with MSVC++ and thus this item is low priority. Should you find
the silver bullet that solves this problem, feel free to shoot it at us.
We strongly recommend you to move over from MSVC++ to MinGW tools.
@section Can I use FFmpeg or libavcodec under Windows?
Yes, but the Cygwin or MinGW tools @emph{must} be used to compile FFmpeg.
Read the @emph{Windows} section in the FFmpeg documentation to find more
information.
To get help and instructions for building FFmpeg under Windows, check out
the FFmpeg Windows Help Forum at
@url{http://ffmpeg.arrozcru.org/}.
Yes. Please see the @uref{platform.html, Microsoft Visual C++}
section in the FFmpeg documentation.
@section Can you add automake, libtool or autoconf support?
@@ -375,6 +481,24 @@ Yes, as long as the code is optional and can easily and cleanly be placed
under #if CONFIG_GPL without breaking anything. So, for example, a new codec
or filter would be OK under GPL while a bug fix to LGPL code would not.
@section I'm using FFmpeg from within my C application but the linker complains about missing symbols from the libraries themselves.
FFmpeg builds static libraries by default. In static libraries, dependencies
are not handled. That has two consequences. First, you must specify the
libraries in dependency order: @code{-lavdevice} must come before
@code{-lavformat}, @code{-lavutil} must come after everything else, etc.
Second, external libraries that are used in FFmpeg have to be specified too.
An easy way to get the full list of required libraries in dependency order
is to use @code{pkg-config}.
@example
c99 -o program program.c $(pkg-config --cflags --libs libavformat libavcodec)
@end example
See @file{doc/example/Makefile} and @file{doc/example/pc-uninstalled} for
more details.
@section I'm using FFmpeg from within my C++ application but the linker complains about missing symbols which seem to be available.
FFmpeg is a pure C project, so to use the libraries within your C++ application
@@ -390,8 +514,8 @@ to use them you have to append -D__STDC_CONSTANT_MACROS to your CXXFLAGS
@section I have a file in memory / a API different from *open/*read/ libc how do I use it with libavformat?
You have to implement a URLProtocol, see @file{libavformat/file.c} in
FFmpeg and @file{libmpdemux/demux_lavf.c} in MPlayer sources.
You have to create a custom AVIOContext using @code{avio_alloc_context},
see @file{libavformat/aviobuf.c} in FFmpeg and @file{libmpdemux/demux_lavf.c} in MPlayer or MPlayer2 sources.
@section Where can I find libav* headers for Pascal/Delphi?

View File

@@ -1,8 +1,8 @@
\input texinfo @c -*- texinfo -*-
@settitle FATE Automated Testing Environment
@settitle FFmpeg Automated Testing Environment
@titlepage
@center @titlefont{FATE Automated Testing Environment}
@center @titlefont{FFmpeg Automated Testing Environment}
@end titlepage
@node Top
@@ -78,11 +78,14 @@ Do not put a '~' character in the samples path to indicate a home
directory. Because of shell nuances, this will cause FATE to fail.
@end float
To use a custom wrapper to run the test, pass @option{--target-exec} to
@command{configure} or set the @var{TARGET_EXEC} Make variable.
@chapter Submitting the results to the FFmpeg result aggregation server
To submit your results to the server you should run fate through the
shell script tests/fate.sh from the FFmpeg sources. This script needs
shell script @file{tests/fate.sh} from the FFmpeg sources. This script needs
to be invoked with a configuration file as its first argument.
@example
@@ -90,11 +93,11 @@ tests/fate.sh /path/to/fate_config
@end example
A configuration file template with comments describing the individual
configuration variables can be found at @file{tests/fate_config.sh.template}.
configuration variables can be found at @file{doc/fate_config.sh.template}.
@ifhtml
The mentioned configuration template is also available here:
@verbatiminclude ../tests/fate_config.sh.template
@verbatiminclude fate_config.sh.template
@end ifhtml
Create a configuration that suits your needs, based on the configuration
@@ -118,8 +121,9 @@ present in $workdir as specified in the configuration file:
@item version
@end itemize
When you have everything working properly you can create an SSH key and
send its public part to the FATE server administrator.
When you have everything working properly you can create an SSH key pair
and send the public key to the FATE server administrator who can be contacted
at the email address @email{fate-admin@@ffmpeg.org}.
Configure your SSH client to use public key authentication with that key
when connecting to the FATE server. Also do not forget to check the identity
@@ -129,6 +133,11 @@ The FATE server's fingerprint is:
b1:31:c8:79:3f:04:1d:f8:f2:23:26:5a:fd:55:fa:92
If you have problems connecting to the FATE server, it may help to try out
the @command{ssh} command with one or more @option{-v} options. You should
get detailed output concerning your SSH configuration and the authentication
process.
The only thing left is to automate the execution of the fate.sh script and
the synchronisation of the samples directory.
@@ -166,11 +175,20 @@ the synchronisation of the samples directory.
@item THREADS
Specify how many threads to use while running regression tests, it is
quite useful to detect thread-related regressions.
@item THREAD_TYPE
Specify which threading strategy test, either @var{slice} or @var{frame},
by default @var{slice+frame}
@item CPUFLAGS
Specify CPU flags.
@item TARGET_EXEC
Specify or override the wrapper used to run the tests.
The @var{TARGET_EXEC} option provides a way to run FATE wrapped in
@command{valgrind}, @command{qemu-user} or @command{wine} or on remote targets
through @command{ssh}.
@end table
Example:
@section Examples
@example
make V=1 SAMPLES=/var/fate/samples THREADS=2 CPUFLAGS=mmx fate
@end example

View File

@@ -0,0 +1,45 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Bitstream Filters Documentation
@titlepage
@center @titlefont{FFmpeg Bitstream Filters Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
This document describes the bitstream filters provided by the
libavcodec library.
A bitstream filter operates on the encoded stream data, and performs
bitstream level modifications without performing decoding.
@c man end DESCRIPTION
@include bitstream_filters.texi
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libavcodec.html,libavcodec}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavcodec(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-bitstream-filters
@settitle FFmpeg bitstream filters
@end ignore
@bye

1128
doc/ffmpeg-codecs.texi Normal file

File diff suppressed because it is too large Load Diff

62
doc/ffmpeg-devices.texi Normal file
View File

@@ -0,0 +1,62 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Devices Documentation
@titlepage
@center @titlefont{FFmpeg Devices Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
This document describes the input and output devices provided by the
libavdevice library.
@c man end DESCRIPTION
@chapter Device Options
@c man begin DEVICE OPTIONS
The libavdevice library provides the same interface as
libavformat. Namely, an input device is considered like a demuxer, and
an output device like a muxer, and the interface and generic device
options are the same provided by libavformat (see the ffmpeg-formats
manual).
In addition each input or output device may support so-called private
options, which are specific for that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the device
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
@c man end DEVICE OPTIONS
@include indevs.texi
@include outdevs.texi
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libavdevice.html,libavdevice}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavdevice(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-devices
@settitle FFmpeg devices
@end ignore
@bye

42
doc/ffmpeg-filters.texi Normal file
View File

@@ -0,0 +1,42 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Filters Documentation
@titlepage
@center @titlefont{FFmpeg Filters Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
This document describes filters, sources, and sinks provided by the
libavfilter library.
@c man end DESCRIPTION
@include filters.texi
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libavfilter.html,libavfilter}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavfilter(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-filters
@settitle FFmpeg filters
@end ignore
@bye

171
doc/ffmpeg-formats.texi Normal file
View File

@@ -0,0 +1,171 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Formats Documentation
@titlepage
@center @titlefont{FFmpeg Formats Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
This document describes the supported formats (muxers and demuxers)
provided by the libavformat library.
@c man end DESCRIPTION
@chapter Format Options
@c man begin FORMAT OPTIONS
The libavformat library provides some generic global options, which
can be set on all the muxers and demuxers. In addition each muxer or
demuxer may support so-called private options, which are specific for
that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
The list of supported options follows:
@table @option
@item avioflags @var{flags} (@emph{input/output})
Possible values:
@table @samp
@item direct
Reduce buffering.
@end table
@item probesize @var{integer} (@emph{input})
Set probing size in bytes, i.e. the size of the data to analyze to get
stream information. A higher value will allow to detect more
information in case it is dispersed into the stream, but will increase
latency. Must be an integer not lesser than 32. It is 5000000 by default.
@item packetsize @var{integer} (@emph{output})
Set packet size.
@item fflags @var{flags} (@emph{input/output})
Set format flags.
Possible values:
@table @samp
@item ignidx
Ignore index.
@item genpts
Generate PTS.
@item nofillin
Do not fill in missing values that can be exactly calculated.
@item noparse
Disable AVParsers, this needs @code{+nofillin} too.
@item igndts
Ignore DTS.
@item discardcorrupt
Discard corrupted frames.
@item sortdts
Try to interleave output packets by DTS.
@item keepside
Do not merge side data.
@item latm
Enable RTP MP4A-LATM payload.
@item nobuffer
Reduce the latency introduced by optional buffering
@end table
@item analyzeduration @var{integer} (@emph{input})
Specify how many microseconds are analyzed to estimate duration.
@item cryptokey @var{hexadecimal string} (@emph{input})
Set decryption key.
@item indexmem @var{integer} (@emph{input})
Set max memory used for timestamp index (per stream).
@item rtbufsize @var{integer} (@emph{input})
Set max memory used for buffering real-time frames.
@item fdebug @var{flags} (@emph{input/output})
Print specific debug info.
Possible values:
@table @samp
@item ts
@end table
@item max_delay @var{integer} (@emph{input/output})
Set maximum muxing or demuxing delay in microseconds.
@item fpsprobesize @var{integer} (@emph{input})
Set number of frames used to probe fps.
@item audio_preload @var{integer} (@emph{output})
Set microseconds by which audio packets should be interleaved earlier.
@item chunk_duration @var{integer} (@emph{output})
Set microseconds for each chunk.
@item chunk_size @var{integer} (@emph{output})
Set size in bytes for each chunk.
@item err_detect, f_err_detect @var{flags} (@emph{input})
Set error detection flags. @code{f_err_detect} is deprecated and
should be used only via the @command{ffmpeg} tool.
Possible values:
@table @samp
@item crccheck
Verify embedded CRCs.
@item bitstream
Detect bitstream specification deviations.
@item buffer
Detect improper bitstream length.
@item explode
Abort decoding on minor error detection.
@item careful
Consider things that violate the spec and have not been seen in the
wild as errors.
@item compliant
Consider all spec non compliancies as errors.
@item aggressive
Consider things that a sane encoder should not do as an error.
@end table
@item use_wallclock_as_timestamps @var{integer} (@emph{input})
Use wallclock as timestamps.
@item avoid_negative_ts @var{integer} (@emph{output})
Shift timestamps to make them positive. 1 enables, 0 disables, default
of -1 enables when required by target format.
@end table
@c man end FORMAT OPTIONS
@include demuxers.texi
@include muxers.texi
@include metadata.texi
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libavformat.html,libavformat}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavformat(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-formats
@settitle FFmpeg formats
@end ignore
@bye

42
doc/ffmpeg-protocols.texi Normal file
View File

@@ -0,0 +1,42 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Protocols Documentation
@titlepage
@center @titlefont{FFmpeg Protocols Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
This document describes the input and output protocols provided by the
libavformat library.
@c man end DESCRIPTION
@include protocols.texi
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libavformat.html,libavformat}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavformat(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-protocols
@settitle FFmpeg protocols
@end ignore
@bye

238
doc/ffmpeg-resampler.texi Normal file
View File

@@ -0,0 +1,238 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Resampler Documentation
@titlepage
@center @titlefont{FFmpeg Resampler Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The FFmpeg resampler provides an high-level interface to the
libswresample library audio resampling utilities. In particular it
allows to perform audio resampling, audio channel layout rematrixing,
and convert audio format and packing layout.
@c man end DESCRIPTION
@chapter Resampler Options
@c man begin RESAMPLER OPTIONS
The audio resampler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, @var{option}=@var{value} for the aresample filter,
by setting the value explicitly in the
@code{SwrContext} options or using the @file{libavutil/opt.h} API for
programmatic use.
@table @option
@item ich, in_channel_count
Set the number of input channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{in_channel_layout} is set.
@item och, out_channel_count
Set the number of output channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{out_channel_layout} is set.
@item uch, used_channel_count
Set the number of used channels. Default value is 0. This option is
only used for special remapping.
@item isr, in_sample_rate
Set the input sample rate. Default value is 0.
@item osr, out_sample_rate
Set the output sample rate. Default value is 0.
@item isf, in_sample_fmt
Specify the input sample format. It is set by default to @code{none}.
@item osf, out_sample_fmt
Specify the output sample format. It is set by default to @code{none}.
@item tsf, internal_sample_fmt
Set the internal sample format. Default value is @code{none}.
@item icl, in_channel_layout
Set the input channel layout.
@item ocl, out_channel_layout
Set the output channel layout.
@item clev, center_mix_level
Set center mix level. It is a value expressed in deciBel, and must be
inclusively included between -32 and +32.
@item slev, surround_mix_level
Set surround mix level. It is a value expressed in deciBel, and must
be inclusively included between -32 and +32.
@item lfe_mix_evel
Set LFE mix level.
@item rmvol, rematrix_volume
Set rematrix volume. Default value is 1.0.
@item flags, swr_flags
Set flags used by the converter. Default value is 0.
It supports the following individual flags:
@table @option
@item res
force resampling
@end table
@item dither_scale
Set the dither scale. Default value is 1.
@item dither_method
Set dither method. Default value is 0.
Supported values:
@table @samp
@item rectangular
select rectangular dither
@item triangular
select triangular dither
@item triangular_hp
select triangular dither with high pass
@end table
@item resampler
Set resampling engine. Default value is swr.
Supported values:
@table @samp
@item swr
select the native SW Resampler; filter options precision and cheby are not
applicable in this case.
@item soxr
select the SoX Resampler (where available); compensation, and filter options
filter_size, phase_shift, filter_type & kaiser_beta, are not applicable in this
case.
@end table
@item filter_size
For swr only, set resampling filter size, default value is 32.
@item phase_shift
For swr only, set resampling phase shift, default value is 10, must be included
between 0 and 30.
@item linear_interp
Use Linear Interpolation if set to 1, default value is 0.
@item cutoff
Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float
value between 0 and 1. Default value is 0.97 with swr, and 0.91 with soxr
(which, with a sample-rate of 44100, preserves the entire audio band to 20kHz).
@item precision
For soxr only, the precision in bits to which the resampled signal will be
calculated. The default value of 20 (which, with suitable dithering, is
appropriate for a destination bit-depth of 16) gives SoX's 'High Quality'; a
value of 28 gives SoX's 'Very High Quality'.
@item cheby
For soxr only, selects passband rolloff none (Chebyshev) & higher-precision
approximation for 'irrational' ratios. Default value is 0.
@item async
For swr only, simple 1 parameter audio sync to timestamps using stretching,
squeezing, filling and trimming. Setting this to 1 will enable filling and
trimming, larger values represent the maximum amount in samples that the data
may be stretched or squeezed for each second.
Default value is 0, thus no compensation is applied to make the samples match
the audio timestamps.
@item min_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger stretching/squeezing/filling or trimming of the
data to make it match the timestamps. The default is that
stretching/squeezing/filling and trimming is disabled
(@option{min_comp} = @code{FLT_MAX}).
@item min_hard_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger adding/dropping samples to make it match the
timestamps. This option effectively is a threshold to select between
hard (trim/fill) and soft (squeeze/stretch) compensation. Note that
all compensation is by default disabled through @option{min_comp}.
The default is 0.1.
@item comp_duration
For swr only, set duration (in seconds) over which data is stretched/squeezed
to make it match the timestamps. Must be a non-negative double float value,
default value is 1.0.
@item max_soft_comp
For swr only, set maximum factor by which data is stretched/squeezed to make it
match the timestamps. Must be a non-negative double float value, default value
is 0.
@item matrix_encoding
Select matrixed stereo encoding.
It accepts the following values:
@table @samp
@item none
select none
@item dolby
select Dolby
@item dplii
select Dolby Pro Logic II
@end table
Default value is @code{none}.
@item filter_type
For swr only, select resampling filter type. This only affects resampling
operations.
It accepts the following values:
@table @samp
@item cubic
select cubic
@item blackman_nuttall
select Blackman Nuttall Windowed Sinc
@item kaiser
select Kaiser Windowed Sinc
@end table
@item kaiser_beta
For swr only, set Kaiser Window Beta value. Must be an integer included between
2 and 16, default value is 9.
@end table
@c man end RESAMPLER OPTIONS
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libswresample.html,libswresample}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libswresample(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-resampler
@settitle FFmpeg Resampler
@end ignore
@bye

141
doc/ffmpeg-scaler.texi Normal file
View File

@@ -0,0 +1,141 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Scaler Documentation
@titlepage
@center @titlefont{FFmpeg Scaler Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The FFmpeg rescaler provides an high-level interface to the libswscale
library image conversion utilities. In particular it allows to perform
image rescaling and pixel format conversion.
@c man end DESCRIPTION
@chapter Scaler Options
@c man begin SCALER OPTIONS
The video scaler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools. For programmatic use, they can be set explicitly in the
@code{SwsContext} options or through the @file{libavutil/opt.h} API.
@table @option
@item sws_flags
Set the scaler flags. This is also used to set the scaling
algorithm. Only a single algorithm should be selected.
It accepts the following values:
@table @samp
@item fast_bilinear
Select fast bilinear scaling algorithm.
@item bilinear
Select bilinear scaling algorithm.
@item bicubic
Select bicubic scaling algorithm.
@item experimental
Select experimental scaling algorithm.
@item neighbor
Select nearest neighbor rescaling algorithm.
@item area
Select averaging area rescaling algorithm.
@item bicubiclin
Select bicubic scaling algorithm for the luma component, bilinear for
chroma components.
@item gauss
Select Gaussian rescaling algorithm.
@item sinc
Select sinc rescaling algorithm.
@item lanczos
Select lanczos rescaling algorithm.
@item spline
Select natural bicubic spline rescaling algorithm.
@item print_info
Enable printing/debug logging.
@item accurate_rnd
Enable accurate rounding.
@item full_chroma_int
Enable full chroma interpolation.
@item full_chroma_inp
Select full chroma input.
@item bitexact
Enable bitexact output.
@end table
@item srcw
Set source width.
@item srch
Set source height.
@item dstw
Set destination width.
@item dsth
Set destination height.
@item src_format
Set source pixel format (must be expressed as an integer).
@item dst_format
Set destination pixel format (must be expressed as an integer).
@item src_range
Select source range.
@item dst_range
Select destination range.
@item param0, param1
Set scaling algorithm parameters. The specified values are specific of
some scaling algorithms and ignored by others. The specified values
are floating point number values.
@end table
@c man end SCALER OPTIONS
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libswscale.html,libswscale}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libswscale(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-scaler
@settitle FFmpeg video scaling and pixel format converter
@end ignore
@bye

43
doc/ffmpeg-utils.texi Normal file
View File

@@ -0,0 +1,43 @@
\input texinfo @c -*- texinfo -*-
@settitle FFmpeg Utilities Documentation
@titlepage
@center @titlefont{FFmpeg Utilities Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
This document describes some generic features and utilities provided
by the libavutil library.
@c man end DESCRIPTION
@include syntax.texi
@include eval.texi
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{libavutil.html,libavutil}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavutil(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg-utils
@settitle FFmpeg utilities
@end ignore
@bye

View File

@@ -11,13 +11,7 @@
@chapter Synopsis
The generic syntax is:
@example
@c man begin SYNOPSIS
ffmpeg [global options] [[infile options][@option{-i} @var{infile}]]... @{[outfile options] @var{outfile}@}...
@c man end
@end example
ffmpeg [@var{global_options}] @{[@var{input_file_options}] -i @file{input_file}@} ... @{[@var{output_file_options}] @file{output_file}@} ...
@chapter Description
@c man begin DESCRIPTION
@@ -58,7 +52,7 @@ options apply ONLY to the next input or output file and are reset between files.
@item
To set the video bitrate of the output file to 64kbit/s:
@example
ffmpeg -i input.avi -b:v 64k output.avi
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
@end example
@item
@@ -79,6 +73,126 @@ The format option may be needed for raw input files.
@c man end DESCRIPTION
@chapter Detailed description
@c man begin DETAILED DESCRIPTION
The transcoding process in @command{ffmpeg} for each output can be described by
the following diagram:
@example
_______ ______________ _________ ______________ ________
| | | | | | | | | |
| input | demuxer | encoded data | decoder | decoded | encoder | encoded data | muxer | output |
| file | ---------> | packets | ---------> | frames | ---------> | packets | -------> | file |
|_______| |______________| |_________| |______________| |________|
@end example
@command{ffmpeg} calls the libavformat library (containing demuxers) to read
input files and get packets containing encoded data from them. When there are
multiple input files, @command{ffmpeg} tries to keep them synchronized by
tracking lowest timestamp on any active input stream.
Encoded packets are then passed to the decoder (unless streamcopy is selected
for the stream, see further for a description). The decoder produces
uncompressed frames (raw video/PCM audio/...) which can be processed further by
filtering (see next section). After filtering the frames are passed to the
encoder, which encodes them and outputs encoded packets again. Finally those are
passed to the muxer, which writes the encoded packets to the output file.
@section Filtering
Before encoding, @command{ffmpeg} can process raw audio and video frames using
filters from the libavfilter library. Several chained filters form a filter
graph. @command{ffmpeg} distinguishes between two types of filtergraphs -
simple and complex.
@subsection Simple filtergraphs
Simple filtergraphs are those that have exactly one input and output, both of
the same type. In the above diagram they can be represented by simply inserting
an additional step between decoding and encoding:
@example
_________ __________ ______________
| | | | | |
| decoded | simple filtergraph | filtered | encoder | encoded data |
| frames | -------------------> | frames | ---------> | packets |
|_________| |__________| |______________|
@end example
Simple filtergraphs are configured with the per-stream @option{-filter} option
(with @option{-vf} and @option{-af} aliases for video and audio respectively).
A simple filtergraph for video can look for example like this:
@example
_______ _____________ _______ _____ ________
| | | | | | | | | |
| input | ---> | deinterlace | ---> | scale | ---> | fps | ---> | output |
|_______| |_____________| |_______| |_____| |________|
@end example
Note that some filters change frame properties but not frame contents. E.g. the
@code{fps} filter in the example above changes number of frames, but does not
touch the frame contents. Another example is the @code{setpts} filter, which
only sets timestamps and otherwise passes the frames unchanged.
@subsection Complex filtergraphs
Complex filtergraphs are those which cannot be described as simply a linear
processing chain applied to one stream. This is the case e.g. when the graph has
more than one input and/or output, or when output stream type is different from
input. They can be represented with the following diagram:
@example
_________
| |
| input 0 |\ __________
|_________| \ | |
\ _________ /| output 0 |
\ | | / |__________|
_________ \| complex | /
| | | |/
| input 1 |---->| filter |\
|_________| | | \ __________
/| graph | \ | |
/ | | \| output 1 |
_________ / |_________| |__________|
| | /
| input 2 |/
|_________|
@end example
Complex filtergraphs are configured with the @option{-filter_complex} option.
Note that this option is global, since a complex filtergraph by its nature
cannot be unambiguously associated with a single stream or file.
A trivial example of a complex filtergraph is the @code{overlay} filter, which
has two video inputs and one video output, containing one video overlaid on top
of the other. Its audio counterpart is the @code{amix} filter.
@section Stream copy
Stream copy is a mode selected by supplying the @code{copy} parameter to the
@option{-codec} option. It makes @command{ffmpeg} omit the decoding and encoding
step for the specified stream, so it does only demuxing and muxing. It is useful
for changing the container format or modifying container-level metadata. The
diagram above will in this case simplify to this:
@example
_______ ______________ ________
| | | | | |
| input | demuxer | encoded data | muxer | output |
| file | ---------> | packets | -------> | file |
|_______| |______________| |________|
@end example
Since there is no decoding or encoding, it is very fast and there is no quality
loss. However it might not work in some cases because of many factors. Applying
filters is obviously also impossible, since filters work on uncompressed data.
@c man end DETAILED DESCRIPTION
@chapter Stream selection
@c man begin STREAM SELECTION
@@ -233,6 +347,24 @@ Specify the preset for matching stream(s).
@item -stats (@emph{global})
Print encoding progress/statistics. On by default.
@item -progress @var{url} (@emph{global})
Send program-friendly progress information to @var{url}.
Progress information is written approximately every second and at the end of
the encoding process. It is made of "@var{key}=@var{value}" lines. @var{key}
consists of only alphanumeric characters. The last key of a sequence of
progress information is always "progress".
@item -stdin
Enable interaction on standard input. On by default unless standard input is
used as an input. To explicitly disable interaction you need to specify
@code{-nostdin}.
Disabling interaction on standard input is useful, for example, if
ffmpeg is in the background process group. Roughly the same result can
be achieved with @code{ffmpeg ... < /dev/null} but it requires a
shell.
@item -debug_ts (@emph{global})
Print timestamp information. It is off by default. This option is
mostly useful for testing and debugging purposes, and the output
@@ -282,10 +414,26 @@ attachments.
@item -vframes @var{number} (@emph{output})
Set the number of video frames to record. This is an alias for @code{-frames:v}.
@item -r[:@var{stream_specifier}] @var{fps} (@emph{input/output,per-stream})
Set frame rate (Hz value, fraction or abbreviation), (default = 25). For output
streams implies @code{-vsync cfr}.
Set frame rate (Hz value, fraction or abbreviation).
As an input option, ignore any timestamps stored in the file and instead
generate timestamps assuming constant frame rate @var{fps}.
As an output option, duplicate or drop input frames to achieve constant output
frame rate @var{fps}.
@item -s[:@var{stream_specifier}] @var{size} (@emph{input/output,per-stream})
Set frame size. The format is @samp{wxh} (default - same as source).
Set frame size.
As an input option, this is a shortcut for the @option{video_size} private
option, recognized by some demuxers for which the frame size is either not
stored in the file or is configurable -- e.g. raw video or video grabbers.
As an output option, this inserts the @code{scale} video filter to the
@emph{end} of the corresponding filtergraph. Please use the @code{scale} filter
directly to insert it at the beginning or some other place.
The format is @samp{wxh} (default - same as source).
@item -aspect[:@var{stream_specifier}] @var{aspect} (@emph{output,per-stream})
Set the video display aspect ratio specified by @var{aspect}.
@@ -315,13 +463,8 @@ Disable video recording.
@item -vcodec @var{codec} (@emph{output})
Set the video codec. This is an alias for @code{-codec:v}.
@item -same_quant
Use same quantizer as source (implies VBR).
Note that this is NOT SAME QUALITY. Do not use this option unless you know you
need it.
@item -pass @var{n}
@item -pass[:@var{stream_specifier}] @var{n} (@emph{output,per-stream})
Select the pass number (1 or 2). It is used to do two-pass
video encoding. The statistics of the video are recorded in the first
pass into a log file (see also the option -passlogfile),
@@ -334,7 +477,7 @@ ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL
ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y /dev/null
@end example
@item -passlogfile @var{prefix} (@emph{global})
@item -passlogfile[:@var{stream_specifier}] @var{prefix} (@emph{output,per-stream})
Set two-pass log file name prefix to @var{prefix}, the default file name
prefix is ``ffmpeg2pass''. The complete file name will be
@file{PREFIX-N.log}, where N is a number specific to the output
@@ -467,11 +610,23 @@ Disable subtitle recording.
Deprecated, see -bsf
@end table
@section Audio/Video grab options
@section Advanced Subtitle options:
@table @option
@item -isync (@emph{global})
Synchronize read on input.
@item -fix_sub_duration
Fix subtitles durations. For each subtitle, wait for the next packet in the
same stream and adjust the duration of the first to avoid overlap. This is
necessary with some subtitles codecs, especially DVB subtitles, because the
duration in the original packet is only a rough estimate and the end is
actually marked by an empty subtitle frame. Failing to use this option when
necessary can result in exaggerated durations or muxing failures due to
non-monotonic timestamps.
Note that this option will delay the output of all data until the next
subtitle packet is decoded: it may increase memory consumption and latency a
lot.
@end table
@section Advanced options
@@ -585,10 +740,7 @@ filter. For example, if you need to merge a media (here @file{input.mkv}) with 2
mono audio streams into one single stereo channel audio stream (and keep the
video stream), you can use the following command:
@example
ffmpeg -i input.mkv -f lavfi -i "
amovie=input.mkv:si=1 [a1];
amovie=input.mkv:si=2 [a2];
[a1][a2] amerge" -c:a pcm_s16le -c:v copy output.mkv
ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv
@end example
@item -map_metadata[:@var{metadata_spec_out}] @var{infile}[:@var{metadata_spec_in}] (@emph{output,per-metadata})
@@ -637,39 +789,7 @@ Copy chapters from input file with index @var{input_file_index} to the next
output file. If no chapter mapping is specified, then chapters are copied from
the first input file with at least one chapter. Use a negative file index to
disable any chapter copying.
@item -debug @var{category}
Print specific debug info.
@var{category} is a number or a string containing one of the following values:
@table @samp
@item bitstream
@item buffers
picture buffer allocations
@item bugs
@item dct_coeff
@item er
error recognition
@item mb_type
macroblock (MB) type
@item mmco
memory management control operations (H.264)
@item mv
motion vector
@item pict
picture info
@item pts
@item qp
per-block quantization parameter (QP)
@item rc
rate control
@item skip
@item startcode
@item thread_ops
threading operations
@item vis_mb_type
visualize block types
@item vis_qp
visualize quantization parameter (QP), lower QP are tinted greener
@end table
@item -benchmark (@emph{global})
Show benchmarking information at the end of an encode.
Shows CPU time used and maximum memory consumption.
@@ -686,6 +806,13 @@ Dump each input packet to stderr.
When dumping packets, also dump the payload.
@item -re (@emph{input})
Read input at native frame rate. Mainly used to simulate a grab device.
By default @command{ffmpeg} attempts to read the input(s) as fast as possible.
This option will slow down the reading of the input(s) to the native frame rate
of the input(s). It is useful for real-time output (e.g. live streaming). If
your input(s) is coming from some other live streaming source (through HTTP or
UDP for example) the server might already be in real-time, thus the option will
likely not be required. On the other hand, this is meaningful if your input(s)
is a file you are trying to push in real-time.
@item -loop_input
Loop over the input stream. Currently it works only for image
streams. This option is used for automatic FFserver testing.
@@ -725,9 +852,17 @@ Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps
the parameter is the maximum samples per second by which the audio is changed.
-async 1 is a special case where only the start of the audio stream is corrected
without any later correction.
This option has been deprecated. Use the @code{asyncts} audio filter instead.
This option has been deprecated. Use the @code{aresample} audio filter instead.
@item -copyts
Copy timestamps from input to output.
Do not process input timestamps, but keep their values without trying
to sanitize them. In particular, do not remove the initial start time
offset value.
Note that, depending on the @option{vsync} option or on specific muxer
processing, the output timestamps may mismatch with the input
timestamps even when this option is selected.
@item -copytb @var{mode}
Specify how to set the encoder timebase when stream copying. @var{mode} is an
integer numeric value, and can assume one of the following values:
@@ -752,7 +887,7 @@ Try to make the choice automatically, in order to generate a sane output.
Default value is -1.
@item -shortest
@item -shortest (@emph{output})
Finish encoding when the shortest input stream ends.
@item -dts_delta_threshold
Timestamp discontinuity delta threshold.
@@ -773,7 +908,7 @@ ffmpeg -i infile -streamid 0:33 -streamid 1:36 out.ts
@end example
@item -bsf[:@var{stream_specifier}] @var{bitstream_filters} (@emph{output,per-stream})
Set bitstream filters for matching streams. @var{bistream_filters} is
Set bitstream filters for matching streams. @var{bitstream_filters} is
a comma-separated list of bitstream filters. Use the @code{-bsfs} option
to get the list of bitstream filters.
@example
@@ -797,7 +932,8 @@ ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg
Define a complex filter graph, i.e. one with arbitrary number of inputs and/or
outputs. For simple graphs -- those with one input and one output of the same
type -- see the @option{-filter} options. @var{filtergraph} is a description of
the filter graph, as described in @ref{Filtergraph syntax}.
the filter graph, as described in the ``Filtergraph syntax'' section of the
ffmpeg-filters manual.
Input link labels must refer to input streams using the
@code{[file_index:stream_specifier]} syntax (i.e. the same as @option{-map}
@@ -808,6 +944,9 @@ the matching type.
Output link labels are referred to with @option{-map}. Unlabeled outputs are
added to the first output file.
Note that with this option it is possible to use only lavfi sources without
normal input files.
For example, to overlay an image over video
@example
ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map
@@ -830,8 +969,29 @@ graph will be added to the output file automatically, so we can simply write
@example
ffmpeg -i video.mkv -i image.png -filter_complex 'overlay' out.mkv
@end example
To generate 5 seconds of pure red video using lavfi @code{color} source:
@example
ffmpeg -filter_complex 'color=red' -t 5 out.mkv
@end example
@end table
As a special exception, you can use a bitmap subtitle stream as input: it
will be converted into a video with the same size as the largest video in
the file, or 720x576 if no video is present. Note that this is an
experimental and temporary solution. It will be removed once libavfilter has
proper support for subtitles.
For example, to hardcode subtitles on top of a DVB-T recording stored in
MPEG-TS format, delaying the subtitles by 1 second:
@example
ffmpeg -i input.ts -filter_complex \
'[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] overlay' \
-sn -map '#0x2dc' output.mkv
@end example
(0x2d0, 0x2dc and 0x2ef are the MPEG-TS PIDs of respectively the video,
audio and subtitles streams; 0:0, 0:3 and 0:7 would have worked too)
@section Preset files
A preset file contains a sequence of @var{option}=@var{value} pairs,
one for each line, specifying a sequence of options which would be
@@ -855,15 +1015,15 @@ First ffmpeg searches for a file named @var{arg}.ffpreset in the
directories @file{$FFMPEG_DATADIR} (if set), and @file{$HOME/.ffmpeg}, and in
the datadir defined at configuration time (usually @file{PREFIX/share/ffmpeg})
or in a @file{ffpresets} folder along the executable on win32,
in that order. For example, if the argument is @code{libx264-max}, it will
search for the file @file{libx264-max.ffpreset}.
in that order. For example, if the argument is @code{libvpx-1080p}, it will
search for the file @file{libvpx-1080p.ffpreset}.
If no such file is found, then ffmpeg will search for a file named
@var{codec_name}-@var{arg}.ffpreset in the above-mentioned
directories, where @var{codec_name} is the name of the codec to which
the preset file options will be applied. For example, if you select
the video codec with @code{-vcodec libx264} and use @code{-vpre max},
then it will search for the file @file{libx264-max.ffpreset}.
the video codec with @code{-vcodec libvpx} and use @code{-vpre 1080p},
then it will search for the file @file{libvpx-1080p.ffpreset}.
@c man end OPTIONS
@chapter Tips
@@ -1080,23 +1240,21 @@ composed of three digits padded with zeroes to express the sequence
number. It is the same syntax supported by the C printf function, but
only formats accepting a normal integer are suitable.
When importing an image sequence, -i also supports expanding shell-like
wildcard patterns (globbing) internally. To lower the chance of interfering
with your actual file names and the shell's glob expansion, you are required
to activate glob meta characters by prefixing them with a single @code{%}
character, like in @code{foo-%*.jpeg}, @code{foo-%?%?%?.jpeg} or
@code{foo-00%[234%]%*.jpeg}.
If your filename actually contains a character sequence of a @code{%} character
followed by a glob character, you must double the @code{%} character to escape
it. Imagine your files begin with @code{%?-foo-}, then you could use a glob
pattern like @code{%%?-foo-%*.jpeg}. For input patterns that could be both a
printf or a glob pattern, ffmpeg will assume it is a glob pattern.
When importing an image sequence, -i also supports expanding
shell-like wildcard patterns (globbing) internally, by selecting the
image2-specific @code{-pattern_type glob} option.
For example, for creating a video from filenames matching the glob pattern
@code{foo-*.jpeg}:
@example
ffmpeg -f image2 -pattern_type glob -i 'foo-*.jpeg' -r 12 -s WxH foo.avi
@end example
@item
You can put many streams of the same type in the output:
@example
ffmpeg -i test1.avi -i test2.avi -map 0.3 -map 0.2 -map 0.1 -map 0.0 -c copy test12.nut
ffmpeg -i test1.avi -i test2.avi -map 0:3 -map 0:2 -map 0:1 -map 0:0 -c copy test12.nut
@end example
The resulting output file @file{test12.avi} will contain first four streams from
@@ -1118,32 +1276,35 @@ ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
@end itemize
@c man end EXAMPLES
@include syntax.texi
@include eval.texi
@include decoders.texi
@include encoders.texi
@include demuxers.texi
@include muxers.texi
@include indevs.texi
@include outdevs.texi
@include protocols.texi
@include bitstream_filters.texi
@include filters.texi
@include metadata.texi
@chapter See Also
@ifhtml
@url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@url{ffmpeg-filters.html,ffmpeg-filters}
@end ifhtml
@ifnothtml
ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffmpeg
@settitle ffmpeg video converter
@c man begin SEEALSO
ffplay(1), ffprobe(1), ffserver(1) and the FFmpeg HTML documentation
@c man end
@c man begin AUTHORS
See git history
@c man end
@end ignore
@bye

View File

@@ -11,11 +11,7 @@
@chapter Synopsis
@example
@c man begin SYNOPSIS
ffplay [options] [@file{input_file}]
@c man end
@end example
ffplay [@var{options}] [@file{input_file}]
@chapter Description
@c man begin DESCRIPTION
@@ -134,8 +130,20 @@ Exit when video is done playing.
Exit if any key is pressed.
@item -exitonmousedown
Exit if any mouse button is pressed.
@item -codec:@var{stream_type}
Force a specific decoder implementation
@item -codec:@var{media_specifier} @var{codec_name}
Force a specific decoder implementation for the stream identified by
@var{media_specifier}, which can assume the values @code{a} (audio),
@code{v} (video), and @code{s} subtitle.
@item -acodec @var{codec_name}
Force a specific audio decoder.
@item -vcodec @var{codec_name}
Force a specific video decoder.
@item -scodec @var{codec_name}
Force a specific subtitle decoder.
@end table
@section While playing
@@ -178,29 +186,35 @@ Seek to percentage in file corresponding to fraction of width.
@c man end
@include syntax.texi
@include eval.texi
@include decoders.texi
@include demuxers.texi
@include muxers.texi
@include indevs.texi
@include outdevs.texi
@include protocols.texi
@include filters.texi
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@url{ffmpeg-filters.html,ffmpeg-filters}
@end ifhtml
@ifnothtml
ffmpeg(1), ffprobe(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffplay
@settitle FFplay media player
@c man begin SEEALSO
ffmpeg(1), ffprobe(1), ffserver(1) and the FFmpeg HTML documentation
@c man end
@c man begin AUTHORS
The FFmpeg developers
@c man end
@end ignore
@bye

View File

@@ -11,13 +11,7 @@
@chapter Synopsis
The generic syntax is:
@example
@c man begin SYNOPSIS
ffprobe [options] [@file{input_file}]
@c man end
@end example
ffprobe [@var{options}] [@file{input_file}]
@chapter Description
@c man begin DESCRIPTION
@@ -45,6 +39,10 @@ ffprobe output is designed to be easily parsable by a textual filter,
and consists of one or more sections of a form defined by the selected
writer, which is specified by the @option{print_format} option.
Sections may contain other nested sections, and are identified by a
name (which may be shared by other sections), and an unique
name. See the output of @option{sections}.
Metadata tags stored in the container or in the streams are recognized
and printed in the corresponding "FORMAT" or "STREAM" section.
@@ -80,7 +78,7 @@ Use sexagesimal format HH:MM:SS.MICROSECONDS for time values.
Prettify the format of the displayed values, it corresponds to the
options "-unit -prefix -byte_binary_prefix -sexagesimal".
@item -print_format @var{writer_name}[=@var{writer_options}]
@item -of, -print_format @var{writer_name}[=@var{writer_options}]
Set the output printing format.
@var{writer_name} specifies the name of the writer, and
@@ -94,6 +92,32 @@ For example for printing the output in JSON format, specify:
For more details on the available output printing formats, see the
Writers section below.
@item -sections
Print sections structure and section information, and exit. The output
is not meant to be parsed by a machine.
@item -select_streams @var{stream_specifier}
Select only the streams specified by @var{stream_specifier}. This
option affects only the options related to streams
(e.g. @code{show_streams}, @code{show_packets}, etc.).
For example to show only audio streams, you can use the command:
@example
ffprobe -show_streams -select_streams a INPUT
@end example
To show only video packets belonging to the video stream with index 1:
@example
ffprobe -show_packets -select_streams v:1 INPUT
@end example
@item -show_data
Show payload data, as an hexadecimal and ASCII dump. Coupled with
@option{-show_packets}, it will dump the packets' data. Coupled with
@option{-show_streams}, it will dump the codec extradata.
The dump is printed as the "data" field. It may contain newlines.
@item -show_error
Show information about the error found when trying to probe the input.
@@ -111,6 +135,59 @@ Like @option{-show_format}, but only prints the specified entry of the
container format information, rather than all. This option may be given more
than once, then all specified entries will be shown.
This option is deprecated, use @code{show_entries} instead.
@item -show_entries @var{section_entries}
Set list of entries to show.
Entries are specified according to the following
syntax. @var{section_entries} contains a list of section entries
separated by @code{:}. Each section entry is composed by a section
name (or unique name), optionally followed by a list of entries local
to that section, separated by @code{,}.
If section name is specified but is followed by no @code{=}, all
entries are printed to output, together with all the contained
sections. Otherwise only the entries specified in the local section
entries list are printed. In particular, if @code{=} is specified but
the list of local entries is empty, then no entries will be shown for
that section.
Note that the order of specification of the local section entries is
not honored in the output, and the usual display order will be
retained.
The formal syntax is given by:
@example
@var{LOCAL_SECTION_ENTRIES} ::= @var{SECTION_ENTRY_NAME}[,@var{LOCAL_SECTION_ENTRIES}]
@var{SECTION_ENTRY} ::= @var{SECTION_NAME}[=[@var{LOCAL_SECTION_ENTRIES}]]
@var{SECTION_ENTRIES} ::= @var{SECTION_ENTRY}[:@var{SECTION_ENTRIES}]
@end example
For example, to show only the index and type of each stream, and the PTS
time, duration time, and stream index of the packets, you can specify
the argument:
@example
packet=pts_time,duration_time,stream_index : stream=index,codec_type
@end example
To show all the entries in the section "format", but only the codec
type in the section "stream", specify the argument:
@example
format : stream=codec_type
@end example
To show all the tags in the stream and format sections:
@example
format_tags : format_tags
@end example
To show only the @code{title} tag (if available) in the stream
sections:
@example
stream_tags=title
@end example
@item -show_packets
Show information about each packet contained in the input multimedia
stream.
@@ -163,6 +240,10 @@ Show information related to program and library versions. This is the
equivalent of setting both @option{-show_program_version} and
@option{-show_library_versions} options.
@item -bitexact
Force bitexact output, useful to produce output which is not dependent
on the specific build.
@item -i @var{input_file}
Read @var{input_file}.
@@ -175,8 +256,9 @@ Read @var{input_file}.
A writer defines the output format adopted by @command{ffprobe}, and will be
used for printing all the parts of the output.
A writer may accept one or more arguments, which specify the options to
adopt.
A writer may accept one or more arguments, which specify the options
to adopt. The options are specified as a list of @var{key}=@var{value}
pairs, separated by ":".
A description of the currently available writers follows.
@@ -195,9 +277,6 @@ keyN=valN
Metadata tags are printed as a line in the corresponding FORMAT or
STREAM section, and are prefixed by the string "TAG:".
This writer accepts options as a list of @var{key}=@var{value} pairs,
separated by ":".
A description of the accepted options follows.
@table @option
@@ -211,8 +290,11 @@ If set to 1 specify not to print the section header and footer.
Default value is 0.
@end table
@section compact
Compact format.
@section compact, csv
Compact and CSV format.
The @code{csv} writer is equivalent to @code{compact}, but supports
different defaults.
Each section is printed on a single line.
If no option is specifid, the output has the form:
@@ -224,30 +306,29 @@ Metadata tags are printed in the corresponding "format" or "stream"
section. A metadata tag key, if printed, is prefixed by the string
"tag:".
This writer accepts options as a list of @var{key}=@var{value} pairs,
separated by ":".
The description of the accepted options follows.
@table @option
@item item_sep, s
Specify the character to use for separating fields in the output line.
It must be a single printable character, it is "|" by default.
It must be a single printable character, it is "|" by default ("," for
the @code{csv} writer).
@item nokey, nk
If set to 1 specify not to print the key of each field. Its default
value is 0.
value is 0 (1 for the @code{csv} writer).
@item escape, e
Set the escape mode to use, default to "c".
Set the escape mode to use, default to "c" ("csv" for the @code{csv}
writer).
It can assume one of the following values:
@table @option
@item c
Perform C-like escaping. Strings containing a newline ('\n') or
carriage return ('\r'), the escaping character ('\') or the item
separator character @var{SEP} are escaped using C-like fashioned
Perform C-like escaping. Strings containing a newline ('\n'), carriage
return ('\r'), a tab ('\t'), a form feed ('\f'), the escaping
character ('\') or the item separator character @var{SEP} are escaped using C-like fashioned
escaping, so that a newline is converted to the sequence "\n", a
carriage return to "\r", '\' to "\\" and the separator @var{SEP} is
converted to "\@var{SEP}".
@@ -261,22 +342,83 @@ containing a newline ('\n'), a carriage return ('\r'), a double quote
Perform no escaping.
@end table
@item print_section, p
Print the section name at the begin of each line if the value is
@code{1}, disable it with value set to @code{0}. Default value is
@code{1}.
@end table
@section csv
CSV format.
@section flat
Flat format.
This writer is equivalent to
@code{compact=item_sep=,:nokey=1:escape=csv}.
A free-form output where each line contains an explicit key=value, such as
"streams.stream.3.tags.foo=bar". The output is shell escaped, so it can be
directly embedded in sh scripts as long as the separator character is an
alphanumeric character or an underscore (see @var{sep_char} option).
The description of the accepted options follows.
@table @option
@item sep_char, s
Separator character used to separate the chapter, the section name, IDs and
potential tags in the printed field key.
Default value is '.'.
@item hierarchical, h
Specify if the section name specification should be hierarchical. If
set to 1, and if there is more than one section in the current
chapter, the section name will be prefixed by the name of the
chapter. A value of 0 will disable this behavior.
Default value is 1.
@end table
@section ini
INI format output.
Print output in an INI based format.
The following conventions are adopted:
@itemize
@item
all key and values are UTF-8
@item
'.' is the subgroup separator
@item
newline, '\t', '\f', '\b' and the following characters are escaped
@item
'\' is the escape character
@item
'#' is the comment indicator
@item
'=' is the key/value separator
@item
':' is not used but usually parsed as key/value separator
@end itemize
This writer accepts options as a list of @var{key}=@var{value} pairs,
separated by ":".
The description of the accepted options follows.
@table @option
@item hierarchical, h
Specify if the section name specification should be hierarchical. If
set to 1, and if there is more than one section in the current
chapter, the section name will be prefixed by the name of the
chapter. A value of 0 will disable this behavior.
Default value is 1.
@end table
@section json
JSON based format.
Each section is printed using JSON notation.
This writer accepts options as a list of @var{key}=@var{value} pairs,
separated by ":".
The description of the accepted options follows.
@table @option
@@ -303,9 +445,6 @@ Note that the output issued will be compliant to the
(@option{unit}, @option{prefix}, @option{byte_binary_prefix},
@option{sexagesimal} etc.) are specified.
This writer accepts options as a list of @var{key}=@var{value} pairs,
separated by ":".
The description of the accepted options follows.
@table @option
@@ -342,31 +481,41 @@ MOV timecode is extracted from tmcd track, so is available in the tmcd
stream metadata (@option{-show_streams}, see @var{TAG:timecode}).
@item
DV and GXF timecodes are available in format metadata
DV, GXF and AVI timecodes are available in format metadata
(@option{-show_format}, see @var{TAG:timecode}).
@end itemize
@c man end TIMECODE
@include syntax.texi
@include decoders.texi
@include demuxers.texi
@include protocols.texi
@include indevs.texi
@chapter See Also
@ifhtml
@url{ffplay.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@url{ffmpeg-filters.html,ffmpeg-filters}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffprobe
@settitle ffprobe media prober
@c man begin SEEALSO
ffmpeg(1), ffplay(1), ffserver(1) and the FFmpeg HTML documentation
@c man end
@c man begin AUTHORS
The FFmpeg developers
@c man end
@end ignore
@bye

View File

@@ -39,9 +39,12 @@
<xsd:attribute name="dts_time" type="xsd:float" />
<xsd:attribute name="duration" type="xsd:long" />
<xsd:attribute name="duration_time" type="xsd:float" />
<xsd:attribute name="convergence_duration" type="xsd:long" />
<xsd:attribute name="convergence_duration_time" type="xsd:float" />
<xsd:attribute name="size" type="xsd:long" use="required" />
<xsd:attribute name="pos" type="xsd:long" />
<xsd:attribute name="flags" type="xsd:string" use="required" />
<xsd:attribute name="data" type="xsd:string" />
</xsd:complexType>
<xsd:complexType name="frameType">
@@ -53,11 +56,16 @@
<xsd:attribute name="pkt_pts_time" type="xsd:float"/>
<xsd:attribute name="pkt_dts" type="xsd:long" />
<xsd:attribute name="pkt_dts_time" type="xsd:float"/>
<xsd:attribute name="pkt_duration" type="xsd:long" />
<xsd:attribute name="pkt_duration_time" type="xsd:float"/>
<xsd:attribute name="pkt_pos" type="xsd:long" />
<xsd:attribute name="pkt_size" type="xsd:int" />
<!-- audio attributes -->
<xsd:attribute name="sample_fmt" type="xsd:string"/>
<xsd:attribute name="nb_samples" type="xsd:long" />
<xsd:attribute name="channels" type="xsd:int" />
<xsd:attribute name="channel_layout" type="xsd:string"/>
<!-- video attributes -->
<xsd:attribute name="width" type="xsd:long" />
@@ -79,14 +87,35 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="streamDispositionType">
<xsd:attribute name="default" type="xsd:int" use="required" />
<xsd:attribute name="dub" type="xsd:int" use="required" />
<xsd:attribute name="original" type="xsd:int" use="required" />
<xsd:attribute name="comment" type="xsd:int" use="required" />
<xsd:attribute name="lyrics" type="xsd:int" use="required" />
<xsd:attribute name="karaoke" type="xsd:int" use="required" />
<xsd:attribute name="forced" type="xsd:int" use="required" />
<xsd:attribute name="hearing_impaired" type="xsd:int" use="required" />
<xsd:attribute name="visual_impaired" type="xsd:int" use="required" />
<xsd:attribute name="clean_effects" type="xsd:int" use="required" />
<xsd:attribute name="attached_pic" type="xsd:int" use="required" />
</xsd:complexType>
<xsd:complexType name="streamType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="disposition" type="ffprobe:streamDispositionType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="index" type="xsd:int" use="required"/>
<xsd:attribute name="codec_name" type="xsd:string" />
<xsd:attribute name="codec_long_name" type="xsd:string" />
<xsd:attribute name="profile" type="xsd:string" />
<xsd:attribute name="codec_type" type="xsd:string" />
<xsd:attribute name="codec_time_base" type="xsd:string" use="required"/>
<xsd:attribute name="codec_tag" type="xsd:string" use="required"/>
<xsd:attribute name="codec_tag_string" type="xsd:string" use="required"/>
<xsd:attribute name="extradata" type="xsd:string" />
<!-- video attributes -->
<xsd:attribute name="width" type="xsd:int"/>
@@ -108,7 +137,9 @@
<xsd:attribute name="r_frame_rate" type="xsd:string" use="required"/>
<xsd:attribute name="avg_frame_rate" type="xsd:string" use="required"/>
<xsd:attribute name="time_base" type="xsd:string" use="required"/>
<xsd:attribute name="start_pts" type="xsd:long"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="duration_ts" type="xsd:long"/>
<xsd:attribute name="duration" type="xsd:float"/>
<xsd:attribute name="bit_rate" type="xsd:int"/>
<xsd:attribute name="nb_frames" type="xsd:int"/>
@@ -124,7 +155,7 @@
<xsd:attribute name="filename" type="xsd:string" use="required"/>
<xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
<xsd:attribute name="format_name" type="xsd:string" use="required"/>
<xsd:attribute name="format_long_name" type="xsd:string" use="required"/>
<xsd:attribute name="format_long_name" type="xsd:string"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="duration" type="xsd:float"/>
<xsd:attribute name="size" type="xsd:long"/>
@@ -157,6 +188,7 @@
<xsd:attribute name="minor" type="xsd:int" use="required"/>
<xsd:attribute name="micro" type="xsd:int" use="required"/>
<xsd:attribute name="version" type="xsd:int" use="required"/>
<xsd:attribute name="ident" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="libraryVersionsType">

View File

@@ -25,10 +25,6 @@ MaxBandwidth 1000
# '-' is the standard output.
CustomLog -
# Suppress that if you want to launch ffserver as a daemon.
NoDaemon
##################################################################
# Definition of the live feeds. Each live feed contains one video
# and/or audio sequence coming from an ffmpeg encoder or another

View File

@@ -9,15 +9,9 @@
@contents
@chapter Synopsys
@chapter Synopsis
The generic syntax is:
@example
@c man begin SYNOPSIS
ffserver [options]
@c man end
@end example
ffserver [@var{options}]
@chapter Description
@c man begin DESCRIPTION
@@ -28,11 +22,6 @@ several live feeds, streaming from files and time shifting on live feeds
(you can seek to positions in the past on each live feed, provided you
specify a big enough feed storage in ffserver.conf).
ffserver runs in daemon mode by default; that is, it puts itself in
the background and detaches from its TTY, unless it is launched in
debug mode or a NoDaemon option is specified in the configuration
file.
This documentation covers only the streaming aspects of ffserver /
ffmpeg. All questions about parameters for ffmpeg, codec questions,
etc. are not covered here. Read @file{ffmpeg.html} for more
@@ -92,7 +81,7 @@ to make it work correctly.
@section What do I need?
I use Linux on a 900 MHz Duron with a cheapo Bt848 based TV capture card. I'm
I use Linux on a 900 MHz Duron with a cheap Bt848 based TV capture card. I'm
using stock Linux 2.4.17 with the stock drivers. [Actually that isn't true,
I needed some special drivers for my motherboard-based sound card.]
@@ -238,6 +227,19 @@ You use this by adding the ?date= to the end of the URL for the stream.
For example: @samp{http://localhost:8080/test.asf?date=2002-07-26T23:05:00}.
@c man end
@section What is FFM, FFM2
FFM and FFM2 are formats used by ffserver. They allow storing a wide variety of
video and audio streams and encoding options, and can store a moving time segment
of an infinite movie or a whole movie.
FFM is version specific, and there is limited compatibility of FFM files
generated by one version of ffmpeg/ffserver and another version of
ffmpeg/ffserver. It may work but its not guaranteed to work.
FFM2 is extensible while maintaining compatibility and should work between
differing versions of tools. FFM2 is the default.
@chapter Options
@c man begin OPTIONS
@@ -254,26 +256,40 @@ within the various <Stream> sections. Since ffserver will not launch
any ffmpeg instances, you will have to launch them manually.
@item -d
Enable debug mode. This option increases log verbosity, directs log
messages to stdout and causes ffserver to run in the foreground
rather than as a daemon.
messages to stdout.
@end table
@c man end
@chapter See Also
@ifhtml
The @file{doc/ffserver.conf} example,
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
@url{ffmpeg-bitstream-filters,ffmpeg-bitstream-filters},
@url{ffmpeg-formats.html,ffmpeg-formats},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{ffmpeg-protocols.html,ffmpeg-protocols},
@url{ffmpeg-filters.html,ffmpeg-filters}
@end ifhtml
@ifnothtml
The @file{doc/ffserver.conf} example, ffmpeg(1), ffplay(1), ffprobe(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
@end ifnothtml
@include authors.texi
@ignore
@setfilename ffserver
@settitle ffserver video server
@c man begin SEEALSO
ffmpeg(1), ffplay(1), ffprobe(1), the @file{ffserver.conf}
example and the FFmpeg HTML documentation
@c man end
@c man begin AUTHORS
The FFmpeg developers
@c man end
@end ignore
@bye

View File

@@ -12,7 +12,7 @@ Format negotiation
==================
The query_formats method should set, for each input and each output links,
the list supported formats.
the list of supported formats.
For video links, that means pixel format. For audio links, that means
channel layout, and sample format (the sample packing is implied by the
@@ -26,14 +26,167 @@ Format negotiation
references to the list are updated.
That means that if a filter requires that its input and output have the
same format amongst a supported list, all it have to do is use a reference
same format amongst a supported list, all it has to do is use a reference
to the same list of formats.
Buffer references ownership and permissions
===========================================
TODO
Principle
---------
Audio and video data are voluminous; the buffer and buffer reference
mechanism is intended to avoid, as much as possible, expensive copies of
that data while still allowing the filters to produce correct results.
The data is stored in buffers represented by AVFilterBuffer structures.
They must not be accessed directly, but through references stored in
AVFilterBufferRef structures. Several references can point to the
same buffer; the buffer is automatically deallocated once all
corresponding references have been destroyed.
The characteristics of the data (resolution, sample rate, etc.) are
stored in the reference; different references for the same buffer can
show different characteristics. In particular, a video reference can
point to only a part of a video buffer.
A reference is usually obtained as input to the start_frame or
filter_frame method or requested using the ff_get_video_buffer or
ff_get_audio_buffer functions. A new reference on an existing buffer can
be created with the avfilter_ref_buffer. A reference is destroyed using
the avfilter_unref_bufferp function.
Reference ownership
-------------------
At any time, a reference “belongs” to a particular piece of code,
usually a filter. With a few caveats that will be explained below, only
that piece of code is allowed to access it. It is also responsible for
destroying it, although this is sometimes done automatically (see the
section on link reference fields).
Here are the (fairly obvious) rules for reference ownership:
* A reference received by the start_frame or filter_frame method
belong to the corresponding filter.
Special exception: for video references: the reference may be used
internally for automatic copying and must not be destroyed before
end_frame; it can be given away to ff_start_frame.
* A reference passed to ff_start_frame or ff_filter_frame is given
away and must no longer be used.
* A reference created with avfilter_ref_buffer belongs to the code that
created it.
* A reference obtained with ff_get_video_buffer or ff_get_audio_buffer
belongs to the code that requested it.
* A reference given as return value by the get_video_buffer or
get_audio_buffer method is given away and must no longer be used.
Link reference fields
---------------------
The AVFilterLink structure has a few AVFilterBufferRef fields. Here are
the rules to handle them:
* cur_buf is set before the start_frame and filter_frame methods to
the same reference given as argument to the methods and belongs to the
destination filter of the link. If it has not been cleared after
end_frame or filter_frame, libavfilter will automatically destroy
the reference; therefore, any filter that needs to keep the reference
for longer must set cur_buf to NULL.
* out_buf belongs to the source filter of the link and can be used to
store a reference to the buffer that has been sent to the destination.
If it is not NULL after end_frame or filter_frame, libavfilter will
automatically destroy the reference.
If a video input pad does not have a start_frame method, the default
method will request a buffer on the first output of the filter, store
the reference in out_buf and push a second reference to the output.
* src_buf, cur_buf_copy and partial_buf are used by libavfilter
internally and must not be accessed by filters.
Reference permissions
---------------------
The AVFilterBufferRef structure has a perms field that describes what
the code that owns the reference is allowed to do to the buffer data.
Different references for the same buffer can have different permissions.
For video filters, the permissions only apply to the parts of the buffer
that have already been covered by the draw_slice method.
The value is a binary OR of the following constants:
* AV_PERM_READ: the owner can read the buffer data; this is essentially
always true and is there for self-documentation.
* AV_PERM_WRITE: the owner can modify the buffer data.
* AV_PERM_PRESERVE: the owner can rely on the fact that the buffer data
will not be modified by previous filters.
* AV_PERM_REUSE: the owner can output the buffer several times, without
modifying the data in between.
* AV_PERM_REUSE2: the owner can output the buffer several times and
modify the data in between (useless without the WRITE permissions).
* AV_PERM_ALIGN: the owner can access the data using fast operations
that require data alignment.
The READ, WRITE and PRESERVE permissions are about sharing the same
buffer between several filters to avoid expensive copies without them
doing conflicting changes on the data.
The REUSE and REUSE2 permissions are about special memory for direct
rendering. For example a buffer directly allocated in video memory must
not modified once it is displayed on screen, or it will cause tearing;
it will therefore not have the REUSE2 permission.
The ALIGN permission is about extracting part of the buffer, for
copy-less padding or cropping for example.
References received on input pads are guaranteed to have all the
permissions stated in the min_perms field and none of the permissions
stated in the rej_perms.
References obtained by ff_get_video_buffer and ff_get_audio_buffer are
guaranteed to have at least all the permissions requested as argument.
References created by avfilter_ref_buffer have the same permissions as
the original reference minus the ones explicitly masked; the mask is
usually ~0 to keep the same permissions.
Filters should remove permissions on reference they give to output
whenever necessary. It can be automatically done by setting the
rej_perms field on the output pad.
Here are a few guidelines corresponding to common situations:
* Filters that modify and forward their frame (like drawtext) need the
WRITE permission.
* Filters that read their input to produce a new frame on output (like
scale) need the READ permission on input and and must request a buffer
with the WRITE permission.
* Filters that intend to keep a reference after the filtering process
is finished (after end_frame or filter_frame returns) must have the
PRESERVE permission on it and remove the WRITE permission if they
create a new reference to give it away.
* Filters that intend to modify a reference they have kept after the end
of the filtering process need the REUSE2 permission and must remove
the PRESERVE permission if they create a new reference to give it
away.
Frame scheduling
@@ -45,7 +198,7 @@ Frame scheduling
Simple filters that output one frame for each input frame should not have
to worry about it.
start_frame / filter_samples
start_frame / filter_frame
----------------------------
These methods are called when a frame is pushed to the filter's input.
@@ -70,7 +223,7 @@ Frame scheduling
request_frame method or the application.
If a filter has several inputs, the filter must be ready for frames
arriving randomly on any input. Therefore, any filter with several input
arriving randomly on any input. Therefore, any filter with several inputs
will most likely require some kind of queuing mechanism. It is perfectly
acceptable to have a limited queue and to drop frames when the inputs
are too unbalanced.
@@ -80,12 +233,12 @@ Frame scheduling
This method is called when a frame is wanted on an output.
For an input, it should directly call start_frame or filter_samples on
For an input, it should directly call start_frame or filter_frame on
the corresponding output.
For a filter, if there are queued frames already ready, one of these
frames should be pushed. If not, the filter should request a frame on
one of its input, repeatedly until at least one frame has been pushed.
one of its inputs, repeatedly until at least one frame has been pushed.
Return values:
if request_frame could produce a frame, it should return 0;
@@ -113,4 +266,4 @@ Frame scheduling
Note that, except for filters that can have queued frames, request_frame
does not push frames: it requests them to its input, and as a reaction,
the start_frame / filter_samples method will be called and do the work.
the start_frame / filter_frame method will be called and do the work.

File diff suppressed because it is too large Load Diff

View File

@@ -26,8 +26,8 @@ instructions. To enable using OpenJPEG in FFmpeg, pass @code{--enable-libopenjp
@section OpenCORE and VisualOn libraries
Spun off Google Android sources, OpenCore and VisualOn libraries provide
encoders for a number of audio codecs.
Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
libraries provide encoders for a number of audio codecs.
@float NOTE
OpenCORE and VisualOn libraries are under the Apache License 2.0
@@ -63,6 +63,14 @@ Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
instructions for installing the library.
Then pass @code{--enable-libvo-amrwbenc} to configure to enable it.
@subsection Fraunhofer AAC library
FFmpeg can make use of the Fraunhofer AAC library for AAC encoding.
Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the
instructions for installing the library.
Then pass @code{--enable-libfdk-aac} to configure to enable it.
@section LAME
FFmpeg can make use of the LAME library for MP3 encoding.
@@ -71,6 +79,14 @@ Go to @url{http://lame.sourceforge.net/} and follow the
instructions for installing the library.
Then pass @code{--enable-libmp3lame} to configure to enable it.
@section TwoLAME
FFmpeg can make use of the TwoLAME library for MP2 encoding.
Go to @url{http://www.twolame.org/} and follow the
instructions for installing the library.
Then pass @code{--enable-libtwolame} to configure to enable it.
@section libvpx
FFmpeg can make use of the libvpx library for VP8 encoding.
@@ -93,6 +109,17 @@ x264 is under the GNU Public License Version 2 or later
details), you must upgrade FFmpeg's license to GPL in order to use it.
@end float
@section libilbc
iLBC is a narrowband speech codec that has been made freely available
by Google as part of the WebRTC project. libilbc is a packaging friendly
copy of the iLBC codec. FFmpeg can make use of the libilbc library for
iLBC encoding and decoding.
Go to @url{https://github.com/dekkers/libilbc} and follow the instructions for
installing the library. Then pass @code{--enable-libilbc} to configure to
enable it.
@chapter Supported File Formats, Codecs or Features
@@ -116,11 +143,19 @@ library:
@item American Laser Games MM @tab @tab X
@tab Multimedia format used in games like Mad Dog McCree.
@item 3GPP AMR @tab X @tab X
@item Amazing Studio Packed Animation File @tab @tab X
@tab Multimedia format used in game Heart Of Darkness.
@item Apple HTTP Live Streaming @tab @tab X
@item Artworx Data Format @tab @tab X
@item AFC @tab @tab X
@tab Audio format used on the Nintendo Gamecube.
@item ASF @tab X @tab X
@item AST @tab X @tab X
@tab Audio format used on the Nintendo Wii.
@item AVI @tab X @tab X
@item AVISynth @tab @tab X
@item AVR @tab @tab X
@tab Audio format used on Mac.
@item AVS @tab @tab X
@tab Multimedia format used by the Creature Shock game.
@item Beam Software SIFF @tab @tab X
@@ -134,6 +169,8 @@ library:
@tab Used in Z and Z95 games.
@item Brute Force & Ignorance @tab @tab X
@tab Used in the game Flash Traffic: City of Angels.
@item BRSTM @tab @tab X
@tab Audio format used on the Nintendo Wii.
@item BWF @tab X @tab X
@item CRI ADX @tab X @tab X
@tab Audio-only format used in console video games.
@@ -164,6 +201,7 @@ library:
@item Electronic Arts cdata @tab @tab X
@item Electronic Arts Multimedia @tab @tab X
@tab Used in various EA games; files have extensions like WVE and UV2.
@item Ensoniq Paris Audio File @tab @tab X
@item FFM (FFserver live feed) @tab X @tab X
@item Flash (SWF) @tab X @tab X
@item Flash 9 (AVM2) @tab X @tab X
@@ -178,12 +216,12 @@ library:
@item G.723.1 @tab X @tab X
@item G.729 BIT @tab X @tab X
@item G.729 raw @tab @tab X
@item GIF Animation @tab X @tab
@item GIF Animation @tab X @tab X
@item GXF @tab X @tab X
@tab General eXchange Format SMPTE 360M, used by Thomson Grass Valley
playout servers.
@item iCEDraw File @tab @tab X
@item ICO @tab @tab X
@item ICO @tab X @tab X
@tab Microsoft Windows ICO
@item id Quake II CIN video @tab @tab X
@item id RoQ @tab X @tab X
@@ -191,17 +229,20 @@ library:
@item IEC61937 encapsulation @tab X @tab X
@item IFF @tab @tab X
@tab Interchange File Format
@item iLBC @tab X @tab X
@item Interplay MVE @tab @tab X
@tab Format used in various Interplay computer games.
@item IV8 @tab @tab X
@tab A format generated by IndigoVision 8000 video server.
@item IVF (On2) @tab X @tab X
@tab A format used by libvpx
@item IRCAM @tab X @tab X
@item LATM @tab X @tab X
@item LMLM4 @tab @tab X
@tab Used by Linux Media Labs MPEG-4 PCI boards
@item LOAS @tab @tab X
@tab contains LATM multiplexed AAC audio
@item LVF @tab @tab X
@item LXF @tab @tab X
@tab VR native stream format, used by Leitch/Harris' video servers.
@item Matroska @tab X @tab X
@@ -212,6 +253,8 @@ library:
@tab Used in Sim City 3000; file extension .xa.
@item MD Studio @tab @tab X
@item Metal Gear Solid: The Twin Snakes @tab @tab X
@item Megalux Frame @tab @tab X
@tab Used by Megalux Ultimate Paint
@item Mobotix .mxg @tab @tab X
@item Monkey's Audio @tab @tab X
@item Motion Pixels MVI @tab @tab X
@@ -239,6 +282,7 @@ library:
@tab SMPTE 386M, D-10/IMX Mapping.
@item NC camera feed @tab @tab X
@tab NC (AVIP NC4600) camera streams
@item NIST SPeech HEader REsources @tab @tab X
@item NTT TwinVQ (VQF) @tab @tab X
@tab Nippon Telegraph and Telephone Corporation TwinVQ.
@item Nullsoft Streaming Video @tab @tab X
@@ -247,6 +291,7 @@ library:
@tab NUT Open Container Format
@item Ogg @tab X @tab X
@item Playstation Portable PMP @tab @tab X
@item Portable Voice Format @tab @tab X
@item TechnoTrend PVA @tab @tab X
@tab Used by TechnoTrend DVB PCI boards.
@item QCP @tab @tab X
@@ -257,6 +302,7 @@ library:
@item raw Dirac @tab X @tab X
@item raw DNxHD @tab X @tab X
@item raw DTS @tab X @tab X
@item raw DTS-HD @tab @tab X
@item raw E-AC-3 @tab X @tab X
@item raw FLAC @tab X @tab X
@item raw GSM @tab @tab X
@@ -274,6 +320,7 @@ library:
@item raw video @tab X @tab X
@item raw id RoQ @tab X @tab
@item raw Shorten @tab @tab X
@item raw TAK @tab @tab X
@item raw TrueHD @tab X @tab X
@item raw VC-1 @tab @tab X
@item raw PCM A-law @tab X @tab X
@@ -315,6 +362,7 @@ library:
@item SDP @tab @tab X
@item Sega FILM/CPK @tab @tab X
@tab Used in many Sega Saturn console games.
@item Silicon Graphics Movie @tab @tab X
@item Sierra SOL @tab @tab X
@tab .sol files used in Sierra Online games.
@item Sierra VMD @tab @tab X
@@ -323,10 +371,12 @@ library:
@tab Multimedia format used by many games.
@item SMJPEG @tab X @tab X
@tab Used in certain Loki game ports.
@item Smush @tab @tab X
@tab Multimedia format used in some LucasArts games.
@item Sony OpenMG (OMA) @tab X @tab X
@tab Audio format used in Sony Sonic Stage and Sony Vegas.
@item Sony PlayStation STR @tab @tab X
@item Sony Wave64 (W64) @tab @tab X
@item Sony Wave64 (W64) @tab X @tab X
@item SoX native format @tab X @tab X
@item SUN AU format @tab X @tab X
@item Text files @tab @tab X
@@ -336,8 +386,9 @@ library:
@tab Tiertex .seq files used in the DOS CD-ROM version of the game Flashback.
@item True Audio @tab @tab X
@item VC-1 test bitstream @tab X @tab X
@item Vivo @tab @tab X
@item WAV @tab X @tab X
@item WavPack @tab @tab X
@item WavPack @tab X @tab X
@item WebM @tab X @tab X
@item Windows Televison (WTV) @tab X @tab X
@item Wing Commander III movie @tab @tab X
@@ -353,7 +404,6 @@ library:
@item eXtended BINary text (XBIN) @tab @tab X
@item YUV4MPEG pipe @tab X @tab X
@item Psygnosis YOP @tab @tab X
@item ZeroCodec Lossless Video @tab @tab X
@end multitable
@code{X} means that encoding (resp. decoding) is supported.
@@ -371,6 +421,8 @@ following image formats are supported:
@tab Only uncompressed GIFs are generated.
@item BMP @tab X @tab X
@tab Microsoft BMP image
@item PIX @tab @tab X
@tab PIX is an image format used in the Argonaut BRender engine.
@item DPX @tab X @tab X
@tab Digital Picture Exchange
@item EXR @tab @tab X
@@ -408,6 +460,8 @@ following image formats are supported:
@tab Targa (.TGA) image format
@item XBM @tab X @tab X
@tab X BitMap image format
@item XFace @tab X @tab X
@tab X-Face image format
@item XWD @tab X @tab X
@tab X Window Dump image format
@end multitable
@@ -423,10 +477,9 @@ following image formats are supported:
@item 4X Movie @tab @tab X
@tab Used in certain computer games.
@item 8088flex TMV @tab @tab X
@item 8SVX exponential @tab @tab X
@item 8SVX fibonacci @tab @tab X
@item A64 multicolor @tab X @tab
@tab Creates video suitable to be played on a commodore 64 (multicolor mode).
@item Amazing Studio PAF Video @tab @tab X
@item American Laser Games MM @tab @tab X
@tab Used in games like Mad Dog McCree.
@item AMV Video @tab X @tab X
@@ -476,9 +529,11 @@ following image formats are supported:
@item Delphine Software International CIN video @tab @tab X
@tab Codec used in Delphine Software International games.
@item Discworld II BMV Video @tab @tab X
@item Canopus Lossless Codec @tab @tab X
@item Cinepak @tab @tab X
@item Cirrus Logic AccuPak @tab X @tab X
@tab fourcc: CLJR
@item CPiA Video Format @tab @tab X
@item Creative YUV (CYUV) @tab @tab X
@item DFA @tab @tab X
@tab Codec used in Chronomaster game.
@@ -548,8 +603,18 @@ following image formats are supported:
@item LCL (LossLess Codec Library) MSZH @tab @tab X
@item LCL (LossLess Codec Library) ZLIB @tab E @tab E
@item LOCO @tab @tab X
@item LucasArts Smush @tab @tab X
@tab Used in LucasArts games.
@item lossless MJPEG @tab X @tab X
@item Microsoft ATC Screen @tab @tab X
@tab Also known as Microsoft Screen 3.
@item Microsoft Expression Encoder Screen @tab @tab X
@tab Also known as Microsoft Titanium Screen 2.
@item Microsoft RLE @tab @tab X
@item Microsoft Screen 1 @tab @tab X
@tab Also known as Windows Media Video V7 Screen.
@item Microsoft Screen 2 @tab @tab X
@tab Also known as Windows Media Video V9 Screen.
@item Microsoft Video 1 @tab @tab X
@item Mimic @tab @tab X
@tab Used in MSN Messenger Webcam streams.
@@ -578,8 +643,8 @@ following image formats are supported:
@tab fourcc: VP60,VP61,VP62
@item VP8 @tab E @tab X
@tab fourcc: VP80, encoding supported through external library libvpx
@item planar RGB @tab @tab X
@tab fourcc: 8BPS
@item Pinnacle TARGA CineWave YUV16 @tab @tab X
@tab fourcc: Y216
@item Prores @tab @tab X
@tab fourcc: apch,apcn,apcs,apco
@item Q-team QPEG @tab @tab X
@@ -603,8 +668,11 @@ following image formats are supported:
@tab Texture dictionaries used by the Renderware Engine.
@item RL2 video @tab @tab X
@tab used in some games by Entertainment Software Partners
@item SGI RLE 8-bit @tab @tab X
@item Sierra VMD video @tab @tab X
@tab Used in Sierra VMD files.
@item Silicon Graphics Motion Video Compressor 1 (MVC1) @tab @tab X
@item Silicon Graphics Motion Video Compressor 2 (MVC2) @tab @tab X
@item Smacker video @tab @tab X
@tab Video encoding used in Smacker.
@item SMPTE VC-1 @tab @tab X
@@ -619,11 +687,13 @@ following image formats are supported:
@tab fourcc: SP5X
@item TechSmith Screen Capture Codec @tab @tab X
@tab fourcc: TSCC
@item TechSmith Screen Capture Codec 2 @tab @tab X
@tab fourcc: TSC2
@item Theora @tab E @tab X
@tab encoding supported through external library libtheora
@item Tiertex Limited SEQ video @tab @tab X
@tab Codec used in DOS CD-ROM FlashBack game.
@item Ut Video @tab @tab X
@item Ut Video @tab X @tab X
@item v210 QuickTime uncompressed 4:2:2 10-bit @tab X @tab X
@item v308 QuickTime uncompressed 4:4:4 @tab X @tab X
@item v408 QuickTime uncompressed 4:4:4:4 @tab X @tab X
@@ -647,6 +717,7 @@ following image formats are supported:
@item Psygnosis YOP Video @tab @tab X
@item yuv4 @tab X @tab X
@tab libquicktime uncompressed packed 4:2:0
@item ZeroCodec Lossless Video @tab @tab X
@item ZLIB @tab X @tab X
@tab part of LCL, encoder experimental
@item Zip Motion Blocks Video @tab X @tab X
@@ -661,7 +732,8 @@ following image formats are supported:
@multitable @columnfractions .4 .1 .1 .4
@item Name @tab Encoding @tab Decoding @tab Comments
@item 8SVX audio @tab @tab X
@item 8SVX exponential @tab @tab X
@item 8SVX fibonacci @tab @tab X
@item AAC+ @tab E @tab X
@tab encoding supported through external library libaacplus
@item AAC @tab E @tab X
@@ -692,19 +764,19 @@ following image formats are supported:
@item ADPCM IMA Westwood @tab @tab X
@item ADPCM ISS IMA @tab @tab X
@tab Used in FunCom games.
@item ADPCM IMA Dialogic @tab @tab X
@item ADPCM IMA Duck DK3 @tab @tab X
@tab Used in some Sega Saturn console games.
@item ADPCM IMA Duck DK4 @tab @tab X
@tab Used in some Sega Saturn console games.
@item ADPCM Microsoft @tab X @tab X
@item ADPCM MS IMA @tab X @tab X
@item ADPCM Nintendo Gamecube AFC @tab @tab X
@item ADPCM Nintendo Gamecube THP @tab @tab X
@item ADPCM QT IMA @tab X @tab X
@item ADPCM SEGA CRI ADX @tab X @tab X
@tab Used in Sega Dreamcast games.
@item ADPCM Shockwave Flash @tab X @tab X
@item ADPCM SMJPEG IMA @tab @tab X
@tab Used in certain Loki game ports.
@item ADPCM Sound Blaster Pro 2-bit @tab @tab X
@item ADPCM Sound Blaster Pro 2.6-bit @tab @tab X
@item ADPCM Sound Blaster Pro 4-bit @tab @tab X
@@ -715,6 +787,7 @@ following image formats are supported:
@tab encoding supported through external library libopencore-amrnb
@item AMR-WB @tab E @tab X
@tab encoding supported through external library libvo-amrwbenc
@item Amazing Studio PAF Audio @tab @tab X
@item Apple lossless audio @tab X @tab X
@tab QuickTime fourcc 'alac'
@item Atrac 1 @tab @tab X
@@ -748,6 +821,9 @@ following image formats are supported:
@tab encoding supported through external library libgsm
@item GSM Microsoft variant @tab E @tab X
@tab encoding supported through external library libgsm
@item IAC (Indeo Audio Coder) @tab @tab X
@item iLBC (Internet Low Bitrate Codec) @tab E @tab E
@tab encoding and decoding supported through external library libilbc
@item IMC (Intel Music Coder) @tab @tab X
@item MACE (Macintosh Audio Compression/Expansion) 3:1 @tab @tab X
@item MACE (Macintosh Audio Compression/Expansion) 6:1 @tab @tab X
@@ -757,15 +833,22 @@ following image formats are supported:
@tab Only versions 3.97-3.99 are supported.
@item MP1 (MPEG audio layer 1) @tab @tab IX
@item MP2 (MPEG audio layer 2) @tab IX @tab IX
@tab libtwolame can be used alternatively for encoding.
@item MP3 (MPEG audio layer 3) @tab E @tab IX
@tab encoding supported through external library LAME, ADU MP3 and MP3onMP4 also supported
@item MPEG-4 Audio Lossless Coding (ALS) @tab @tab X
@item Musepack SV7 @tab @tab X
@item Musepack SV8 @tab @tab X
@item Nellymoser Asao @tab X @tab X
@item Opus @tab E @tab E
@tab supported through external library libopus
@item PCM A-law @tab X @tab X
@item PCM mu-law @tab X @tab X
@item PCM 16-bit little-endian planar @tab @tab X
@item PCM signed 8-bit planar @tab X @tab X
@item PCM signed 16-bit big-endian planar @tab X @tab X
@item PCM signed 16-bit little-endian planar @tab X @tab X
@item PCM signed 24-bit little-endian planar @tab X @tab X
@item PCM signed 32-bit little-endian planar @tab X @tab X
@item PCM 32-bit floating point big-endian @tab X @tab X
@item PCM 32-bit floating point little-endian @tab X @tab X
@item PCM 64-bit floating point big-endian @tab X @tab X
@@ -809,10 +892,13 @@ following image formats are supported:
@tab experimental codec
@item Speex @tab E @tab E
@tab supported through external library libspeex
@item TAK (Tom's lossless Audio Kompressor) @tab @tab X
@item True Audio (TTA) @tab @tab X
@item TrueHD @tab @tab X
@tab Used in HD-DVD and Blu-Ray discs.
@item TwinVQ (VQF flavor) @tab @tab X
@item VIMA @tab @tab X
@tab Used in LucasArts SMUSH animations.
@item Vorbis @tab E @tab X
@tab A native but very primitive encoder exists.
@item WavPack @tab @tab X
@@ -835,14 +921,27 @@ performance on systems without hardware floating point support).
@multitable @columnfractions .4 .1 .1 .1 .1
@item Name @tab Muxing @tab Demuxing @tab Encoding @tab Decoding
@item SSA/ASS @tab X @tab X @tab X @tab X
@item DVB @tab X @tab X @tab X @tab X
@item DVD @tab X @tab X @tab X @tab X
@item JACOsub @tab X @tab X @tab @tab X
@item MicroDVD @tab X @tab X @tab @tab X
@item PGS @tab @tab @tab @tab X
@item SubRip (SRT) @tab X @tab X @tab X @tab X
@item XSUB @tab @tab @tab X @tab X
@item 3GPP Timed Text @tab @tab @tab X @tab X
@item AQTitle @tab @tab X @tab @tab X
@item DVB @tab X @tab X @tab X @tab X
@item DVD @tab X @tab X @tab X @tab X
@item JACOsub @tab X @tab X @tab @tab X
@item MicroDVD @tab X @tab X @tab @tab X
@item MPL2 @tab @tab X @tab @tab X
@item MPsub (MPlayer) @tab @tab X @tab @tab X
@item PGS @tab @tab @tab @tab X
@item PJS (Phoenix) @tab @tab X @tab @tab X
@item RealText @tab @tab X @tab @tab X
@item SAMI @tab @tab X @tab @tab X
@item SSA/ASS @tab X @tab X @tab X @tab X
@item SubRip (SRT) @tab X @tab X @tab X @tab X
@item SubViewer v1 @tab @tab X @tab @tab X
@item SubViewer @tab @tab X @tab @tab X
@item TED Talks captions @tab @tab X @tab @tab X
@item VobSub (IDX+SUB) @tab @tab X @tab @tab X
@item VPlayer @tab @tab X @tab @tab X
@item WebVTT @tab @tab X @tab @tab X
@item XSUB @tab @tab @tab X @tab X
@end multitable
@code{X} means that the feature is supported.
@@ -851,19 +950,31 @@ performance on systems without hardware floating point support).
@multitable @columnfractions .4 .1
@item Name @tab Support
@item Apple HTTP Live Streaming @tab X
@item file @tab X
@item Gopher @tab X
@item HLS @tab X
@item HTTP @tab X
@item MMS @tab X
@item HTTPS @tab X
@item MMSH @tab X
@item MMST @tab X
@item pipe @tab X
@item RTMP @tab X
@item RTMPE @tab X
@item RTMPS @tab X
@item RTMPT @tab X
@item RTMPTE @tab X
@item RTMPTS @tab X
@item RTP @tab X
@item SCTP @tab X
@item TCP @tab X
@item TLS @tab X
@item UDP @tab X
@end multitable
@code{X} means that the protocol is supported.
@code{E} means that support is provided through an external library.
@section Input/Output Devices
@@ -871,13 +982,17 @@ performance on systems without hardware floating point support).
@item Name @tab Input @tab Output
@item ALSA @tab X @tab X
@item BKTR @tab X @tab
@item caca @tab @tab X
@item DV1394 @tab X @tab
@item Lavfi virtual device @tab X @tab
@item Linux framebuffer @tab X @tab
@item JACK @tab X @tab
@item LIBCDIO @tab X
@item LIBDC1394 @tab X @tab
@item OpenAL @tab X
@item OSS @tab X @tab X
@item Pulseaudio @tab X @tab
@item SDL @tab @tab X
@item Video4Linux2 @tab X @tab
@item VfW capture @tab X @tab
@item X11 grabbing @tab X @tab
@@ -889,9 +1004,10 @@ performance on systems without hardware floating point support).
@multitable @columnfractions .4 .1 .1
@item Codec/format @tab Read @tab Write
@item AVI @tab X @tab X
@item DV @tab X @tab X
@item GXF @tab X @tab X
@item MOV @tab X @tab
@item MOV @tab X @tab X
@item MPEG1/2 @tab X @tab X
@item MXF @tab X @tab X
@end multitable

View File

@@ -258,6 +258,32 @@ git commit
@end example
@chapter Git configuration
In order to simplify a few workflows, it is advisable to configure both
your personal Git installation and your local FFmpeg repository.
@section Personal Git installation
Add the following to your @file{~/.gitconfig} to help @command{git send-email}
and @command{git format-patch} detect renames:
@example
[diff]
renames = copy
@end example
@section Repository configuration
In order to have @command{git send-email} automatically send patches
to the ffmpeg-devel mailing list, add the following stanza
to @file{/path/to/ffmpeg/repository/.git/config}:
@example
[sendemail]
to = ffmpeg-devel@@ffmpeg.org
@end example
@chapter FFmpeg specific
@section Reverting broken commits
@@ -346,6 +372,43 @@ git checkout -b svn_23456 $SHA1
where @var{$SHA1} is the commit hash from the @command{git log} output.
@chapter pre-push checklist
Once you have a set of commits that you feel are ready for pushing,
work through the following checklist to doublecheck everything is in
proper order. This list tries to be exhaustive. In case you are just
pushing a typo in a comment, some of the steps may be unnecessary.
Apply your common sense, but if in doubt, err on the side of caution.
First, make sure that the commits and branches you are going to push
match what you want pushed and that nothing is missing, extraneous or
wrong. You can see what will be pushed by running the git push command
with --dry-run first. And then inspecting the commits listed with
@command{git log -p 1234567..987654}. The @command{git status} command
may help in finding local changes that have been forgotten to be added.
Next let the code pass through a full run of our testsuite.
@itemize
@item @command{make distclean}
@item @command{/path/to/ffmpeg/configure}
@item @command{make check}
@item if fate fails due to missing samples run @command{make fate-rsync} and retry
@end itemize
Make sure all your changes have been checked before pushing them, the
testsuite only checks against regressions and that only to some extend. It does
obviously not check newly added features/code to be working unless you have
added a test for that (which is recommended).
Also note that every single commit should pass the test suite, not just
the result of a series of patches.
Once everything passed, push the changes to your public ffmpeg clone and post a
merge request to ffmpeg-devel. You can also push them directly but this is not
recommended.
@chapter Server Issues
Contact the project admins @email{root@@ffmpeg.org} if you have technical

View File

@@ -112,6 +112,19 @@ defaults to 0).
Set audio device number for devices with same name (starts at 0,
defaults to 0).
@item pixel_format
Select pixel format to be used by DirectShow. This may only be set when
the video codec is not set or set to rawvideo.
@item audio_buffer_size
Set audio device buffer size in milliseconds (which can directly
impact latency, depending on the device).
Defaults to using the audio device's
default buffer size (typically some multiple of 500ms).
Setting this value too low can degrade performance.
See also
@url{http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx}
@end table
@subsection Examples
@@ -179,6 +192,66 @@ ffmpeg -f fbdev -frames:v 1 -r 1 -i /dev/fb0 screenshot.jpeg
See also @url{http://linux-fbdev.sourceforge.net/}, and fbset(1).
@section iec61883
FireWire DV/HDV input device using libiec61883.
To enable this input device, you need libiec61883, libraw1394 and
libavc1394 installed on your system. Use the configure option
@code{--enable-libiec61883} to compile with the device enabled.
The iec61883 capture device supports capturing from a video device
connected via IEEE1394 (FireWire), using libiec61883 and the new Linux
FireWire stack (juju). This is the default DV/HDV input method in Linux
Kernel 2.6.37 and later, since the old FireWire stack was removed.
Specify the FireWire port to be used as input file, or "auto"
to choose the first port connected.
@subsection Options
@table @option
@item dvtype
Override autodetection of DV/HDV. This should only be used if auto
detection does not work, or if usage of a different device type
should be prohibited. Treating a DV device as HDV (or vice versa) will
not work and result in undefined behavior.
The values @option{auto}, @option{dv} and @option{hdv} are supported.
@item dvbuffer
Set maxiumum size of buffer for incoming data, in frames. For DV, this
is an exact value. For HDV, it is not frame exact, since HDV does
not have a fixed frame size.
@item dvguid
Select the capture device by specifying it's GUID. Capturing will only
be performed from the specified device and fails if no device with the
given GUID is found. This is useful to select the input if multiple
devices are connected at the same time.
Look at /sys/bus/firewire/devices to find out the GUIDs.
@end table
@subsection Examples
@itemize
@item
Grab and show the input of a FireWire DV/HDV device.
@example
ffplay -f iec61883 -i auto
@end example
@item
Grab and record the input of a FireWire DV/HDV device,
using a packet buffer of 100000 packets if the source is HDV.
@example
ffmpeg -f iec61883 -i auto -hdvbuffer 100000 out.mpg
@end example
@end itemize
@section jack
JACK input device.
@@ -254,6 +327,12 @@ label, but all the others need to be specified explicitly.
If not specified defaults to the filename specified for the input
device.
@item graph_file
Set the filename of the filtergraph to be read and sent to the other
filters. Syntax of the filtergraph is the same as the one specified by
the option @var{graph}.
@end table
@subsection Examples
@@ -262,14 +341,14 @@ device.
@item
Create a color video stream and play it back with @command{ffplay}:
@example
ffplay -f lavfi -graph "color=pink [out0]" dummy
ffplay -f lavfi -graph "color=c=pink [out0]" dummy
@end example
@item
As the previous example, but use filename for specifying the graph
description, and omit the "out0" label:
@example
ffplay -f lavfi color=pink
ffplay -f lavfi color=c=pink
@end example
@item
@@ -577,17 +656,23 @@ properties of your X11 display (e.g. grep for "name" or "dimensions").
For example to grab from @file{:0.0} using @command{ffmpeg}:
@example
ffmpeg -f x11grab -r 25 -s cif -i :0.0 out.mpg
@end example
# Grab at position 10,20.
Grab at position @code{10,20}:
@example
ffmpeg -f x11grab -r 25 -s cif -i :0.0+10,20 out.mpg
@end example
@subsection @var{follow_mouse} AVOption
@subsection Options
The syntax is:
@example
-follow_mouse centered|@var{PIXELS}
@end example
@table @option
@item draw_mouse
Specify whether to draw the mouse pointer. A value of @code{0} specify
not to draw the pointer. Default value is @code{1}.
@item follow_mouse
Make the grabbed area follow the mouse. The argument can be
@code{centered} or a number of pixels @var{PIXELS}.
When it is specified with "centered", the grabbing region follows the mouse
pointer and keeps the pointer at the center of region; otherwise, the region
@@ -597,28 +682,36 @@ zero) to the edge of region.
For example:
@example
ffmpeg -f x11grab -follow_mouse centered -r 25 -s cif -i :0.0 out.mpg
@end example
# Follows only when the mouse pointer reaches within 100 pixels to edge
To follow only when the mouse pointer reaches within 100 pixels to edge:
@example
ffmpeg -f x11grab -follow_mouse 100 -r 25 -s cif -i :0.0 out.mpg
@end example
@subsection @var{show_region} AVOption
@item framerate
Set the grabbing frame rate. Default value is @code{ntsc},
corresponding to a framerate of @code{30000/1001}.
The syntax is:
@example
-show_region 1
@end example
@item show_region
Show grabbed region on screen.
If @var{show_region} AVOption is specified with @var{1}, then the grabbing
region will be indicated on screen. With this option, it's easy to know what is
being grabbed if only a portion of the screen is grabbed.
If @var{show_region} is specified with @code{1}, then the grabbing
region will be indicated on screen. With this option, it is easy to
know what is being grabbed if only a portion of the screen is grabbed.
For example:
@example
ffmpeg -f x11grab -show_region 1 -r 25 -s cif -i :0.0+10,20 out.mpg
# With follow_mouse
ffmpeg -f x11grab -follow_mouse centered -show_region 1 -r 25 -s cif -i :0.0 out.mpg
@end example
With @var{follow_mouse}:
@example
ffmpeg -f x11grab -follow_mouse centered -show_region 1 -r 25 -s cif -i :0.0 out.mpg
@end example
@item video_size
Set the video frame size. Default value is @code{vga}.
@end table
@c man end INPUT DEVICES

48
doc/libavcodec.texi Normal file
View File

@@ -0,0 +1,48 @@
\input texinfo @c -*- texinfo -*-
@settitle Libavcodec Documentation
@titlepage
@center @titlefont{Libavcodec Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The libavcodec library provides a generic encoding/decoding framework
and contains multiple decoders and encoders for audio, video and
subtitle streams, and several bitstream filters.
The shared architecture provides various services ranging from bit
stream I/O to DSP optimizations, and makes it suitable for
implementing robust and fast codecs as well as for experimentation.
@c man end DESCRIPTION
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-codecs.html,ffmpeg-codecs}, @url{ffmpeg-bitstream-filters.html,bitstream-filters},
@url{libavutil.html,libavutil}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1),
libavutil(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename libavcodec
@settitle media streams decoding and encoding library
@end ignore
@bye

45
doc/libavdevice.texi Normal file
View File

@@ -0,0 +1,45 @@
\input texinfo @c -*- texinfo -*-
@settitle Libavdevice Documentation
@titlepage
@center @titlefont{Libavdevice Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The libavdevice library provides a generic framework for grabbing from
and rendering to many common multimedia input/output devices, and
supports several input and output devices, including Video4Linux2,
VfW, DShow, and ALSA.
@c man end DESCRIPTION
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-devices.html,ffmpeg-devices},
@url{libavutil.html,libavutil}, @url{libavcodec.html,libavcodec}, @url{libavformat.html,libavformat}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-devices(1),
libavutil(3), libavcodec(3), libavformat(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename libavdevice
@settitle multimedia device handling library
@end ignore
@bye

View File

@@ -9,84 +9,36 @@
@contents
@chapter Introduction
@chapter Description
@c man begin DESCRIPTION
Libavfilter is the filtering API of FFmpeg. It is the substitute of the
now deprecated 'vhooks' and started as a Google Summer of Code project.
The libavfilter library provides a generic audio/video filtering
framework containing several filters, sources and sinks.
Audio filtering integration into the main FFmpeg repository is a work in
progress, so audio API and ABI should not be considered stable yet.
@c man end DESCRIPTION
@chapter Tutorial
@chapter See Also
In libavfilter, it is possible for filters to have multiple inputs and
multiple outputs.
To illustrate the sorts of things that are possible, we can
use a complex filter graph. For example, the following one:
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-filters.html,ffmpeg-filters},
@url{libavutil.html,libavutil}, @url{libswscale.html,libswscale}, @url{libswresample.html,libswresample},
@url{libavcodec.html,libavcodec}, @url{libavformat.html,libavformat}, @url{libavdevice.html,libavdevice}
@end ifhtml
@example
input --> split --> fifo -----------------------> overlay --> output
| ^
| |
+------> fifo --> crop --> vflip --------+
@end example
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-filters(1),
libavutil(3), libswscale(3), libswresample(3), libavcodec(3), libavformat(3), libavdevice(3)
@end ifnothtml
splits the stream in two streams, sends one stream through the crop filter
and the vflip filter before merging it back with the other stream by
overlaying it on top. You can use the following command to achieve this:
@include authors.texi
@example
ffmpeg -i input -vf "[in] split [T1], fifo, [T2] overlay=0:H/2 [out]; [T1] fifo, crop=iw:ih/2:0:ih/2, vflip [T2]" output
@end example
@ignore
The result will be that in output the top half of the video is mirrored
onto the bottom half.
@setfilename libavfilter
@settitle multimedia filtering library
Video filters are loaded using the @var{-vf} option passed to
@command{ffmpeg} or to @command{ffplay}. Filters in the same linear
chain are separated by commas. In our example, @var{split, fifo,
overlay} are in one linear chain, and @var{fifo, crop, vflip} are in
another. The points where the linear chains join are labeled by names
enclosed in square brackets. In our example, that is @var{[T1]} and
@var{[T2]}. The magic labels @var{[in]} and @var{[out]} are the points
where video is input and output.
Some filters take in input a list of parameters: they are specified
after the filter name and an equal sign, and are separated each other
by a semicolon.
There exist so-called @var{source filters} that do not have a video
input, and we expect in the future some @var{sink filters} that will
not have video output.
@chapter graph2dot
The @file{graph2dot} program included in the FFmpeg @file{tools}
directory can be used to parse a filter graph description and issue a
corresponding textual representation in the dot language.
Invoke the command:
@example
graph2dot -h
@end example
to see how to use @file{graph2dot}.
You can then pass the dot description to the @file{dot} program (from
the graphviz suite of programs) and obtain a graphical representation
of the filter graph.
For example the sequence of commands:
@example
echo @var{GRAPH_DESCRIPTION} | \
tools/graph2dot -o graph.tmp && \
dot -Tpng graph.tmp -o graph.png && \
display graph.png
@end example
can be used to create and display an image representing the graph
described by the @var{GRAPH_DESCRIPTION} string.
@include filters.texi
@end ignore
@bye

48
doc/libavformat.texi Normal file
View File

@@ -0,0 +1,48 @@
\input texinfo @c -*- texinfo -*-
@settitle Libavformat Documentation
@titlepage
@center @titlefont{Libavformat Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The libavformat library provides a generic framework for multiplexing
and demultiplexing (muxing and demuxing) audio, video and subtitle
streams. It encompasses multiple muxers and demuxers for multimedia
container formats.
It also supports several input and output protocols to access a media
resource.
@c man end DESCRIPTION
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-formats.html,ffmpeg-formats}, @url{ffmpeg-protocols.html,ffmpeg-protocols},
@url{libavutil.html,libavutil}, @url{libavcodec.html,libavcodec}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-formats(1), ffmpeg-protocols(1),
libavutil(3), libavcodec(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename libavformat
@settitle multimedia muxing and demuxing library
@end ignore
@bye

44
doc/libavutil.texi Normal file
View File

@@ -0,0 +1,44 @@
\input texinfo @c -*- texinfo -*-
@settitle Libavutil Documentation
@titlepage
@center @titlefont{Libavutil Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The libavutil library is a utility library to aid portable
multimedia programming. It contains safe portable string functions,
random number generators, data structures, additional mathematics
functions, cryptography and multimedia related functionality (like
enumerations for pixel and sample formats).
@c man end DESCRIPTION
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-utils(1)
@end ifnothtml
@include authors.texi
@ignore
@setfilename libavutil
@settitle multimedia-biased utility library
@end ignore
@bye

70
doc/libswresample.texi Normal file
View File

@@ -0,0 +1,70 @@
\input texinfo @c -*- texinfo -*-
@settitle Libswresample Documentation
@titlepage
@center @titlefont{Libswresample Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The libswresample library performs highly optimized audio resampling,
rematrixing and sample format conversion operations.
Specifically, this library performs the following conversions:
@itemize
@item
@emph{Resampling}: is the process of changing the audio rate, for
example from an high sample rate of 44100Hz to 8000Hz. Audio
conversion from high to low sample rate is a lossy process. Several
resampling options and algorithms are available.
@item
@emph{Format conversion}: is the process of converting the type of
samples, for example from 16-bit signed samples to unsigned 8-bit or
float samples. It also handles packing conversion, when passing from
packed layout (all samples belonging to distinct channels interleaved
in the same buffer), to planar layout (all samples belonging to the
same channel stored in a dedicated buffer or "plane").
@item
@emph{Rematrixing}: is the process of changing the channel layout, for
example from stereo to mono. When the input channels cannot be mapped
to the output streams, the process is lossy, since it involves
different gain factors and mixing.
@end itemize
Various other audio conversions (e.g. stretching and padding) are
enabled through dedicated options.
@c man end DESCRIPTION
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{libavutil.html,libavutil}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-resampler(1),
libavutil(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename libswresample
@settitle audio resampling library
@end ignore
@bye

63
doc/libswscale.texi Normal file
View File

@@ -0,0 +1,63 @@
\input texinfo @c -*- texinfo -*-
@settitle Libswscale Documentation
@titlepage
@center @titlefont{Libswscale Documentation}
@end titlepage
@top
@contents
@chapter Description
@c man begin DESCRIPTION
The libswscale library performs highly optimized image scaling and
colorspace and pixel format conversion operations.
Specifically, this library performs the following conversions:
@itemize
@item
@emph{Rescaling}: is the process of changing the video size. Several
rescaling options and algorithms are available. This is usually a
lossy process.
@item
@emph{Pixel format conversion}: is the process of converting the image
format and colorspace of the image, for example from planar YUV420P to
RGB24 packed. It also handles packing conversion, that is converts
from packed layout (all pixels belonging to distinct planes
interleaved in the same buffer), to planar layout (all samples
belonging to the same plane stored in a dedicated buffer or "plane").
This is usually a lossy process in case the source and destination
colorspaces differ.
@end itemize
@c man end DESCRIPTION
@chapter See Also
@ifhtml
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{libavutil.html,libavutil}
@end ifhtml
@ifnothtml
ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-scaler(1),
libavutil(3)
@end ifnothtml
@include authors.texi
@ignore
@setfilename libswscale
@settitle video scaling and pixel format conversion library
@end ignore
@bye

67
doc/mips.txt Normal file
View File

@@ -0,0 +1,67 @@
MIPS optimizations info
===============================================
MIPS optimizations of codecs are targeting MIPS 74k family of
CPUs. Some of these optimizations are relying more on properties of
this architecture and some are relying less (and can be used on most
MIPS architectures without degradation in performance).
Along with FFMPEG copyright notice, there is MIPS copyright notice in
all the files that are created by people from MIPS Technologies.
Example of copyright notice:
===============================================
/*
* Copyright (c) 2012
* MIPS Technologies, Inc., California.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the MIPS Technologies, Inc., nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE MIPS TECHNOLOGIES, INC. ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE MIPS TECHNOLOGIES, INC. BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* Author: Author Name (author_name@@mips.com)
*/
Files that have MIPS copyright notice in them:
===============================================
* libavutil/mips/
float_dsp_mips.c
libm_mips.h
* libavcodec/mips/
ac3dsp_mips.c
acelp_filters_mips.c
acelp_vectors_mips.c
amrwbdec_mips.c
amrwbdec_mips.h
celp_filters_mips.c
celp_math_mips.c
compute_antialias_fixed.h
compute_antialias_float.h
lsp_mips.h
dsputil_mips.c
fft_mips.c
fft_table.h
fft_init_table.c
fmtconvert_mips.c
mpegaudiodsp_mips_fixed.c
mpegaudiodsp_mips_float.c

View File

@@ -129,6 +129,65 @@ ffmpeg -i INPUT -f framemd5 -
See also the @ref{md5} muxer.
@anchor{hls}
@section hls
Apple HTTP Live Streaming muxer that segments MPEG-TS according to
the HTTP Live Streaming specification.
It creates a playlist file and numbered segment files. The output
filename specifies the playlist filename; the segment filenames
receive the same basename as the playlist, a sequential number and
a .ts extension.
@example
ffmpeg -i in.nut out.m3u8
@end example
@table @option
@item -hls_time @var{seconds}
Set the segment length in seconds.
@item -hls_list_size @var{size}
Set the maximum number of playlist entries.
@item -hls_wrap @var{wrap}
Set the number after which index wraps.
@item -start_number @var{number}
Start the sequence from @var{number}.
@end table
@anchor{ico}
@section ico
ICO file muxer.
Microsoft's icon file format (ICO) has some strict limitations that should be noted:
@itemize
@item
Size cannot exceed 256 pixels in any dimension
@item
Only BMP and PNG images can be stored
@item
If a BMP image is used, it must be one of the following pixel formats:
@example
BMP Bit Depth FFmpeg Pixel Format
1bit pal8
4bit pal8
8bit pal8
16bit rgb555le
24bit bgr24
32bit bgra
@end example
@item
If a BMP image is used, it must use the BITMAPINFOHEADER DIB header
@item
If a PNG image is used, it must use the rgba pixel format
@end itemize
@anchor{image2}
@section image2
@@ -181,6 +240,11 @@ Note also that the pattern must not necessarily contain "%d" or
ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
@end example
@table @option
@item -start_number @var{number}
Start the sequence from @var{number}.
@end table
The image muxer supports the .Y.U.V image file format. This format is
special in that that each image frame consists of three files, for
each of the YUV420P components. To read or write this image file format,
@@ -219,7 +283,8 @@ See also the @ref{framemd5} muxer.
The mov/mp4/ismv muxer supports fragmentation. Normally, a MOV/MP4
file has all the metadata about all packets stored in one location
(written at the end of the file, it can be moved to the start for
better playback using the @command{qt-faststart} tool). A fragmented
better playback by adding @var{faststart} to the @var{movflags}, or
using the @command{qt-faststart} tool). A fragmented
file consists of a number of fragments, where packets and metadata
about these packets are stored together. Writing a fragmented
file has the advantage that the file is decodable even if the
@@ -277,6 +342,10 @@ more efficient), but with this option set, the muxer writes one moof/mdat
pair for each track, making it easier to separate tracks.
This option is implicitly set when writing ismv (Smooth Streaming) files.
@item -movflags faststart
Run a second pass moving the moov atom on top of the file. This
operation can take a while, and will not work in various situations such
as fragmented output, thus it is not enabled by default.
@end table
Smooth Streaming content can be pushed in real time to a publishing
@@ -411,7 +480,7 @@ For example a 3D WebM clip can be created using the following command line:
ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
@end example
@section segment
@section segment, stream_segment, ssegment
Basic stream segmenter.
@@ -419,30 +488,200 @@ The segmenter muxer outputs streams to a number of separate files of nearly
fixed duration. Output filename pattern can be set in a fashion similar to
@ref{image2}.
Every segment starts with a video keyframe, if a video stream is present.
@code{stream_segment} is a variant of the muxer used to write to
streaming output formats, i.e. which do not require global headers,
and is recommended for outputting e.g. to MPEG transport stream segments.
@code{ssegment} is a shorter alias for @code{stream_segment}.
Every segment starts with a keyframe of the selected reference stream,
which is set through the @option{reference_stream} option.
Note that if you want accurate splitting for a video file, you need to
make the input key frames correspond to the exact splitting times
expected by the segmenter, or the segment muxer will start the new
segment with the key frame found next after the specified start
time.
The segment muxer works best with a single constant frame rate video.
Optionally it can generate a flat list of the created segments, one segment
per line.
Optionally it can generate a list of the created segments, by setting
the option @var{segment_list}. The list type is specified by the
@var{segment_list_type} option.
The segment muxer supports the following options:
@table @option
@item reference_stream @var{specifier}
Set the reference stream, as specified by the string @var{specifier}.
If @var{specifier} is set to @code{auto}, the reference is choosen
automatically. Otherwise it must be a stream specifier (see the ``Stream
specifiers'' chapter in the ffmpeg manual) which specifies the
reference stream. The default value is ``auto''.
@item segment_format @var{format}
Override the inner container format, by default it is guessed by the filename
extension.
@item segment_time @var{t}
Set segment duration to @var{t} seconds.
@item segment_list @var{name}
Generate also a listfile named @var{name}.
@item segment_list_size @var{size}
Overwrite the listfile once it reaches @var{size} entries.
@item segment_wrap @var{limit}
Wrap around segment index once it reaches @var{limit}.
Generate also a listfile named @var{name}. If not specified no
listfile is generated.
@item segment_list_flags @var{flags}
Set flags affecting the segment list generation.
It currently supports the following flags:
@table @var
@item cache
Allow caching (only affects M3U8 list files).
@item live
Allow live-friendly file generation.
This currently only affects M3U8 lists. In particular, write a fake
EXT-X-TARGETDURATION duration field at the top of the file, based on
the specified @var{segment_time}.
@end table
Default value is @code{cache}.
@item segment_list_size @var{size}
Overwrite the listfile once it reaches @var{size} entries. If 0
the listfile is never overwritten. Default value is 0.
@item segment_list type @var{type}
Specify the format for the segment list file.
The following values are recognized:
@table @option
@item flat
Generate a flat list for the created segments, one segment per line.
@item csv, ext
Generate a list for the created segments, one segment per line,
each line matching the format (comma-separated values):
@example
ffmpeg -i in.mkv -c copy -map 0 -f segment -list out.list out%03d.nut
@var{segment_filename},@var{segment_start_time},@var{segment_end_time}
@end example
@var{segment_filename} is the name of the output file generated by the
muxer according to the provided pattern. CSV escaping (according to
RFC4180) is applied if required.
@var{segment_start_time} and @var{segment_end_time} specify
the segment start and end time expressed in seconds.
A list file with the suffix @code{".csv"} or @code{".ext"} will
auto-select this format.
@code{ext} is deprecated in favor or @code{csv}.
@item m3u8
Generate an extended M3U8 file, version 4, compliant with
@url{http://tools.ietf.org/id/draft-pantos-http-live-streaming-08.txt}.
A list file with the suffix @code{".m3u8"} will auto-select this format.
@end table
If not specified the type is guessed from the list file name suffix.
@item segment_time @var{time}
Set segment duration to @var{time}. Default value is "2".
@item segment_time_delta @var{delta}
Specify the accuracy time when selecting the start time for a
segment. Default value is "0".
When delta is specified a key-frame will start a new segment if its
PTS satisfies the relation:
@example
PTS >= start_time - time_delta
@end example
This option is useful when splitting video content, which is always
split at GOP boundaries, in case a key frame is found just before the
specified split time.
In particular may be used in combination with the @file{ffmpeg} option
@var{force_key_frames}. The key frame times specified by
@var{force_key_frames} may not be set accurately because of rounding
issues, with the consequence that a key frame time may result set just
before the specified time. For constant frame rate videos a value of
1/2*@var{frame_rate} should address the worst case mismatch between
the specified time and the time set by @var{force_key_frames}.
@item segment_times @var{times}
Specify a list of split points. @var{times} contains a list of comma
separated duration specifications, in increasing order.
@item segment_frames @var{frames}
Specify a list of split video frame numbers. @var{frames} contains a
list of comma separated integer numbers, in increasing order.
This option specifies to start a new segment whenever a reference
stream key frame is found and the sequential number (starting from 0)
of the frame is greater or equal to the next value in the list.
@item segment_wrap @var{limit}
Wrap around segment index once it reaches @var{limit}.
@item segment_start_number @var{number}
Set the sequence number of the first segment. Defaults to @code{0}.
@item reset_timestamps @var{1|0}
Reset timestamps at the begin of each segment, so that each segment
will start with near-zero timestamps. It is meant to ease the playback
of the generated segments. May not work with some combinations of
muxers/codecs. It is set to @code{0} by default.
@end table
@section Examples
@itemize
@item
To remux the content of file @file{in.mkv} to a list of segments
@file{out-000.nut}, @file{out-001.nut}, etc., and write the list of
generated segments to @file{out.list}:
@example
ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.list out%03d.nut
@end example
@item
As the example above, but segment the input file according to the split
points specified by the @var{segment_times} option:
@example
ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out%03d.nut
@end example
@item
As the example above, but use the @code{ffmpeg} @var{force_key_frames}
option to force key frames in the input at the specified location, together
with the segment option @var{segment_time_delta} to account for
possible roundings operated when setting key frame times.
@example
ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
-f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out%03d.nut
@end example
In order to force key frames on the input file, transcoding is
required.
@item
Segment the input file by splitting the input file according to the
frame numbers sequence specified with the @var{segment_frames} option:
@example
ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
@end example
@item
To convert the @file{in.mkv} to TS segments using the @code{libx264}
and @code{libfaac} encoders:
@example
ffmpeg -i in.mkv -map 0 -codec:v libx264 -codec:a libfaac -f ssegment -segment_list out.list out%03d.ts
@end example
@item
Segment the input file, and create an M3U8 live playlist (can be used
as live HLS source):
@example
ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
-segment_list_flags +live -segment_time 10 out%03d.mkv
@end example
@end itemize
@section mp3
The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
@@ -472,10 +711,11 @@ Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
@end example
Attach a picture to an mp3:
To attach a picture to an mp3 file select both the audio and the picture stream
with @code{map}:
@example
ffmpeg -i input.mp3 -i cover.png -c copy -metadata:s:v title="Album cover"
-metadata:s:v comment="Cover (Front)" out.mp3
ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
@end example
@c man end MUXERS

138
doc/nut.texi Normal file
View File

@@ -0,0 +1,138 @@
\input texinfo @c -*- texinfo -*-
@settitle NUT
@titlepage
@center @titlefont{NUT}
@end titlepage
@top
@contents
@chapter Description
NUT is a low overhead generic container format. It stores audio, video,
subtitle and user-defined streams in a simple, yet efficient, way.
It was created by a group of FFmpeg and MPlayer developers in 2003
and was finalized in 2008.
The official nut specification is at svn://svn.mplayerhq.hu/nut
In case of any differences between this text and the official specification,
the official specification shall prevail.
@chapter Container-specific codec tags
@section Generic raw YUVA formats
Since many exotic planar YUVA pixel formats are not considered by
the AVI/QuickTime FourCC lists, the following scheme is adopted for
representing them.
The first two bytes can contain the values:
Y1 = only Y
Y2 = Y+A
Y3 = YUV
Y4 = YUVA
The third byte represents the width and height chroma subsampling
values for the UV planes, that is the amount to shift the luma
width/height right to find the chroma width/height.
The fourth byte is the number of bits used (8, 16, ...).
If the order of bytes is inverted, that means that each component has
to be read big-endian.
@section Raw Audio
@multitable @columnfractions .4 .4
@item ALAW @tab A-LAW
@item ULAW @tab MU-LAW
@item P<type><interleaving><bits> @tab little-endian PCM
@item <bits><interleaving><type>P @tab big-endian PCM
@end multitable
<type> is S for signed integer, U for unsigned integer, F for IEEE float
<interleaving> is D for default, P is for planar.
<bits> is 8/16/24/32
@example
PFD[32] would for example be signed 32 bit little-endian IEEE float
@end example
@section Subtitles
@multitable @columnfractions .4 .4
@item UTF8 @tab Raw UTF-8
@item SSA[0] @tab SubStation Alpha
@item DVDS @tab DVD subtitles
@item DVBS @tab DVB subtitles
@end multitable
@section Raw Data
@multitable @columnfractions .4 .4
@item UTF8 @tab Raw UTF-8
@end multitable
@section Codecs
@multitable @columnfractions .4 .4
@item 3IV1 @tab non-compliant MPEG-4 generated by old 3ivx
@item ASV1 @tab Asus Video
@item ASV2 @tab Asus Video 2
@item CVID @tab Cinepak
@item CYUV @tab Creative YUV
@item DIVX @tab non-compliant MPEG-4 generated by old DivX
@item DUCK @tab Truemotion 1
@item FFV1 @tab FFmpeg video 1
@item FFVH @tab FFmpeg Huffyuv
@item H261 @tab ITU H.261
@item H262 @tab ITU H.262
@item H263 @tab ITU H.263
@item H264 @tab ITU H.264
@item HFYU @tab Huffyuv
@item I263 @tab Intel H.263
@item IV31 @tab Indeo 3.1
@item IV32 @tab Indeo 3.2
@item IV50 @tab Indeo 5.0
@item LJPG @tab ITU JPEG (lossless)
@item MJLS @tab ITU JPEG-LS
@item MJPG @tab ITU JPEG
@item MPG4 @tab MS MPEG-4v1 (not ISO MPEG-4)
@item MP42 @tab MS MPEG-4v2
@item MP43 @tab MS MPEG-4v3
@item MP4V @tab ISO MPEG-4 Part 2 Video (from old encoders)
@item mpg1 @tab ISO MPEG-1 Video
@item mpg2 @tab ISO MPEG-2 Video
@item MRLE @tab MS RLE
@item MSVC @tab MS Video 1
@item RT21 @tab Indeo 2.1
@item RV10 @tab RealVideo 1.0
@item RV20 @tab RealVideo 2.0
@item RV30 @tab RealVideo 3.0
@item RV40 @tab RealVideo 4.0
@item SNOW @tab FFmpeg Snow
@item SVQ1 @tab Sorenson Video 1
@item SVQ3 @tab Sorenson Video 3
@item theo @tab Xiph Theora
@item TM20 @tab Truemotion 2.0
@item UMP4 @tab non-compliant MPEG-4 generated by UB Video MPEG-4
@item VCR1 @tab ATI VCR1
@item VP30 @tab VP 3.0
@item VP31 @tab VP 3.1
@item VP50 @tab VP 5.0
@item VP60 @tab VP 6.0
@item VP61 @tab VP 6.1
@item VP62 @tab VP 6.2
@item VP70 @tab VP 7.0
@item WMV1 @tab MS WMV7
@item WMV2 @tab MS WMV8
@item WMV3 @tab MS WMV9
@item WV1F @tab non-compliant MPEG-4 generated by ?
@item WVC1 @tab VC-1
@item XVID @tab non-compliant MPEG-4 generated by old Xvid
@item XVIX @tab non-compliant MPEG-4 generated by old Xvid with interlacing bug
@end multitable

View File

@@ -253,7 +253,7 @@ Optimization guide for ARM11 (used in Nokia N800 Internet Tablet):
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0211j/DDI0211J_arm1136_r1p5_trm.pdf
Optimization guide for Intel XScale (used in Sharp Zaurus PDA):
http://download.intel.com/design/intelxscale/27347302.pdf
Intel Wireless MMX2 Coprocessor: Programmers Reference Manual
Intel Wireless MMX 2 Coprocessor: Programmers Reference Manual
http://download.intel.com/design/intelxscale/31451001.pdf
PowerPC-specific:

View File

@@ -22,6 +22,88 @@ A description of the currently available output devices follows.
ALSA (Advanced Linux Sound Architecture) output device.
@section caca
CACA output device.
This output devices allows to show a video stream in CACA window.
Only one CACA window is allowed per application, so you can
have only one instance of this output device in an application.
To enable this output device you need to configure FFmpeg with
@code{--enable-libcaca}.
libcaca is a graphics library that outputs text instead of pixels.
For more information about libcaca, check:
@url{http://caca.zoy.org/wiki/libcaca}
@subsection Options
@table @option
@item window_title
Set the CACA window title, if not specified default to the filename
specified for the output device.
@item window_size
Set the CACA window size, can be a string of the form
@var{width}x@var{height} or a video size abbreviation.
If not specified it defaults to the size of the input video.
@item driver
Set display driver.
@item algorithm
Set dithering algorithm. Dithering is necessary
because the picture being rendered has usually far more colours than
the available palette.
The accepted values are listed with @code{-list_dither algorithms}.
@item antialias
Set antialias method. Antialiasing smoothens the rendered
image and avoids the commonly seen staircase effect.
The accepted values are listed with @code{-list_dither antialiases}.
@item charset
Set which characters are going to be used when rendering text.
The accepted values are listed with @code{-list_dither charsets}.
@item color
Set color to be used when rendering text.
The accepted values are listed with @code{-list_dither colors}.
@item list_drivers
If set to @option{true}, print a list of available drivers and exit.
@item list_dither
List available dither options related to the argument.
The argument must be one of @code{algorithms}, @code{antialiases},
@code{charsets}, @code{colors}.
@end table
@subsection Examples
@itemize
@item
The following command shows the @command{ffmpeg} output is an
CACA window, forcing its size to 80x25:
@example
ffmpeg -i INPUT -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -
@end example
@item
Show the list of available drivers and exit:
@example
ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_drivers true -
@end example
@item
Show the list of available dither colors and exit:
@example
ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -
@end example
@end itemize
@section oss
OSS (Open Sound System) output device.
@@ -55,7 +137,8 @@ to the same value of @var{window_title}.
@item window_size
Set the SDL window size, can be a string of the form
@var{width}x@var{height} or a video size abbreviation.
If not specified it defaults to the size of the input video.
If not specified it defaults to the size of the input video,
downscaled according to the aspect ratio.
@end table
@subsection Examples

View File

@@ -1,8 +1,8 @@
\input texinfo @c -*- texinfo -*-
@settitle Platform Specific information
@settitle Platform Specific Information
@titlepage
@center @titlefont{Platform Specific information}
@center @titlefont{Platform Specific Information}
@end titlepage
@top
@@ -77,30 +77,15 @@ For information about compiling FFmpeg on OS/2 see
@chapter Windows
To get help and instructions for building FFmpeg under Windows, check out
the FFmpeg Windows Help Forum at
@url{http://ffmpeg.arrozcru.org/}.
the FFmpeg Windows Help Forum at @url{http://ffmpeg.zeranoe.com/forum/}.
@section Native Windows compilation
@section Native Windows compilation using MinGW or MinGW-w64
FFmpeg can be built to run natively on Windows using the MinGW tools. Install
the latest versions of MSYS and MinGW from @url{http://www.mingw.org/}.
You can find detailed installation instructions in the download
section and the FAQ.
FFmpeg does not build out-of-the-box with the packages the automated MinGW
installer provides. It also requires coreutils to be installed and many other
packages updated to the latest version. The minimum versions for some packages
are listed below:
@itemize
@item bash 3.1
@item msys-make 3.81-2 (note: not mingw32-make)
@item w32api 3.13
@item mingw-runtime 3.15
@end itemize
FFmpeg automatically passes @code{-fno-common} to the compiler to work around
a GCC bug (see @url{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216}).
FFmpeg can be built to run natively on Windows using the MinGW or MinGW-w64
toolchains. Install the latest versions of MSYS and MinGW or MinGW-w64 from
@url{http://www.mingw.org/} or @url{http://mingw-w64.sourceforge.net/}.
You can find detailed installation instructions in the download section and
the FAQ.
Notes:
@@ -121,149 +106,105 @@ libavformat) as DLLs.
@end itemize
@section Microsoft Visual C++ compatibility
@section Microsoft Visual C++
As stated in the FAQ, FFmpeg will not compile under MSVC++. However, if you
want to use the libav* libraries in your own applications, you can still
compile those applications using MSVC++. But the libav* libraries you link
to @emph{must} be built with MinGW. However, you will not be able to debug
inside the libav* libraries, since MSVC++ does not recognize the debug
symbols generated by GCC.
We strongly recommend you to move over from MSVC++ to MinGW tools.
FFmpeg can be built with MSVC using a C99-to-C89 conversion utility and
wrapper.
This description of how to use the FFmpeg libraries with MSVC++ is based on
Microsoft Visual C++ 2005 Express Edition. If you have a different version,
you might have to modify the procedures slightly.
You will need the following prerequisites:
@subsection Using static libraries
@itemize
@item @uref{http://download.videolan.org/pub/contrib/c99-to-c89/, C99-to-C89 Converter & Wrapper}
@item @uref{http://code.google.com/p/msinttypes/, msinttypes}
@item @uref{http://www.mingw.org/, MSYS}
@item @uref{http://yasm.tortall.net/, YASM}
@item @uref{http://gnuwin32.sourceforge.net/packages/bc.htm, bc for Windows} if
you want to run @uref{fate.html, FATE}.
@end itemize
Assuming you have just built and installed FFmpeg in @file{/usr/local}:
To set up a proper MSVC environment in MSYS, you simply need to run
@code{msys.bat} from the Visual Studio command prompt.
@enumerate
Place @code{makedef}, @code{c99wrap.exe}, @code{c99conv.exe}, and @code{yasm.exe}
somewhere in your @code{PATH}.
@item Create a new console application ("File / New / Project") and then
select "Win32 Console Application". On the appropriate page of the
Application Wizard, uncheck the "Precompiled headers" option.
Next, make sure @code{inttypes.h} and any other headers and libs you want to use
are located in a spot that MSVC can see. Do so by modifying the @code{LIB} and
@code{INCLUDE} environment variables to include the @strong{Windows} paths to
these directories. Alternatively, you can try and use the
@code{--extra-cflags}/@code{--extra-ldflags} configure options.
@item Write the source code for your application, or, for testing, just
copy the code from an existing sample application into the source file
that MSVC++ has already created for you. For example, you can copy
@file{libavformat/output-example.c} from the FFmpeg distribution.
@item Open the "Project / Properties" dialog box. In the "Configuration"
combo box, select "All Configurations" so that the changes you make will
affect both debug and release builds. In the tree view on the left hand
side, select "C/C++ / General", then edit the "Additional Include
Directories" setting to contain the path where the FFmpeg includes were
installed (i.e. @file{c:\msys\1.0\local\include}).
Do not add MinGW's include directory here, or the include files will
conflict with MSVC's.
@item Still in the "Project / Properties" dialog box, select
"Linker / General" from the tree view and edit the
"Additional Library Directories" setting to contain the @file{lib}
directory where FFmpeg was installed (i.e. @file{c:\msys\1.0\local\lib}),
the directory where MinGW libs are installed (i.e. @file{c:\mingw\lib}),
and the directory where MinGW's GCC libs are installed
(i.e. @file{C:\mingw\lib\gcc\mingw32\4.2.1-sjlj}). Then select
"Linker / Input" from the tree view, and add the files @file{libavformat.a},
@file{libavcodec.a}, @file{libavutil.a}, @file{libmingwex.a},
@file{libgcc.a}, and any other libraries you used (i.e. @file{libz.a})
to the end of "Additional Dependencies".
@item Now, select "C/C++ / Code Generation" from the tree view. Select
"Debug" in the "Configuration" combo box. Make sure that "Runtime
Library" is set to "Multi-threaded Debug DLL". Then, select "Release" in
the "Configuration" combo box and make sure that "Runtime Library" is
set to "Multi-threaded DLL".
@item Click "OK" to close the "Project / Properties" dialog box.
@item MSVC++ lacks some C99 header files that are fundamental for FFmpeg.
Get msinttypes from @url{http://code.google.com/p/msinttypes/downloads/list}
and install it in MSVC++'s include directory
(i.e. @file{C:\Program Files\Microsoft Visual Studio 8\VC\include}).
@item MSVC++ also does not understand the @code{inline} keyword used by
FFmpeg, so you must add this line before @code{#include}ing libav*:
@example
#define inline _inline
@end example
@item Build your application, everything should work.
@end enumerate
@subsection Using shared libraries
This is how to create DLL and LIB files that are compatible with MSVC++:
@enumerate
@item Add a call to @file{vcvars32.bat} (which sets up the environment
variables for the Visual C++ tools) as the first line of @file{msys.bat}.
The standard location for @file{vcvars32.bat} is
@file{C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat},
and the standard location for @file{msys.bat} is @file{C:\msys\1.0\msys.bat}.
If this corresponds to your setup, add the following line as the first line
of @file{msys.bat}:
Finally, run:
@example
call "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
@end example
Alternatively, you may start the @file{Visual Studio 2005 Command Prompt},
and run @file{c:\msys\1.0\msys.bat} from there.
@item Within the MSYS shell, run @code{lib.exe}. If you get a help message
from @file{Microsoft (R) Library Manager}, this means your environment
variables are set up correctly, the @file{Microsoft (R) Library Manager}
is on the path and will be used by FFmpeg to create
MSVC++-compatible import libraries.
@item Build FFmpeg with
@example
./configure --enable-shared
./configure --toolchain=msvc
make
make install
@end example
Your install path (@file{/usr/local/} by default) should now have the
necessary DLL and LIB files under the @file{bin} directory.
If you wish to compile shared libraries, add @code{--enable-shared} to your
configure options. Note that due to the way MSVC handles DLL imports and
exports, you cannot compile static and shared libraries at the same time, and
enabling shared libraries will automatically disable the static ones.
Notes:
@itemize
@item It is possible that coreutils' @code{link.exe} conflicts with MSVC's linker.
You can find out by running @code{which link} to see which @code{link.exe} you
are using. If it is located at @code{/bin/link.exe}, then you have the wrong one
in your @code{PATH}. Either move or remove that copy, or make sure MSVC's
@code{link.exe} takes precedence in your @code{PATH} over coreutils'.
@item If you wish to build with zlib support, you will have to grab a compatible
zlib binary from somewhere, with an MSVC import lib, or if you wish to link
statically, you can follow the instructions below to build a compatible
@code{zlib.lib} with MSVC. Regardless of which method you use, you must still
follow step 3, or compilation will fail.
@enumerate
@item Grab the @uref{http://zlib.net/, zlib sources}.
@item Edit @code{win32/Makefile.msc} so that it uses -MT instead of -MD, since
this is how FFmpeg is built as well.
@item Edit @code{zconf.h} and remove its inclusion of @code{unistd.h}. This gets
erroneously included when building FFmpeg.
@item Run @code{nmake -f win32/Makefile.msc}.
@item Move @code{zlib.lib}, @code{zconf.h}, and @code{zlib.h} to somewhere MSVC
can see.
@end enumerate
Alternatively, build the libraries with a cross compiler, according to
the instructions below in @ref{Cross compilation for Windows with Linux}.
@item FFmpeg has been tested with Visual Studio 2010 and 2012, Pro and Express.
Anything else is not officially supported.
To use those files with MSVC++, do the same as you would do with
the static libraries, as described above. But in Step 4,
you should only need to add the directory where the LIB files are installed
(i.e. @file{c:\msys\usr\local\bin}). This is not a typo, the LIB files are
installed in the @file{bin} directory. And instead of adding the static
libraries (@file{libxxx.a} files) you should add the MSVC import libraries
(@file{avcodec.lib}, @file{avformat.lib}, and
@file{avutil.lib}). Note that you should not use the GCC import
libraries (@file{libxxx.dll.a} files), as these will give you undefined
reference errors. There should be no need for @file{libmingwex.a},
@file{libgcc.a}, and @file{wsock32.lib}, nor any other external library
statically linked into the DLLs.
@end itemize
@subsection Linking to FFmpeg with Microsoft Visual C++
If you plan to link with MSVC-built static libraries, you will need
to make sure you have @code{Runtime Library} set to
@code{Multi-threaded (/MT)} in your project's settings.
FFmpeg headers do not declare global data for Windows DLLs through the usual
dllexport/dllimport interface. Such data will be exported properly while
building, but to use them in your MSVC++ code you will have to edit the
building, but to use them in your MSVC code you will have to edit the
appropriate headers and mark the data as dllimport. For example, in
libavutil/pixdesc.h you should have:
@example
extern __declspec(dllimport) const AVPixFmtDescriptor av_pix_fmt_descriptors[];
@end example
Note that using import libraries created by dlltool requires
the linker optimization option to be set to
"References: Keep Unreferenced Data (@code{/OPT:NOREF})", otherwise
the resulting binaries will fail during runtime. This isn't
required when using import libraries generated by lib.exe.
You will also need to define @code{inline} to something MSVC understands:
@example
#define inline __inline
@end example
Also note, that as stated in @strong{Microsoft Visual C++}, you will need
an MSVC-compatible @uref{http://code.google.com/p/msinttypes/, inttypes.h}.
If you plan on using import libraries created by dlltool, you must
set @code{References} to @code{No (/OPT:NOREF)} under the linker optimization
settings, otherwise the resulting binaries will fail during runtime.
This is not required when using import libraries generated by @code{lib.exe}.
This issue is reported upstream at
@url{http://sourceware.org/bugzilla/show_bug.cgi?id=12633}.
@@ -272,12 +213,12 @@ To create import libraries that work with the @code{/OPT:REF} option
@enumerate
@item Open @emph{Visual Studio 2005 Command Prompt}.
@item Open the @emph{Visual Studio Command Prompt}.
Alternatively, in a normal command line prompt, call @file{vcvars32.bat}
which sets up the environment variables for the Visual C++ tools
(the standard location for this file is
@file{C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat}).
(the standard location for this file is something like
@file{C:\Program Files (x86_\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat}).
@item Enter the @file{bin} directory where the created LIB and DLL files
are stored.
@@ -318,24 +259,9 @@ following "Devel" ones:
binutils, gcc4-core, make, git, mingw-runtime, texi2html
@end example
And the following "Utils" one:
In order to run FATE you will also need the following "Utils" packages:
@example
diffutils
@end example
Then run
@example
./configure
@end example
to make a static build.
To build shared libraries add a special compiler flag to work around current
@code{gcc4-core} package bugs in addition to the normal configure flags:
@example
./configure --enable-shared --disable-static --extra-cflags=-fno-reorder-functions
bc, diffutils
@end example
If you want to build FFmpeg with additional libraries, download Cygwin
@@ -377,4 +303,67 @@ and for a build with shared libraries
./configure --target-os=mingw32 --enable-shared --disable-static --extra-cflags=-mno-cygwin --extra-libs=-mno-cygwin
@end example
@chapter Plan 9
The native @uref{http://plan9.bell-labs.com/plan9/, Plan 9} compiler
does not implement all the C99 features needed by FFmpeg so the gcc
port must be used. Furthermore, a few items missing from the C
library and shell environment need to be fixed.
@itemize
@item GNU awk, grep, make, and sed
Working packages of these tools can be found at
@uref{http://code.google.com/p/ports2plan9/downloads/list, ports2plan9}.
They can be installed with @uref{http://9front.org/, 9front's} @code{pkg}
utility by setting @code{pkgpath} to
@code{http://ports2plan9.googlecode.com/files/}.
@item Missing/broken @code{head} and @code{printf} commands
Replacements adequate for building FFmpeg can be found in the
@code{compat/plan9} directory. Place these somewhere they will be
found by the shell. These are not full implementations of the
commands and are @emph{not} suitable for general use.
@item Missing C99 @code{stdint.h} and @code{inttypes.h}
Replacement headers are available from
@url{http://code.google.com/p/plan9front/issues/detail?id=152}.
@item Missing or non-standard library functions
Some functions in the C library are missing or incomplete. The
@code{@uref{http://ports2plan9.googlecode.com/files/gcc-apelibs-1207.tbz,
gcc-apelibs-1207}} package from
@uref{http://code.google.com/p/ports2plan9/downloads/list, ports2plan9}
includes an updated C library, but installing the full package gives
unusable executables. Instead, keep the files from @code{gccbin.tgz}
under @code{/386/lib/gnu}. From the @code{libc.a} archive in the
@code{gcc-apelibs-1207} package, extract the following object files and
turn them into a library:
@itemize
@item @code{strerror.o}
@item @code{strtoll.o}
@item @code{snprintf.o}
@item @code{vsnprintf.o}
@item @code{vfprintf.o}
@item @code{_IO_getc.o}
@item @code{_IO_putc.o}
@end itemize
Use the @code{--extra-libs} option of @code{configure} to inform the
build system of this library.
@item FPU exceptions enabled by default
Unlike most other systems, Plan 9 enables FPU exceptions by default.
These must be disabled before calling any FFmpeg functions. While the
included tools will do this automatically, other users of the
libraries must do it themselves.
@end itemize
@bye

View File

@@ -75,6 +75,15 @@ ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg
Note that you may need to escape the character "|" which is special for
many shells.
@section data
Data in-line in the URI. See @url{http://en.wikipedia.org/wiki/Data_URI_scheme}.
For example, to convert a GIF file given inline with @command{ffmpeg}:
@example
ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png
@end example
@section file
File access protocol.
@@ -194,7 +203,7 @@ content across a TCP/IP network.
The required syntax is:
@example
rtmp://@var{server}[:@var{port}][/@var{app}][/@var{playpath}]
rtmp://@var{server}[:@var{port}][/@var{app}][/@var{instance}][/@var{playpath}]
@end example
The accepted parameters are:
@@ -209,11 +218,88 @@ The number of the TCP port to use (by default is 1935).
@item app
It is the name of the application to access. It usually corresponds to
the path where the application is installed on the RTMP server
(e.g. @file{/ondemand/}, @file{/flash/live/}, etc.).
(e.g. @file{/ondemand/}, @file{/flash/live/}, etc.). You can override
the value parsed from the URI through the @code{rtmp_app} option, too.
@item playpath
It is the path or name of the resource to play with reference to the
application specified in @var{app}, may be prefixed by "mp4:".
application specified in @var{app}, may be prefixed by "mp4:". You
can override the value parsed from the URI through the @code{rtmp_playpath}
option, too.
@item listen
Act as a server, listening for an incoming connection.
@item timeout
Maximum time to wait for the incoming connection. Implies listen.
@end table
Additionally, the following parameters can be set via command line options
(or in code via @code{AVOption}s):
@table @option
@item rtmp_app
Name of application to connect on the RTMP server. This option
overrides the parameter specified in the URI.
@item rtmp_buffer
Set the client buffer time in milliseconds. The default is 3000.
@item rtmp_conn
Extra arbitrary AMF connection parameters, parsed from a string,
e.g. like @code{B:1 S:authMe O:1 NN:code:1.23 NS:flag:ok O:0}.
Each value is prefixed by a single character denoting the type,
B for Boolean, N for number, S for string, O for object, or Z for null,
followed by a colon. For Booleans the data must be either 0 or 1 for
FALSE or TRUE, respectively. Likewise for Objects the data must be 0 or
1 to end or begin an object, respectively. Data items in subobjects may
be named, by prefixing the type with 'N' and specifying the name before
the value (i.e. @code{NB:myFlag:1}). This option may be used multiple
times to construct arbitrary AMF sequences.
@item rtmp_flashver
Version of the Flash plugin used to run the SWF player. The default
is LNX 9,0,124,2.
@item rtmp_flush_interval
Number of packets flushed in the same request (RTMPT only). The default
is 10.
@item rtmp_live
Specify that the media is a live stream. No resuming or seeking in
live streams is possible. The default value is @code{any}, which means the
subscriber first tries to play the live stream specified in the
playpath. If a live stream of that name is not found, it plays the
recorded stream. The other possible values are @code{live} and
@code{recorded}.
@item rtmp_pageurl
URL of the web page in which the media was embedded. By default no
value will be sent.
@item rtmp_playpath
Stream identifier to play or to publish. This option overrides the
parameter specified in the URI.
@item rtmp_subscribe
Name of live stream to subscribe to. By default no value will be sent.
It is only sent if the option is specified or if rtmp_live
is set to live.
@item rtmp_swfhash
SHA256 hash of the decompressed SWF file (32 bytes).
@item rtmp_swfsize
Size of the decompressed SWF file, required for SWFVerification.
@item rtmp_swfurl
URL of the SWF player for the media. By default no value will be sent.
@item rtmp_swfverify
URL to player swf file, compute hash/size automatically.
@item rtmp_tcurl
URL of the target stream. Defaults to proto://host[:port]/app.
@end table
@@ -223,6 +309,46 @@ For example to read with @command{ffplay} a multimedia resource named
ffplay rtmp://myserver/vod/sample
@end example
@section rtmpe
Encrypted Real-Time Messaging Protocol.
The Encrypted Real-Time Messaging Protocol (RTMPE) is used for
streaming multimedia content within standard cryptographic primitives,
consisting of Diffie-Hellman key exchange and HMACSHA256, generating
a pair of RC4 keys.
@section rtmps
Real-Time Messaging Protocol over a secure SSL connection.
The Real-Time Messaging Protocol (RTMPS) is used for streaming
multimedia content across an encrypted connection.
@section rtmpt
Real-Time Messaging Protocol tunneled through HTTP.
The Real-Time Messaging Protocol tunneled through HTTP (RTMPT) is used
for streaming multimedia content within HTTP requests to traverse
firewalls.
@section rtmpte
Encrypted Real-Time Messaging Protocol tunneled through HTTP.
The Encrypted Real-Time Messaging Protocol tunneled through HTTP (RTMPTE)
is used for streaming multimedia content within HTTP requests to traverse
firewalls.
@section rtmpts
Real-Time Messaging Protocol tunneled through HTTPS.
The Real-Time Messaging Protocol tunneled through HTTPS (RTMPTS) is used
for streaming multimedia content within HTTPS requests to traverse
firewalls.
@section rtmp, rtmpe, rtmps, rtmpt, rtmpte
Real-Time Messaging Protocol and its variants supported through
@@ -315,6 +441,8 @@ Flags for @code{rtsp_flags}:
@table @option
@item filter_src
Accept packets only from negotiated peer address and port.
@item listen
Act as a server, listening for an incoming connection.
@end table
When receiving data over UDP, the demuxer tries to reorder received packets
@@ -347,6 +475,12 @@ To send a stream in realtime to a RTSP server, for others to watch:
ffmpeg -re -i @var{input} -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
@end example
To receive a stream in realtime:
@example
ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp @var{output}
@end example
@section sap
Session Announcement Protocol (RFC 2974). This is not technically a
@@ -453,6 +587,11 @@ tcp://@var{hostname}:@var{port}[?@var{options}]
@item listen
Listen for an incoming connection
@item timeout=@var{microseconds}
In read mode: if no data arrived in more than this time interval, raise error.
In write mode: if socket cannot be written in more than this time interval, raise error.
This also sets timeout on TCP connection establishing.
@example
ffmpeg -i @var{input} -f @var{format} tcp://@var{hostname}:@var{port}?listen
ffplay tcp://@var{hostname}:@var{port}
@@ -460,6 +599,48 @@ ffplay tcp://@var{hostname}:@var{port}
@end table
@section tls
Transport Layer Security/Secure Sockets Layer
The required syntax for a TLS/SSL url is:
@example
tls://@var{hostname}:@var{port}[?@var{options}]
@end example
@table @option
@item listen
Act as a server, listening for an incoming connection.
@item cafile=@var{filename}
Certificate authority file. The file must be in OpenSSL PEM format.
@item cert=@var{filename}
Certificate file. The file must be in OpenSSL PEM format.
@item key=@var{filename}
Private key file.
@item verify=@var{0|1}
Verify the peer's certificate.
@end table
Example command lines:
To create a TLS/SSL server that serves an input stream.
@example
ffmpeg -i @var{input} -f @var{format} tls://@var{hostname}:@var{port}?listen&cert=@var{server.crt}&key=@var{server.key}
@end example
To play back a stream from the TLS/SSL server using @command{ffplay}:
@example
ffplay tls://@var{hostname}:@var{port}
@end example
@section udp
User Datagram Protocol.
@@ -469,16 +650,23 @@ The required syntax for a UDP url is:
udp://@var{hostname}:@var{port}[?@var{options}]
@end example
@var{options} contains a list of &-seperated options of the form @var{key}=@var{val}.
Follow the list of supported options.
@var{options} contains a list of &-separated options of the form @var{key}=@var{val}.
In case threading is enabled on the system, a circular buffer is used
to store the incoming data, which allows to reduce loss of data due to
UDP socket buffer overruns. The @var{fifo_size} and
@var{overrun_nonfatal} options are related to this buffer.
The list of supported options follows.
@table @option
@item buffer_size=@var{size}
set the UDP buffer size in bytes
Set the UDP socket buffer size in bytes. This is used both for the
receiving and the sending buffer size.
@item localport=@var{port}
override the local UDP port to bind with
Override the local UDP port to bind with.
@item localaddr=@var{addr}
Choose the local IP address. This is useful e.g. if sending multicast
@@ -486,13 +674,13 @@ and the host has multiple interfaces, where the user can choose
which interface to send on by specifying the IP address of that interface.
@item pkt_size=@var{size}
set the size in bytes of UDP packets
Set the size in bytes of UDP packets.
@item reuse=@var{1|0}
explicitly allow or disallow reusing UDP sockets
Explicitly allow or disallow reusing UDP sockets.
@item ttl=@var{ttl}
set the time to live value (for multicast only)
Set the time to live value (for multicast only).
@item connect=@var{1|0}
Initialize the UDP socket with @code{connect()}. In this case, the
@@ -504,9 +692,28 @@ and makes writes return with AVERROR(ECONNREFUSED) if "destination
unreachable" is received.
For receiving, this gives the benefit of only receiving packets from
the specified peer address/port.
@item sources=@var{address}[,@var{address}]
Only receive packets sent to the multicast group from one of the
specified sender IP addresses.
@item block=@var{address}[,@var{address}]
Ignore packets sent to the multicast group from the specified
sender IP addresses.
@item fifo_size=@var{units}
Set the UDP receiving circular buffer size, expressed as a number of
packets with size of 188 bytes. If not specified defaults to 7*4096.
@item overrun_nonfatal=@var{1|0}
Survive in case of UDP receiving circular buffer overrun. Default
value is 0.
@item timeout=@var{microseconds}
In read mode: if no data arrived in more than this time interval, raise error.
@end table
Some usage examples of the udp protocol with @command{ffmpeg} follow.
Some usage examples of the UDP protocol with @command{ffmpeg} follow.
To stream over UDP to a remote endpoint:
@example

View File

@@ -23,7 +23,7 @@ Let's consider the problem of minimizing:
rate is the filesize
distortion is the quality
lambda is a fixed value choosen as a tradeoff between quality and filesize
lambda is a fixed value chosen as a tradeoff between quality and filesize
Is this equivalent to finding the best quality for a given max
filesize? The answer is yes. For each filesize limit there is some lambda
factor for which minimizing above will get you the best quality (using your

View File

@@ -31,7 +31,7 @@ Special Converter v
v
Output
Planar/Packed convertion is done when needed during sample format convertion
Planar/Packed conversion is done when needed during sample format conversion.
Every step can be skipped without memcpy when its not needed.
Either Resampling and Rematrixing can be performed first depending on which
way its faster.
@@ -39,8 +39,8 @@ The Buffers are needed for resampling due to resamplng being a process that
requires future and past data, it thus also introduces inevitably a delay when
used.
Internally 32bit float and 16bit int is supported currently, other formats can
easily be added
easily be added.
Externally all sample formats in packed and planar configuration are supported
Its also trivial to add special converters for common cases
If only sample format and or packed/planar convertion is needed it
It's also trivial to add special converters for common cases.
If only sample format and/or packed/planar conversion is needed, it
is performed from input to output directly in a single pass with no intermediates.

View File

@@ -58,7 +58,7 @@ Input to YUV Converter
Horizontal scaler
There are several horizontal scalers. A special case worth mentioning is
the fast bilinear scaler that is made of runtime-generated MMX2 code
the fast bilinear scaler that is made of runtime-generated MMXEXT code
using specially tuned pshufw instructions.
The remaining scalers are specially-tuned for various filter lengths.
They scale 8-bit unsigned planar data to 16-bit signed planar data.

View File

@@ -1,9 +1,81 @@
@chapter Syntax
@c man begin SYNTAX
When evaluating specific formats, FFmpeg uses internal library parsing
functions, shared by the tools. This section documents the syntax of
some of these formats.
This section documents the syntax and formats employed by the FFmpeg
libraries and tools.
@anchor{quoting_and_escaping}
@section Quoting and escaping
FFmpeg adopts the following quoting and escaping mechanism, unless
explicitly specified. The following rules are applied:
@itemize
@item
@code{'} and @code{\} are special characters (respectively used for
quoting and escaping). In addition to them, there might be other
special characters depending on the specific syntax where the escaping
and quoting are employed.
@item
A special character is escaped by prefixing it with a '\'.
@item
All characters enclosed between '' are included literally in the
parsed string. The quote character @code{'} itself cannot be quoted,
so you may need to close the quote and escape it.
@item
Leading and trailing whitespaces, unless escaped or quoted, are
removed from the parsed string.
@end itemize
Note that you may need to add a second level of escaping when using
the command line or a script, which depends on the syntax of the
adopted shell language.
The function @code{av_get_token} defined in
@file{libavutil/avstring.h} can be used to parse a token quoted or
escaped according to the rules defined above.
The tool @file{tools/ffescape} in the FFmpeg source tree can be used
to automatically quote or escape a string in a script.
@subsection Examples
@itemize
@item
Escape the string @code{Crime d'Amour} containing the @code{'} special
character:
@example
Crime d\'Amour
@end example
@item
The string above contains a quote, so the @code{'} needs to be escaped
when quoting it:
@example
'Crime d'\''Amour'
@end example
@item
Include leading or trailing whitespaces using quoting:
@example
' this string starts and ends with whitespaces '
@end example
@item
Escaping and quoting can be mixed together:
@example
' The string '\'string\'' is a string '
@end example
@item
To include a literal @code{\} you can use either escaping or quoting:
@example
'c:\foo' can be written as c:\\foo
@end example
@end itemize
@anchor{date syntax}
@section Date
@@ -144,7 +216,7 @@ The undefined value can be expressed using the "0:0" string.
@section Color
It can be the name of a color (case insensitive match) or a
[0x|#]RRGGBB[AA] sequence, possibly followed by "@" and a string
[0x|#]RRGGBB[AA] sequence, possibly followed by "@@" and a string
representing the alpha component.
The alpha component may be a string composed by "0x" followed by an

View File

@@ -6,73 +6,18 @@ sub FFmpeg_end_section($$)
$EXTRA_HEAD =
'<link rel="icon" href="favicon.png" type="image/png" />
<link rel="stylesheet" type="text/css" href="default.css" />
';
$CSS_LINES = <<EOT;
<style type="text/css">
<!--
a.summary-letter { text-decoration: none }
a { color: #2D6198; }
a:visited { color: #884488; }
h1 a, h2 a, h3 a { text-decoration: inherit; color: inherit; }
p { margin-left: 1em; margin-right: 1em; }
table { margin-left: 2em; }
pre { margin-left: 2em; }
#footer { text-align: center; }
#body { margin-left: 1em; margin-right: 1em; }
body { background-color: #313131; margin: 0; }
#container {
background-color: white;
color: #202020;
margin-left: 1em;
margin-right: 1em;
}
h1 {
background-color: #7BB37B;
border: 1px solid #6A996A;
color: #151515;
font-size: 1.2em;
padding-bottom: 0.2em;
padding-left: 0.4em;
padding-top: 0.2em;
}
h2 {
color: #313131;
font-size: 1.2em;
}
h3 {
color: #313131;
font-size: 0.8em;
margin-bottom: -8px;
}
.note {
margin: 1em;
border: 1px solid #bbc9d8;
background-color: #dde1e1;
}
.important {
margin: 1em;
border: 1px solid #d26767;
background-color: #f8e1e1;
}
-->
</style>
$CSS_LINES = $ENV{"FFMPEG_CSS"} || <<EOT;
<link rel="stylesheet" type="text/css" href="default.css" />
EOT
my $FFMPEG_NAVBAR = $ENV{"FFMPEG_NAVBAR"} || '';
$AFTER_BODY_OPEN =
'<div id="container">' .
"\n$FFMPEG_NAVBAR\n" .
'<div id="body">';
my $TEMPLATE_HEADER = $ENV{"FFMPEG_HEADER"} || <<EOT;
<link rel="icon" href="favicon.png" type="image/png" />
</head>
<body>
<div id="container">
EOT
$PRE_BODY_CLOSE = '</div></div>';
@@ -83,9 +28,11 @@ $print_page_foot = \&FFmpeg_print_page_foot;
sub FFmpeg_print_page_foot($$)
{
my $fh = shift;
print $fh '<div id="footer">' . "\n";
T2H_DEFAULT_print_page_foot($fh);
print $fh "</div>\n";
my $program_string = defined &T2H_DEFAULT_program_string ?
T2H_DEFAULT_program_string() : program_string();
print $fh '<footer class="footer pagination-right">' . "\n";
print $fh '<span class="label label-info">' . $program_string;
print $fh "</span></footer></div>\n";
}
$float = \&FFmpeg_float;
@@ -107,11 +54,11 @@ sub FFmpeg_float($$$$)
if ($caption =~ /NOTE/)
{
$class = "note";
$class = "alert alert-info";
}
elsif ($caption =~ /IMPORTANT/)
{
$class = "important";
$class = "alert alert-warning";
}
return '<div class="float ' . $class . '">' . "$label\n" . $text . '</div>';
@@ -134,7 +81,7 @@ sub FFmpeg_print_page_head($$)
$longtitle = "FFmpeg documentation : " . $longtitle;
print $fh <<EOT;
$DOCTYPE
<!DOCTYPE html>
<html>
$Texi2HTML::THISDOC{'copying'}<!-- Created on $Texi2HTML::THISDOC{today} by $Texi2HTML::THISDOC{program} -->
<!--
@@ -150,14 +97,13 @@ $description
<meta name="Generator" content="$Texi2HTML::THISDOC{program}">
$encoding
$CSS_LINES
$EXTRA_HEAD
</head>
<body $BODYTEXT>
$AFTER_BODY_OPEN
$TEMPLATE_HEADER
EOT
}
# declare encoding in header
$IN_ENCODING = $ENCODING = "utf-8";
# no navigation elements
$SECTION_NAVIGATION = 0;
# the same for texi2html 5.0

View File

@@ -1,4 +1,4 @@
#! /usr/bin/perl -w
#! /usr/bin/perl
# Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
@@ -23,11 +23,13 @@
# markup to Perl POD format. It's intended to be used to extract
# something suitable for a manpage from a Texinfo document.
use warnings;
$output = 0;
$skipping = 0;
%sects = ();
@sects_sequence = ();
$section = "";
%chapters = ();
@chapters_sequence = ();
$chapter = "";
@icstack = ();
@endwstack = ();
@skstack = ();
@@ -114,18 +116,24 @@ INF: while(<$inf>) {
die "cannot open $1: $!\n";
};
# Look for blocks surrounded by @c man begin SECTION ... @c man end.
# This really oughta be @ifman ... @end ifman and the like, but such
# would require rev'ing all other Texinfo translators.
/^\@c\s+man\s+begin\s+([A-Za-z ]+)/ and $sect = $1, push (@sects_sequence, $sect), $output = 1, next;
/^\@c\s+man\s+end/ and do {
$sects{$sect} = "" unless exists $sects{$sect};
$sects{$sect} .= postprocess($section);
$section = "";
$output = 0;
/^\@chapter\s+([A-Za-z ]+)/ and do {
# close old chapter
$chapters{$chapter_name} .= postprocess($chapter) if ($chapter_name);
# start new chapter
$chapter_name = $1, push (@chapters_sequence, $chapter_name);
$chapters{$chapter_name} = "" unless exists $chapters{$chapter_name};
$chapter = "";
$output = 1;
next;
};
/^\@bye/ and do {
# close old chapter
$chapters{$chapter_name} .= postprocess($chapter) if ($chapter_name);
last INF;
};
# handle variables
/^\@set\s+([a-zA-Z0-9_-]+)\s*(.*)$/ and do {
$defs{$1} = $2;
@@ -148,14 +156,14 @@ INF: while(<$inf>) {
# Ignore @end foo, where foo is not an operation which may
# cause us to skip, if we are presently skipping.
my $ended = $1;
next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex)$/;
next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex|ifhtml|ifnothtml)$/;
die "\@end $ended without \@$ended at line $.\n" unless defined $endw;
die "\@$endw ended by \@end $ended at line $.\n" unless $ended eq $endw;
$endw = pop @endwstack;
if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) {
if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex|ifhtml|ifnothtml)$/) {
$skipping = pop @skstack;
next;
} elsif ($ended =~ /^(?:example|smallexample|display)$/) {
@@ -188,11 +196,11 @@ INF: while(<$inf>) {
next;
};
/^\@(ignore|menu|iftex)\b/ and do {
/^\@(ignore|menu|iftex|ifhtml|ifnothtml)\b/ and do {
push @endwstack, $endw;
push @skstack, $skipping;
$endw = $1;
$skipping = 1;
$skipping = $endw !~ /ifnothtml/;
next;
};
@@ -209,7 +217,6 @@ INF: while(<$inf>) {
s/\@TeX\{\}/TeX/g;
s/\@pounds\{\}/\#/g;
s/\@minus(?:\{\})?/-/g;
s/\\,/,/g;
# Now the ones that have to be replaced by special escapes
# (which will be turned back into text by unmunge())
@@ -267,7 +274,7 @@ INF: while(<$inf>) {
push @icstack, $ic;
$endw = $1;
$ic = $2;
$ic =~ s/\@(?:samp|strong|key|gcctabopt|option|env)/B/;
$ic =~ s/\@(?:samp|strong|key|gcctabopt|option|env|command)/B/;
$ic =~ s/\@(?:code|kbd)/C/;
$ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
$ic =~ s/\@(?:file)/F/;
@@ -292,7 +299,7 @@ INF: while(<$inf>) {
}
};
$section .= $shift.$_."\n";
$chapter .= $shift.$_."\n";
}
# End of current file.
close($inf);
@@ -301,16 +308,15 @@ $inf = pop @instack;
die "No filename or title\n" unless defined $fn && defined $tl;
$sects{NAME} = "$fn \- $tl\n";
$sects{FOOTNOTES} .= "=back\n" if exists $sects{FOOTNOTES};
$chapters{NAME} = "$fn \- $tl\n";
$chapters{FOOTNOTES} .= "=back\n" if exists $chapters{FOOTNOTES};
unshift @sects_sequence, "NAME";
for $sect (@sects_sequence) {
if(exists $sects{$sect}) {
$head = $sect;
$head =~ s/SEEALSO/SEE ALSO/;
unshift @chapters_sequence, "NAME";
for $chapter (@chapters_sequence) {
if (exists $chapters{$chapter}) {
$head = uc($chapter);
print "=head1 $head\n\n";
print scalar unmunge ($sects{$sect});
print scalar unmunge ($chapters{$chapter});
print "\n";
}
}
@@ -364,7 +370,7 @@ sub postprocess
# @uref can take one, two, or three arguments, with different
# semantics each time. @url and @email are just like @uref with
# one argument, for our purposes.
s/\@(?:uref|url|email)\{([^\},]*)\}/&lt;B<$1>&gt;/g;
s/\@(?:uref|url|email)\{([^\},]*),?[^\}]*\}/&lt;B<$1>&gt;/g;
s/\@uref\{([^\},]*),([^\},]*)\}/$2 (C<$1>)/g;
s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g;
@@ -408,13 +414,13 @@ sub unmunge
sub add_footnote
{
unless (exists $sects{FOOTNOTES}) {
$sects{FOOTNOTES} = "\n=over 4\n\n";
unless (exists $chapters{FOOTNOTES}) {
$chapters{FOOTNOTES} = "\n=over 4\n\n";
}
$sects{FOOTNOTES} .= "=item $fnno.\n\n"; $fnno++;
$sects{FOOTNOTES} .= $_[0];
$sects{FOOTNOTES} .= "\n\n";
$chapters{FOOTNOTES} .= "=item $fnno.\n\n"; $fnno++;
$chapters{FOOTNOTES} .= $_[0];
$chapters{FOOTNOTES} .= "\n\n";
}
# stolen from Symbol.pm

View File

@@ -85,8 +85,8 @@ here are some edges we could choose from:
/ \
O-----2--4--O
Finding the new best pathes and scores for each point of our new column is
trivial given we know the previous column best pathes and scores:
Finding the new best paths and scores for each point of our new column is
trivial given we know the previous column best paths and scores:
O-----0-----8
\

5265
ffmpeg.c

File diff suppressed because it is too large Load Diff

420
ffmpeg.h Normal file
View File

@@ -0,0 +1,420 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef FFMPEG_H
#define FFMPEG_H
#include "config.h"
#include <stdint.h>
#include <stdio.h>
#include <signal.h>
#if HAVE_PTHREADS
#include <pthread.h>
#endif
#include "cmdutils.h"
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavutil/avutil.h"
#include "libavutil/dict.h"
#include "libavutil/fifo.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "libswresample/swresample.h"
#define VSYNC_AUTO -1
#define VSYNC_PASSTHROUGH 0
#define VSYNC_CFR 1
#define VSYNC_VFR 2
#define VSYNC_DROP 0xff
#define MAX_STREAMS 1024 /* arbitrary sanity check value */
/* select an input stream for an output stream */
typedef struct StreamMap {
int disabled; /* 1 is this mapping is disabled by a negative map */
int file_index;
int stream_index;
int sync_file_index;
int sync_stream_index;
char *linklabel; /* name of an output link, for mapping lavfi outputs */
} StreamMap;
typedef struct {
int file_idx, stream_idx, channel_idx; // input
int ofile_idx, ostream_idx; // output
} AudioChannelMap;
typedef struct OptionsContext {
OptionGroup *g;
/* input/output options */
int64_t start_time;
const char *format;
SpecifierOpt *codec_names;
int nb_codec_names;
SpecifierOpt *audio_channels;
int nb_audio_channels;
SpecifierOpt *audio_sample_rate;
int nb_audio_sample_rate;
SpecifierOpt *frame_rates;
int nb_frame_rates;
SpecifierOpt *frame_sizes;
int nb_frame_sizes;
SpecifierOpt *frame_pix_fmts;
int nb_frame_pix_fmts;
/* input options */
int64_t input_ts_offset;
int rate_emu;
SpecifierOpt *ts_scale;
int nb_ts_scale;
SpecifierOpt *dump_attachment;
int nb_dump_attachment;
/* output options */
StreamMap *stream_maps;
int nb_stream_maps;
AudioChannelMap *audio_channel_maps; /* one info entry per -map_channel */
int nb_audio_channel_maps; /* number of (valid) -map_channel settings */
int metadata_global_manual;
int metadata_streams_manual;
int metadata_chapters_manual;
const char **attachments;
int nb_attachments;
int chapters_input_file;
int64_t recording_time;
uint64_t limit_filesize;
float mux_preload;
float mux_max_delay;
int shortest;
int video_disable;
int audio_disable;
int subtitle_disable;
int data_disable;
/* indexed by output file stream index */
int *streamid_map;
int nb_streamid_map;
SpecifierOpt *metadata;
int nb_metadata;
SpecifierOpt *max_frames;
int nb_max_frames;
SpecifierOpt *bitstream_filters;
int nb_bitstream_filters;
SpecifierOpt *codec_tags;
int nb_codec_tags;
SpecifierOpt *sample_fmts;
int nb_sample_fmts;
SpecifierOpt *qscale;
int nb_qscale;
SpecifierOpt *forced_key_frames;
int nb_forced_key_frames;
SpecifierOpt *force_fps;
int nb_force_fps;
SpecifierOpt *frame_aspect_ratios;
int nb_frame_aspect_ratios;
SpecifierOpt *rc_overrides;
int nb_rc_overrides;
SpecifierOpt *intra_matrices;
int nb_intra_matrices;
SpecifierOpt *inter_matrices;
int nb_inter_matrices;
SpecifierOpt *top_field_first;
int nb_top_field_first;
SpecifierOpt *metadata_map;
int nb_metadata_map;
SpecifierOpt *presets;
int nb_presets;
SpecifierOpt *copy_initial_nonkeyframes;
int nb_copy_initial_nonkeyframes;
SpecifierOpt *copy_prior_start;
int nb_copy_prior_start;
SpecifierOpt *filters;
int nb_filters;
SpecifierOpt *reinit_filters;
int nb_reinit_filters;
SpecifierOpt *fix_sub_duration;
int nb_fix_sub_duration;
SpecifierOpt *pass;
int nb_pass;
SpecifierOpt *passlogfiles;
int nb_passlogfiles;
} OptionsContext;
typedef struct InputFilter {
AVFilterContext *filter;
struct InputStream *ist;
struct FilterGraph *graph;
uint8_t *name;
} InputFilter;
typedef struct OutputFilter {
AVFilterContext *filter;
struct OutputStream *ost;
struct FilterGraph *graph;
uint8_t *name;
/* temporary storage until stream maps are processed */
AVFilterInOut *out_tmp;
} OutputFilter;
typedef struct FilterGraph {
int index;
const char *graph_desc;
AVFilterGraph *graph;
InputFilter **inputs;
int nb_inputs;
OutputFilter **outputs;
int nb_outputs;
} FilterGraph;
typedef struct InputStream {
int file_index;
AVStream *st;
int discard; /* true if stream data should be discarded */
int decoding_needed; /* true if the packets must be decoded in 'raw_fifo' */
AVCodec *dec;
AVFrame *decoded_frame;
int64_t start; /* time when read started */
/* predicted dts of the next packet read for this stream or (when there are
* several frames in a packet) of the next frame in current packet (in AV_TIME_BASE units) */
int64_t next_dts;
int64_t dts; ///< dts of the last packet read for this stream (in AV_TIME_BASE units)
int64_t next_pts; ///< synthetic pts for the next decode frame (in AV_TIME_BASE units)
int64_t pts; ///< current pts of the decoded frame (in AV_TIME_BASE units)
int wrap_correction_done;
int64_t filter_in_rescale_delta_last;
double ts_scale;
int is_start; /* is 1 at the start and after a discontinuity */
int saw_first_ts;
int showed_multi_packet_warning;
AVDictionary *opts;
AVRational framerate; /* framerate forced with -r */
int top_field_first;
int resample_height;
int resample_width;
int resample_pix_fmt;
int resample_sample_fmt;
int resample_sample_rate;
int resample_channels;
uint64_t resample_channel_layout;
int fix_sub_duration;
struct { /* previous decoded subtitle and related variables */
int got_output;
int ret;
AVSubtitle subtitle;
} prev_sub;
struct sub2video {
int64_t last_pts;
int64_t end_pts;
AVFilterBufferRef *ref;
int w, h;
} sub2video;
/* a pool of free buffers for decoded data */
FrameBuffer *buffer_pool;
int dr1;
/* decoded data from this stream goes into all those filters
* currently video and audio only */
InputFilter **filters;
int nb_filters;
int reinit_filters;
} InputStream;
typedef struct InputFile {
AVFormatContext *ctx;
int eof_reached; /* true if eof reached */
int eagain; /* true if last read attempt returned EAGAIN */
int ist_index; /* index of first stream in input_streams */
int64_t ts_offset;
int nb_streams; /* number of stream that ffmpeg is aware of; may be different
from ctx.nb_streams if new streams appear during av_read_frame() */
int nb_streams_warn; /* number of streams that the user was warned of */
int rate_emu;
#if HAVE_PTHREADS
pthread_t thread; /* thread reading from this file */
int finished; /* the thread has exited */
int joined; /* the thread has been joined */
pthread_mutex_t fifo_lock; /* lock for access to fifo */
pthread_cond_t fifo_cond; /* the main thread will signal on this cond after reading from fifo */
AVFifoBuffer *fifo; /* demuxed packets are stored here; freed by the main thread */
#endif
} InputFile;
typedef struct OutputStream {
int file_index; /* file index */
int index; /* stream index in the output file */
int source_index; /* InputStream index */
AVStream *st; /* stream in the output file */
int encoding_needed; /* true if encoding needed for this stream */
int frame_number;
/* input pts and corresponding output pts
for A/V sync */
struct InputStream *sync_ist; /* input stream to sync against */
int64_t sync_opts; /* output frame counter, could be changed to some true timestamp */ // FIXME look at frame_number
/* pts of the first frame encoded for this stream, used for limiting
* recording time */
int64_t first_pts;
AVBitStreamFilterContext *bitstream_filters;
AVCodec *enc;
int64_t max_frames;
AVFrame *filtered_frame;
/* video only */
AVRational frame_rate;
int force_fps;
int top_field_first;
float frame_aspect_ratio;
/* forced key frames */
int64_t *forced_kf_pts;
int forced_kf_count;
int forced_kf_index;
char *forced_keyframes;
/* audio only */
int audio_channels_map[SWR_CH_MAX]; /* list of the channels id to pick from the source stream */
int audio_channels_mapped; /* number of channels in audio_channels_map */
char *logfile_prefix;
FILE *logfile;
OutputFilter *filter;
char *avfilter;
int64_t sws_flags;
int64_t swr_filter_type;
int64_t swr_dither_method;
double swr_dither_scale;
AVDictionary *opts;
int finished; /* no more packets should be written for this stream */
int unavailable; /* true if the steram is unavailable (possibly temporarily) */
int stream_copy;
const char *attachment_filename;
int copy_initial_nonkeyframes;
int copy_prior_start;
int keep_pix_fmt;
} OutputStream;
typedef struct OutputFile {
AVFormatContext *ctx;
AVDictionary *opts;
int ost_index; /* index of the first stream in output_streams */
int64_t recording_time; ///< desired length of the resulting file in microseconds == AV_TIME_BASE units
int64_t start_time; ///< start time in microseconds == AV_TIME_BASE units
uint64_t limit_filesize; /* filesize limit expressed in bytes */
int shortest;
} OutputFile;
extern InputStream **input_streams;
extern int nb_input_streams;
extern InputFile **input_files;
extern int nb_input_files;
extern OutputStream **output_streams;
extern int nb_output_streams;
extern OutputFile **output_files;
extern int nb_output_files;
extern FilterGraph **filtergraphs;
extern int nb_filtergraphs;
extern char *vstats_filename;
extern float audio_drift_threshold;
extern float dts_delta_threshold;
extern float dts_error_threshold;
extern int audio_volume;
extern int audio_sync_method;
extern int video_sync_method;
extern int do_benchmark;
extern int do_benchmark_all;
extern int do_deinterlace;
extern int do_hex_dump;
extern int do_pkt_dump;
extern int copy_ts;
extern int copy_tb;
extern int debug_ts;
extern int exit_on_error;
extern int print_stats;
extern int qp_hist;
extern int stdin_interaction;
extern int frame_bits_per_raw_sample;
extern AVIOContext *progress_avio;
extern const AVIOInterruptCB int_cb;
extern const OptionDef options[];
void term_init(void);
void term_exit(void);
void reset_options(OptionsContext *o, int is_input);
void show_usage(void);
void opt_output_file(void *optctx, const char *filename);
void assert_avoptions(AVDictionary *m);
int guess_input_channel_layout(InputStream *ist);
enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodec *codec, enum AVPixelFormat target);
void choose_sample_fmt(AVStream *st, AVCodec *codec);
int configure_filtergraph(FilterGraph *fg);
int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out);
int ist_in_filtergraph(FilterGraph *fg, InputStream *ist);
FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost);
int ffmpeg_parse_options(int argc, char **argv);
#endif /* FFMPEG_H */

790
ffmpeg_filter.c Normal file
View File

@@ -0,0 +1,790 @@
/*
* ffmpeg filter configuration
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "ffmpeg.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavfilter/buffersink.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/pixfmt.h"
#include "libavutil/imgutils.h"
#include "libavutil/samplefmt.h"
enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodec *codec, enum AVPixelFormat target)
{
if (codec && codec->pix_fmts) {
const enum AVPixelFormat *p = codec->pix_fmts;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(target);
int has_alpha = desc ? desc->nb_components % 2 == 0 : 0;
enum AVPixelFormat best= AV_PIX_FMT_NONE;
if (st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
if (st->codec->codec_id == AV_CODEC_ID_MJPEG) {
p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE };
} else if (st->codec->codec_id == AV_CODEC_ID_LJPEG) {
p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P,
AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE };
}
}
for (; *p != AV_PIX_FMT_NONE; p++) {
best= avcodec_find_best_pix_fmt_of_2(best, *p, target, has_alpha, NULL);
if (*p == target)
break;
}
if (*p == AV_PIX_FMT_NONE) {
if (target != AV_PIX_FMT_NONE)
av_log(NULL, AV_LOG_WARNING,
"Incompatible pixel format '%s' for codec '%s', auto-selecting format '%s'\n",
av_get_pix_fmt_name(target),
codec->name,
av_get_pix_fmt_name(best));
return best;
}
}
return target;
}
void choose_sample_fmt(AVStream *st, AVCodec *codec)
{
if (codec && codec->sample_fmts) {
const enum AVSampleFormat *p = codec->sample_fmts;
for (; *p != -1; p++) {
if (*p == st->codec->sample_fmt)
break;
}
if (*p == -1) {
if((codec->capabilities & CODEC_CAP_LOSSLESS) && av_get_sample_fmt_name(st->codec->sample_fmt) > av_get_sample_fmt_name(codec->sample_fmts[0]))
av_log(NULL, AV_LOG_ERROR, "Conversion will not be lossless.\n");
if(av_get_sample_fmt_name(st->codec->sample_fmt))
av_log(NULL, AV_LOG_WARNING,
"Incompatible sample format '%s' for codec '%s', auto-selecting format '%s'\n",
av_get_sample_fmt_name(st->codec->sample_fmt),
codec->name,
av_get_sample_fmt_name(codec->sample_fmts[0]));
st->codec->sample_fmt = codec->sample_fmts[0];
}
}
}
static char *choose_pix_fmts(OutputStream *ost)
{
if (ost->keep_pix_fmt) {
if (ost->filter)
avfilter_graph_set_auto_convert(ost->filter->graph->graph,
AVFILTER_AUTO_CONVERT_NONE);
if (ost->st->codec->pix_fmt == AV_PIX_FMT_NONE)
return NULL;
return av_strdup(av_get_pix_fmt_name(ost->st->codec->pix_fmt));
}
if (ost->st->codec->pix_fmt != AV_PIX_FMT_NONE) {
return av_strdup(av_get_pix_fmt_name(choose_pixel_fmt(ost->st, ost->enc, ost->st->codec->pix_fmt)));
} else if (ost->enc && ost->enc->pix_fmts) {
const enum AVPixelFormat *p;
AVIOContext *s = NULL;
uint8_t *ret;
int len;
if (avio_open_dyn_buf(&s) < 0)
exit(1);
p = ost->enc->pix_fmts;
if (ost->st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
if (ost->st->codec->codec_id == AV_CODEC_ID_MJPEG) {
p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE };
} else if (ost->st->codec->codec_id == AV_CODEC_ID_LJPEG) {
p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P,
AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE };
}
}
for (; *p != AV_PIX_FMT_NONE; p++) {
const char *name = av_get_pix_fmt_name(*p);
avio_printf(s, "%s:", name);
}
len = avio_close_dyn_buf(s, &ret);
ret[len - 1] = 0;
return ret;
} else
return NULL;
}
/* Define a function for building a string containing a list of
* allowed formats. */
#define DEF_CHOOSE_FORMAT(type, var, supported_list, none, get_name, separator)\
static char *choose_ ## var ## s(OutputStream *ost) \
{ \
if (ost->st->codec->var != none) { \
get_name(ost->st->codec->var); \
return av_strdup(name); \
} else if (ost->enc->supported_list) { \
const type *p; \
AVIOContext *s = NULL; \
uint8_t *ret; \
int len; \
\
if (avio_open_dyn_buf(&s) < 0) \
exit(1); \
\
for (p = ost->enc->supported_list; *p != none; p++) { \
get_name(*p); \
avio_printf(s, "%s" separator, name); \
} \
len = avio_close_dyn_buf(s, &ret); \
ret[len - 1] = 0; \
return ret; \
} else \
return NULL; \
}
// DEF_CHOOSE_FORMAT(enum AVPixelFormat, pix_fmt, pix_fmts, AV_PIX_FMT_NONE,
// GET_PIX_FMT_NAME, ":")
DEF_CHOOSE_FORMAT(enum AVSampleFormat, sample_fmt, sample_fmts,
AV_SAMPLE_FMT_NONE, GET_SAMPLE_FMT_NAME, ",")
DEF_CHOOSE_FORMAT(int, sample_rate, supported_samplerates, 0,
GET_SAMPLE_RATE_NAME, ",")
DEF_CHOOSE_FORMAT(uint64_t, channel_layout, channel_layouts, 0,
GET_CH_LAYOUT_NAME, ",")
FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
{
FilterGraph *fg = av_mallocz(sizeof(*fg));
if (!fg)
exit(1);
fg->index = nb_filtergraphs;
GROW_ARRAY(fg->outputs, fg->nb_outputs);
if (!(fg->outputs[0] = av_mallocz(sizeof(*fg->outputs[0]))))
exit(1);
fg->outputs[0]->ost = ost;
fg->outputs[0]->graph = fg;
ost->filter = fg->outputs[0];
GROW_ARRAY(fg->inputs, fg->nb_inputs);
if (!(fg->inputs[0] = av_mallocz(sizeof(*fg->inputs[0]))))
exit(1);
fg->inputs[0]->ist = ist;
fg->inputs[0]->graph = fg;
GROW_ARRAY(ist->filters, ist->nb_filters);
ist->filters[ist->nb_filters - 1] = fg->inputs[0];
GROW_ARRAY(filtergraphs, nb_filtergraphs);
filtergraphs[nb_filtergraphs - 1] = fg;
return fg;
}
static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
{
InputStream *ist = NULL;
enum AVMediaType type = avfilter_pad_get_type(in->filter_ctx->input_pads, in->pad_idx);
int i;
// TODO: support other filter types
if (type != AVMEDIA_TYPE_VIDEO && type != AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_FATAL, "Only video and audio filters supported "
"currently.\n");
exit(1);
}
if (in->name) {
AVFormatContext *s;
AVStream *st = NULL;
char *p;
int file_idx = strtol(in->name, &p, 0);
if (file_idx < 0 || file_idx >= nb_input_files) {
av_log(NULL, AV_LOG_FATAL, "Invalid file index %d in filtergraph description %s.\n",
file_idx, fg->graph_desc);
exit(1);
}
s = input_files[file_idx]->ctx;
for (i = 0; i < s->nb_streams; i++) {
enum AVMediaType stream_type = s->streams[i]->codec->codec_type;
if (stream_type != type &&
!(stream_type == AVMEDIA_TYPE_SUBTITLE &&
type == AVMEDIA_TYPE_VIDEO /* sub2video hack */))
continue;
if (check_stream_specifier(s, s->streams[i], *p == ':' ? p + 1 : p) == 1) {
st = s->streams[i];
break;
}
}
if (!st) {
av_log(NULL, AV_LOG_FATAL, "Stream specifier '%s' in filtergraph description %s "
"matches no streams.\n", p, fg->graph_desc);
exit(1);
}
ist = input_streams[input_files[file_idx]->ist_index + st->index];
} else {
/* find the first unused stream of corresponding type */
for (i = 0; i < nb_input_streams; i++) {
ist = input_streams[i];
if (ist->st->codec->codec_type == type && ist->discard)
break;
}
if (i == nb_input_streams) {
av_log(NULL, AV_LOG_FATAL, "Cannot find a matching stream for "
"unlabeled input pad %d on filter %s\n", in->pad_idx,
in->filter_ctx->name);
exit(1);
}
}
av_assert0(ist);
ist->discard = 0;
ist->decoding_needed++;
ist->st->discard = AVDISCARD_NONE;
GROW_ARRAY(fg->inputs, fg->nb_inputs);
if (!(fg->inputs[fg->nb_inputs - 1] = av_mallocz(sizeof(*fg->inputs[0]))))
exit(1);
fg->inputs[fg->nb_inputs - 1]->ist = ist;
fg->inputs[fg->nb_inputs - 1]->graph = fg;
GROW_ARRAY(ist->filters, ist->nb_filters);
ist->filters[ist->nb_filters - 1] = fg->inputs[fg->nb_inputs - 1];
}
static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
char *pix_fmts;
OutputStream *ost = ofilter->ost;
AVCodecContext *codec = ost->st->codec;
AVFilterContext *last_filter = out->filter_ctx;
int pad_idx = out->pad_idx;
int ret;
char name[255];
AVBufferSinkParams *buffersink_params = av_buffersink_params_alloc();
snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&ofilter->filter,
avfilter_get_by_name("ffbuffersink"),
name, NULL, NULL, fg->graph);
av_freep(&buffersink_params);
if (ret < 0)
return ret;
if (codec->width || codec->height) {
char args[255];
AVFilterContext *filter;
snprintf(args, sizeof(args), "%d:%d:flags=0x%X",
codec->width,
codec->height,
(unsigned)ost->sws_flags);
snprintf(name, sizeof(name), "scaler for output stream %d:%d",
ost->file_index, ost->index);
if ((ret = avfilter_graph_create_filter(&filter, avfilter_get_by_name("scale"),
name, args, NULL, fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(last_filter, pad_idx, filter, 0)) < 0)
return ret;
last_filter = filter;
pad_idx = 0;
}
if ((pix_fmts = choose_pix_fmts(ost))) {
AVFilterContext *filter;
snprintf(name, sizeof(name), "pixel format for output stream %d:%d",
ost->file_index, ost->index);
if ((ret = avfilter_graph_create_filter(&filter,
avfilter_get_by_name("format"),
"format", pix_fmts, NULL,
fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(last_filter, pad_idx, filter, 0)) < 0)
return ret;
last_filter = filter;
pad_idx = 0;
av_freep(&pix_fmts);
}
if (ost->frame_rate.num && 0) {
AVFilterContext *fps;
char args[255];
snprintf(args, sizeof(args), "fps=%d/%d", ost->frame_rate.num,
ost->frame_rate.den);
snprintf(name, sizeof(name), "fps for output stream %d:%d",
ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&fps, avfilter_get_by_name("fps"),
name, args, NULL, fg->graph);
if (ret < 0)
return ret;
ret = avfilter_link(last_filter, pad_idx, fps, 0);
if (ret < 0)
return ret;
last_filter = fps;
pad_idx = 0;
}
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
return ret;
return 0;
}
static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
OutputStream *ost = ofilter->ost;
AVCodecContext *codec = ost->st->codec;
AVFilterContext *last_filter = out->filter_ctx;
int pad_idx = out->pad_idx;
char *sample_fmts, *sample_rates, *channel_layouts;
char name[255];
int ret;
snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&ofilter->filter,
avfilter_get_by_name("ffabuffersink"),
name, NULL, NULL, fg->graph);
if (ret < 0)
return ret;
#define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \
AVFilterContext *filt_ctx; \
\
av_log(NULL, AV_LOG_INFO, opt_name " is forwarded to lavfi " \
"similarly to -af " filter_name "=%s.\n", arg); \
\
ret = avfilter_graph_create_filter(&filt_ctx, \
avfilter_get_by_name(filter_name), \
filter_name, arg, NULL, fg->graph); \
if (ret < 0) \
return ret; \
\
ret = avfilter_link(last_filter, pad_idx, filt_ctx, 0); \
if (ret < 0) \
return ret; \
\
last_filter = filt_ctx; \
pad_idx = 0; \
} while (0)
if (ost->audio_channels_mapped) {
int i;
AVBPrint pan_buf;
av_bprint_init(&pan_buf, 256, 8192);
av_bprintf(&pan_buf, "0x%"PRIx64,
av_get_default_channel_layout(ost->audio_channels_mapped));
for (i = 0; i < ost->audio_channels_mapped; i++)
if (ost->audio_channels_map[i] != -1)
av_bprintf(&pan_buf, ":c%d=c%d", i, ost->audio_channels_map[i]);
AUTO_INSERT_FILTER("-map_channel", "pan", pan_buf.str);
av_bprint_finalize(&pan_buf, NULL);
}
if (codec->channels && !codec->channel_layout)
codec->channel_layout = av_get_default_channel_layout(codec->channels);
sample_fmts = choose_sample_fmts(ost);
sample_rates = choose_sample_rates(ost);
channel_layouts = choose_channel_layouts(ost);
if (sample_fmts || sample_rates || channel_layouts) {
AVFilterContext *format;
char args[256];
args[0] = 0;
if (sample_fmts)
av_strlcatf(args, sizeof(args), "sample_fmts=%s:",
sample_fmts);
if (sample_rates)
av_strlcatf(args, sizeof(args), "sample_rates=%s:",
sample_rates);
if (channel_layouts)
av_strlcatf(args, sizeof(args), "channel_layouts=%s:",
channel_layouts);
av_freep(&sample_fmts);
av_freep(&sample_rates);
av_freep(&channel_layouts);
snprintf(name, sizeof(name), "audio format for output stream %d:%d",
ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&format,
avfilter_get_by_name("aformat"),
name, args, NULL, fg->graph);
if (ret < 0)
return ret;
ret = avfilter_link(last_filter, pad_idx, format, 0);
if (ret < 0)
return ret;
last_filter = format;
pad_idx = 0;
}
if (audio_volume != 256 && 0) {
char args[256];
snprintf(args, sizeof(args), "%f", audio_volume / 256.);
AUTO_INSERT_FILTER("-vol", "volume", args);
}
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
return ret;
return 0;
}
#define DESCRIBE_FILTER_LINK(f, inout, in) \
{ \
AVFilterContext *ctx = inout->filter_ctx; \
AVFilterPad *pads = in ? ctx->input_pads : ctx->output_pads; \
int nb_pads = in ? ctx->input_count : ctx->output_count; \
AVIOContext *pb; \
\
if (avio_open_dyn_buf(&pb) < 0) \
exit(1); \
\
avio_printf(pb, "%s", ctx->filter->name); \
if (nb_pads > 1) \
avio_printf(pb, ":%s", avfilter_pad_get_name(pads, inout->pad_idx));\
avio_w8(pb, 0); \
avio_close_dyn_buf(pb, &f->name); \
}
int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
av_freep(&ofilter->name);
DESCRIBE_FILTER_LINK(ofilter, out, 0);
switch (avfilter_pad_get_type(out->filter_ctx->output_pads, out->pad_idx)) {
case AVMEDIA_TYPE_VIDEO: return configure_output_video_filter(fg, ofilter, out);
case AVMEDIA_TYPE_AUDIO: return configure_output_audio_filter(fg, ofilter, out);
default: av_assert0(0);
}
}
static int sub2video_prepare(InputStream *ist)
{
AVFormatContext *avf = input_files[ist->file_index]->ctx;
int i, ret, w, h;
uint8_t *image[4];
int linesize[4];
/* Compute the size of the canvas for the subtitles stream.
If the subtitles codec has set a size, use it. Otherwise use the
maximum dimensions of the video streams in the same file. */
w = ist->st->codec->width;
h = ist->st->codec->height;
if (!(w && h)) {
for (i = 0; i < avf->nb_streams; i++) {
if (avf->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
w = FFMAX(w, avf->streams[i]->codec->width);
h = FFMAX(h, avf->streams[i]->codec->height);
}
}
if (!(w && h)) {
w = FFMAX(w, 720);
h = FFMAX(h, 576);
}
av_log(avf, AV_LOG_INFO, "sub2video: using %dx%d canvas\n", w, h);
}
ist->sub2video.w = ist->st->codec->width = ist->resample_width = w;
ist->sub2video.h = ist->st->codec->height = ist->resample_height = h;
/* rectangles are AV_PIX_FMT_PAL8, but we have no guarantee that the
palettes for all rectangles are identical or compatible */
ist->st->codec->pix_fmt = AV_PIX_FMT_RGB32;
ret = av_image_alloc(image, linesize, w, h, AV_PIX_FMT_RGB32, 32);
if (ret < 0)
return ret;
memset(image[0], 0, h * linesize[0]);
ist->sub2video.ref = avfilter_get_video_buffer_ref_from_arrays(
image, linesize, AV_PERM_READ | AV_PERM_PRESERVE,
w, h, AV_PIX_FMT_RGB32);
if (!ist->sub2video.ref) {
av_free(image[0]);
return AVERROR(ENOMEM);
}
return 0;
}
static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
AVFilterInOut *in)
{
AVFilterContext *first_filter = in->filter_ctx;
AVFilter *filter = avfilter_get_by_name("buffer");
InputStream *ist = ifilter->ist;
AVRational tb = ist->framerate.num ? av_inv_q(ist->framerate) :
ist->st->time_base;
AVRational fr = ist->framerate.num ? ist->framerate :
ist->st->r_frame_rate;
AVRational sar;
AVBPrint args;
char name[255];
int pad_idx = in->pad_idx;
int ret;
if (!ist->framerate.num && ist->st->codec->ticks_per_frame>1) {
AVRational codec_fr = av_inv_q(ist->st->codec->time_base);
AVRational avg_fr = ist->st->avg_frame_rate;
codec_fr.den *= ist->st->codec->ticks_per_frame;
if ( codec_fr.num>0 && codec_fr.den>0 && av_q2d(codec_fr) < av_q2d(fr)*0.7
&& fabs(1.0 - av_q2d(av_div_q(avg_fr, fr)))>0.1)
fr = codec_fr;
}
if (ist->st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {
ret = sub2video_prepare(ist);
if (ret < 0)
return ret;
}
sar = ist->st->sample_aspect_ratio.num ?
ist->st->sample_aspect_ratio :
ist->st->codec->sample_aspect_ratio;
if(!sar.den)
sar = (AVRational){0,1};
av_bprint_init(&args, 0, 1);
av_bprintf(&args,
"video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:"
"pixel_aspect=%d/%d:sws_param=flags=%d", ist->resample_width,
ist->resample_height, ist->resample_pix_fmt,
tb.num, tb.den, sar.num, sar.den,
SWS_BILINEAR + ((ist->st->codec->flags&CODEC_FLAG_BITEXACT) ? SWS_BITEXACT:0));
if (fr.num && fr.den)
av_bprintf(&args, ":frame_rate=%d/%d", fr.num, fr.den);
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&ifilter->filter, filter, name,
args.str, NULL, fg->graph)) < 0)
return ret;
if (ist->framerate.num) {
AVFilterContext *setpts;
snprintf(name, sizeof(name), "force CFR for input from stream %d:%d",
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&setpts,
avfilter_get_by_name("setpts"),
name, "N", NULL,
fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(setpts, 0, first_filter, pad_idx)) < 0)
return ret;
first_filter = setpts;
pad_idx = 0;
}
if ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0)
return ret;
return 0;
}
static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
AVFilterInOut *in)
{
AVFilterContext *first_filter = in->filter_ctx;
AVFilter *filter = avfilter_get_by_name("abuffer");
InputStream *ist = ifilter->ist;
int pad_idx = in->pad_idx;
char args[255], name[255];
int ret;
snprintf(args, sizeof(args), "time_base=%d/%d:sample_rate=%d:sample_fmt=%s"
":channel_layout=0x%"PRIx64,
1, ist->st->codec->sample_rate,
ist->st->codec->sample_rate,
av_get_sample_fmt_name(ist->st->codec->sample_fmt),
ist->st->codec->channel_layout);
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&ifilter->filter, filter,
name, args, NULL,
fg->graph)) < 0)
return ret;
#define AUTO_INSERT_FILTER_INPUT(opt_name, filter_name, arg) do { \
AVFilterContext *filt_ctx; \
\
av_log(NULL, AV_LOG_INFO, opt_name " is forwarded to lavfi " \
"similarly to -af " filter_name "=%s.\n", arg); \
\
snprintf(name, sizeof(name), "graph %d %s for input stream %d:%d", \
fg->index, filter_name, ist->file_index, ist->st->index); \
ret = avfilter_graph_create_filter(&filt_ctx, \
avfilter_get_by_name(filter_name), \
name, arg, NULL, fg->graph); \
if (ret < 0) \
return ret; \
\
ret = avfilter_link(filt_ctx, 0, first_filter, pad_idx); \
if (ret < 0) \
return ret; \
\
first_filter = filt_ctx; \
} while (0)
if (audio_sync_method > 0) {
char args[256] = {0};
av_strlcatf(args, sizeof(args), "async=%d", audio_sync_method);
if (audio_drift_threshold != 0.1)
av_strlcatf(args, sizeof(args), ":min_hard_comp=%f", audio_drift_threshold);
AUTO_INSERT_FILTER_INPUT("-async", "aresample", args);
}
// if (ost->audio_channels_mapped) {
// int i;
// AVBPrint pan_buf;
// av_bprint_init(&pan_buf, 256, 8192);
// av_bprintf(&pan_buf, "0x%"PRIx64,
// av_get_default_channel_layout(ost->audio_channels_mapped));
// for (i = 0; i < ost->audio_channels_mapped; i++)
// if (ost->audio_channels_map[i] != -1)
// av_bprintf(&pan_buf, ":c%d=c%d", i, ost->audio_channels_map[i]);
// AUTO_INSERT_FILTER_INPUT("-map_channel", "pan", pan_buf.str);
// av_bprint_finalize(&pan_buf, NULL);
// }
if (audio_volume != 256) {
char args[256];
av_log(NULL, AV_LOG_WARNING, "-vol has been deprecated. Use the volume "
"audio filter instead.\n");
snprintf(args, sizeof(args), "%f", audio_volume / 256.);
AUTO_INSERT_FILTER_INPUT("-vol", "volume", args);
}
if ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0)
return ret;
return 0;
}
static int configure_input_filter(FilterGraph *fg, InputFilter *ifilter,
AVFilterInOut *in)
{
av_freep(&ifilter->name);
DESCRIBE_FILTER_LINK(ifilter, in, 1);
switch (avfilter_pad_get_type(in->filter_ctx->input_pads, in->pad_idx)) {
case AVMEDIA_TYPE_VIDEO: return configure_input_video_filter(fg, ifilter, in);
case AVMEDIA_TYPE_AUDIO: return configure_input_audio_filter(fg, ifilter, in);
default: av_assert0(0);
}
}
int configure_filtergraph(FilterGraph *fg)
{
AVFilterInOut *inputs, *outputs, *cur;
int ret, i, init = !fg->graph, simple = !fg->graph_desc;
const char *graph_desc = simple ? fg->outputs[0]->ost->avfilter :
fg->graph_desc;
avfilter_graph_free(&fg->graph);
if (!(fg->graph = avfilter_graph_alloc()))
return AVERROR(ENOMEM);
if (simple) {
OutputStream *ost = fg->outputs[0]->ost;
char args[255];
snprintf(args, sizeof(args), "flags=0x%X", (unsigned)ost->sws_flags);
fg->graph->scale_sws_opts = av_strdup(args);
args[0] = 0;
if (ost->swr_filter_type != SWR_FILTER_TYPE_KAISER)
av_strlcatf(args, sizeof(args), "filter_type=%d:", (int)ost->swr_filter_type);
if (ost->swr_dither_method)
av_strlcatf(args, sizeof(args), "dither_method=%d:", (int)ost->swr_dither_method);
if (ost->swr_dither_scale != 1.0)
av_strlcatf(args, sizeof(args), "dither_scale=%f:", ost->swr_dither_scale);
if (strlen(args))
args[strlen(args)-1] = 0;
av_opt_set(fg->graph, "aresample_swr_opts", args, 0);
}
if ((ret = avfilter_graph_parse2(fg->graph, graph_desc, &inputs, &outputs)) < 0)
return ret;
if (simple && (!inputs || inputs->next || !outputs || outputs->next)) {
av_log(NULL, AV_LOG_ERROR, "Simple filtergraph '%s' does not have "
"exactly one input and output.\n", graph_desc);
return AVERROR(EINVAL);
}
for (cur = inputs; !simple && init && cur; cur = cur->next)
init_input_filter(fg, cur);
for (cur = inputs, i = 0; cur; cur = cur->next, i++)
if ((ret = configure_input_filter(fg, fg->inputs[i], cur)) < 0)
return ret;
avfilter_inout_free(&inputs);
if (!init || simple) {
/* we already know the mappings between lavfi outputs and output streams,
* so we can finish the setup */
for (cur = outputs, i = 0; cur; cur = cur->next, i++)
configure_output_filter(fg, fg->outputs[i], cur);
avfilter_inout_free(&outputs);
if ((ret = avfilter_graph_config(fg->graph, NULL)) < 0)
return ret;
} else {
/* wait until output mappings are processed */
for (cur = outputs; cur;) {
GROW_ARRAY(fg->outputs, fg->nb_outputs);
if (!(fg->outputs[fg->nb_outputs - 1] = av_mallocz(sizeof(*fg->outputs[0]))))
exit(1);
fg->outputs[fg->nb_outputs - 1]->graph = fg;
fg->outputs[fg->nb_outputs - 1]->out_tmp = cur;
cur = cur->next;
fg->outputs[fg->nb_outputs - 1]->out_tmp->next = NULL;
}
}
return 0;
}
int ist_in_filtergraph(FilterGraph *fg, InputStream *ist)
{
int i;
for (i = 0; i < fg->nb_inputs; i++)
if (fg->inputs[i]->ist == ist)
return 1;
return 0;
}

2630
ffmpeg_opt.c Normal file

File diff suppressed because it is too large Load Diff

1370
ffplay.c

File diff suppressed because it is too large Load Diff

1764
ffprobe.c

File diff suppressed because it is too large Load Diff

View File

@@ -29,6 +29,7 @@
#endif
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "libavformat/avformat.h"
// FIXME those are internal headers, ffserver _really_ shouldn't use them
#include "libavformat/ffm.h"
@@ -40,13 +41,17 @@
#include "libavformat/internal.h"
#include "libavformat/url.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/lfg.h"
#include "libavutil/dict.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/random_seed.h"
#include "libavutil/parseutils.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include <stdarg.h>
#include <unistd.h>
#include <fcntl.h>
@@ -55,7 +60,6 @@
#include <poll.h>
#endif
#include <errno.h>
#include <sys/time.h>
#include <time.h>
#include <sys/wait.h>
#include <signal.h>
@@ -303,12 +307,10 @@ static int rtp_new_av_stream(HTTPContext *c,
HTTPContext *rtsp_c);
static const char *my_program_name;
static const char *my_program_dir;
static const char *config_filename = "/etc/ffserver.conf";
static int ffserver_debug;
static int ffserver_daemon;
static int no_launch;
static int need_to_start_children;
@@ -326,12 +328,40 @@ static AVLFG random_state;
static FILE *logfile = NULL;
/* FIXME: make ffserver work with IPv6 */
void av_noreturn exit_program(int ret)
static int64_t ffm_read_write_index(int fd)
{
exit(ret);
uint8_t buf[8];
if (lseek(fd, 8, SEEK_SET) < 0)
return AVERROR(EIO);
if (read(fd, buf, 8) != 8)
return AVERROR(EIO);
return AV_RB64(buf);
}
static int ffm_write_write_index(int fd, int64_t pos)
{
uint8_t buf[8];
int i;
for(i=0;i<8;i++)
buf[i] = (pos >> (56 - i * 8)) & 0xff;
if (lseek(fd, 8, SEEK_SET) < 0)
return AVERROR(EIO);
if (write(fd, buf, 8) != 8)
return AVERROR(EIO);
return 8;
}
static void ffm_set_write_index(AVFormatContext *s, int64_t pos,
int64_t file_size)
{
FFMContext *ffm = s->priv_data;
ffm->write_index = pos;
ffm->file_size = file_size;
}
/* FIXME: make ffserver work with IPv6 */
/* resolve host with also IP address parsing */
static int resolve_host(struct in_addr *sin_addr, const char *hostname)
{
@@ -491,19 +521,12 @@ static void start_children(FFStream *feed)
close(i);
if (!ffserver_debug) {
i = open("/dev/null", O_RDWR);
if (i != -1) {
dup2(i, 0);
dup2(i, 1);
dup2(i, 2);
close(i);
}
}
/* This is needed to make relative pathnames work */
if (chdir(my_program_dir) < 0) {
http_log("chdir failed\n");
exit(1);
if (!freopen("/dev/null", "r", stdin))
http_log("failed to redirect STDIN to /dev/null\n;");
if (!freopen("/dev/null", "w", stdout))
http_log("failed to redirect STDOUT to /dev/null\n;");
if (!freopen("/dev/null", "w", stderr))
http_log("failed to redirect STDERR to /dev/null\n;");
}
signal(SIGPIPE, SIG_DFL);
@@ -555,15 +578,17 @@ static void start_multicast(void)
FFStream *stream;
char session_id[32];
HTTPContext *rtp_c;
struct sockaddr_in dest_addr;
struct sockaddr_in dest_addr = {0};
int default_port, stream_index;
default_port = 6000;
for(stream = first_stream; stream != NULL; stream = stream->next) {
if (stream->is_multicast) {
unsigned random0 = av_lfg_get(&random_state);
unsigned random1 = av_lfg_get(&random_state);
/* open the RTP connection */
snprintf(session_id, sizeof(session_id), "%08x%08x",
av_lfg_get(&random_state), av_lfg_get(&random_state));
random0, random1);
/* choose a port if none given */
if (stream->multicast_port == 0) {
@@ -761,16 +786,17 @@ static void start_wait_request(HTTPContext *c, int is_rtsp)
static void http_send_too_busy_reply(int fd)
{
char buffer[300];
char buffer[400];
int len = snprintf(buffer, sizeof(buffer),
"HTTP/1.0 503 Server too busy\r\n"
"Content-type: text/html\r\n"
"\r\n"
"<html><head><title>Too busy</title></head><body>\r\n"
"<p>The server is too busy to serve your request at this time.</p>\r\n"
"<p>The number of current connections is %d, and this exceeds the limit of %d.</p>\r\n"
"<p>The number of current connections is %u, and this exceeds the limit of %u.</p>\r\n"
"</body></html>\r\n",
nb_connections, nb_max_connections);
av_assert0(len < sizeof(buffer));
send(fd, buffer, len, 0);
}
@@ -778,7 +804,8 @@ static void http_send_too_busy_reply(int fd)
static void new_connection(int server_fd, int is_rtsp)
{
struct sockaddr_in from_addr;
int fd, len;
socklen_t len;
int fd;
HTTPContext *c = NULL;
len = sizeof(from_addr);
@@ -894,6 +921,8 @@ static void close_connection(HTTPContext *c)
for(i=0; i<ctx->nb_streams; i++)
av_free(ctx->streams[i]);
av_freep(&ctx->streams);
av_freep(&ctx->priv_data);
if (c->stream && !c->post && c->stream->stream_type == STREAM_TYPE_LIVE)
current_bandwidth -= c->stream->bandwidth;
@@ -1461,7 +1490,8 @@ enum RedirType {
/* parse http request and prepare header */
static int http_parse_request(HTTPContext *c)
{
char *p;
const char *p;
char *p1;
enum RedirType redir_type;
char cmd[32];
char info[1024], filename[1024];
@@ -1472,10 +1502,10 @@ static int http_parse_request(HTTPContext *c)
FFStream *stream;
int i;
char ratebuf[32];
char *useragent = 0;
const char *useragent = 0;
p = c->buffer;
get_word(cmd, sizeof(cmd), (const char **)&p);
get_word(cmd, sizeof(cmd), &p);
av_strlcpy(c->method, cmd, sizeof(c->method));
if (!strcmp(cmd, "GET"))
@@ -1485,7 +1515,7 @@ static int http_parse_request(HTTPContext *c)
else
return -1;
get_word(url, sizeof(url), (const char **)&p);
get_word(url, sizeof(url), &p);
av_strlcpy(c->url, url, sizeof(c->url));
get_word(protocol, sizeof(protocol), (const char **)&p);
@@ -1498,10 +1528,10 @@ static int http_parse_request(HTTPContext *c)
http_log("%s - - New connection: %s %s\n", inet_ntoa(c->from_addr.sin_addr), cmd, url);
/* find the filename and the optional info string in the request */
p = strchr(url, '?');
if (p) {
av_strlcpy(info, p, sizeof(info));
*p = '\0';
p1 = strchr(url, '?');
if (p1) {
av_strlcpy(info, p1, sizeof(info));
*p1 = '\0';
} else
info[0] = '\0';
@@ -1563,7 +1593,7 @@ static int http_parse_request(HTTPContext *c)
if (stream->stream_type == STREAM_TYPE_REDIRECT) {
c->http_error = 301;
q = c->buffer;
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 301 Moved\r\n"
"Location: %s\r\n"
"Content-type: text/html\r\n"
@@ -1571,6 +1601,7 @@ static int http_parse_request(HTTPContext *c)
"<html><head><title>Moved</title></head><body>\r\n"
"You should be <a href=\"%s\">redirected</a>.\r\n"
"</body></html>\r\n", stream->feed_filename, stream->feed_filename);
q += strlen(q);
/* prepare output buffer */
c->buffer_ptr = c->buffer;
c->buffer_end = q;
@@ -1601,7 +1632,7 @@ static int http_parse_request(HTTPContext *c)
if (c->post == 0 && max_bandwidth < current_bandwidth) {
c->http_error = 503;
q = c->buffer;
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 503 Server too busy\r\n"
"Content-type: text/html\r\n"
"\r\n"
@@ -1610,6 +1641,7 @@ static int http_parse_request(HTTPContext *c)
"<p>The bandwidth being served (including your stream) is %"PRIu64"kbit/sec, "
"and this exceeds the limit of %"PRIu64"kbit/sec.</p>\r\n"
"</body></html>\r\n", current_bandwidth, max_bandwidth);
q += strlen(q);
/* prepare output buffer */
c->buffer_ptr = c->buffer;
c->buffer_end = q;
@@ -1618,7 +1650,7 @@ static int http_parse_request(HTTPContext *c)
}
if (redir_type != REDIR_NONE) {
char *hostinfo = 0;
const char *hostinfo = 0;
for (p = c->buffer; *p && *p != '\r' && *p != '\n'; ) {
if (av_strncasecmp(p, "Host:", 5) == 0) {
@@ -1652,7 +1684,7 @@ static int http_parse_request(HTTPContext *c)
q = c->buffer;
switch(redir_type) {
case REDIR_ASX:
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 200 ASX Follows\r\n"
"Content-type: video/x-ms-asf\r\n"
"\r\n"
@@ -1660,22 +1692,25 @@ static int http_parse_request(HTTPContext *c)
//"<!-- Autogenerated by ffserver -->\r\n"
"<ENTRY><REF HREF=\"http://%s/%s%s\"/></ENTRY>\r\n"
"</ASX>\r\n", hostbuf, filename, info);
q += strlen(q);
break;
case REDIR_RAM:
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 200 RAM Follows\r\n"
"Content-type: audio/x-pn-realaudio\r\n"
"\r\n"
"# Autogenerated by ffserver\r\n"
"http://%s/%s%s\r\n", hostbuf, filename, info);
q += strlen(q);
break;
case REDIR_ASF:
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 200 ASF Redirect follows\r\n"
"Content-type: video/x-ms-asf\r\n"
"\r\n"
"[Reference]\r\n"
"Ref1=http://%s/%s%s\r\n", hostbuf, filename, info);
q += strlen(q);
break;
case REDIR_RTSP:
{
@@ -1685,24 +1720,27 @@ static int http_parse_request(HTTPContext *c)
p = strrchr(hostname, ':');
if (p)
*p = '\0';
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 200 RTSP Redirect follows\r\n"
/* XXX: incorrect mime type ? */
"Content-type: application/x-rtsp\r\n"
"\r\n"
"rtsp://%s:%d/%s\r\n", hostname, ntohs(my_rtsp_addr.sin_port), filename);
q += strlen(q);
}
break;
case REDIR_SDP:
{
uint8_t *sdp_data;
int sdp_data_size, len;
int sdp_data_size;
socklen_t len;
struct sockaddr_in my_addr;
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 200 OK\r\n"
"Content-type: application/sdp\r\n"
"\r\n");
q += strlen(q);
len = sizeof(my_addr);
getsockname(c->fd, (struct sockaddr *)&my_addr, &len);
@@ -1746,7 +1784,7 @@ static int http_parse_request(HTTPContext *c)
if (!stream->is_feed) {
/* However it might be a status report from WMP! Let us log the
* data as it might come in handy one day. */
char *logline = 0;
const char *logline = 0;
int client_id = 0;
for (p = c->buffer; *p && *p != '\r' && *p != '\n'; ) {
@@ -1821,12 +1859,12 @@ static int http_parse_request(HTTPContext *c)
}
/* prepare http header */
q = c->buffer;
q += snprintf(q, q - (char *) c->buffer + c->buffer_size, "HTTP/1.0 200 OK\r\n");
c->buffer[0] = 0;
av_strlcatf(c->buffer, c->buffer_size, "HTTP/1.0 200 OK\r\n");
mime_type = c->stream->fmt->mime_type;
if (!mime_type)
mime_type = "application/x-octet-stream";
q += snprintf(q, q - (char *) c->buffer + c->buffer_size, "Pragma: no-cache\r\n");
av_strlcatf(c->buffer, c->buffer_size, "Pragma: no-cache\r\n");
/* for asf, we need extra headers */
if (!strcmp(c->stream->fmt->name,"asf_stream")) {
@@ -1834,10 +1872,11 @@ static int http_parse_request(HTTPContext *c)
c->wmp_client_id = av_lfg_get(&random_state);
q += snprintf(q, q - (char *) c->buffer + c->buffer_size, "Server: Cougar 4.1.0.3923\r\nCache-Control: no-cache\r\nPragma: client-id=%d\r\nPragma: features=\"broadcast\"\r\n", c->wmp_client_id);
av_strlcatf(c->buffer, c->buffer_size, "Server: Cougar 4.1.0.3923\r\nCache-Control: no-cache\r\nPragma: client-id=%d\r\nPragma: features=\"broadcast\"\r\n", c->wmp_client_id);
}
q += snprintf(q, q - (char *) c->buffer + c->buffer_size, "Content-Type: %s\r\n", mime_type);
q += snprintf(q, q - (char *) c->buffer + c->buffer_size, "\r\n");
av_strlcatf(c->buffer, c->buffer_size, "Content-Type: %s\r\n", mime_type);
av_strlcatf(c->buffer, c->buffer_size, "\r\n");
q = c->buffer + strlen(c->buffer);
/* prepare output buffer */
c->http_error = 0;
@@ -1848,7 +1887,7 @@ static int http_parse_request(HTTPContext *c)
send_error:
c->http_error = 404;
q = c->buffer;
q += snprintf(q, c->buffer_size,
snprintf(q, c->buffer_size,
"HTTP/1.0 404 Not Found\r\n"
"Content-type: text/html\r\n"
"\r\n"
@@ -1856,6 +1895,7 @@ static int http_parse_request(HTTPContext *c)
"<head><title>404 Not Found</title></head>\n"
"<body>%s</body>\n"
"</html>\n", msg);
q += strlen(q);
/* prepare output buffer */
c->buffer_ptr = c->buffer;
c->buffer_end = q;
@@ -2005,7 +2045,7 @@ static void compute_status(HTTPContext *c)
if (stream->pid) {
avio_printf(pb, "Running as pid %d.\n", stream->pid);
#if defined(linux) && !defined(CONFIG_NOCUTILS)
#if defined(linux)
{
FILE *pid_stat;
char ps_cmd[64];
@@ -2020,7 +2060,7 @@ static void compute_status(HTTPContext *c)
char cpuperc[10];
char cpuused[64];
if (fscanf(pid_stat, "%10s %64s", cpuperc,
if (fscanf(pid_stat, "%9s %63s", cpuperc,
cpuused) == 2) {
avio_printf(pb, "Currently using %s%% of the cpu. Total time used %s.\n",
cpuperc, cpuused);
@@ -2675,8 +2715,6 @@ static int http_receive_data(HTTPContext *c)
/* a packet has been received : write it in the store, except
if header */
if (c->data_count > FFM_PACKET_SIZE) {
// printf("writing pos=0x%"PRIx64" size=0x%"PRIx64"\n", feed->feed_write_index, feed->feed_size);
/* XXX: use llseek or url_seek */
lseek(c->feed_fd, feed->feed_write_index, SEEK_SET);
if (write(c->feed_fd, c->buffer, FFM_PACKET_SIZE) < 0) {
@@ -2923,12 +2961,14 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer,
{
AVFormatContext *avc;
AVStream *avs = NULL;
AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL);
int i;
avc = avformat_alloc_context();
if (avc == NULL) {
if (avc == NULL || !rtp_format) {
return -1;
}
avc->oformat = rtp_format;
av_dict_set(&avc->metadata, "title",
stream->title[0] ? stream->title : "No Title", 0);
avc->nb_streams = stream->nb_streams;
@@ -2978,7 +3018,8 @@ static void rtsp_cmd_describe(HTTPContext *c, const char *url)
char path1[1024];
const char *path;
uint8_t *content;
int content_length, len;
int content_length;
socklen_t len;
struct sockaddr_in my_addr;
/* find which url is asked */
@@ -3093,9 +3134,12 @@ static void rtsp_cmd_setup(HTTPContext *c, const char *url,
found:
/* generate session id if needed */
if (h->session_id[0] == '\0')
if (h->session_id[0] == '\0') {
unsigned random0 = av_lfg_get(&random_state);
unsigned random1 = av_lfg_get(&random_state);
snprintf(h->session_id, sizeof(h->session_id), "%08x%08x",
av_lfg_get(&random_state), av_lfg_get(&random_state));
random0, random1);
}
/* find rtp session, and create it if none found */
rtp_c = find_rtp_session(h->session_id);
@@ -3464,6 +3508,9 @@ static AVStream *add_av_stream1(FFStream *stream, AVCodecContext *codec, int cop
{
AVStream *fst;
if(stream->nb_streams >= FF_ARRAY_ELEMS(stream->streams))
return NULL;
fst = av_mallocz(sizeof(AVStream));
if (!fst)
return NULL;
@@ -3471,7 +3518,7 @@ static AVStream *add_av_stream1(FFStream *stream, AVCodecContext *codec, int cop
fst->codec = avcodec_alloc_context3(NULL);
memcpy(fst->codec, codec, sizeof(AVCodecContext));
if (codec->extradata_size) {
fst->codec->extradata = av_malloc(codec->extradata_size);
fst->codec->extradata = av_mallocz(codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
memcpy(fst->codec->extradata, codec->extradata,
codec->extradata_size);
}
@@ -3550,10 +3597,12 @@ static void extract_mpeg4_header(AVFormatContext *infile)
AVStream *st;
const uint8_t *p;
infile->flags |= AVFMT_FLAG_NOFILLIN | AVFMT_FLAG_NOPARSE;
mpeg4_count = 0;
for(i=0;i<infile->nb_streams;i++) {
st = infile->streams[i];
if (st->codec->codec_id == CODEC_ID_MPEG4 &&
if (st->codec->codec_id == AV_CODEC_ID_MPEG4 &&
st->codec->extradata_size == 0) {
mpeg4_count++;
}
@@ -3563,10 +3612,10 @@ static void extract_mpeg4_header(AVFormatContext *infile)
printf("MPEG4 without extra data: trying to find header in %s\n", infile->filename);
while (mpeg4_count > 0) {
if (av_read_packet(infile, &pkt) < 0)
if (av_read_frame(infile, &pkt) < 0)
break;
st = infile->streams[pkt.stream_index];
if (st->codec->codec_id == CODEC_ID_MPEG4 &&
if (st->codec->codec_id == AV_CODEC_ID_MPEG4 &&
st->codec->extradata_size == 0) {
av_freep(&st->codec->extradata);
/* fill extradata with the header */
@@ -3578,7 +3627,7 @@ static void extract_mpeg4_header(AVFormatContext *infile)
p[2] == 0x01 && p[3] == 0xb6) {
size = p - pkt.data;
// av_hex_dump_log(infile, AV_LOG_DEBUG, pkt.data, size);
st->codec->extradata = av_malloc(size);
st->codec->extradata = av_mallocz(size + FF_INPUT_BUFFER_PADDING_SIZE);
st->codec->extradata_size = size;
memcpy(st->codec->extradata, pkt.data, size);
break;
@@ -3757,7 +3806,7 @@ static void build_feed_streams(void)
s->nb_streams = feed->nb_streams;
s->streams = feed->streams;
if (avformat_write_header(s, NULL) < 0) {
http_log("Container doesn't supports the required parameters\n");
http_log("Container doesn't support the required parameters\n");
exit(1);
}
/* XXX: need better api */
@@ -3811,6 +3860,9 @@ static void add_codec(FFStream *stream, AVCodecContext *av)
{
AVStream *st;
if(stream->nb_streams >= FF_ARRAY_ELEMS(stream->streams))
return;
/* compute default parameters */
switch(av->codec_type) {
case AVMEDIA_TYPE_AUDIO:
@@ -3882,22 +3934,22 @@ static void add_codec(FFStream *stream, AVCodecContext *av)
memcpy(st->codec, av, sizeof(AVCodecContext));
}
static enum CodecID opt_audio_codec(const char *arg)
static enum AVCodecID opt_audio_codec(const char *arg)
{
AVCodec *p= avcodec_find_encoder_by_name(arg);
if (p == NULL || p->type != AVMEDIA_TYPE_AUDIO)
return CODEC_ID_NONE;
return AV_CODEC_ID_NONE;
return p->id;
}
static enum CodecID opt_video_codec(const char *arg)
static enum AVCodecID opt_video_codec(const char *arg)
{
AVCodec *p= avcodec_find_encoder_by_name(arg);
if (p == NULL || p->type != AVMEDIA_TYPE_VIDEO)
return CODEC_ID_NONE;
return AV_CODEC_ID_NONE;
return p->id;
}
@@ -3940,7 +3992,7 @@ static int ffserver_opt_default(const char *opt, const char *arg,
static int ffserver_opt_preset(const char *arg,
AVCodecContext *avctx, int type,
enum CodecID *audio_id, enum CodecID *video_id)
enum AVCodecID *audio_id, enum AVCodecID *video_id)
{
FILE *f=NULL;
char filename[1000], tmp[1000], tmp2[1000], line[1000];
@@ -4022,7 +4074,7 @@ static int parse_ffconfig(const char *filename)
FFStream **last_stream, *stream, *redirect;
FFStream **last_feed, *feed, *s;
AVCodecContext audio_enc, video_enc;
enum CodecID audio_id, video_id;
enum AVCodecID audio_id, video_id;
f = fopen(filename, "r");
if (!f) {
@@ -4039,8 +4091,8 @@ static int parse_ffconfig(const char *filename)
stream = NULL;
feed = NULL;
redirect = NULL;
audio_id = CODEC_ID_NONE;
video_id = CODEC_ID_NONE;
audio_id = AV_CODEC_ID_NONE;
video_id = AV_CODEC_ID_NONE;
#define ERROR(...) report_config_error(filename, line_num, &errors, __VA_ARGS__)
for(;;) {
@@ -4068,7 +4120,7 @@ static int parse_ffconfig(const char *filename)
ERROR("%s:%d: Invalid host/IP address: %s\n", arg);
}
} else if (!av_strcasecmp(cmd, "NoDaemon")) {
ffserver_daemon = 0;
// do nothing here, its the default now
} else if (!av_strcasecmp(cmd, "RTSPPort")) {
get_arg(arg, sizeof(arg), &p);
val = atoi(arg);
@@ -4155,10 +4207,7 @@ static int parse_ffconfig(const char *filename)
feed->child_argv[i] = av_strdup(arg);
}
feed->child_argv[i] = av_malloc(30 + strlen(feed->filename));
snprintf(feed->child_argv[i], 30+strlen(feed->filename),
"http://%s:%d/%s",
feed->child_argv[i] = av_asprintf("http://%s:%d/%s",
(my_http_addr.sin_addr.s_addr == INADDR_ANY) ? "127.0.0.1" :
inet_ntoa(my_http_addr.sin_addr),
ntohs(my_http_addr.sin_port), feed->filename);
@@ -4220,7 +4269,7 @@ static int parse_ffconfig(const char *filename)
stream = av_mallocz(sizeof(FFStream));
get_arg(stream->filename, sizeof(stream->filename), &p);
q = strrchr(stream->filename, '>');
if (*q)
if (q)
*q = '\0';
for (s = first_stream; s; s = s->next) {
@@ -4233,8 +4282,8 @@ static int parse_ffconfig(const char *filename)
avcodec_get_context_defaults3(&video_enc, NULL);
avcodec_get_context_defaults3(&audio_enc, NULL);
audio_id = CODEC_ID_NONE;
video_id = CODEC_ID_NONE;
audio_id = AV_CODEC_ID_NONE;
video_id = AV_CODEC_ID_NONE;
if (stream->fmt) {
audio_id = stream->fmt->audio_codec;
video_id = stream->fmt->video_codec;
@@ -4316,13 +4365,13 @@ static int parse_ffconfig(const char *filename)
} else if (!av_strcasecmp(cmd, "AudioCodec")) {
get_arg(arg, sizeof(arg), &p);
audio_id = opt_audio_codec(arg);
if (audio_id == CODEC_ID_NONE) {
if (audio_id == AV_CODEC_ID_NONE) {
ERROR("Unknown AudioCodec: %s\n", arg);
}
} else if (!av_strcasecmp(cmd, "VideoCodec")) {
get_arg(arg, sizeof(arg), &p);
video_id = opt_video_codec(arg);
if (video_id == CODEC_ID_NONE) {
if (video_id == AV_CODEC_ID_NONE) {
ERROR("Unknown VideoCodec: %s\n", arg);
}
} else if (!av_strcasecmp(cmd, "MaxTime")) {
@@ -4513,9 +4562,9 @@ static int parse_ffconfig(const char *filename)
if (stream)
video_enc.dark_masking = atof(arg);
} else if (!av_strcasecmp(cmd, "NoVideo")) {
video_id = CODEC_ID_NONE;
video_id = AV_CODEC_ID_NONE;
} else if (!av_strcasecmp(cmd, "NoAudio")) {
audio_id = CODEC_ID_NONE;
audio_id = AV_CODEC_ID_NONE;
} else if (!av_strcasecmp(cmd, "ACL")) {
parse_acl_row(stream, feed, NULL, p, filename, line_num);
} else if (!av_strcasecmp(cmd, "DynamicACL")) {
@@ -4553,12 +4602,12 @@ static int parse_ffconfig(const char *filename)
ERROR("No corresponding <Stream> for </Stream>\n");
} else {
if (stream->feed && stream->fmt && strcmp(stream->fmt->name, "ffm") != 0) {
if (audio_id != CODEC_ID_NONE) {
if (audio_id != AV_CODEC_ID_NONE) {
audio_enc.codec_type = AVMEDIA_TYPE_AUDIO;
audio_enc.codec_id = audio_id;
add_codec(stream, &audio_enc);
}
if (video_id != CODEC_ID_NONE) {
if (video_id != AV_CODEC_ID_NONE) {
video_enc.codec_type = AVMEDIA_TYPE_VIDEO;
video_enc.codec_id = video_id;
add_codec(stream, &video_enc);
@@ -4642,17 +4691,15 @@ static void handle_child_exit(int sig)
static void opt_debug(void)
{
ffserver_debug = 1;
ffserver_daemon = 0;
logfilename[0] = '-';
}
static int opt_help(const char *opt, const char *arg)
void show_help_default(const char *opt, const char *arg)
{
printf("usage: ffserver [options]\n"
"Hyper fast multi format Audio/Video streaming server\n");
printf("\n");
show_help_options(options, "Main options:\n", 0, 0);
return 0;
show_help_options(options, "Main options:", 0, 0, 0);
}
static const OptionDef options[] = {
@@ -4674,8 +4721,6 @@ int main(int argc, char **argv)
show_banner(argc, argv, options);
my_program_name = argv[0];
my_program_dir = getcwd(0, 0);
ffserver_daemon = 1;
parse_options(NULL, argc, argv, options, NULL);
@@ -4707,37 +4752,9 @@ int main(int argc, char **argv)
compute_bandwidth();
/* put the process in background and detach it from its TTY */
if (ffserver_daemon) {
int pid;
pid = fork();
if (pid < 0) {
perror("fork");
exit(1);
} else if (pid > 0) {
/* parent : exit */
exit(0);
} else {
/* child */
setsid();
close(0);
open("/dev/null", O_RDWR);
if (strcmp(logfilename, "-") != 0) {
close(1);
dup(0);
}
close(2);
dup(0);
}
}
/* signal init */
signal(SIGPIPE, SIG_IGN);
if (ffserver_daemon)
chdir("/");
if (http_server() < 0) {
http_log("Could not start server\n");
exit(1);

172
libavcodec/012v.c Normal file
View File

@@ -0,0 +1,172 @@
/*
* 012v decoder
*
* Copyright (C) 2012 Carl Eugen Hoyos
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "avcodec.h"
#include "internal.h"
#include "libavutil/intreadwrite.h"
static av_cold int zero12v_decode_init(AVCodecContext *avctx)
{
avctx->pix_fmt = PIX_FMT_YUV422P16;
avctx->bits_per_raw_sample = 10;
avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
if (avctx->codec_tag == MKTAG('a', '1', '2', 'v'))
av_log_ask_for_sample(avctx, "Samples with actual transparency needed\n");
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
avctx->coded_frame->key_frame = 1;
return 0;
}
static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
int *got_frame, AVPacket *avpkt)
{
int line = 0, ret;
const int width = avctx->width;
AVFrame *pic = avctx->coded_frame;
uint16_t *y, *u, *v;
const uint8_t *line_end, *src = avpkt->data;
int stride = avctx->width * 8 / 3;
if (pic->data[0])
avctx->release_buffer(avctx, pic);
if (width == 1) {
av_log(avctx, AV_LOG_ERROR, "Width 1 not supported.\n");
return AVERROR_INVALIDDATA;
}
if (avpkt->size < avctx->height * stride) {
av_log(avctx, AV_LOG_ERROR, "Packet too small: %d instead of %d\n",
avpkt->size, avctx->height * stride);
return AVERROR_INVALIDDATA;
}
pic->reference = 0;
if ((ret = ff_get_buffer(avctx, pic)) < 0)
return ret;
y = (uint16_t *)pic->data[0];
u = (uint16_t *)pic->data[1];
v = (uint16_t *)pic->data[2];
line_end = avpkt->data + stride;
while (line++ < avctx->height) {
while (1) {
uint32_t t = AV_RL32(src);
src += 4;
*u++ = t << 6 & 0xFFC0;
*y++ = t >> 4 & 0xFFC0;
*v++ = t >> 14 & 0xFFC0;
if (src >= line_end - 1) {
*y = 0x80;
src++;
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
break;
}
t = AV_RL32(src);
src += 4;
*y++ = t << 6 & 0xFFC0;
*u++ = t >> 4 & 0xFFC0;
*y++ = t >> 14 & 0xFFC0;
if (src >= line_end - 2) {
if (!(width & 1)) {
*y = 0x80;
src += 2;
}
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
break;
}
t = AV_RL32(src);
src += 4;
*v++ = t << 6 & 0xFFC0;
*y++ = t >> 4 & 0xFFC0;
*u++ = t >> 14 & 0xFFC0;
if (src >= line_end - 1) {
*y = 0x80;
src++;
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
break;
}
t = AV_RL32(src);
src += 4;
*y++ = t << 6 & 0xFFC0;
*v++ = t >> 4 & 0xFFC0;
*y++ = t >> 14 & 0xFFC0;
if (src >= line_end - 2) {
if (width & 1) {
*y = 0x80;
src += 2;
}
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
break;
}
}
}
*got_frame = 1;
*(AVFrame*)data= *avctx->coded_frame;
return avpkt->size;
}
static av_cold int zero12v_decode_close(AVCodecContext *avctx)
{
AVFrame *pic = avctx->coded_frame;
if (pic->data[0])
avctx->release_buffer(avctx, pic);
av_freep(&avctx->coded_frame);
return 0;
}
AVCodec ff_zero12v_decoder = {
.name = "012v",
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_012V,
.init = zero12v_decode_init,
.close = zero12v_decode_close,
.decode = zero12v_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
};

Some files were not shown because too many files have changed in this diff Show More