Compare commits

..

5793 Commits

Author SHA1 Message Date
Michael Niedermayer
243396f06d update for 0.6.7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-23 01:23:35 +02:00
Michael Niedermayer
c7ab9de727 avcodec/ffv1enc: update buffer check for 16bps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3728603f18)

Conflicts:

	libavcodec/ffv1enc.c
(cherry picked from commit c900c6e5c26cd86cf34f9c8d4347cedbd01f3935)
2013-09-09 20:51:01 +02:00
Michael Niedermayer
b51c4df35b avcodec/dsputil: fix signedness in sizeof() comparissions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 454a11a1c9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 23:49:16 +02:00
Michael Niedermayer
f9225c2884 matroska_read_seek: Fix used streams for subtitle index compensation
Might fix Ticket1907 (I have no testcase so i cant test)

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 03:00:40 +02:00
Michael Niedermayer
6ad4a116a2 avcodec/rpza: Perform pointer advance and checks before using the pointers
Fixes out of array accesses
Fixes Ticket2850

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

Conflicts:

	libavcodec/rpza.c
(cherry picked from commit edba432b8b01d68c22e70a508f47553359f59fb5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 01:44:29 +02:00
Diego Biurrun
3f785a538b 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:56:54 +01:00
Michael Niedermayer
a77cf47d88 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>
(cherry picked from commit 5ff41ffeb4cb9ea6df49757dc859619dc3d3ab4f)

Conflicts:

	libavcodec/huffyuv.c
(cherry picked from commit 9bc70fe1ae50fd2faa0b9429d47cfbda01a92ebc)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 19:29:05 +01:00
Michael Niedermayer
a7faa1d070 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>
(cherry picked from commit 95ab8d33e1a680f30a5a9605175112008ab81afc)

Conflicts:

	libavcodec/huffyuv.c
(cherry picked from commit 277def59fce10d91e3113e5c0f63e22bc4abfa88)

Conflicts:

	libavcodec/huffyuv.c
(cherry picked from commit adf022f458d75e2c8041262e1906a249366ad518)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-29 18:37:08 +01:00
Xi Wang
9aa60889f3 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-23 05:55:32 +01:00
Xi Wang
636c42de19 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-23 05:55:30 +01:00
Michael Niedermayer
f48d1fb167 Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  vorbis: Validate that the floor 1 X values contain no duplicates.
  lavfi: avfilter_merge_formats: handle case where inputs are same
  mpegvideo: Don't use ff_mspel_motion() for vc1
  imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt
  nuv: check RTjpeg header for validity
  vc1dec: add flush function for WMV9 and VC-1 decoders
  mov: set AVCodecContext.width/height for h264
  h264: allow cropping to AVCodecContext.width/height

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 18:00:02 +02:00
Alex Converse
0e2f415adf 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.
(cherry picked from commit ecf79c4d3e)

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

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-06 09:47:41 +02:00
Mina Nagy Zaki
a4e277312c lavfi: avfilter_merge_formats: handle case where inputs are same
This fixes a double-free crash if lists are the same due to the two
merge_ref() calls at the end of the (useless) merging that happens.

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

Conflicts:

	libavfilter/formats.c

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

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-06 09:47:21 +02:00
Michael Niedermayer
c82ae85a8a 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>
(cherry picked from commit 18f2d5cb9c)

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

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-06 09:46:14 +02:00
Janne Grunau
fd7426ed89 imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt
CC: libav-stable@libav.org
(cherry picked from commit 39bb27bf79)

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

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-06 09:46:08 +02:00
Janne Grunau
459feb7cce nuv: check RTjpeg header for validity
CC: libav-stable@libav.org
(cherry picked from commit 859a579e9b)

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

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-06 09:46:03 +02:00
Kostya Shishkov
aa41212767 vc1dec: add flush function for WMV9 and VC-1 decoders
CC: libav-stable@libav.org
(cherry picked from commit 4dc8c8386e)

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

Conflicts:
	libavcodec/vc1dec.c

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-06 09:45:49 +02:00
Carl Eugen Hoyos
7923490712 Fix muxing mjpeg in swf. 2012-09-13 09:26:55 +02:00
Ronald S. Bultje
371e221d63 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>
(cherry picked from commit fa84506177)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 04:41:59 +02:00
Mans Rullgard
44e6cf3f75 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>
(cherry picked from commit 8aa93e9004)

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-06-10 11:24:14 +02:00
Mans Rullgard
4eea330a2a 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>
(cherry picked from commit 30f515091c)

Conflicts:

	libavcodec/h264.c
(cherry picked from commit e1608014c5)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-06-10 09:54:47 +02:00
Michael Niedermayer
62133b38ed h263: disable loop filter with lowres
Fixes ticket1212

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cc229d4e83)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:36:19 +02:00
Michael Niedermayer
6b14563c0e wmv1: check that the input buffer is large enough
Fixes null ptr deref
Fixes Ticket1367

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:36:15 +02:00
Michael Niedermayer
3074e8f78c yopdec: check frame oddness to be within supported limits
Fixes Ticket1365

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:36:10 +02:00
Michael Niedermayer
e37599001c yopdec: check that palette fits in the packet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b6fdf8dea7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:36:05 +02:00
Michael Niedermayer
32ac7c0cf6 truemotion1: Check index, fix out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fd4c1c0b70)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:35:40 +02:00
Michael Niedermayer
9291fc8813 motionpixels: check extradata size
Fixes null ptr derefernce
Fixes Ticket1363

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:35:03 +02:00
Michael Niedermayer
62cbdd71eb yop: check for missing extradata
Fixes null ptr deref
Fixes Ticket1361

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:34:50 +02:00
Michael Niedermayer
42bdeaecd4 cdgraphics: Fix out of array write
Fixes Ticket1359

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1e5c7376c4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 21:34:34 +02:00
Michael Niedermayer
438cfa9090 Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  Release notes for 0.6.6
  Update changelog for 0.6.6 release

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 19:09:56 +02:00
Reinhard Tartler
64eb6892ec Release notes for 0.6.6 2012-06-09 12:05:53 +02:00
Derek Buitenhuis
888cee659e Update changelog for 0.6.6 release
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-08 15:20:14 -04:00
Michael Niedermayer
598eb973a7 Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6: (32 commits)
  Bump version number for 0.6.6 release.
  tqi: Pass errors from the MB decoder
  ea: check chunk_size for validity.
  png: check bit depth for PAL8/Y400A pixel formats.
  dxva2: define required feature selection macros
  mingw32: merge checks for mingw-w64 and mingw32-runtime >= 3.15 into one
  mingw32: properly check if vfw capture is supported by the system headers
  configure: properly check for mingw-w64 through installed headers. mingw-w64 can also target 32-bit code.
  qdm2: clip array indices returned by qdm2_get_vlc().
  kmvc: Check palsize.
  shorten: Use separate pointers for the allocated memory for decoded samples.
  shorten: check for realloc failure
  shorten: Fix out of bound writes in fix_bitshift()
  shorten: Prevent block size from increasing
  shorten: remove VLA and check for buffer overflow
  adpcm: ADPCM Electronic Arts has always two channels
  h264: Add check for invalid chroma_format_idc
  aacsbr: prevent out of bounds memcpy().
  dpcm: ignore extra unpaired bytes in stereo streams.
  vqavideo: return error if image size is not a multiple of block size
  ...

Conflicts:
	libavcodec/atrac3.c
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-04 12:38:11 +02:00
Reinhard Tartler
4451f9ae16 Bump version number for 0.6.6 release. 2012-06-03 22:42:54 +02:00
Michael Niedermayer
83fa442b71 tqi: Pass errors from the MB decoder
This silences some valgrind warnings.
CC: libav-stable@libav.org

Fixes second half of http://ffmpeg.org/trac/ffmpeg/ticket/794
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit f85334f58e)
(cherry picked from commit 90290a5150)

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-06-03 21:35:17 +02:00
Ronald S. Bultje
679de9b5aa ea: check chunk_size for validity.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit 273e6af47b)

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

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

Conflicts:

	libavformat/electronicarts.c
2012-06-03 21:35:17 +02:00
Ronald S. Bultje
e17b1536a1 png: check bit depth for PAL8/Y400A pixel formats.
Wrong bit depth can lead to invalid rowsize values, which crashes the
decoder further down.

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

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-06-03 21:35:16 +02:00
Kyle
97ed486fff dxva2: define required feature selection macros
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 04973f8082)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-02 19:25:12 -04:00
Ramiro Polla
77630b68e5 mingw32: merge checks for mingw-w64 and mingw32-runtime >= 3.15 into one
Originally committed as revision 24204 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit e26011d0f4)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-02 19:25:12 -04:00
Ramiro Polla
732dbc0f03 mingw32: properly check if vfw capture is supported by the system headers
Remove check for an specific w32api version, checking instead if vfw.h
supports vfw capture. The defines in w32api 3.12 were wrong, so this must be
accounted for in the check.

Originally committed as revision 24203 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit ec1ee802a2)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>

Conflicts:

	configure
2012-06-02 19:25:12 -04:00
Ramiro Polla
68d2c6e872 configure: properly check for mingw-w64 through installed headers. mingw-w64 can also target 32-bit code.
Originally committed as revision 24156 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit 0a4307d630)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-02 19:25:12 -04:00
Ronald S. Bultje
4bccd5a36b qdm2: clip array indices returned by qdm2_get_vlc().
Prevents subsequent overreads when these numbers are used as indices
in arrays.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit 64953f67f9)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>

Conflicts:

	libavcodec/qdm2.c
2012-06-02 19:25:12 -04:00
Alex Converse
07bff95176 kmvc: Check palsize.
Fixes: CVE-2011-3952

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Based on fix by Michael Niedermayer
(cherry picked from commit 386741f887)
(cherry picked from commit 416849f2e0)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Michael Niedermayer
cfad9930ff shorten: Use separate pointers for the allocated memory for decoded samples.
Fixes invalid free() if any of the buffers are not allocated due to either
not decoding a header or an error prior to allocating all buffers.

Fixes CVE-2012-0858
CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit 204cb29b3c)

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Justin Ruggles
46d9022859 shorten: check for realloc failure
(cherry picked from commit 9e5e2c2d01)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Laurent Aimar
58b3f439cc shorten: Fix out of bound writes in fix_bitshift()
The data pointers s->decoded[*] already take into account s->nwrap.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 5f05cf4ea9)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Laurent Aimar
8f924ee66f shorten: Prevent block size from increasing
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 95010d18b2)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Måns Rullgård
40cb7b3b49 shorten: remove VLA and check for buffer overflow
Originally committed as revision 23798 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit 02591641f8)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Janne Grunau
15c819e23f adpcm: ADPCM Electronic Arts has always two channels
Fixes half of http://ffmpeg.org/trac/ffmpeg/ticket/794
Adresses CVE-2012-0852

(cherry picked from commit bb5b3940b0)

Conflicts:

	libavcodec/adpcm.c

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Alexander Strange
7a5fbe4034 h264: Add check for invalid chroma_format_idc
Fixes a crash when FF_DEBUG_PICT_INFO is used.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6ef4063957)

Fixes: CVE-2012-0851

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Alex Converse
32b73701c7 aacsbr: prevent out of bounds memcpy().
Fixes Libav Bug 195.
Fixes CVE-2012-0850

This doesn't make the code handle sample rate or upsample/downsample
change properly but this is still a good sanity check.

Based on change by Michael Niedermayer.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit 17ce52912f)

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

Conflicts:

	libavcodec/aacsbr.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:53 +02:00
Alex Converse
212217504a dpcm: ignore extra unpaired bytes in stereo streams.
Fixes: CVE-2011-3951

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
(cherry picked from commit ce7aee9b73)
(cherry picked from commit eaeaeb265f)

Conflicts:

	libavcodec/dpcm.c

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:52 +02:00
Mans Rullgard
e02249b130 vqavideo: return error if image size is not a multiple of block size
The decoder assumes in various places that the image size
is a multiple of the block size, and there is no obvious
way to support odd sizes.  Bailing out early if the header
specifies a bad size avoids various errors later on.

Fixes CVE-2012-0947.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 58b2e0f0f2)

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:52 +02:00
Alex Converse
bf0ec375ef celp filters: Do not read earlier than the start of the 'out' vector.
CC: libav-stable@libav.org
(cherry picked from commit 37ddd38332)

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:52 +02:00
Alex Converse
e9c9707316 motionpixels: Clip YUV values after applying a gradient.
Prevents illegal reads on truncated and malformed input.

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

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:52 +02:00
Janne Grunau
5933af562e motionpixels: decode only the 111 complete frames for fate
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit c2f2dfb3dd)

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

Conflicts:

	tests/fate.mak
	tests/ref/fate/motionpixels

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-05-28 21:21:52 +02:00
Michael Niedermayer
1156f07c6a kgv1dec: Increase offsets array size so it is large enough.
Fixes CVE-2011-3945

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

Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit a02e8df973)
(cherry picked from commit d5f2382d03)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:43:06 +02:00
Alex Converse
6ca010f209 mjpegbdec: Fix overflow in SOS.
Based in part by a fix from Michael Niedermayer <michaelni@gmx.at>

Fixes CVE-2011-3947

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
(cherry picked from commit b57d262412)

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:43:06 +02:00
Michael Niedermayer
224025d852 atrac3: Fix crash in tonal component decoding.
Add a check to avoid writing past the end of the channel_unit.components[]
array.

Bug Found by: cosminamironesei
Fixes CVE-2012-0853
CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit c509f4f747)

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:43:06 +02:00
Alex Converse
a8f4db0acd dv: Fix small stack overread related to CVE-2011-3929 and CVE-2011-3936.
Found with asan.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit 2d1c0dea5f)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit 00fa6ffe1a)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:23:19 +02:00
Michael Niedermayer
b46141b0d1 dv: Fix null pointer dereference due to ach=0
dv: Fix null pointer dereference due to ach=0

Fixes part2 of CVE-2011-3929

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Roman Shaposhnik <roman@shaposhnik.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit 5a396bb3a6)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit 44e182d41e)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:23:19 +02:00
Michael Niedermayer
38421f27b3 dv: check stype
dv: check stype

Fixes part1 of CVE-2011-3929
Possibly fixes part of CVE-2011-3936

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Roman Shaposhnik <roman@shaposhnik.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit 635bcfccd4)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit bb737d381f)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:23:19 +02:00
Alex Converse
3253dd2b42 nsvdec: Propagate errors
Related to CVE-2011-3940.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
(cherry picked from commit c898431ca5)

Conflicts:

	libavformat/nsvdec.c

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:23:19 +02:00
Alex Converse
87007519c8 nsvdec: Be more careful with av_malloc().
Check results for av_malloc() and fix an overflow in one call.

Related to CVE-2011-3940.

Based in part on work from Michael Niedermayer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
(cherry picked from commit 8fd8a48263)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:23:19 +02:00
Michael Niedermayer
1edf848a81 nsvdec: Fix use of uninitialized streams.
Fixes CVE-2011-3940 (Out of bounds read resulting in out of bounds write)

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

Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit 6a89b41d97)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit 65beb8c117)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-04-08 11:23:19 +02:00
ami_stuff
b56606e6bc Replace SSE2 instruction in scalarproduct_float_sse() by SSE equivalent.
Fixes an AAC decoding issue with the sample from ticket #213 on machines
with SSE but without SSE2.
Based on 89411a by Reimar.

(cherry picked from commit f6b7863808)
2012-04-04 09:10:25 +02:00
Michael Niedermayer
113ca1b8db Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  id3v2: fix skipping extended header in id3v2.4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 02:19:17 +02:00
Anton Khirnov
f70c720d42 id3v2: fix skipping extended header in id3v2.4
In v2.4, the length includes the length field itself.
(cherry picked from commit ddb4431208)

Conflicts:

	libavformat/id3v2.c

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-04-01 19:35:11 +02:00
Michael Niedermayer
1014e20492 atrac3: Fix crash in tonal component decoding.
Fixes Ticket780
Bug Found by: cosminamironesei

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-12 22:10:33 +01:00
Michael Niedermayer
431cf16963 h264: check chroma_format_idc range.
Fixes Ticket758
Bug found by: Diana Elena Muscalu

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-12 22:09:56 +01:00
Michael Niedermayer
e85296beae Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  Release notes and changelog for 0.6.5
  Bump version number for 0.6.5 release.
  vorbis: An additional defense in the Vorbis codec.
  vorbisdec: Fix decoding bug with channel handling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-12 22:06:50 +01:00
Reinhard Tartler
62c4739348 Release notes and changelog for 0.6.5 2012-01-10 21:17:30 +01:00
Reinhard Tartler
7efa13b4b4 Bump version number for 0.6.5 release. 2012-01-10 21:02:32 +01:00
Chris Evans
a5e0afe3c9 vorbis: An additional defense in the Vorbis codec.
Fixes Bug: #190
Chromium Bug: #100543
Related to CVE-2011-3893

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

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

Conflicts:

	libavcodec/vorbis_dec.c
2012-01-08 09:29:16 +01:00
Reinhard Tartler
42f0a66968 vorbisdec: Fix decoding bug with channel handling
Fixes Bug: #191
Chromium Bug: #101458
CVE-2011-3895

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

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

Conflicts:

	libavcodec/vorbis_dec.c
2012-01-08 09:24:13 +01:00
Michael Niedermayer
f1c9dbe40b Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc()
  vorbis: Avoid some out-of-bounds reads
  vp3: fix streams with non-zero last coefficient
  vp3: fix oob read for negative tokens and memleaks on error. (cherry picked from commit 8370e426e4)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-08 05:13:49 +01:00
Michael Niedermayer
b945f558c7 vp3: fix regression with mplayer-crash.ogv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a2a12e3358)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-08 05:13:32 +01:00
Chris Evans
90a4a46747 matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc()
Fixes bug #190
Chromium bug #100492
related to CVE-2011-3893

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

(cherry-picked from commit faaec4676c)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-01-07 22:03:48 +01:00
Chris Evans
6d6254ba9f vorbis: Avoid some out-of-bounds reads
Fixes Bug: #190
Chromium Bug: #100543
Related to CVE-2011-3893

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-01-07 22:03:34 +01:00
Janne Grunau
ae24b5ce3a vp3: fix streams with non-zero last coefficient
Fixes a regression introduced in 8b94df0f20.
(cherry picked from commit 9b4767e478)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-01-07 21:33:24 +01:00
Ronald S. Bultje
c9c7db0af2 vp3: fix oob read for negative tokens and memleaks on error.
(cherry picked from commit 8370e426e4)

Fixes: #189
Chromium-Bug: 101172,100465
CVE-2011-3892

Removed the parts that are related to multi-threading, which is not
included before 0.7.

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

Conflicts:

	libavcodec/vp3.c
2012-01-07 09:35:15 +01:00
Michael Niedermayer
e1a2bcbec8 h264: fix init of topleft ref/mv.
Fixes Ticket778

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 680880c98d)
2011-12-28 02:20:09 +01:00
Michael Niedermayer
d32ea79ea2 Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  Release notes and changelog for 0.6.4

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-25 20:11:09 +01:00
Reinhard Tartler
6b156c4563 Release notes and changelog for 0.6.4 2011-12-25 10:03:08 +01:00
Michael Niedermayer
57eb787ed3 Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6: (58 commits)
  Bump version number for 0.6.4 release.
  qdm2: check output buffer size before decoding
  Fix qdm2 decoder packet handling to match the api
  4xm: Add a check in decode_i_frame to prevent buffer overreads
  wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
  swscale: #include "libavutil/mathematics.h"
  vp3dec: Check coefficient index in vp3_dequant()
  svq1dec: call avcodec_set_dimensions() after dimensions changed.
  vp6: Fix illegal read.
  vp6: Fix illegal read.
  vp6: Reset the internal state when aborting key frames header parsing
  vp6: Check for huffman tree build errors
  vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
  Fix out of bound reads in the QDM2 decoder.
  Check for out of bound writes in the QDM2 decoder.
  vmd: fix segfaults on corruped streams
  rv34: Check for invalid slice offsets
  rv34: Fix potential overreads
  rv34: Avoid NULL dereference on corrupted bitstream
  rv10: Reject slices that does not have the same type as the first one
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-25 01:24:40 +01:00
Reinhard Tartler
dbe7e209df Bump version number for 0.6.4 release. 2011-12-24 15:59:10 +01:00
Justin Ruggles
cfb9b47a1e qdm2: check output buffer size before decoding
(cherry picked from commit 7d49f79f1c)

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

Conflicts:

	libavcodec/qdm2.c
2011-12-24 15:57:17 +01:00
Baptiste Coudurier
b26c1a8b7e Fix qdm2 decoder packet handling to match the api
Originally committed as revision 25767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-12-24 15:54:51 +01:00
Shitiz Garg
ccd2ca0246 4xm: Add a check in decode_i_frame to prevent buffer overreads
Fixes bugzilla #135

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 355d917c0b)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Justin Ruggles
92b964969b wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
The initial values are not checked against the number of block sizes.
Initializing them to frame_len_bits will result in a block size index of 0
in these cases instead of something that might be out-of-range.

Fixes Bug 81.
(cherry picked from commit 05d1e45d1f)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Reinhard Tartler
ca87ec53e9 swscale: #include "libavutil/mathematics.h"
this file uses the M_PI macro since
4e74187db2, so include the correct header
directly.

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

(cherry picked from commit 5089ce1b5a)

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

Conflicts:

	libswscale/utils.c
2011-12-24 15:47:57 +01:00
Reinhard Tartler
bd071de29a vp3dec: Check coefficient index in vp3_dequant()
Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes NGS00145, CVE-2011-4352

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

(cherry picked from commit 8b94df0f20)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Michael Niedermayer
8ddc0b491d svq1dec: call avcodec_set_dimensions() after dimensions changed.
Fixes NGS00148, CVE-2011-4579

Found-by: Phillip Langlois
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

(cherry picked from commit 6e24b9488e)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Thierry Foucu
94aacaf508 vp6: Fix illegal read.
Found with Address Sanitizer

Signed-off-by: Alex Converse <alex.converse@gmail.com>
(cherry picked from commit e0966eb140)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Alex Converse
8d68083298 vp6: Fix illegal read.
(cherry picked from commit 2a6eb06254)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Laurent Aimar
e28bb18fdc vp6: Reset the internal state when aborting key frames header parsing
It prevents leaving the state only half initialized.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit a72cad0a6c)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Laurent Aimar
a62779d986 vp6: Check for huffman tree build errors
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 066fff755a)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:57 +01:00
Dustin Brody
201fcfb894 vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f913eeea43)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:47:56 +01:00
Laurent Aimar
8856c4c5c9 Fix out of bound reads in the QDM2 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit 5a19acb17c)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:17:00 +01:00
Laurent Aimar
0f7bf1786e Check for out of bound writes in the QDM2 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit 291d74a46d)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:16:51 +01:00
Laurent Aimar
b99366faef vmd: fix segfaults on corruped streams
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit 494cfacdb9)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 15:16:36 +01:00
Laurent Aimar
da0900e8bb rv34: Check for invalid slice offsets
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 4cc7732386)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
d5551d7884 rv34: Fix potential overreads
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit b4ed3d78cb)

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

Conflicts:

	libavcodec/rv34.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
35f1888585 rv34: Avoid NULL dereference on corrupted bitstream
rv34_decode_slice() can return without allocating any pictures.

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
7cd7461ec8 rv10: Reject slices that does not have the same type as the first one
This prevents crashes with some corrupted bitstreams.

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
23f622de60 oggdec: fix out of bound write in the ogg demuxer
Between ogg_save() and ogg_restore() calls, the number of streams
could have been reduced.

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

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Michael Niedermayer
19a99b6e6b smacker: fix a few off by 1 errors
stereo & 16bit is untested due to lack of samples

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

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

Conflicts:

	libavcodec/smacker.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
117e04cdfa Check for invalid VLC value in smacker decoder.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 6489455495)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
5d6fe49ac9 Check and propagate errors when VLC trees cannot be built in smacker decoder.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 9676ffba83)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
9f28eede5e Fixed off by one packet size allocation in the smacker demuxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit a92d0fa5d2)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
6f70111e81 Check for invalid packet size in the smacker demuxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit e055932f56)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
4492523938 ape demuxer: fix segfault on memory allocation failure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 273aab99bf)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
a97e82c487 Fixed size given to init_get_bits() in xan decoder.
(cherry picked from commit 393d5031c6)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Kostya Shishkov
f79f3a946f smacker demuxer: handle possible av_realloc() failure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 47a8589f7b)

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

Conflicts:

	libavformat/smacker.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
5394cdf775 Fixed segfault with wavpack decoder on corrupted decorrelation terms sub-blocks.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 8bfea4ab4e)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Alex Converse
7f163e5a87 indeo2: fail if input buffer too small
(cherry picked from commit b7ce4f1d1c)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Alex Converse
23999c45bc indeo2: init_get_bits size in bits instead of bytes
(cherry picked from commit 68ca330cbd)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Alex Converse
14fae6eab0 wavpack: Check error codes rather than working around error conditions.
(cherry picked from commit dba2b63a98)

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

Conflicts:

	libavcodec/wavpack.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:33 +01:00
Laurent Aimar
f5a8c4242e Fixed invalid writes in wavpack decoder on corrupted bitstreams.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 0aedab0340)

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

Conflicts:

	libavcodec/wavpack.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Laurent Aimar
1edc513bcf Fixed invalid access in wavpack decoder on corrupted bitstream.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 55354b7de2)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Laurent Aimar
9864518544 Fixed invalid access in wavpack decoder on corrupted extra bits sub-blocks.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit beefafda63)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Sean McGovern
4ccb8f5b7b cpu detection: avoid a signed overflow
1<<31 overflows because 1 is signed, so force it to unsigned.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 5938e02185)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Jeff Downs
01b9a6e447 h264: correct implicit weight table computation for long ref pics
Correct computation of implicit weight tables when referencing pictures
that are marked for long reference.

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Jeff Downs
34d2fe6860 h264: correct the check for invalid long term frame index in MMCO decode
The current check on MMCO parameters prohibits a "max long term frame index
plus 1" of 16 (frame idx of 15) for the "set max long term frame index" MMCO.
Fix this off-by-one error to allow the full range of legal values.

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Kostya Shishkov
e7746f834a rv10/20: tell decoder to use edge emulation
This removes out-of-edge motion compensation artifacts (easily spotted green
blocks in avplay, gray blocks in transcoding), for example here:
http://samples.libav.org/samples/real/tv_watching_t1.rm

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Luca Barbato
973bdafe05 flvenc: use int64_t to store offsets
Metadata currently is written only at the start of the file in normal
cases, when transcoding from a rtmp source metadata could be
written later and the offset recorded can exceed 32bit.

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

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

Conflicts:

	libavformat/flvenc.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Reimar Döffinger
f4a5a730d8 VC-1: fix reading of custom PAR.
Custom PAR num/denum are in 1-256 range.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
(cherry picked from commit 0e86965514)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-12-24 12:20:32 +01:00
Michael Niedermayer
603a282f8f Merge remote-tracking branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  update version
  Release notes and changelog for 0.6.3
  Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080.
  cavs: fix some crashes with invalid bitstreams
  libvo-aacenc: Sync up with 0.7.2
  Fix MMX rgb24 to yuv conversion with gcc 4.6
  oggdec: prevent heap corruption.
  Fix ff_imdct_calc_sse() on gcc-4.6
  backport libvo-aacenc wrapper for aac encoding

Conflicts:
	Changelog
	VERSION

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 01:50:29 +01:00
Dustin Brody
36c196bca4 h264: notice memory allocation failure
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit bac3ab13ea)

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

Conflicts:

	libavcodec/h264.c

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Baptiste Coudurier
7b733e4b7f libx264: do not set pic quality if no frame is output
Avoids uninitialized reads.

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Alex Converse
e07086d8ae mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
This prevents out of bounds reads when extradata is being decoded.
(cherry picked from commit 1f6f58d585)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Diego Biurrun
d2411412f1 rv30: return AVERROR(EINVAL) instead of EINVAL
On some platforms EINVAL could be positive, ensure we return negative values.
(cherry picked from commit e5985185d2)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Rafaël Carré
0facc63ff6 Do not decode RV30 files if the extradata is too small
Signed-off-by: Diego Biurrun <diego@biurrun.de>
(cherry picked from commit 289c60001f)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Mans Rullgard
5ed9457260 aacps: skip some memcpy() if src and dst would be equal
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e5902d60ce)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Jindrich Makovicka
002e6d185c mpegts: fix Continuity Counter error detection
According to MPEG-TS specs, the continuity_counter shall not be
incremented when the adaptation_field_control of the packet
equals '00' or '10'.

Signed-off-by: Jindrich Makovicka <jindrich.makovicka@nangu.tv>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 8923cfa328)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Justin Ruggles
81d5ceff04 alsa: fallback to buffer_size/4 for period_size.
buffer_size/4 is the value used by aplay. This fixes output to null
devices, e.g. writing ALSA output to a file.
(cherry picked from commit 8bfd7f6a47)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Clément Bœsch
86849f0976 mxfenc: fix ignored drop flag in binary timecode representation.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 4d5e7ab5c4)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
John Stebbins
84fce203bd dca: set AVCodecContext frame_size for DTS audio
Set the frame size when decoding DTS audio.

This has the side effect of fixing the computation of timestamps for DTS-HD in compute_pkt_fields.  Since frame_size is
not currently set, the duration of a frame is being guessed based on the streams bitrate.  But for DTS-HD, the bitrate
currently used is the rate of the DTS core which is much different than the whole DTS-HD stream and leads to a wildly
inaccurate frame duration estimate.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 49c7006c7e)

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Jason Garrett-Glaser
572e94bc51 H.264: fix overreads of qscale_table
filter_mb_fast assumed that qscale_table was padded like many of the other tables.
(cherry picked from commit 5029a40633)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:32 +01:00
Piotr Kaczuba
7487d53d01 postprocess.c: filter name needs to be double 0 terminated
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit f4f3300c09)
(cherry picked from commit 20ca827019)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:31 +01:00
Alex Converse
21ad6e08e4 Replace strncpy() with av_strlcpy() in libpostproc.
(cherry picked from commit 1a5e4fd8c5)

Conflicts:

	ffmpeg.c
	libavcodec/ac3enc.c
	libavcodec/ass.c
	libavformat/movenc.c
	libavformat/mp3enc.c
	libavutil/log.c
2011-11-05 13:18:31 +01:00
Michael Niedermayer
feca20021c jpegdec: actually search for and parse RSTn
Fixes decoding of MJPEG files produced by some UVC Logitec web cameras,
such as "Notebook Pro" and "HD C910".

References:
http://trac.videolan.org/vlc/ticket/4215
http://ffmpeg.org/trac/ffmpeg/ticket/267

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Kostya <kostya.shishkov@gmail.com>
(cherry picked from commit 8c0fa61a97)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:31 +01:00
Alex Converse
394c3e78d5 riff: Add mpgv MPEG-2 fourcc
Supported by mplayer and seen in the wild.
(cherry picked from commit 505345ed5d)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:31 +01:00
Tomas Härdin
2fc39af1de Added M701 codec_tag for mpeg2video
Originally committed as revision 23513 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit 77d3f1f792)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 13:18:31 +01:00
Reinhard Tartler
973d752dfb update version 2011-11-05 13:01:01 +01:00
Reinhard Tartler
3cc3f351a6 Release notes and changelog for 0.6.3 2011-11-05 12:46:18 +01:00
Michael Niedermayer
222d18ab20 Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080.
Whitespace of the patch cleaned up by Aurel
Some of the issues have been reported by Steve Manzuik / Microsoft Vulnerability Research (MSVR)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

(cherry picked from commit 956c901c68)

Further suggestions from Kostya <kostya.shishkov@gmail.com> have been
implemented by Reinhard Tartler <siretart@tauware.de>

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

NB: MSVR-11-0080 doesn't seem to exist. This issue seems to be known
as MSVR11-011 instead.

Fixes: CVE-2011-3504

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 12:31:43 +01:00
Mans Rullgard
7a6bba627d cavs: fix some crashes with invalid bitstreams
This removes all valgrind-reported invalid writes with one
specific test file.

Fixes http://www.ocert.org/advisories/ocert-2011-002.html

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4a71da0f3a)

Fixes CVE-2011-3362, CVE-2011-3973, CVE-2011-3974

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 12:29:37 +01:00
Reinhard Tartler
9f95d7aab3 libvo-aacenc: Sync up with 0.7.2
This version was checked out from the 0.7.2 release and has some bits
reverted to compile in the release/0.6 branch

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 12:27:42 +01:00
Mans Rullgard
fe4a355805 Fix MMX rgb24 to yuv conversion with gcc 4.6
When built with gcc 4.6, the MMX rgb24 to yuv conversion gives
wrong output.  The compiler produces this warning:

libswscale/swscale_template.c:1885:5: warning: use of memory input without lvalue in asm operand 4 is deprecated

Changing the memory operand to a register makes it work.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit f344903ca5)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-11-05 08:59:14 +01:00
Chris Evans
88ea7ca627 oggdec: prevent heap corruption.
Specifically crafted samples can reinit ogg->streams[] while
reading samples, and thus we should not cache old pointers since
these may no longer be valid.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry-picked from commit 4cc3467e7a)
2011-08-04 22:01:25 +02:00
Reinhard Tartler
03ef9828b5 Fix ff_imdct_calc_sse() on gcc-4.6
Gcc 4.6 only preserves the first value when using an array with an "m"
constraint.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 770c410fbb)

References:
http://bugs.debian.org/635324

Conflicts:

	libavcodec/x86/fft_sse.c
2011-07-25 09:38:48 +02:00
Reinhard Tartler
2ad6e14457 backport libvo-aacenc wrapper for aac encoding 2011-05-13 12:43:40 +02:00
Michael Niedermayer
39c8434bce Update VERSION for 0.6.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-02 03:22:11 +02:00
Michael Niedermayer
701dd6eab0 Merge remote branch 'qatar/release/0.6' into release/0.6
* qatar/release/0.6:
  Release notes for 0.6.3
  update Changelog
Duplicate  AMV: disable DR1 and don't override EMU_EDGE
  lavf: inspect more frames for fps when container time base is coarse
Duplicate  Fix races in default av_log handler
  aac: add headers needed for log2f()
  mjpeg: Detect overreads in mjpeg_decode_scan() and error out.

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-02 03:21:55 +02:00
Reinhard Tartler
f5d14a92cb Release notes for 0.6.3 2011-04-30 09:01:09 +02:00
Reinhard Tartler
b5c3b18bfc update Changelog 2011-04-30 08:44:07 +02:00
Michael Niedermayer
8539ea3265 AMV: disable DR1 and don't override EMU_EDGE
This works around a possibly exploitable crash.
Appearently, vlc can be exploited with a malicous file. This should get
reverted as soon as a proper fix is found.

Reported-at: Thu, 21 Apr 2011 14:38:25 +0000
Reported-by: Dominic Chell <Dominic.Chell@ngssecure.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 89f903b3d5)
(cherry picked from commit 9b919571e5)
(cherry picked from commit 7089265756)

Signed-off-by: Reinhard Tartler <siretart@sandy.tauware.de>
2011-04-30 08:19:29 +02:00
Reinhard Tartler
9848e1be2d lavf: inspect more frames for fps when container time base is coarse
As per issue2629, most 23.976fps matroska H.264 files are incorrectly
detected as 24fps, as the matroska timestamps usually have only
millisecond precision.

Fix that by doubling the amount of timestamps inspected for frame rate
for streams that have coarse time base. This also fixes 29.970 detection
in matroska.

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

Tested with mplayer based on this report
http://thread.gmane.org/gmane.comp.video.mplayer.user/66043/focus=66063

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit 7c152a458d)
2011-04-30 08:18:32 +02:00
Reinhard Tartler
66ebf37c73 Fix races in default av_log handler
Prevent competing threads from overwriting (shared) buffers.

Original patch by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0247bdee25)
2011-04-30 08:16:18 +02:00
Michael Niedermayer
036fefebb9 aac: add headers needed for log2f()
Allows compilation of aaccoder.c under cygwin

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>

(cherry picked from commit 30fe971934)
2011-04-30 08:16:07 +02:00
Michael Niedermayer
1916656641 mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rbultje@google.com>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>

(cherry picked from commit 0d9cba562b88899f0769e686d19b7953f589069b)
2011-04-30 08:12:10 +02:00
Michael Niedermayer
ace432f62c Update VERSION for 0.6.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 12:44:19 +02:00
Michael Niedermayer
f8969f8ea9 update changelog
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 12:29:34 +02:00
Michael Niedermayer
36f3244ec8 Fix apparently exploitable race condition.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 12:28:46 +02:00
Michael Niedermayer
553ae88b2e uodate changelog with AMV fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 11:59:25 +02:00
Michael Niedermayer
9b919571e5 AMV: Fix possibly exploitable crash.
Reported-at: Thu, 21 Apr 2011 14:38:25 +0000
Reported-by: Dominic Chell <Dominic.Chell@ngssecure.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 89f903b3d5)
2011-04-26 11:57:22 +02:00
Michael Niedermayer
99d3772ef4 Update changelog to match our (late) 0.6.2 release 2011-03-24 02:22:39 +01:00
Michael Niedermayer
15cfc6c97d Merge remote-tracking branch 'newdev/release/0.6' into release/0.6
* newdev/release/0.6:
  Support writing 2d float arrays.
  Add missing dependencies for the AAC-HE backport for hardcoded tables
  configure: Add the -D parameter to the dlltool command
  Set the correct target for mingw64 dlltool
  configure: use dlltools instead of lib.exe
  release notes and changelog for 0.6.2

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-24 02:22:00 +01:00
Michael Kostylev
b4eafa8b04 Support writing 2d float arrays.
Patch by Michael Kostylev, michael D kostylev A gmail

Originally committed as revision 23105 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit 56b37cd1c7)

Unbreaks compilation since the HE-AAC v2 backport
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-22 21:15:20 +01:00
Reinhard Tartler
2b2856bac2 Add missing dependencies for the AAC-HE backport for hardcoded tables
Unbreaks compilation with --enable-hardcoded-tables
2011-03-22 21:08:48 +01:00
Martin Storsjö
52f9b632b5 configure: Add the -D parameter to the dlltool command
This is required for the generated .lib file to actually
be usable by MSVC.

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

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-22 12:42:56 +01:00
Luca Barbato
79e0cbae33 Set the correct target for mingw64 dlltool
That fixes .lib creation for the win64 target.
(cherry picked from commit 417516f63f)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-22 12:42:55 +01:00
Luca Barbato
7fc5bffb54 configure: use dlltools instead of lib.exe
This way building ffmpeg on mingw won't require windows specific tools
(cherry picked from commit ec10a9ab46)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-22 12:42:55 +01:00
Reinhard Tartler
4940d1c0ae release notes and changelog for 0.6.2
(cherry picked from commit b0f8fdc411)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-19 17:47:14 +01:00
Reinhard Tartler
b0f8fdc411 release notes and changelog for 0.6.2 2011-03-18 18:34:49 +01:00
Reinhard Tartler
ba1927dda9 partially rename FFmpeg to Libav
update mailing list references and irc channels in configure
(cherry picked from commit 070c5d0f35)
2011-03-18 18:34:49 +01:00
Janne Grunau
dda2062c31 consolidate .gitignore patters into a single file
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 2c3589bfda)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-03-18 17:47:01 +01:00
Janne Grunau
5d01cd8429 convert svn:ignore properties to .gitignore files
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 348b8218f7)
2011-03-18 17:46:29 +01:00
Kostya
f9bf2a4ab1 Do not attempt to decode APE file with no frames
This fixes invalid reads/writes with this sample:
http://packetstorm.linuxsecurity.com/1103-exploits/vlc105-dos.txt
(cherry picked from commit 8312e3fc90)
2011-03-18 17:02:34 +01:00
Reimar Döffinger
cf69619141 Fix invalid reads in VC1 decoder
Patch discussed and taken from https://roundup.ffmpeg.org/issue2584
(cherry picked from commit 2bbec1eda4)

Change related to CVE-2011-0723
2011-03-18 17:01:08 +01:00
Reinhard Tartler
2d782b9646 Bump version number for 0.6.2 release. 2011-03-18 16:59:07 +01:00
Frank Barchard
5e3d023702 Check rangebits to avoid a possible crash.
Fixes issue 2548 (and Chrome issue 68115 and unknown CERT issues).

Patch by Frank Barchard, fbarchard at google

Originally committed as revision 26365 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit 13184036a6)

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 23:26:15 +01:00
Jason Garrett-Glaser
4ac56bf7dc Fix crashes in vorbis decoding found by zzuf
Fixes issue 2322.

Originally committed as revision 25591 to svn://svn.ffmpeg.org/ffmpeg/trunk
(cherry picked from commit 3dde66752d)

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-24 23:25:45 +01:00
Diego Biurrun
a38489c0d8 slight rewording for the release focus description
Originally committed as revision 25524 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-18 19:46:51 +00:00
Diego Biurrun
a5200fac2c Rewording for the 0.6.1 release notes.
Originally committed as revision 25514 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-18 11:28:24 +00:00
Diego Biurrun
32b0876fb5 small spelling fixes
Originally committed as revision 25513 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-18 10:52:44 +00:00
Reinhard Tartler
e33f58af5a update version for 0.6.1
Originally committed as revision 25469 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-13 12:44:47 +00:00
Reinhard Tartler
540c6cca6e add note about flic fix (CVE-2010-3429) to RELEASE notes
Originally committed as revision 25468 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-13 12:43:18 +00:00
Reinhard Tartler
08f5b2464d add note about flic fix (CVE-2010-3429)
Originally committed as revision 25467 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-13 12:42:38 +00:00
Reinhard Tartler
79a16f0cac Fix several security issues in flicvideo.c
This fixes CVE-2010-3429


backport r25223 by michael


Originally committed as revision 25307 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-02 07:42:42 +00:00
Reinhard Tartler
9ad774ff33 property changes from the AAC backport
Originally committed as revision 25306 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-10-02 07:35:56 +00:00
Reinhard Tartler
84149812a6 clarify addition of VP80 fourcc code
Originally committed as revision 24636 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-07-31 21:56:15 +00:00
Reinhard Tartler
d41187cb9e update release notes for the upcoming 0.6.1 point release
Originally committed as revision 24635 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-07-31 21:55:38 +00:00
Reinhard Tartler
094e849f32 update changelog for upcoming 0.6.1 point release
Originally committed as revision 24633 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-07-31 21:13:20 +00:00
Reinhard Tartler
ba90f93852 Backport AAC-HE v2 from trunk
This patch has seen testing for a couple of weeks in ubuntu maverick and debian/experimental w/o negative feedback so far.



Originally committed as revision 24576 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-07-28 20:14:28 +00:00
Reinhard Tartler
93883b0c39 aviobuf: Do short seeks forward by reading and skipping data instead of a proper seek
This improves performance on e.g. seekable http.


backport r24280 by mstorsjo


Originally committed as revision 24335 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-07-19 19:51:29 +00:00
Reinhard Tartler
61eb165514 ac3: make the value of codec_id during (E-)AC-3 parsing stay CODEC_ID_EAC3
if any E-AC-3 frames have been detected instead of switching back and forth for
AC-3 core + dependent E-AC-3 substream(s).
Fixes Issue 2022.

backport r24103 by jbr


Originally committed as revision 24136 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-07-09 01:16:42 +00:00
9d1213912f Add VP80 fourcc
Patch by Google

backport r23193 by conrad


Originally committed as revision 23863 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-28 20:38:36 +00:00
Reinhard Tartler
edf5072fea Doxygen av_codec_get_id() and av_codec_get_tag().
backport r23102 by stefano


Originally committed as revision 23801 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-26 15:32:27 +00:00
Jean-Daniel Dupas
32fa7cecd7 Some fields were incorrectly reset (to NULL) when calling avcodec_copy_context().
Patch by Jean-Daniel Dupas, devlists shadowlab org 


backport r23344 by cehoyos


Originally committed as revision 23793 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-26 14:24:14 +00:00
Reinhard Tartler
b9ebd7dc7d 10l: aacsbr: Fix f_master[2] calculation when k2diff == -1.
backport r23660 by alexc


Originally committed as revision 23747 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-24 05:46:58 +00:00
Diego Biurrun
55b6e09e5e Fix two small typos.
Originally committed as revision 23678 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-21 09:17:19 +00:00
Reinhard Tartler
aa48d9e64c remove note that libvpx was considered (L)GPL incompatible
Originally committed as revision 23623 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-16 06:10:30 +00:00
Reinhard Tartler
d7e98ea6ac configure: fix symver detection with icc 10
Apparently the compiler sometimes bypasses the normal assembler, in
which case the asm label variant works.  If the file contains any
inline asm, this bypassing is not done, and the assembler chokes on
invalid syntax.  Inserting a dummy asm() statement in the test when
the compiler supports it makes sure no shortcuts are taken and the
test fails as it should.

backport r23616 by mru


Originally committed as revision 23618 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-15 19:44:30 +00:00
Reinhard Tartler
8182bcae90 Fix symbol version compat wrappers on systems with export prefixes
backport r23615 by mru


Originally committed as revision 23617 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-15 19:44:09 +00:00
Reinhard Tartler
522f1861ca Add compatibility wrappers for functions moved from lavf to lavc
When symbol versioning is enabled, moving symbols from one library to
another breaks binary compatibility.  This adds wrappers with the old
version tag for the av_*packet functions recently moved to lavc.

backport r23611 by mru


Originally committed as revision 23613 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-15 13:31:27 +00:00
Reinhard Tartler
44f91788a5 revert r23610, better patch is pending
Originally committed as revision 23612 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-15 13:29:20 +00:00
Reinhard Tartler
03b47bb8d7 add symver hacks for gnu linkers
this patch restores binary compatibility for the av_*_packet symbols that have
been moved from libavformat to libavcodec.  This patch works for gnu toolchains
only; support for ARM RCVT will be handed in for a later point release as soon
as the patch is ready and approved by the ARM maintainer(s).


Originally committed as revision 23610 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-15 12:29:19 +00:00
Reinhard Tartler
05b4e4fe49 remove redundant changelog entry
Originally committed as revision 23560 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-10 08:10:32 +00:00
Reinhard Tartler
3229bf8573 librtmp may link to different ssl implementations
Make sure we link using the right libs by using pkg-config



backport r23511 by lu_zero


Originally committed as revision 23550 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-09 15:55:02 +00:00
James Zern
db06ddf8c6 Add WebM muxer
Patch by James Zern <jzern at google>

backport r23474 by conrad


Originally committed as revision 23549 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-09 15:54:27 +00:00
Reinhard Tartler
eb4b8b96fc libvpx now has an (L)GPL-compatible license.
backport r23482 by diego


Originally committed as revision 23487 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-05 13:58:13 +00:00
Reinhard Tartler
373010971e update RELEASE notes
VP8 license issues seem to have solved, plus include wording suggestion
from discussion on -cvslog


Originally committed as revision 23483 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-05 08:30:55 +00:00
James Zern
c3cd8890fe VP8 encoding via libvpx.
Patch by James Zern, Google, Inc.


backport r23449 by cehoyos


Originally committed as revision 23455 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-03 21:36:38 +00:00
Reinhard Tartler
20d4a1f020 Add an entry to APIchanges for the addition of sws_convertPalette8ToPacked32 -24
backport r23415 by siretart


Originally committed as revision 23446 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-03 20:16:42 +00:00
Reinhard Tartler
e5880b3f24 updates: introductionary and more general notes, add missing items from changelog
Originally committed as revision 23420 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-02 09:25:37 +00:00
Reinhard Tartler
4b51239df3 disable (native) vorbis encoder for the 0.6 branch
Originally committed as revision 23416 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-01 20:14:00 +00:00
Reinhard Tartler
4979362ae4 ffmpeg: offer alternatives for experimental codecs if they exist
backport r23398 by janne


Originally committed as revision 23400 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-01 06:29:50 +00:00
Reinhard Tartler
0546386dff ffmpeg: fail if user selected codec is experimental and strict_std_compliance > experimental
backport r23397 by janne


Originally committed as revision 23399 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-06-01 06:28:19 +00:00
Reinhard Tartler
70ea5176a5 Add a short note about libvpx.
backport r23394 by diego


Originally committed as revision 23395 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-31 21:49:53 +00:00
Diego Biurrun
661092004f Require --enable-nonfree flag for libvpx.
The license of libvpx is incompatible with the (L)GPL.  As long as this is
the case, the only way to use it is by marking the result as nonfree.

backport r23371 by diego


Originally committed as revision 23390 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-30 22:25:40 +00:00
Reinhard Tartler
f7f9f18f83 Treat SIPP like xvid, fixed issue1966
backport r23336 by michael


Originally committed as revision 23385 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 15:07:08 +00:00
Reinhard Tartler
55291e37f5 Samsung uses SIPP as FourCC for MPEG-4 ASP.
backport r23309 by cehoyos


Originally committed as revision 23384 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:45:13 +00:00
Reinhard Tartler
1f1d2fa75c ffserver: Send a Content-Base header in the reply to RTSP DESCRIBE requests
This is needed for QuickTime Player to be able to connect properly.


backport r23325 by mstorsjo


Originally committed as revision 23383 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:41:26 +00:00
Reinhard Tartler
2a546cecbf backport latest ffserver fixes like memory leaks and invalid reads
Patches by Howard Chu, hyc at highlandsun dot com


backport r23290-23295 by mstorsjo


Originally committed as revision 23382 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:40:31 +00:00
Reinhard Tartler
8f3504c3ca Mark vorbis encoder as experimental.
backport r23339 by cehoyos


Originally committed as revision 23381 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:34:37 +00:00
Reinhard Tartler
bf20d5e4bb Mark AAC encoder as experimental.
backport r23350 by alexc


Originally committed as revision 23380 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:33:50 +00:00
Janne Grunau
3fa19f6828 Add CODEC_CAP_EXPERIMENTAL and prefer encoders without it.
Patch by Janne Grunau, janne-ffmpeg jannau net 


backport r23334,23337-23338 by cehoyos and stefano


Originally committed as revision 23379 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:33:02 +00:00
Reinhard Tartler
4e62a67389 Check for VUI overeading and reset num_reoder_frames.
This helps the video from issue1831


backport r23328 by michael


Originally committed as revision 23378 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:25:18 +00:00
Reinhard Tartler
46ac6315fd api-example: Try to avoid decoding incomplete frames
Use a larger input audio buffer, refill it when it has less than 4 KB data
left.


backport r23323 by mstorsjo


Originally committed as revision 23377 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:20:05 +00:00
9052b5b73b matroska: Add V_VP8
Patch by Google

backport r23192 by conrad


Originally committed as revision 23376 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:11:03 +00:00
Reinhard Tartler
9181adff9c Fix VP8 listing in general.texi
backport r23306 by mstorsjo


Originally committed as revision 23375 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:05:05 +00:00
James Zern
8261cce1f0 VP8 decoding via libvpx
Patch by James Zern for Google, Inc., jzern google com

backportd r23191,23303,23307-23308 by conrad, cehoyos and mstorsjo

Originally committed as revision 23374 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 14:03:03 +00:00
Reinhard Tartler
df62b0d9f5 Display a more descriptive log message when probe buffer limit is
reached.



backport r23288 by jai_menon


Originally committed as revision 23373 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 13:11:56 +00:00
Cyril Russo
e63d03e7e2 Fix documentation of av_audio_convert.
Patch by Cyril Russo, stage D nexvision A laposte net


backport r23285 by cehoyos


Originally committed as revision 23372 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-29 13:11:21 +00:00
Reinhard Tartler
7920dc8802 matroskaenc: Write codec time base as default duration for video tracks.
This isn't exactly semantically equivalent, but the field has already been
long abused to mean this, and writing it helps in determining a decent cfr
time base when transcoding from a mkv where the video codec stores none (VP8).

backport r23284 by conrad


Originally committed as revision 23365 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-28 20:35:13 +00:00
Reinhard Tartler
057287c9cd Reduce the score for the aea demuxer probing function.
backport r23273 by banan


Originally committed as revision 23356 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-27 20:48:19 +00:00
Reinhard Tartler
1746657479 Fix detection of some stereo atrac files by not comparing the
block size mode and info byte.


backport r23272 by banan


Originally committed as revision 23355 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-27 20:47:48 +00:00
Reinhard Tartler
0ff244dea2 write 3gp perf tag for artist metadata
backport r23268 by bcoudurier


Originally committed as revision 23354 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-27 20:47:03 +00:00
Reinhard Tartler
0078216f07 change author metadata to artist in mov de/muxer
backport r23266 by bcoudurier


Originally committed as revision 23353 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-27 20:40:09 +00:00
Reinhard Tartler
12ca60ec15 Cosmetics : re-indent after last commit.
backport r23265 by jai_menon


Originally committed as revision 23327 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-25 20:56:34 +00:00
Reinhard Tartler
2c3439b008 FFplay : Avoid manipulating NULL data pointers so that future checks
remain valid. This fixes segfaults for those cases where data copy to 
this invalid pointer is attempted.



backport r23264 by jai_menon


Originally committed as revision 23326 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-25 20:55:57 +00:00
Reinhard Tartler
cdfe333493 Document CODEC_FLAG_EMU_EDGE and avcodec_align_dimensions interaction.
backport r23258 by reimar


Originally committed as revision 23321 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-25 18:34:19 +00:00
Reinhard Tartler
5f1a8c5e80 Update regression tests after removing track timecode scale from mkvenc
backport r23248 by conrad


Originally committed as revision 23320 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-25 18:33:38 +00:00
Reinhard Tartler
b5afece607 matroskaenc: Don't write track timecode scale
It's not required for mkv and unsupported in webm

backport r23247 by conrad


Originally committed as revision 23315 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-25 18:22:30 +00:00
Reinhard Tartler
6ae05f541a matroskadec: Allow unknown EBML doctype
backport r23246 by conrad


Originally committed as revision 23314 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-25 18:21:59 +00:00
James Zern
9d3bb3501d matroskadec: Support webm doctype
Patch by James Zern <jzern at google>

backport r23245 by conrad


Originally committed as revision 23313 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-25 18:20:59 +00:00
Diego Biurrun
0b374e40b1 Convert NaN to 0/0 in av_d2q
This fixes aspect ratio calculation for encoding from files with 0/0 stored,
common with ogg/theora

backport r23280 by conrad


Originally committed as revision 23283 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-24 02:27:43 +00:00
Diego Biurrun
a2a26d108b Enable AVFMT_GENERIC_INDEX for Ogg demuxer. This avoids the many
seeks needed for binary search when seeking to a previously seen
location.

backport r23279 by reimar


Originally committed as revision 23282 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-24 02:09:36 +00:00
Diego Biurrun
49aa53f2d7 Ignore generated files in the libswscale directory.
Originally committed as revision 23281 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-24 01:33:39 +00:00
Diego Biurrun
fb2fc3a4f0 Merge last round of Changelog updates for HTML 5 features.
Originally committed as revision 23278 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-23 23:28:24 +00:00
Diego Biurrun
36edfb558b Add VERSION file for 0.6 release.
Originally committed as revision 23274 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-23 22:07:22 +00:00
Diego Biurrun
4a7c99d6f3 small spelling fixes
Originally committed as revision 23271 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-23 21:30:21 +00:00
Reinhard Tartler
327afd42b4 In ogg muxer, pack multiple frames into one page, much lower overhead
backport r23231 by bcoudurier


Originally committed as revision 23263 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-23 19:12:27 +00:00
Reinhard Tartler
a22222dadb Open 2-pass logfile in binary mode for both reading and writing.
This fixes a regression on Windows introduced by r22769 in which the data read
from the file was not properly zero terminated. The file was read as text,
which caused the \r characters to be suppressed. Since the zero termination
happens at the end of the buffer, and there was one byte less read per line,
this caused the remaining space on the buffer to contain random data.


backport r23251 by ramiro


Originally committed as revision 23261 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-23 18:50:15 +00:00
Martin Storsjö
28631e9393 Mention RTP hinting in the 0.6 release notes
Originally committed as revision 23242 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:50:07 +00:00
Martin Storsjö
f8a6c707a5 Add an APIchanges note regarding the new rtp hinting flag
backport r23180 by mstorsjo


Originally committed as revision 23241 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:49:28 +00:00
Martin Storsjö
c9b841c2b1 Late bump of the minor version, for the addition of AVFMT_FLAG_RTP_HINT
backport r23179 by mstorsjo


Originally committed as revision 23240 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:48:17 +00:00
Martin Storsjö
15b20ef6f9 Add a changelog entry for the RTP hinting in the mov muxer
backport r23178 by mstorsjo


Originally committed as revision 23239 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:47:48 +00:00
Martin Storsjö
1dea5cfbb0 Use a heuristic for describing the RTP packets using sample data
backport r23165 by mstorsjo


Originally committed as revision 23238 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:46:52 +00:00
Martin Storsjö
d48539fb85 Add initial support for RTP hinting in the mov muxer
backport r23164 by mstorsjo


Originally committed as revision 23237 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:46:23 +00:00
Martin Storsjö
a14f86aac7 Make mov_write_packet non-static, add ff_ prefix
backport r23163 by mstorsjo


Originally committed as revision 23236 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:45:54 +00:00
Martin Storsjö
6438cb834c Move the mov muxer structures to a separate header
backport r23162 by mstorsjo


Originally committed as revision 23235 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:45:21 +00:00
Martin Storsjö
ed2b1f80fa Add a flag for enabling RTP hinting
backport r23161 by mstorsjo


Originally committed as revision 23234 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:44:43 +00:00
Martin Storsjö
3d24c2ce02 Make ff_sdp_write_media a lavf-internal function
This is in preparation for RTP hinting in the MOV muxer, where
it needs to be able to create SDP fragments for each media stream.


backport r23160 by mstorsjo


Originally committed as revision 23233 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 21:43:40 +00:00
Reinhard Tartler
7d8b893b7e Disable non interleaved avi code when there is no index available.
Fixes issue1956.


backport r23202 by michael


Originally committed as revision 23230 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 20:24:08 +00:00
Reinhard Tartler
e6ef35bc22 Make aac_decode_frame() consume zero padding at the end of a packet.
backport r23195 by alexc


Originally committed as revision 23229 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 20:23:22 +00:00
Reinhard Tartler
3588e6b7c5 Fix a crash when opening WMS RTSP streams
Fixes issue 1948


backport r23181 by mstorsjo


Originally committed as revision 23228 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 20:22:18 +00:00
Maxim Poliakovski
34a0dee17e Fix signedness of q_delta field of the IVIMbInfo.
Patch by Maxim max_pole () gmx * de


backport r23170 by benoit


Originally committed as revision 23227 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 20:20:01 +00:00
Janne Grunau
b9a35435a5 In ts demuxer, output pes packet as soon as they are complete.
This is needed for subtitles where packets are infrequent.
Patch by Janne Grunau, janne-ffmpeg at jannau dot net.


backport r23157 by bcoudurier


Originally committed as revision 23226 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 20:15:53 +00:00
Reinhard Tartler
85ed859e6b set avg frame rate in mkv demuxer
backport r23152 by bcoudurier


Originally committed as revision 23225 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 20:13:34 +00:00
Reinhard Tartler
fcaba83909 ffserver: Make sure a destination URL is set when creating the SDP
Debugged by Howard Chu, hyc at highlandsun dot com.


backport r23151 by mstorsjo


Originally committed as revision 23224 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:49:32 +00:00
Reinhard Tartler
daf864016d Clarify description for the MONOWHITE and MONOBLACK pixel formats.
backport r23144 by stefano


Originally committed as revision 23223 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:47:19 +00:00
Reinhard Tartler
7454142424 Clarify descriptions for RGB4, BGR4, NV12, NV21,
RGB48BE, and RGB48LE pixel formats.

backport r23142 by stefano


Originally committed as revision 23222 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:46:59 +00:00
Reinhard Tartler
a7216204eb Change MAX_READ_SIZE message during av_find_stream_info to DEBUG level.
It is not harmful and it scares too many users.


backport r23139 by bcoudurier


Originally committed as revision 23221 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:46:03 +00:00
Reinhard Tartler
cff1f85c3f Fix compilation of AC3 decoder if E-AC3 decoder was disabled.
backport r23131 by cehoyos


Originally committed as revision 23220 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:38:39 +00:00
Reinhard Tartler
dd92ff49c9 Make lsf_sf_expand() 4 times faster.
backport r23096 by michael


Originally committed as revision 23219 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:32:58 +00:00
Reinhard Tartler
b12045c8c7 Set cur_channel in the AAC encoder context where needed.
Most coder functions read it. Carting this around in the context may be
suboptimal; a refactor should be considered.


backport r23094 by alexc


Originally committed as revision 23218 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:27:16 +00:00
Janne Grunau
a70e7cc928 Add -ldl to libfaadbin_extralibs instead of libfaadbin_decoder_extralibs.
The latter does not exist and thus compilation fails.
patch by Janne Grunau, janne-ffmpeg jannau.net


backport r23087 by diego


Originally committed as revision 23217 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:25:46 +00:00
Nick Brereton
6f8fbbf8d7 mlpdec: Comment channel_params field in struct SubStream.
Patch by Nick Brereton <nick at nbrereton dot net>

backport r23085 by ramiro


Originally committed as revision 23216 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:22:49 +00:00
Nick Brereton
b68d9df427 mlpdec: Allocate channel decoding parameters for each substream. Some file
was encountered with a channel range that overlapped the previous substreams,
and the code assumed no such overlap was possible.
Patch by Nick Brereton <nick at nbrereton dot net>


backport r23084 by ramiro


Originally committed as revision 23215 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:22:32 +00:00
Reinhard Tartler
26fe0ec7d6 Adding missing () to mathops.h.
backport r23083 by michael


Originally committed as revision 23214 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:19:49 +00:00
Reinhard Tartler
7590718414 Replace more "m" constraints with MANGLE to fix compilation issues
with x86_32 gcc 4.4.4 and -fPIC.


backport r23082 by reimar


Originally committed as revision 23213 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:19:13 +00:00
Ronaldo Moura
37a0852009 blackfin: fix yuv422 to yuv420 conversion
The old code is correct only when stride = 2*width.

Patch by Ronaldo Moura <ronaldo d moura monity com br>


backport r31142 by mru


Originally committed as revision 23212 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:05:38 +00:00
Thomas Devanneaux
b50601e882 Check NAL unit size to avoid reading past the buffer.
This fixes issue1907

Patch by Thomas Devanneaux gmail(thomdev)


backport r23078 by benoit


Originally committed as revision 23211 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-21 18:03:57 +00:00
Reinhard Tartler
d1026ab506 Make the nut demuxer issue a more meaningful error message if it
cannot recognize the provided codec tag.

backport r23071 by stefano


Originally committed as revision 23205 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-20 22:46:11 +00:00
Reinhard Tartler
08a441d4ad bswap: 10L add missing parens around macro args
backport r23070 by mru


Originally committed as revision 23204 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-20 22:45:00 +00:00
Reinhard Tartler
369e37e900 qt-faststart: Avoid leaking memory if encountering a file with double ftyp atoms
backport r23065 by mstorsjo


Originally committed as revision 23190 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 13:51:54 +00:00
Reinhard Tartler
40630a90ed Fix build with swscale disabled
backport r23062 by mru


Originally committed as revision 23189 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 13:43:34 +00:00
Reinhard Tartler
dc04fb36d7 Remove hardcoded-tables hack for IA-64: with latest binutils that now actually
causes linking errors instead of avoiding them.


backport r23058 by reimar


Originally committed as revision 23188 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 13:30:30 +00:00
Reinhard Tartler
8740ed496c Another try for fixing/improving decode_video documentation.
backport r23057 by reimar


Originally committed as revision 23187 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 13:29:36 +00:00
Reinhard Tartler
77a023f422 Document cmdutils.c:print_error().
backport r23051 by stefano


Originally committed as revision 23186 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 11:46:39 +00:00
Reinhard Tartler
ba9cecf5e5 Favor chunk size over hitting the correct position after reading the chunk size in asf.
Fixes issue1923


backport r23040 by michael


Originally committed as revision 23185 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 11:44:45 +00:00
Reinhard Tartler
8ab1409a59 10l: store the result of clipping added in r23035
backport r23037 by alexc


Originally committed as revision 23184 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 11:39:02 +00:00
Reinhard Tartler
3589ac6334 Error out when too many bits per frame are requested.
backport r23036 by alexc


Originally committed as revision 23183 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 11:38:30 +00:00
Reinhard Tartler
dd68bb3cab Make the faac inspired quantizer search make sense for a slightly narrower definition of "make sense."
backport r23035 by alexc


Originally committed as revision 23182 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 11:38:07 +00:00
Reinhard Tartler
50dab63690 Reindent after the last commit.
backport r23034 by stefano


Originally committed as revision 23177 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 08:04:41 +00:00
Reinhard Tartler
da8e4f5f79 Simplify print_error(), directly use av_strerror()/strerror() for
printing the error code associated to FF_NETERROR(EPROTONOSUPPORT).

backport r23033 by stefano


Originally committed as revision 23176 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 08:04:25 +00:00
Reinhard Tartler
e0e0283778 Make print_error() use strerror() in case av_strerror() fails.
Should provide a meaningful error message for systems which do not
support strerror_r().

Fix roundup issue #1894.

backport r23032 by stefano


Originally committed as revision 23175 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 08:03:50 +00:00
Reinhard Tartler
1673bf86d6 Make av_strerror() return -1 even in the case when av_strerror_r() is
not defined.

This allows applications to check if av_strerror() cannot provide a
meaningful representation for the provided error code, without having
to actually check the filled string.

backport r23031 by stefano


Originally committed as revision 23174 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 08:03:22 +00:00
Reinhard Tartler
0db6f6cfed movenc: Write QuickTime chapters
backport r23022 by conrad


Originally committed as revision 23173 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 08:02:33 +00:00
Reinhard Tartler
9d08b20fea movenc: Swap positions of mov_write_header and mov_write_packet
backport r23021 by conrad


Originally committed as revision 23172 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 08:02:05 +00:00
Reinhard Tartler
a03dcb9682 mov: Read nero chapters
backport r23020 by conrad


Originally committed as revision 23171 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-19 07:58:17 +00:00
Martin Storsjö
26899578f1 Mention that both packetizers and depacketizers of H.263 and AMR were added
Originally committed as revision 23130 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-13 19:42:32 +00:00
Reinhard Tartler
eb9df4ac33 first draft of the release notes
Originally committed as revision 23117 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-13 16:37:21 +00:00
Reinhard Tartler
64c2076bfc update version string in changelog
Originally committed as revision 23114 to svn://svn.ffmpeg.org/ffmpeg/branches/0.6
2010-05-13 16:26:55 +00:00
David Conrad
ddb630177a movenc: Write QuickTime chapters
Originally committed as revision 23022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:10 +00:00
David Conrad
1b206f62ea movenc: Swap positions of mov_write_header and mov_write_packet
Originally committed as revision 23021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:06 +00:00
David Conrad
1cf9f6ed4f mov: Read nero chapters
Originally committed as revision 23020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:01 +00:00
Thierry Foucu
e1954bb5ca Do not use pkt->size when it is potentially uninitialized.
Patch by Thierry Foucu, tfoucu gmail

Originally committed as revision 23017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-04 17:17:16 +00:00
Diego Biurrun
f4ea7c8911 alternative LGPL-licensed, MMX-optimized YUV to RGB conversion routines
written by Kostya Shishkov

Originally committed as revision 31135 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-05-04 09:11:01 +00:00
Ronald S. Bultje
4fe4bb6150 Revert r22974 int->unsigned parts that don't have any meaningful effect.
Originally committed as revision 23016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-03 22:08:31 +00:00
Stefano Sabatini
441ea0ce91 Make av_strerror() print an error message mentioning the error code
number if strerror_r() did not succeed for whatever reason.

This avoids the need for the application to fill the string in case
strerror_r() fails, for example because the error code is not known.

Originally committed as revision 23015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-03 21:56:21 +00:00
Alex Converse
17d5959998 10l: The SBR refactor requires the use of 2 independent output X buffers.
Originally committed as revision 23014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-03 19:21:35 +00:00
Måns Rullgård
b05394a081 configure: allow compiler-specific flags for --disable-optimizations
ICC needs at least -O1 to link so add this when optimisations are
otherwise disabled.

Originally committed as revision 23013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-03 15:14:55 +00:00
Martin Storsjö
fa36165adf amrnbdec: Apply AMR_SAMPLE_SCALE when finishing the decoder output
The output scaling was accidentally removed in rev 22937.

Originally committed as revision 23012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-03 05:57:48 +00:00
Ronald S. Bultje
1302ccc1a7 Another buffer overflow, fixes issue1758.
Originally committed as revision 23011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-02 21:52:25 +00:00
Carl Eugen Hoyos
121d78d00c Allow to set archiver tool ar.
Originally committed as revision 23010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-02 18:59:15 +00:00
Reimar Döffinger
bf9766995c Clarify how allocation works for the picture argument for
avcodec_decode_video3.

Originally committed as revision 23009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-02 16:07:29 +00:00
Martin Storsjö
d296a658cf qt-faststart: Free ftyp_atom at all exit points
Originally committed as revision 23008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 21:05:28 +00:00
Martin Storsjö
331cb6c3e8 Reindent after the previous commit
Originally committed as revision 23007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 21:03:52 +00:00
Martin Storsjö
d50fc2d07b Remove unnecessary checks before calling free
Feel free to revert if you can specify a concrete case where this actually
is necessary.

Originally committed as revision 23006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 21:02:23 +00:00
Ronald S. Bultje
593a861470 Fix buffer overrun (or, well, actually a typo, 80 should be 0x80...).
Partially fixes issue 1758.

Originally committed as revision 23005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 18:45:02 +00:00
Reimar Döffinger
c99d506b3b Fix off-by-one errors in description of score_max argument for
av_probe_input_format2

Originally committed as revision 23004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 15:36:51 +00:00
Reimar Döffinger
d0eb2b7849 Document av_probe_input_format2 API addition.
Originally committed as revision 23003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 13:54:13 +00:00
Reimar Döffinger
8e2ee182fa Export av_probe_input_format2.
Originally committed as revision 23002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 13:49:35 +00:00
Stefano Sabatini
50f852186f Make device_open() store the VIDIOC_QUERYCAP ioctl errno, and in case
of failure return the stored value rather than the current errno,
which may be overwritten by a following call to close().

Originally committed as revision 23001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-01 08:24:24 +00:00
Alex Converse
2d23fecd5d Enforce time border monotonicity.
Thanks to Chromium.

Originally committed as revision 23000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 23:32:42 +00:00
Alex Converse
a91d82b5cc Move the SBR patch count check to prevent overwrites.
Thanks to Chromium.

Originally committed as revision 22999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 23:08:44 +00:00
Alex Converse
10678e5c72 Increase size of patch_borders[].
6 patches means there can be 7 borders. Found by Chromium.

Originally committed as revision 22998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 22:42:52 +00:00
Michael Niedermayer
19a00c5eb2 avi bgr24 padding fix.
Fixes issue1901

Originally committed as revision 22997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 22:09:42 +00:00
Alex Converse
d0dedce71d Reindent
Originally committed as revision 22996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:43:29 +00:00
Alex Converse
ca6d3f234c Rewrite ff_sbr_apply in a manner more friendly to PS.
This includes merging ff_sbr_dequant into ff_sbr_apply.

Originally committed as revision 22995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:43:23 +00:00
Alex Converse
bd744c4fd0 Declare myself (Alex Converse) AAC maintainer.
Approved by the previous maintainer Rob.

Originally committed as revision 22994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:43:18 +00:00
Måns Rullgård
5635985c26 ARM: NEON optimised VP6 edge filter
Originally committed as revision 22993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:30:27 +00:00
Måns Rullgård
5e1ba34bbb VP56: move vp56_edge_filter to new VP56DSPContext
Using macro templates allows the vp[56]_adjust functions to be
inlined instead of called through function pointers.  The new
function pointers enable optimised implementations of the filters.

4% faster VP6 decoding on Cortex-A8.

Originally committed as revision 22992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:30:22 +00:00
Michael Niedermayer
ff866063e9 Print warnig if requested samplingrate is unsupported.
Originally committed as revision 22991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 00:06:36 +00:00
Måns Rullgård
547b7bcbb7 bswap: add macros to byteswap constants
The normal byteswap functions might use inline asm which is suboptimal
with constants (and cannot be used in static initialisers), so special
macros for constants only is needed.

We should not rely on the gcc __builtin_constant_p() test since it is
not always available.

Originally committed as revision 22990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-29 14:41:20 +00:00
Ramiro Polla
faa2989e0f vfwcap: flip RGB rawvideo.
Originally committed as revision 22989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-29 13:05:27 +00:00
Jai Menon
707cd944d6 Fix typo.
Originally committed as revision 22988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-28 20:08:02 +00:00
Michael Niedermayer
2308b6c19a Add version to AVClass so we can add to and use fields of AVClass without ABI issues.
Originally committed as revision 22987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-28 20:00:23 +00:00
Luca Abeni
b01dba14f3 Check the return value of device_try_init() immediately after calling such a
function. Avoids the following warning:
libavdevice/v4l2.c: In function ‘v4l2_read_header’:
libavdevice/v4l2.c:586: warning: ‘codec_id’ may be used uninitialized in this function

Originally committed as revision 22986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-28 08:02:52 +00:00
Anssi Hannula
337104ac1f Fix FourCC when remuxing VP6F, regression introduced in r22941.
Patch by Anssi Hannula, anssi D hannula A iki fi

Originally committed as revision 22985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-28 07:57:07 +00:00
Stefano Sabatini
441881b4f9 Reindent after the last commit.
Originally committed as revision 22984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 23:22:30 +00:00
Stefano Sabatini
8280e2bd45 Make ffprobe show sample_aspect_ratio and display_aspect_ratio only if
sample_aspect_ratio is known.

Avoid to show bogus values, which may confuse both the human and the
machine reader.

Based on a patch by Robert Krüger $(echo lsvfhfs@tjhobm7.ef | tr "b-za" "a-z").

Originally committed as revision 22983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 23:22:27 +00:00
Stefano Sabatini
6e25b78001 Fix weird brace placement.
Originally committed as revision 22982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 22:45:27 +00:00
Stefano Sabatini
cf103fabbe Drop AVERROR_NOTSUPP at the next major bump, use AVERROR(ENOSYS)
instead which is semantically equivalent.

See the thread:
Subject: [FFmpeg-devel] [RFC] The meaning of AVERROR_NOTSUPP
Date: Sat, 27 Mar 2010 00:51:13 +0100

Originally committed as revision 22981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 22:26:08 +00:00
Luca Abeni
1ace15f58c Reduce the verbosity of the v4l2 input device
Originally committed as revision 22980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 21:33:56 +00:00
Luca Abeni
4f54d924bc Simplify some output messages in the v4l2 input device
Originally committed as revision 22979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 21:32:11 +00:00
Sebastian Vater
4f5e6ef16e Reindent after rr22977.
Patch by Sebastian Vater <cdgs.basty googlemail com>.

Originally committed as revision 22978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 14:04:11 +00:00
Sebastian Vater
46dcabf82b Make the IFF demuxer a little more standards-compliant, e.g. respect the size
fields of common media header chunks (these can have different sizes depending
on the type of IFF file you read), better handle odd sizes (like RIFF, every
field is padded to word) and handle headerchunks after the BODY chunk.

Patch by Sebastian Vater <cdgs.basty googlemail com>.

Originally committed as revision 22977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-27 14:03:47 +00:00
Sebastian Vater
726dc06158 Reidnent after r22795.
Patch by Sebastian Vater <cdgs.basty googlemail com>.

Originally committed as revision 22976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:39:08 +00:00
Sebastian Vater
fe51b5ce50 Move some branches outside looped code. Should improve the generated asm (and
thus performance) slightly.

Patch by Sebastian Vater <cdgs.basty googlemail com>.

Originally committed as revision 22975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:38:41 +00:00
Sebastian Vater
473147bed0 Switch some ints to unsigned (they can only have positive values, this allows
compiler to optimize some math from mul/div to shr/shl). Also add a cast to
uint32_t when calling decodeplane32(), this silences a compiler warning.
Lastly, in decodeplane8/32(), flatten a double-loop into a single-loop and
calculate the length once before entering the loop instead of during every
iteration (since it doesn't change).

Patch by Sebastian Vater <cdgs.basty googlemail com>.

Originally committed as revision 22974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:37:13 +00:00
Stefano Sabatini
a31e795607 Make ffmpeg use print_error() to make apparent the exact cause of
failure happened when trying to open the output file.

Originally committed as revision 22973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:36:55 +00:00
Stefano Sabatini
ec6791736c Make file_open() return the error code set in errno if open() fails,
rather than always ENOENT.

Originally committed as revision 22972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:36:51 +00:00
Stefano Sabatini
932d775fa2 Implement v4l2 input size autodetection in v4l2_read_header().
Move check on frame size after the device is opened and after
device_try_init() is attempted. If the provided size value is 0x0,
perform a VIDIOC_G_FMT ioctl() on the device, which sets size to the
current settings.

Originally committed as revision 22971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:07:15 +00:00
Sebastian Vater
687dc3555d Make two functions out of #define hackery.
Patch by Sebastian Vater, cdgs D basty A googlemail

Originally committed as revision 22970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:00:57 +00:00
Ronald S. Bultje
90bc36b063 Reindent after r22968.
Originally committed as revision 22969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 21:01:38 +00:00
Ronald S. Bultje
ad6408960b Write clip-related decimal numbers into hex, where they make more sense.
Originally committed as revision 22968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 21:00:33 +00:00
Måns Rullgård
3bfd582c96 Set ARCH=c with --disable-asm, fix build
Originally committed as revision 22967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 20:30:02 +00:00
Stefano Sabatini
c57a8fefd9 Return meaningful error codes, rather than always -1.
Originally committed as revision 22966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 19:40:15 +00:00
Ronald S. Bultje
2d0525c27c Fix broken 32-bit clipping, and write numbers in hex instead of decimal so
they are easier to understand. Also give the add a 'u' postfix to silence
a pre-c99 compiler warning.

Originally committed as revision 22965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 13:36:17 +00:00
Robert Krüger
0a6a282a51 Make ffprobe show stream->nb_frames if that info is known.
Patch by Robert Krüger $(echo kru3g3r@signal7.d3 | sed -e 's/3/e/g').

Originally committed as revision 22964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 23:35:56 +00:00
Stefano Sabatini
18225025ff Remove unnecessary width and height variables from v4l2_read_header().
Originally committed as revision 22963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 18:47:40 +00:00
Stefano Sabatini
4cf1ba0445 Make avcodec_check_dimensions() return AVERROR(EINVAL) rather than -1
in case of invalid picture size.

Originally committed as revision 22962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 15:05:16 +00:00
Stefano Sabatini
2ef6c1242a Mark av_metadata_set() as deprecated, and use av_metadata_set2()
in its place.

av_metadata_set() is going to be dropped at the next major bump.

Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 14:27:42 +00:00
Stefano Sabatini
472e12f510 Implement ffserver.c:report_config_error() and a macro for logging
error messages / updating the error count.

Originally committed as revision 22960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-24 10:39:28 +00:00
Stefano Sabatini
6675a5bf73 Statically initialize ffserver.c:config_filename, simplify.
Originally committed as revision 22959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-24 10:39:25 +00:00
Stefano Sabatini
931b832add Consistently prefer @var{VAR} over ``VAR'' for indicating filter
parameters.

Originally committed as revision 22958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-24 10:14:05 +00:00
Michael Niedermayer
6204402409 4th try at getting ansi colors working with a default of color=yes_please.
Colors will only be used if the TERM env var is set and NO_COLOR is not set.

Originally committed as revision 22957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-23 21:27:26 +00:00
Ronald S. Bultje
0bb848016a Add acelp_filters.o as QCELP decoder object file.
Originally committed as revision 22956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-23 16:45:38 +00:00
Ronald S. Bultje
005ad8a0de Make WMAVoice decoder depend on DCT/RDFT
Originally committed as revision 22955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-23 16:41:55 +00:00
Måns Rullgård
07876e25c8 Workaround for missing llrintf()
Originally committed as revision 22954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-23 16:28:10 +00:00
Michael Niedermayer
aebfb45774 Trying _WIN32 for win32 detection.
Originally committed as revision 22953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-23 13:15:11 +00:00
Michael Niedermayer
7328cdfa58 Merge the 2 ANSI ESC codes.
Originally committed as revision 22952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-23 08:11:53 +00:00
Michael Niedermayer
841073ce5e Reenable ANSI colors, use method from VLC as suggested by ramiro.
Please tell us asap if this breaks for your platform & terminal.

Originally committed as revision 22951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-23 07:33:02 +00:00
Justin Ruggles
cc8538ff93 ac3dec: return smaller of buf_size and frame_size instead of always returning
frame_size.

Originally committed as revision 22950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 21:43:36 +00:00
Måns Rullgård
84368aa629 ARM: fix build for darwin/iphone
References to external symbols in asm code need prefixes.

Originally committed as revision 22949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 21:19:32 +00:00
Michael Niedermayer
2c4b87ea0e Disable ANSI color code until we figured out how to detect ANSI support in
the used terminal.

Originally committed as revision 22948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 20:39:34 +00:00
Baptiste Coudurier
0403c2e3e4 Disable LATM AAC in mpegts, this is not supported and produce too many
bug reports. Also warn the user about it.

Originally committed as revision 22947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 20:34:30 +00:00
Michael Niedermayer
51e026d115 Coloring the log with ANSI.
Ive checked this on black and white background and found no problem in terms
of readability.
flames welcome.

Originally committed as revision 22946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 18:58:39 +00:00
Jai Menon
037e9afd37 Fix off-by-1 error in the tag parsing code.
Originally committed as revision 22945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 12:54:50 +00:00
Michael Niedermayer
ddecab2097 Set .supported_samplerates for mpeg audio encoders.
Originally committed as revision 22944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 09:41:45 +00:00
Michael Niedermayer
10d0f5e035 Make sure ffmpeg chooses a supported samplerte if the encoder supports
just some.

Originally committed as revision 22943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 09:40:51 +00:00
Tomas Härdin
951776c478 Made FLIC demuxer capable of handling the videos from "X-COM: Terror from the Deep".
Originally committed as revision 22942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 09:04:33 +00:00
Christian Schmidt
03cb8458ce Support VP6F in Matroska.
Patch by Christian Schmidt, schmidt digadd de

Originally committed as revision 22941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 08:57:28 +00:00
Cyril Russo
9b157b0ccd Fix compilation error of ffmpeg and ffplay with --disable-avdevice.
Patch by Cyril Russo, stage D nexvision A laposte net

Originally committed as revision 22940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 08:55:23 +00:00
Stefano Sabatini
9d30e0682a Do not initialize res in url_fseek(), in the case !s->seek directly
return AVERROR(EPIPE) rather than the pre-defined value of res.

Slightly improve readability.

Originally committed as revision 22939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 21:19:25 +00:00
Ronald S. Bultje
9a32573b49 WMAVoice postfilter.
Originally committed as revision 22938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 18:01:34 +00:00
Ronald S. Bultje
b1078e9fe6 Move clipping of audio samples (for those codecs outputting float) from decoder
to the audio conversion routines.

Originally committed as revision 22937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:57:48 +00:00
Jai Menon
6858ce2ffc Fix typo.
Originally committed as revision 22936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:51:37 +00:00
Ronald S. Bultje
805a83d506 Implement QCELP postfilter.
Originally committed as revision 22935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:50:08 +00:00
Ronald S. Bultje
5180a0b197 Make the Sipr16k postfilter function write data into the target/output buffer.
Originally committed as revision 22934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:46:59 +00:00
Ronald S. Bultje
8955a9d79c Split input/output data arguments to ff_acelp_apply_order_2_transfer_function().
Originally committed as revision 22933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:45:24 +00:00
Ronald S. Bultje
bb2dd9efd8 Split the input/output data arguments to ff_adaptive_gain_control().
Originally committed as revision 22932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 17:43:52 +00:00
David Conrad
8e6daa4a95 theora: coeff huffman codes are allowed to be up to 32 bits long (for 32 tokens)
Originally committed as revision 22931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 13:19:00 +00:00
Vitor Sessak
a2d3588813 10l: do not try to unpack DTX frames in AMR-NB decoder
Originally committed as revision 22930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 13:05:25 +00:00
Vitor Sessak
10fa22ccfb Fix MTV decoding on big-endian systems
Originally committed as revision 22929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 13:00:48 +00:00
David Conrad
7221579b0c mov: Read QuickTime chapters
Originally committed as revision 22928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 06:36:09 +00:00
David Conrad
dc75e4e3b3 movenc: Write nero chapters
Originally committed as revision 22927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 06:36:05 +00:00
Baptiste Coudurier
f7501a71a1 seems aac gets screwed up by the parser so disable it
Originally committed as revision 22926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 21:23:49 +00:00
Baptiste Coudurier
dc1c26dc8e parse stream headers for audio streams in mkv, needed for frame size
Originally committed as revision 22925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 21:19:27 +00:00
Sebastian Vater
e595346486 Reindent / reformat some code with broken indenting.
Patch by Sebastian Vater <cdgs DOT basty googlemail com>.

Originally committed as revision 22924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 18:40:45 +00:00
Robert Krüger
2328e5a289 Allow setting the environment variable FFMPEG_DATADIR to locate preset files.
Patch by Robert Krüger <krueger signal7 de>.

Originally committed as revision 22923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 17:37:06 +00:00
Sebastian Vater
bf29cbc2cc Change a %2 to &1. Patch by Sebastian Vater <cdgs DOT basty googlemail com>.
Originally committed as revision 22922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 17:05:02 +00:00
Diego Biurrun
353285d740 Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 31050 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-04-20 14:47:31 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Diego Biurrun
e1ae1642cb Add missing internal.h #include for brktimegm(), fixes the warning:
libavformat/dvenc.c:82: warning: implicit declaration of function ‘brktimegm’

Originally committed as revision 22920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:41:55 +00:00
Diego Biurrun
4311ff776b cosmetics: Switch Doxygen comments to JavaDoc style.
Originally committed as revision 22919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:23:00 +00:00
Martin Storsjö
5948f82227 Reset RTCP timestamps after seeking, add range start offset to the packets timestamps
If these aren't reset, the timestamps make a huge jump when the next RTCP
is received.

Originally committed as revision 22918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 07:38:52 +00:00
Martin Storsjö
2cab6b48ad Revert svn rev 21857, readd first_rtcp_ntp_time in RTPDemuxContext
In order to sync RTP streams that get their initial RTCP timestamp at
different times, propagate the NTP timestamp of the first RTCP packet
to all other streams.

This makes the timestamps of returned packets start at (near) zero instead
of at any random offset.

Originally committed as revision 22917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 07:34:28 +00:00
Baptiste Coudurier
2293a2e67f Set AVFMT_NOTIMESTAMPS flag for mp3 muxer
Fixes issue 1026

Originally committed as revision 22916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 01:41:00 +00:00
Jason Garrett-Glaser
dbb4f0515f vertical align in libx264.c
Originally committed as revision 22915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 21:20:20 +00:00
Måns Rullgård
60877ad941 Revert "Fix libx264 configure check to use pkg-config if available."
There are problems using pkg-config, and a better solution is being
worked on.

Originally committed as revision 22914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 19:37:31 +00:00
Jason Garrett-Glaser
73f3f30de5 Fix libx264 configure check to use pkg-config if available.
Originally committed as revision 22913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 19:34:37 +00:00
Vitor Sessak
1840b28059 Makefile: make fate target depend on compiling ffmpeg
Originally committed as revision 22912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 13:05:26 +00:00
Måns Rullgård
8469ae22a8 configure: simplify $COMPONENT_LIST handling
This lets check_deps set the generic CONFIG_ENCODERS and friends using
an _if_any construct.

Originally committed as revision 22911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 12:49:56 +00:00
Måns Rullgård
0afab17ef9 configure: simplify vaapi dependencies
Originally committed as revision 22910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 12:49:53 +00:00
Måns Rullgård
c89c96e989 configure: simplify vdpau dependencies
Originally committed as revision 22909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 12:49:51 +00:00
Måns Rullgård
55a95e2d42 FATE: update nsv-demux checksums
Originally committed as revision 22908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 11:51:40 +00:00
Luca Barbato
bacde6466c Make ffserver support rfc3550
Originally committed as revision 22907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 11:42:02 +00:00
Luca Barbato
9094d867aa Make rtp protocol obey rfc3550
Originally committed as revision 22906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-19 11:40:45 +00:00
Stefano Sabatini
3748b2b8e8 Fix leak in avfilter_graph_add_filter().
In case of reallocation failure the pointer to the original filter
array was lost. The correct behavior seems to just keep the old array
and count.

Originally committed as revision 22905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-18 20:10:43 +00:00
Howard Chu
fc8fa007fb Implement librtmp seek support.
Implement flv_read_seek(), add a missing check on stream_index
and fix timestamp rounding in rtmp_read_seek().

Also add the flv_read_seek2() function, which is not enabled but is
useful as reference.
To actually implement flv_read_seek2() correctly, there would need to
be some corresponding av_url_read_fseek2() function to propagate the
timestamps down to the ByteIOContext and URLContext.

Patch by Howard Chu <hyc <at> highlandsun.com>.

See the thread:
Subject: [FFmpeg-devel] RTMP seek support
Date: 2010-03-28 23:35:02 GMT

Originally committed as revision 22904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-18 19:09:25 +00:00
Stefano Sabatini
d79fc8403b Prefer AVERROR(ENOSYS) over AVERROR_NOTSUPP.
AVERROR_NOTSUPP is (maybe) going to be deprecated.

Originally committed as revision 22903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-18 19:09:22 +00:00
Stefano Sabatini
4c4ef3db4b Make url_fsize() return AVERROR(ENOSYS) rather than AVERROR(EPIPE) if
the seek operation is not defined in the ByteIOContext.

Originally committed as revision 22902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-18 17:37:21 +00:00
Stefano Sabatini
28894105c8 Make url_seek() return AVERROR(ENOSYS) rather than AVERROR(EPIPE) in
the case where the seek operation is not defined in the protocol
handler.

Originally committed as revision 22901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-18 17:37:16 +00:00
Michael Kaufmann
22c29c36cd Add const to some pointer parameters.
Patch by Michael Kaufmann, hallo michael-kaufmann ch

Originally committed as revision 22900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 11:00:53 +00:00
David Conrad
33e623831b vp3: Use avctx pointer directly
Originally committed as revision 22899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 10:37:42 +00:00
David Conrad
8099d6c985 vp3: Read fps and aspect ratio in the decoder
Originally committed as revision 22898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:39 +00:00
David Conrad
ddc7e438e0 vp3: Don't crop if there's a left/top offset, it's wrong
Fixes issue1834

Originally committed as revision 22897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:35 +00:00
David Conrad
eb6a6cd788 vp3: DC-only IDCT
2-4% faster overall decode

Originally committed as revision 22896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-17 02:04:30 +00:00
Baptiste Coudurier
f32f7d8b24 Take ticks per frame into account when warning about difference between
container and codec frame rate.

Originally committed as revision 22895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 22:58:56 +00:00
Martin Storsjö
653d7aeb61 Parse strf mov atoms
This fixes roundup issue 1270.

Originally committed as revision 22894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 20:36:24 +00:00
David Conrad
6086731299 vp3: More buffer length checks
.5% slower to fix some crashes on invalid streams

Originally committed as revision 22893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:44 +00:00
David Conrad
d7097c2d88 vp3: Remove internal debug statement
Originally committed as revision 22892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:41 +00:00
David Conrad
adc725b558 oggdec: Move warning about missing granule to the correct place
Originally committed as revision 22891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:38 +00:00
David Conrad
44a088eab7 oggdec: Fix duration calculation if the last page in a file has no granule
Originally committed as revision 22890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:35 +00:00
David Conrad
49c2d29089 oggdec: Remove write-only variable
Originally committed as revision 22889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 12:21:29 +00:00
Ramiro Polla
adef229efb AVERROR(FF_NETERROR(x)) -> FF_NETERROR(x)
FF_NETERROR is implicitly an AVERROR.

Originally committed as revision 22888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 00:20:11 +00:00
Ronald S. Bultje
4aecee7fc3 Fix compile error on mingw where ETIMEDOUT is missing (because it's a WSA error).
This patch also changes FF_NETERROR() to be an AVERROR(), i.e. it is always
negative, whereas it was previously positive.

Originally committed as revision 22887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 18:27:27 +00:00
Ronald S. Bultje
e58c05bb3c Remove useless assert(), since this can (in theora) be used for any Xiph
codec, so there's no reason to (invalidly) limit it to only Theora.

Also fixes issue 1880 (compilation error on -DDEBUG).

Originally committed as revision 22886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 13:30:12 +00:00
Gwenole Beauchesne
6752a3cc6c H.264: cosmetics (vertical align).
Originally committed as revision 22885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 13:16:37 +00:00
Gwenole Beauchesne
fa37cf0db3 H.264: move avctx->{profile,level} init before AVCodecContext.get_format().
Originally committed as revision 22884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 08:30:48 +00:00
Gwenole Beauchesne
b08e38e8c3 H.264: move avctx->refs init before AVCodecContext.get_format().
Originally committed as revision 22883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-15 08:27:06 +00:00
Andreas Öman
67d96fb42d pngdec: Add support for PIX_FMT_Y400A
Originally committed as revision 22882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-14 20:15:50 +00:00
Andreas Öman
4744f896e5 Add PIX_FMT_Y400A, 8bit gray, 8bit alpha
Originally committed as revision 22881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-14 20:15:19 +00:00
Robert Krüger
d21b227818 Fix computation of the display aspect ratio.
Previously ffprobe was wrongly outputting the sample aspect ratio as
display aspect ratio.

Patch by Robert Krüger $(echo k-r-u-e-g-e-r@s-i-g-n-a-l-7.d-e | sed s/-//g).

Originally committed as revision 22880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 23:41:46 +00:00
Stefano Sabatini
4563cf247d Factorize code in get_bit_rate().
Originally committed as revision 22879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 23:24:25 +00:00
Stefano Sabatini
22b7b23c17 Make avfilter_graph_add_filter() returns AVERROR(ENOMEM) in case of
failed reallocation, rather than just -1.

Originally committed as revision 22878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 23:22:22 +00:00
Diego Biurrun
e5d2bdec11 Add rectangle.h #include for fill_rectangle().
Originally committed as revision 22877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 22:52:14 +00:00
Diego Biurrun
d02bb3ecf1 Move static function fill_filter_caches() from h264.h to h264.c.
The function is only used within that file, so it makes sense to place
it there. This fixes many warnings of the type:
h264.h:1170: warning: ‘fill_filter_caches’ defined but not used

Originally committed as revision 22876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 22:15:49 +00:00
Howard Chu
19c9eedc2c Plug librtmp logging into av_log.
patch by Howard Chu, hyc highlandsun com

Originally committed as revision 22875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 22:11:21 +00:00
Diego Biurrun
fc122efd66 whitespace cosmetics
Originally committed as revision 22874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 22:08:36 +00:00
Måns Rullgård
8b9ec992a7 FATE: update vqf-demux checksum
Originally committed as revision 22873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 14:29:13 +00:00
Måns Rullgård
2bb29da602 DCA: indent
Originally committed as revision 22872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 10:15:05 +00:00
Måns Rullgård
69e171364e DCA: optimise dca_subsubframe()
8% faster overall on Cortex-A8.

Originally committed as revision 22871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 10:15:00 +00:00
Jean-Daniel Dupas
2898526d6a Do not probe when the format is known.
Patch by Jean-Daniel Dupas devlists shadowlab org

Originally committed as revision 22870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 07:25:50 +00:00
Gwenole Beauchesne
b0941dee3c [VA-API] Fix long-term reference frames addition to the DPB.
This fixes MR2_MW_A/MR2_TANDBERG_E on Intel Ironlake and NVIDIA HW.

Originally committed as revision 22869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 06:43:01 +00:00
Vitor Sessak
efd8b009ff Use a suitable timebase in VQF demuxer
Originally committed as revision 22868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 01:19:59 +00:00
Måns Rullgård
b591c7af31 10l: fix build on non-NEON ARM
Originally committed as revision 22867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 00:48:49 +00:00
Stefano Sabatini
e574770633 Change ff_raw_pixelFormatTags RGB entries (RGB555, BGR555, RGB565,
BGR565, RGB565) to make them specify the tags for the LE variants
rather than for the native endian ones.

Fix NUT compatibility.

Originally committed as revision 22866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 22:05:18 +00:00
Stefano Sabatini
94e57758da Fix grammar: a expression -> an expression.
Originally committed as revision 22865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 21:49:04 +00:00
Stefano Sabatini
85c36856ff Remove stray empty line.
Originally committed as revision 22864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 21:49:01 +00:00
Måns Rullgård
08255107cf DCA: ARM/NEON optimised lfe_fir
Originally committed as revision 22863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 20:45:33 +00:00
Måns Rullgård
e168a5567a DCA: 16-byte-align lfe_fir tables
Originally committed as revision 22862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 20:45:29 +00:00
Måns Rullgård
309d16a4a0 DCA: break out lfe_interpolation_fir() inner loops to a function
This enables SIMD optimisations of this function.

Originally committed as revision 22861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 20:45:25 +00:00
Stefano Sabatini
fc7e2d34cf Fix constness for func[12] parameters in ff_parse_expr() and
ff_parse_and_eval_expr().

Change func[12] attributes from "** func" to "* const * func".

This is consistent with the semantics of the provided arrays of
functions, which are not supposed to be changed by the ff_parse_*
functions.

Also fix the GCC compilation warnings:
libavcodec/ratecontrol.c: In function ‘ff_rate_control_init’:
libavcodec/ratecontrol.c:109: warning: passing argument 3 of ‘ff_parse_expr’ discards qualifiers from pointer target type
libavcodec/eval.h:69: note: expected ‘double (**)(void *, double)’ but argument is of type ‘double (* const*)(void *, double)’

Originally committed as revision 22860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 20:22:55 +00:00
Stefano Sabatini
82fdcd449c Change constness for func[12]_name parameters of ff_parse_expr() and
ff_parse_and_eval_expr().

Change attribute from "const char **" to "const char * const *".
The name arrays are not supposed to be changed by the function.

Originally committed as revision 22859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 19:21:19 +00:00
Stefano Sabatini
1235429c27 Rename ff_parse() to ff_parse_expr().
The new name is more expressive and fits better in the overall naming
scheme for the revisited eval API.

Originally committed as revision 22858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 19:21:15 +00:00
Stefano Sabatini
6c71d2c135 Remove unnecessary header inclusion directives.
Originally committed as revision 22857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 19:21:08 +00:00
Michael Kaufmann
2818bdf22b Extradata length checks for Huffyuv.
Patch by Michael Kaufmann hallo $(name) dash $(surname) ch

Originally committed as revision 22856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 16:16:43 +00:00
Måns Rullgård
843c7aa8fb DCA: use FASTDIV in decode_blockcode()
Originally committed as revision 22855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 16:05:10 +00:00
Michael Kostylev
6a36798f9b Add DOS section to the platform documentation.
patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 22854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 15:16:52 +00:00
Howard Chu
c007c687c9 Do not set pos to an error value.
Patch by Howard Chu, hyc highlandsun com

Originally committed as revision 22853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 15:03:30 +00:00
Måns Rullgård
f01210a691 ARM: fix NEON synth_filter_float with hardfp calls
Originally committed as revision 22852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 13:28:59 +00:00
Jai Menon
a7fc91468c Remove useless header inclusion.
Originally committed as revision 22851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 13:21:33 +00:00
Diego Biurrun
ee9455478f Fix extra object path in Solaris section.
Originally committed as revision 22850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 11:27:41 +00:00
Måns Rullgård
766fefe8e2 DCA: simplify lfe_interpolation_fir()
This reorders the lfe_fir tables, and drops the mirrored half,
such that the loops in lfe_interpolation_fir() can be simplified.
The new loop structure should be easier to implement with SIMD.
Static data size is reduced by 2kB.
3% faster on Cortex-A8.

Originally committed as revision 22849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 11:14:55 +00:00
Måns Rullgård
b92d483bac DCA: use a local variable for loop boundary
This prevents gcc reloading the value from memory on each iteration
of the loop.

Originally committed as revision 22848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 11:14:51 +00:00
Måns Rullgård
0dc7df28dd DCA: use some type-punning in qmf_32_subbands()
Originally committed as revision 22847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 11:14:48 +00:00
Tomas Härdin
6b174197b5 Predicting the size of the hdlr, string data and trkn tags in the MOV muxer
Originally committed as revision 22846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 07:24:30 +00:00
Stefano Sabatini
a367be1e88 Rename ff_eval2() to ff_parse_and_eval_expr().
The new name better expresses what the function does.

Originally committed as revision 22845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 22:32:04 +00:00
Stefano Sabatini
4565caf120 Rename ff_parse_eval() to ff_eval_expr().
The new name expresses better what the function does.

Originally committed as revision 22844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 22:32:01 +00:00
Stefano Sabatini
9a2cb05ff9 Move the internal function declarations in avformat.h to internal.h.
Originally committed as revision 22843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 21:44:23 +00:00
Stefano Sabatini
bc3c85a3e6 Apply grammar/consistency nits to avfilter_graph_add_filter() doxy.
Originally committed as revision 22842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 21:26:00 +00:00
Stefano Sabatini
f54978f117 Place some empty line in the doxy.
Improve readability, also consistent with the predominant doxy style.

Originally committed as revision 22841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 20:04:15 +00:00
Stefano Sabatini
8c21647382 Remove redundant file descriptions from copyright headers.
File description is only kept in the @file doxy.

Originally committed as revision 22840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 20:04:11 +00:00
Stefano Sabatini
a3731cadfc Avoid the use of the symbol ff_expr_s for referencing AVExpr.
This way we have to deal only with struct AVExpr and AVExpr, which is
slightly less confusing as the association between the two symbols is
obvious.

Originally committed as revision 22839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 18:44:51 +00:00
Jai Menon
96561c12c5 DECLARE_ALIGNED usage requires #inclusion of 'mem.h'.
Originally committed as revision 22838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 15:54:45 +00:00
Stefano Sabatini
80ed701443 Doxument ff_free_expr().
Originally committed as revision 22837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 14:15:32 +00:00
Stefano Sabatini
21302fed02 Make ff_fill_linesize() use the information stored in
av_pix_fmt_descriptors.

Allow simplification and a more generic implementation.

Originally committed as revision 22836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 14:09:05 +00:00
Howard Chu
7e939205d9 Set audio bit rate.
Patch by Howard Chu, hyc highlandsun com

Originally committed as revision 22835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 12:21:30 +00:00
Stefano Sabatini
f8fea468b2 Rename ff_eval_free() to ff_free_expr().
Originally committed as revision 22834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 11:47:33 +00:00
Stefano Sabatini
073f6d5b96 Rename AVEvalExpr to AVExpr, as suggested by Michael.
The new name is shorter and less confusing.

Originally committed as revision 22833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 11:47:29 +00:00
Stefano Sabatini
5fccafdbc1 Move AVEvalExpr declaration at the beginning of the file, where it is
less distracting.

Originally committed as revision 22832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 11:47:24 +00:00
Michael Niedermayer
0f1f4816d5 Raise needed score for codec probing in CODEC_ID_PROBE before the last packet.
Fixes issue1871

Originally committed as revision 22831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 00:43:36 +00:00
Bobby Bingham
ac1c95645a Bump libavfilter minor version and Changelog for unsharp filter
Originally committed as revision 22830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 20:34:44 +00:00
Jai Menon
3ffdd09a7a alacenc : Report supported input sample formats.
Originally committed as revision 22829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 17:32:41 +00:00
Måns Rullgård
e73d1a5efc ARM: NEON optimised synth_filter_float
2.7x faster DCA decoding on Cortex-A8

Originally committed as revision 22828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 16:27:56 +00:00
Måns Rullgård
f462ed1f82 Make synth_filter a function pointer
Originally committed as revision 22827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 16:27:53 +00:00
Måns Rullgård
38d52f3ea3 DCA: align some arrays
Optimised implementations of the synth filter will require these
arrays 16-byte aligned.

Originally committed as revision 22826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 16:27:47 +00:00
Alex Converse
b9f60bd8fd Add M_SQRT2 to the constants in mathematics.h.
Originally committed as revision 22825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-09 23:29:47 +00:00
Michael Niedermayer
497431a5b6 Dont try to compute AVPacket duration for possibly interlaced video codecs
when no parser is available.
This partly fixes the frame rate misdetection in issue1756.

Originally committed as revision 22824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-09 22:39:39 +00:00
Jai Menon
79f8b328cd ffplay : Add 's' to the list of supported commands.
Originally committed as revision 22823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-09 17:52:34 +00:00
Tomas Härdin
7a6fe01f99 Seeking forward in non-seekable media by discarding data, regardless of how far to seek. Won't SEEK_END unless forced though.
Originally committed as revision 22822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 09:47:32 +00:00
Tomas Härdin
01d91b9be9 Reusing the probe buffer to rewind the ByteIOContext in ff_probe_input_buffer() instead of seeking back to the start of the file. Once exhausted, the size of the buffer is reduced.
Originally committed as revision 22821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 09:02:27 +00:00
Alex Converse
ba659bedb8 Reindent read_sbr_extension.
Originally committed as revision 22820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:27:39 +00:00
Alex Converse
73c2704608 Print an error and skip PS when PS is found but explicitly found but
signaled to be absent.

Originally committed as revision 22819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:27:35 +00:00
Alex Converse
d14662f66a Add support for PS sync extensions.
Originally committed as revision 22818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:04:41 +00:00
Alex Converse
37216b99e0 Use get_bits_left() in the sync extension check.
Originally committed as revision 22817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:04:37 +00:00
Alex Converse
702b73bc9f Fix ext_object_type.
In the case of explicit non-backwards compible PS, the extension object
type should be set to SBR. See 14496-3:2009 (fourth edition).

Originally committed as revision 22816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:04:31 +00:00
Benjamin Larsson
58f48adb51 Add DynamicACL support for FFserver.
Originally committed as revision 22815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-07 20:06:02 +00:00
Joakim Plate
c6cf6ae69d Don't write an empty spdif header in spdif muxers write_header function before actual data starts.
Patch by Elupus.

Originally committed as revision 22814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-07 19:40:46 +00:00
Bobby Bingham
e0728d7991 Add unsharp video filter.
Contributed by Daniel G. Taylor (dan/at/programmer-art/dot/org)

Originally committed as revision 22813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-07 01:05:24 +00:00
Stefano Sabatini
b9bd6589d7 Clarify doxy for av_fifo_alloc().
Originally committed as revision 22812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-06 22:31:59 +00:00
Craig Thomasson
77a670e796 Fix segfault when encoder initialization fails.
Patch by Craig Thomasson $(name) dot $(surname) ripcode com

Originally committed as revision 22811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-06 09:52:41 +00:00
Ronald S. Bultje
2100348c3e Add actually correct rXXXXX here.
Originally committed as revision 22810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 19:55:12 +00:00
Anton Khirnov
46e6fb4c54 Simplify writing stream metadata.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 19:54:11 +00:00
Anton Khirnov
1a6498d78c Don't overwrite user-supplied metadata with metadata mapped from an input file.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 19:53:25 +00:00
Ronald S. Bultje
56a8242fdd Actually add flag (somehow got lost in my previous patchset?), fixes broken
r22806.

Originally committed as revision 22807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 19:50:45 +00:00
Anton Khirnov
3dd6180fc7 Add a flag to not overwrite existing tags
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 19:46:55 +00:00
Martin Storsjö
0950e1703b Reindent
Originally committed as revision 22805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 17:26:06 +00:00
Martin Storsjö
0e4b185a8d Fix leaks in the AAC RTP depacketizer
Originally committed as revision 22804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 17:25:39 +00:00
Ronald S. Bultje
1da1e1933f Add void to a function prototype that takes no arguments. Fixes a potential
compiler warning.

Originally committed as revision 22803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 16:13:51 +00:00
Michael Niedermayer
0e1f78f90b Fix rounding direction for calculation of AVPacket.duration.
Fixes issue1579

Originally committed as revision 22802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 22:19:42 +00:00
Martin Storsjö
3370289a4c Zero-initialize the reply struct
The status_code field is read in the fail codepath, where it could be
read uninitialized earlier. Found by clang.

Originally committed as revision 22801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 21:59:06 +00:00
Diego Biurrun
1e4dd198af Document minimum binutils requirements on Unix-like platforms.
based on a patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 22800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 15:35:56 +00:00
Stefano Sabatini
5b33a55376 Implement support to the AVSEEK_SIZE operation in file_seek().
Avoid the need to use seeking for getting the file size, use fstat
instead, which is significantly faster.

See thread:
Subject: [FFmpeg-devel] [PATCH] Add support to AVSEEK_SIZE to the file protocol seek callback
Date: Fri, 2 Apr 2010 13:13:27 +0200

Originally committed as revision 22799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 14:21:29 +00:00
Stefano Sabatini
685598f58d Reindent.
Originally committed as revision 22798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 13:50:38 +00:00
Stefano Sabatini
ac61f59a76 Rename av_encode() to av_transcode(), the new name is more meaningful.
Originally committed as revision 22797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 13:50:34 +00:00
Michael Niedermayer
37f57ab4dd Allow AVFormatContext.duration to be set if no individual stream duration is known.
Demuxers already do this ...

Originally committed as revision 22796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 12:20:10 +00:00
Reinhard Tartler
2819760b5c Avoid division by zero
Based on clang-scan report http://permalink.gmane.org/gmane.comp.video.ffmpeg.devel/107290

Originally committed as revision 22795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 07:18:10 +00:00
Bobby Bingham
2bb962567e Remove variable whose value was never read. Found by clang.
Originally committed as revision 22794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 15:29:48 +00:00
Vitor Sessak
c99baf05c3 Add help for (I)RDFT test in fft-test
Originally committed as revision 22793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 15:05:27 +00:00
Vitor Sessak
c2b774a04e Make code using 1d-DCT consistent with the API change
Originally committed as revision 22792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 15:04:15 +00:00
Stefano Sabatini
2874c81cc8 Replace all remaining occurrences of AVERROR_NOMEM with
AVERROR(ENOMEM).

AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.

Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 14:15:00 +00:00
Martin Storsjö
0e64218889 Remove a redundant assignment, found by clang
Originally committed as revision 22790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 12:16:33 +00:00
Michael Kostylev
bee694bc4c Group Unix-like platforms together in the platform documentation.
patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 22789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 09:45:46 +00:00
Diego Biurrun
57a80d797e minor spelling fixes
Originally committed as revision 22788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 09:42:40 +00:00
Carl Eugen Hoyos
18590be655 Use AVDISCARD_DEFAULT for 0 where appropriate.
Originally committed as revision 22787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 23:08:23 +00:00
Ronald S. Bultje
ff273ddae7 Fix buffer size; should hold 2 32-bit integers in hex = 16 chars + terminating
zero, so should be 17 bytes, not 9.

Originally committed as revision 22786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 22:08:57 +00:00
Sam Gerstein
f3c68c5b45 ETIME -> ETIMEDOUT. Patch by Sam Gerstein <sgerstein bluefinlab com>.
Originally committed as revision 22785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 20:14:55 +00:00
Alex Converse
523429220b aacenc: Error when an unsupported profile is requested
Originally committed as revision 22784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 16:26:10 +00:00
Ronald S. Bultje
7b374c9ff2 Another uninitialized value.
See http://tranquillity.ath.cx/clang/2010-03-30-1/report-e6KUTb.html#EndPath

Originally committed as revision 22783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:58:55 +00:00
Ronald S. Bultje
190413cf81 Fix uninitialized value in codepath.
See http://tranquillity.ath.cx/clang/2010-03-30-1/report-40QvF3.html#EndPath

Originally committed as revision 22782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:58:03 +00:00
Ronald S. Bultje
ddf8e75ede Remove dead initialization.
Originally committed as revision 22781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:56:59 +00:00
Ronald S. Bultje
0b9535b9a2 Remove dead initialization.
Originally committed as revision 22780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:55:01 +00:00
Alex Converse
636da41a20 aacenc: Don't lowpass the input unless specifically requested.
The heuristic for estimating a good cutoff is busted.

Originally committed as revision 22779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:19:39 +00:00
Michael Niedermayer
008593be52 Change default for bidir_refine to 1.
Originally committed as revision 22778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:08:51 +00:00
Michael Niedermayer
fd8277ffa0 Optimize bidir_refine a bit.
compiled code is less tham 1/4 the size.
a tiny bit faster

Originally committed as revision 22777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:04:15 +00:00
Martin Storsjö
fea9bb2f31 Replace the last occurrance of CODEC_TYPE_ with AVMEDIA_TYPE_
Originally committed as revision 22776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 13:33:51 +00:00
Michael Niedermayer
a69220cce0 Change bidir refine hash code so we only need to perform a single
hash calculation for the whole function.
negligibly faster (about 0.1%)

Originally committed as revision 22775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 12:34:08 +00:00
Martin Storsjö
4bebf2cf64 Change a case of CODEC_TYPE_ into AVMEDIA_TYPE_
This was accidentally overwritten in the recent merge of the theora/vorbis codepaths

Originally committed as revision 22774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 11:33:02 +00:00
Michael Niedermayer
2d603902f3 Reduce the size of the bidir refine hashtable from 4096 to 256 and
change the hash function to something more sane and simple.
about 1/3 faster, no meassureable change in psnr or size and i gues
its even same md5 with my test file but i forgot testing that.

Originally committed as revision 22773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 11:06:29 +00:00
Michael Niedermayer
e056d2a24b Move comment that belonged to cmp() back to cmp().
Originally committed as revision 22772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 01:13:59 +00:00
Michael Niedermayer
919e749772 slice dice, inline and outline cmp()
motion_est.o is now less than half its previous size.
No speedchange meassureable.

Originally committed as revision 22771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 01:07:03 +00:00
Michael Niedermayer
4ed39eedca av_builtin_constant_p()
Originally committed as revision 22770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 01:03:27 +00:00
Stefano Sabatini
458b062d61 Implement cmdutils.c:read_file(), and use it in ffmpeg.c for reading
the second pass encoding log file.

Originally committed as revision 22769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 22:34:22 +00:00
Josh Allmann
339f5f3957 Merge Vorbis / Theora depayloaders.
Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>.

Originally committed as revision 22768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 21:43:22 +00:00
Josh Allmann
cb92a9c038 Reindent after r22766.
Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>.

Originally committed as revision 22767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 21:42:10 +00:00
Josh Allmann
96070b8b5c Rename functions / comments from "Theora" to "Xiph" where relevant.
Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>.

Originally committed as revision 22766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 21:41:48 +00:00
Josh Allmann
06a36faf4c Rename rtpdec_theora.[ch] to rtpdec_xiph.[ch], as a preparation for merging
the Vorbis / theora depacketizers.

Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>.

Originally committed as revision 22765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 21:40:56 +00:00
Robert Krüger
d834d63b0e Add -t option to ffplay.
Patch by Robert Krüger, krueger signal7 de

Originally committed as revision 22764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 20:56:23 +00:00
Michael Niedermayer
00bbc09309 Store range coder state transition table.
Use a better table, 2% compression gain for foreman

Originally committed as revision 22763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 18:51:08 +00:00
Reimar Döffinger
fa034b4427 Allow hardcoding of ulaw and alaw tables.
Originally committed as revision 22762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 17:54:15 +00:00
Reimar Döffinger
8eaa6e0e04 Change/simplify the tableprint/tablegen API.
Originally committed as revision 22761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 17:11:47 +00:00
Reimar Döffinger
27eecec359 Convert two "m" constraints to MANGLE to fix compilation with some compilers.
Originally committed as revision 22760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 16:52:14 +00:00
Takashi Mochizuki
d749da7e8b Fix typo: CODEC_FLAG2_SSIM is in flags2, not in flags.
Patch by Takashi Mochizuki mochi (A) da2 (.) so (dash) net (dot) ne (.) jp

Originally committed as revision 22759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 15:52:50 +00:00
Michael Niedermayer
ccf8c2944c Limit probing to probesize.
Originally committed as revision 22758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 12:09:33 +00:00
Howard Chu
527c2e6429 Fix flvdec start-of-frame.
Patch by Howard Chu hyc highlandsun com

Originally committed as revision 22757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 08:02:20 +00:00
Bobby Bingham
cf097cbc0b Cosmetics: indentation
Originally committed as revision 22756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:27 +00:00
Bobby Bingham
c41c5b02d3 Don't create unnecessary refereces to pictures
Originally committed as revision 22755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:25 +00:00
Bobby Bingham
dd0c789be7 Hook decoder up to libavfilter's direct rendering for ffplay
Originally committed as revision 22754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:21 +00:00
Bobby Bingham
0fb49b597b Add function to export EDGE_WIDTH from libavcodec.
Originally committed as revision 22753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:16 +00:00
Ronald S. Bultje
c846a984dc Document API addition of avcodec_copy_context().
Originally committed as revision 22752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 21:10:52 +00:00
Ronald S. Bultje
d9521cb119 Fix FFM-based streaming from ffmpeg to ffserver. The basic problem is that
we'd memset() the codec context to zero, thereby setting audio input to U8
and video to YUV420P. For most video encoders, that actually works, but for
most audio codecs, it doesn't. This patch changes defaults to those set by
avcodec_context_get_defaults() and have ffmpeg figure out the optimal encoding
format itself if not set explicitely (as it does for the non-ffserver-cases
also).

Originally committed as revision 22751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 21:02:34 +00:00
Ronald S. Bultje
d103218046 Add avcodec_copy_context().
Originally committed as revision 22750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 20:40:49 +00:00
Stefano Sabatini
e33f1fa0a9 Add entry for the addition of av_match_ext() to the public API.
Originally committed as revision 22749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 19:06:02 +00:00
Stefano Sabatini
1a70d12727 Make av_match_ext() declaration public (move its declaration out of
the #ifdef HAVE_AV_CONFIG_H block in avformat.h).

Originally committed as revision 22748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 19:03:03 +00:00
Reimar Döffinger
5b03661fa7 Replace some "m" constraints by MANGLE to avoid issues with some compilers not
being able to compile it and deduplicate the code at the same time.

Originally committed as revision 30978 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-31 17:00:33 +00:00
Jai Menon
c7512f6bb3 Fix a few typos/grammar nits from r22739.
Originally committed as revision 22747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 14:15:01 +00:00
Carl Eugen Hoyos
a4585e7834 Fix likely typo in r15937.
Originally committed as revision 22746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 14:13:49 +00:00
Michael Niedermayer
fe8344a276 Add AVFMT_FLAG_NOFILLIN and AVFMT_FLAG_NOPARSE.
Originally committed as revision 22745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:55:16 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Joakim Plate
46da7fa133 Probe aac codecs for CODEC_ID_PROBE.
Patch by Joakim Plate, elupus ecce se

Originally committed as revision 22742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 10:45:15 +00:00
Anton Khirnov
8166c498df Remove superfluous space from a conversion table.
Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 22741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 09:22:31 +00:00
Alexander Strange
7a5c850be9 H264: Copy h264dsp when creating new slice threads
Fixes slice multithreading (broken in r22565)
Fixes issue1815

Originally committed as revision 22740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 03:55:42 +00:00
Michael Niedermayer
49553ec865 Better documentation of -vsync
Originally committed as revision 22739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 00:41:31 +00:00
Stefano Sabatini
330d86f593 Issue a more general message when the function which sets an option
fails.

It may fail not only because of an invalid value for the option, but
also for other reasons, e.g. memory problems etc.

Originally committed as revision 22738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:46:30 +00:00
Stefano Sabatini
fc8b1075e1 Update APIchanges after the enum CodecType -> enum AVMediaType
transition.

Originally committed as revision 22737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:42:06 +00:00
Stefano Sabatini
11491503c4 Move AVMediaType from libavcodec to libavutil.
This allows applications/libraries which require that symbol
(e.g. libavfilter) to be compiled without to depend on the presence of
libavcodec/avcodec.h, which may not be installed.

Originally committed as revision 22736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:31:16 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Carl Eugen Hoyos
ca6e7708b4 Add spectral extension to the E-AC-3 decoder.
Original patch by Justin, updated and resubmitted by
Christophe Gisquet, christophe D gisquet A gmail

Originally committed as revision 22734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 22:09:14 +00:00
Michael Niedermayer
1052b76f0f Fix implicit weight for b frames in mbaff.
Originally committed as revision 22733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 21:05:11 +00:00
Michael Niedermayer
c28112fab6 Make sure the EC code does not attempt to use inter based concealment if there
is no reference frame available. (this can happen because the EC code will attempt
to use reference frames even for I/IDR frames)

Originally committed as revision 22732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 20:46:46 +00:00
Ronald S. Bultje
aa1de0d9ed Split out code that auto-chooses a default pix_fmt/sample_fmt in their own
functions.

Originally committed as revision 22731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 19:37:07 +00:00
Alexander Strange
13cb218724 configure: restore -mdynamic-no-pic on darwin (missing since r20497)
Darwin compilers default to PIC on, so -mdynamic-no-pic (which disables it
again) needs to be added to cflags before enable pic is checked.

Fixes compilation without --enable-shared at least the 10.6 system compiler
for x86-32.
Fixes speed regression on all darwin arches except x86-64.

Originally committed as revision 22730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 16:28:00 +00:00
Benoit Fouet
32e543f866 Replace @returns by @return.
Originally committed as revision 22729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 15:50:57 +00:00
3bccd93ac0 Set VDPAU H264 picture parameter field_order_cnt and frame_num at the
start of decoding a picture instead of at the end.
Fixes mmco01.264

Patch by Stephen Warren

Originally committed as revision 22728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 08:10:29 +00:00
e5efbafdfd Fix VDPAU for H.264 streams with long reference frames.
Patch by Stephen Warren.

Originally committed as revision 22727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 07:52:44 +00:00
Stefano Sabatini
38b9d8b8c4 Add missing entry for the YOP demuxer and video decoder addition.
Originally committed as revision 22726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 23:34:08 +00:00
Stefano Sabatini
8a36b59ba6 Document url_exist().
Originally committed as revision 22725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 22:29:14 +00:00
Mohamed Naufal
148bcae98c Implement YOP demuxer and video decoder.
Patch by Mohamed Naufal gmailify(naufal11).

Originally committed as revision 22724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 22:17:01 +00:00
Reimar Döffinger
30ad1a6651 Include appropriate header in table generators instead of using a dummy
av_cold define.

Originally committed as revision 22723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 21:32:38 +00:00
Reimar Döffinger
4f798a6ab2 Add some documentation about the table generation code.
Originally committed as revision 22722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 21:01:45 +00:00
Reimar Döffinger
5b9c11ff96 Fix indentation.
Originally committed as revision 22721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 20:58:19 +00:00
Reimar Döffinger
c2bfd81605 Some spelling fixes.
Originally committed as revision 22720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 19:17:49 +00:00
Ronald S. Bultje
8ff5d1f319 Simplify interleaving code.
Originally committed as revision 22719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 17:37:03 +00:00
Sam Gerstein
9cba6f5f40 Add a timeout to the select() call. Patch by Sam Gerstein <sgerstein bluefinlab
com>.

Originally committed as revision 22718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 17:36:08 +00:00
Jai Menon
a0d5f3d39a Cosmetics : add a space after ",".
Originally committed as revision 22717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 12:53:35 +00:00
Loren Merritt
b23cf13c67 indent
Originally committed as revision 22716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 02:50:41 +00:00
Loren Merritt
3224079956 optimize init_vlc().
Reduce worst case time from O(N^2) to O(N*log(N)).
Speedup average case by a factor of 10 in ffv2 (total decoding speed +4-25%),
factor of 1.3 in ffvhuff (total +0.5%),
factor of 1.8 in indeo5 (total +1%),
factor of 1.1 in mjpeg (total +0.1%).

Originally committed as revision 22715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 02:50:23 +00:00
Lou Logan
7ef7ae930c Update x264 presets in line with latest x264 changes.
Patch by Lou Logan.

Originally committed as revision 22714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 01:34:33 +00:00
Michael Kostylev
e69decaef4 Clarify (Open)Solaris section of the documentation.
patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 22713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 20:16:09 +00:00
Jai Menon
6aaa9bc9b5 Add myself as co-maintainer of tta.c
Originally committed as revision 22712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 17:21:02 +00:00
Jai Menon
bac6ed4aeb TTA : Check if the output buffer size is within bounds.
Fixes issue 1848.

Originally committed as revision 22711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 17:17:48 +00:00
Howard Chu
0f943ce663 Implement support to RTMP, RTMPT, RTMPE, RTMPTE, RTMPS protocols via
librtmp.

Patch by Howard Chu <hyc * highlandsun * com>.

Originally committed as revision 22710 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 13:39:36 +00:00
Stefano Sabatini
9bee245954 Document url_seek().
Originally committed as revision 22709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 10:31:22 +00:00
Stefano Sabatini
4bfe67da24 Implement -convert_tags option, which converts showed tag names to the
FFmpeg generic tag names.

Originally committed as revision 22708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 10:04:10 +00:00
Vitor Sessak
f990f6e3f7 Fix NUT (de)muxer warnings:
CC    libavformat/nutdec.o
libavformat/nutdec.c: In function ‘read_seek’:
libavformat/nutdec.c:862: warning: passing argument 3 of ‘av_tree_find’ from incompatible pointer type
./libavutil/tree.h:44: note: expected ‘int (*)(void *, const void *)’ but argument is of type ‘int (*)(struct Syncpoint *, struct Syncpoint *)’
libavformat/nutdec.c:871: warning: passing argument 3 of ‘av_tree_find’ from incompatible pointer type
./libavutil/tree.h:44: note: expected ‘int (*)(void *, const void *)’ but argument is of type ‘int (*)(struct Syncpoint *, struct Syncpoint *)’
libavformat/nutdec.c:879: warning: passing argument 3 of ‘av_tree_find’ from incompatible pointer type
./libavutil/tree.h:44: note: expected ‘int (*)(void *, const void *)’ but argument is of type ‘int (*)(struct Syncpoint *, struct Syncpoint *)’
CC    libavformat/nutenc.o
libavformat/nutenc.c: In function ‘write_packet’:
libavformat/nutenc.c:680: warning: passing argument 3 of ‘av_tree_find’ from incompatible pointer type
./libavutil/tree.h:44: note: expected ‘int (*)(void *, const void *)’ but argument is of type ‘int (*)(struct Syncpoint *, struct Syncpoint *)’

Originally committed as revision 22707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 09:59:58 +00:00
Martin Storsjö
4c1202f76e Initialize ssrc and base_timestamp using ff_random_get_seed()
Originally committed as revision 22706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 08:48:45 +00:00
Aurelien Jacobs
9b1db5ec99 correct first pts for ogg skeleton
Originally committed as revision 22705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-28 01:15:08 +00:00
Stefano Sabatini
66b6c7458e Document the behavior of av_metadata_get() if the prev parameter is
NULL.

Originally committed as revision 22704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 21:14:16 +00:00
Reimar Döffinger
d14f5391c1 Use more appropriate return values in txd demuxer.
Originally committed as revision 22703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 19:10:24 +00:00
Reimar Döffinger
36031c2033 eacdata: fix a memleak, return partial packets and use proper return values.
Originally committed as revision 22702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 19:09:46 +00:00
Diego Biurrun
227d1b98a1 misc wording and grammar fixes
Originally committed as revision 22701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 13:30:22 +00:00
Reimar Döffinger
9b489e0248 Clearer CODEC_CAP_DR1 documentation.
Originally committed as revision 22700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 13:22:07 +00:00
Diego Biurrun
c08b985637 Clarify where the list of supported formats is.
Originally committed as revision 22699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 13:17:56 +00:00
Stefano Sabatini
efe8bb095b 10l: Initialize tag to NULL in show_stream, fix metadata showing in
streams.

Originally committed as revision 22698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 12:35:40 +00:00
Diego Biurrun
c271ad21ac Clarify which parts of libswscale remain GPL.
Originally committed as revision 22697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-27 11:31:30 +00:00
Diego Biurrun
819ee683d8 libswscale: Relicense almost all x86 assembler optimizations as LGPL.
This is of course done with permissions from the authors. The only GPL
component left are MMX optimizations for YUV to RGB conversion.

Originally committed as revision 30965 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-27 11:31:02 +00:00
Stefano Sabatini
7a5bdd79eb Use av_strerror() in print_error().
Originally committed as revision 22696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 22:46:47 +00:00
Lou Logan
94052341be Use the newly available x264 parameters in ffmpeg in the x264 preset files.
Patch by Lou Logan.

Originally committed as revision 22695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 22:40:55 +00:00
Martin Storsjö
cae9a15c98 Don't report EINTR from select as an error, retry select instead
Originally committed as revision 22694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 16:04:38 +00:00
Diego Biurrun
3fd427cd19 Add (Open)Solaris section to platform documentation.
Originally committed as revision 22693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 09:56:57 +00:00
Diego Biurrun
f25b1c4b6b HAVE_MMX2 implies HAVE_MMX, so checking the latter is enough.
Originally committed as revision 30961 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-26 07:57:54 +00:00
Alexander Strange
767738f7a3 h264: Use + instead of | in some places
6 insns less on x86-64/gcc 4.2.

Originally committed as revision 22692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 05:04:03 +00:00
Ramiro Polla
e644db613a libxvid: Clear extradata pointer when freeing it.
Fixes crash when avcodec_close() tried freeing it again.
Fixes issue 1846.

Originally committed as revision 22691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 04:12:28 +00:00
Alexander Strange
601ca8c55c h264: Remove unused function argument
Originally committed as revision 22690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 03:31:56 +00:00
Alexander Strange
f7ba470d58 h264: Simplify decode_cabac_residual() specialization
Gives more consistent inlining with some compilers (such as llvm).

Originally committed as revision 22689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 03:29:31 +00:00
Micah F. Galizia
532aa889eb Fix updating condition for the probe_size variable in the internal
loop of ff_probe_input_buffer(), making sure that probe_size is always
set to probe_max_size in the last iteration.

Also make the function return an error if we get to the max probe
length and still cannot figure out what the format is.

Patch by Micah Galizia micahgalizia A gmail D com.

Originally committed as revision 22688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 01:12:14 +00:00
Diego Biurrun
fd12dd9593 Reorder platform sections alphabetically.
Originally committed as revision 22687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 00:38:53 +00:00
Diego Biurrun
54dab567ba Add FreeBSD subsection with compilation instructions.
Originally committed as revision 22686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-26 00:37:32 +00:00
Stefano Sabatini
82ba847ea4 Add APIchanges entry after av_strerror() addition.
Originally committed as revision 22685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 22:52:50 +00:00
Stefano Sabatini
87958234f9 Implement av_strerror().
Originally committed as revision 22684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 22:46:35 +00:00
Stefano Sabatini
0394c928db Prefer '///< ...' doxygen inline syntax over '/**< ... */'.
Originally committed as revision 22683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 22:46:32 +00:00
Stefano Sabatini
b748b9d69b Use consistent punctuation rules for the error message descriptions.
Originally committed as revision 22682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 22:46:28 +00:00
Martin Storsjö
4bc5cc2313 Reassemble the RTSP URL before replacing hostname with the numerical IP
Originally committed as revision 22681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 22:21:09 +00:00
Martin Storsjö
7b4a36450b Simplify ff_rtsp_send_cmd_with_content_async, remove an unnecessary buffer
Originally committed as revision 22680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 22:04:41 +00:00
Martin Storsjö
60f198a774 Remove a redundant null pointer check
Originally committed as revision 22679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:53:42 +00:00
Martin Storsjö
30af077942 Don't force basic auth in RTSP, but retry with the server-specified method on failure
Originally committed as revision 22678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:49:43 +00:00
Martin Storsjö
2626308abb Actually parse the auth headers in RTSP
Originally committed as revision 22677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:48:58 +00:00
Martin Storsjö
aa8bf2fb80 Make RTSP use the generic http authentication code
Still hardcoded to use Basic auth, without parsing the reply headers

Originally committed as revision 22676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:47:33 +00:00
Martin Storsjö
b17d11c632 Add separate method/url parameters to the rtsp_send_cmd functions
Originally committed as revision 22675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:46:14 +00:00
Stefano Sabatini
c5c20ae436 Make wmaprodec.c:decode_init() return AVERROR_INVALIDDATA /
AVERROR_PATCHWELCOME in case of invalid / unsupported number of
channels specified, rather than return AVERROR_NOTSUPP.

Originally committed as revision 22674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 21:01:35 +00:00
Baptiste Coudurier
ab379c671f 10l, update ref value for ffm since default flags changed and are stored in the file
Originally committed as revision 22673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 20:45:26 +00:00
Martin Storsjö
e9fea405a7 Reindent
Originally committed as revision 22672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 19:47:26 +00:00
Baptiste Coudurier
dac99c359e Enable mbtree by default, and remove it from presets
Originally committed as revision 22671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 19:39:06 +00:00
Baptiste Coudurier
f3b3b4895a Enable more libx264 options, aq, psy, rc lookahead and ssim
Originally committed as revision 22670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 19:25:21 +00:00
Jai Menon
4896dd57fa Matroska muxer : Don't create audio tracks for unsupported audio codecs.
Originally committed as revision 22669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 14:34:19 +00:00
Martin Storsjö
b26708d5d1 Add a changelog entry for http digest auth
Originally committed as revision 22668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 14:01:38 +00:00
Martin Storsjö
855e7732c6 Add support for http digest authentication
Originally committed as revision 22667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 13:58:26 +00:00
Martin Storsjö
d8f9295753 Reindent
Originally committed as revision 22666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 07:14:41 +00:00
Martin Storsjö
ddbeb95447 Add a lowercase parameter to ff_data_to_hex
Originally committed as revision 22665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 07:13:20 +00:00
Stefano Sabatini
bd01c39330 Make audio_read_packet() return AVERROR_EOF rather than AVERROR(EOF) =
AVERROR(-1) = 1.

Originally committed as revision 22664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 00:41:54 +00:00
Martin Storsjö
b1cc5540e7 Make ff_rtsp_send_cmd simply call ff_rtsp_send_cmd_with_content
Originally committed as revision 22663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 23:06:58 +00:00
Vitor Sessak
3bfb30b9e3 Fix warnings in NUT demuxer:
libavformat/nutdec.c: In function ‘read_seek’:
libavformat/nutdec.c:862: warning: passing argument 4 of ‘av_tree_find’ from incompatible pointer type
./libavutil/tree.h:44: note: expected ‘void **’ but argument is of type ‘struct Syncpoint **’
libavformat/nutdec.c:871: warning: passing argument 4 of ‘av_tree_find’ from incompatible pointer type
./libavutil/tree.h:44: note: expected ‘void **’ but argument is of type ‘struct Syncpoint **’

Originally committed as revision 22662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 22:44:06 +00:00
Luca Barbato
7ed8211b3e Issue a warning if the received CSeq isn't the expected one
Originally committed as revision 22661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 22:38:48 +00:00
Martin Storsjö
9405f733d9 Split out http authentication handling into a separate file
This prepares for adding support for more authentication methods

Originally committed as revision 22660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 22:32:05 +00:00
Vitor Sessak
59856b9891 Fix warning:
libavformat/nut.c: In function ‘ff_nut_free_sp’:
libavformat/nut.c:80: warning: passing argument 4 of ‘av_tree_enumerate’ from incompatible pointer type
./libavutil/tree.h:92: note: expected ‘int (*)(void *, void *)’ but argument is of type ‘void (*)(void *, void *)’

Originally committed as revision 22659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 19:58:12 +00:00
Martin Storsjö
3032276b18 Handle errors returned from ff_rtsp_read_reply in udp_read_packet properly
Originally committed as revision 22657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 18:52:27 +00:00
Zhentan Feng
852e0ca555 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
to share it with e.g. MMS.

Patch by Zhentan Feng <spyfeng gmail com>.

Originally committed as revision 22656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 18:40:43 +00:00
Alex Converse
508f092a78 aacenc: Merge quantize_band_cost() with quantize_and_encode_band().
If these two functions aren't matched results may be unexpected.

Originally committed as revision 22655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 17:09:21 +00:00
Carl Eugen Hoyos
d692850bbb Silence ridiculous gcc warning.
Originally committed as revision 22654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 11:11:25 +00:00
Tomas Härdin
c6a5e087cf Mask away AVSEEK_FORCE properly in some checks in url_fseek()
Patch by Tomas Härdin $(name).$(s/ä/a/ $(surname)) AT codemill DOT se

Originally committed as revision 22653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 10:41:58 +00:00
Justin Ruggles
06ebe9161e Put ff_flac_write_header() in a separate C file to allow it to be shared without
duplicating code or adding a dependency on vorbiscomment.o.

Originally committed as revision 22652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 23:58:45 +00:00
Ramiro Polla
85f273c7ca x11grab: AVFormatParameters are always passed from av_open_input_stream(),
there is no need to check for it.

Originally committed as revision 22651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 23:35:36 +00:00
Diego Biurrun
f684f3c58a AltiVec implies a PPC CPU, so there is no need to check for both.
Originally committed as revision 30954 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-23 22:59:14 +00:00
Diego Biurrun
13bc1ac31a Do not compile AltiVec code when AltiVec is not available; not even in
runtime cpudetection mode.
Fixes compilation with '--enable-runtime-cpudetect --disable-altivec'.

Originally committed as revision 30952 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-23 20:12:52 +00:00
Vitor Sessak
690877426b Bump minor version, I forgot in the last commit
Originally committed as revision 22650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 20:03:20 +00:00
Vitor Sessak
e1484ebed6 Implement the discrete sine/cosine transforms DCT-I and DST-I
Originally committed as revision 22649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 19:48:16 +00:00
Pavel Pavlov
be548816dc Always check if ff_alloc_picture() succeeds.
Patch by Pavel Pavlov, pavel summit-tech ca

Originally committed as revision 22648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 17:58:39 +00:00
Diego Biurrun
6f2c72c126 Remove unused variable, fixes the warning:
libavcodec/h264.c:1562: warning: unused variable `s'

Originally committed as revision 22647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 17:55:08 +00:00
Robert Krüger
1922c0a773 Add a loop option to ffplay.
Patch by Robert Krüger, krueger signal7 de

Originally committed as revision 22646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 17:39:51 +00:00
Tomas Härdin
d40a999a1c Fix seeking in DV when filesize is unknown.
Patch by Tomas Härdin, tomas D hardin A  codemill D se

Originally committed as revision 22645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 17:22:25 +00:00
Martin Storsjö
7a033e08ea Handle multiple RTSP transport options properly by adding all of them into the mask
Originally committed as revision 22644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 08:00:37 +00:00
Martin Storsjö
602eb77975 Parse options in the RTSP URL only from the last question mark onwards
This helps if the URL (erroneously?) contains question marks within the path.

Originally committed as revision 22643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 07:59:23 +00:00
Martin Storsjö
2a21adf924 Reconstruct the RTSP URL, in order to remove the auth part from the URL sent to the server
Don't modify the user-specified s->filename at all, keep all modifications
locally and in rt->control_uri.

Originally committed as revision 22642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 07:55:15 +00:00
Måns Rullgård
a8bb9ea532 ARM: NEON optimised RDFT
Originally committed as revision 22641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 03:35:02 +00:00
Michael Niedermayer
fc4a2d1e8c Change ref_index structure so it matches how its organized in h264.
Also revert the related error concealment hotfix.

Originally committed as revision 22640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-23 02:17:04 +00:00
Justin Ruggles
19de452a63 Move ff_flac_write_header() to flacenc.h, which removes the Matroska muxer's
dependency on flacenc.o and fixes the unnecessary dependency on vorbiscomment.o.

Originally committed as revision 22639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 21:58:38 +00:00
Michael Niedermayer
ef768b0c32 Disallow VLC coding with more than 8 bits as there are several bugs
in that code that could lead to broken files.
AC coding is unaffected.

Originally committed as revision 22638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 21:12:31 +00:00
Michael Niedermayer
c51131290c Dont senselessly fail on rawvideo that isnt 3 files per frame.
Originally committed as revision 22637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 20:18:42 +00:00
Josh Allmann
887af2aa12 RTP depacketization of Theora
Patch by Josh Allmann (joshua allmann gmail com)

Originally committed as revision 22636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 16:26:29 +00:00
Martin Storsjö
685e76b554 Reindent
Originally committed as revision 22635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 15:07:36 +00:00
Martin Storsjö
b7dc88fc68 Add support for TCP as lower transport in the RTSP muxer
Originally committed as revision 22634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 15:07:05 +00:00
Michael Niedermayer
5d7bc46c2d Throw out last experimental warning that was printed for colorspaces with more than
8 bits per component. This does no good except scaring users away.

Originally committed as revision 22633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 15:04:11 +00:00
Josh Allmann
d6461900c9 Add doxygen docs for av_xiphlacing
Patch by Josh Allmann (joshua allmann gmail com)

Originally committed as revision 22632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 14:57:50 +00:00
Martin Storsjö
9dff2308ba Interpret valueless attributes in AMR ftmp lines as being 1
Originally committed as revision 22631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 14:44:28 +00:00
Martin Storsjö
6e69f6c47f Use the caller's RTSPMessageHeader in rtsp_setup_input_streams
Currently, the caller doesn't get the status_code and location for rediects,
since rtsp_setup_input_streams uses a copy of RTSPMessageHeader of its own.

Originally committed as revision 22630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 14:42:52 +00:00
Michael Niedermayer
0e22d68834 Remove the word "experimental"
Originally committed as revision 22629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-22 14:26:17 +00:00
Michael Niedermayer
e1c9d266a2 Ignore x264 build=0 as there is no such version, this restores previous
behavior approximately.

Originally committed as revision 22628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 22:23:37 +00:00
James Darnley
bb45237e11 Fix FLAC demuxer dependencies.
Patch by James Darnley <james darnley at gmail>

Originally committed as revision 22627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 18:06:56 +00:00
Stefano Sabatini
68006ed062 Drop AVERROR_NOFMT at the next libavutil major bump.
Originally committed as revision 22626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 16:34:06 +00:00
Stefano Sabatini
2928b83c75 Make av_open_input_file() return AVERROR_INVALIDDATA rather than
AVERROR_NOFMT if the format is unknown / cannot be recognized.

It is returned AVERROR_INVALIDDATA, in the sense that the data is
invalid within what the specific libav* binary supports.

That was the last remaining use of AVERROR_NOFMT, which is going to be
dropped at the next libavutil major bump.

Originally committed as revision 22625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 16:34:04 +00:00
Stefano Sabatini
e4445e9c78 Make g729dec.c:decode_frame() return AVERROR_INVALIDDATA rather than
AVERROR_NOFMT in case of invalid / unknown packet size.

Originally committed as revision 22624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 16:34:01 +00:00
Reimar Döffinger
e99f8d32e2 Do not use puts, it adds additional newlines making the generated files
needlessly ugly.

Originally committed as revision 22623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 16:29:08 +00:00
Reimar Döffinger
c787cb339e Add support for hard-coding the 256kB large dv_vlc_map table.
Originally committed as revision 22622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 16:03:45 +00:00
Reimar Döffinger
8de0859bcb Extend and move macros to create table printing functions to header.
Simplifies creating custom functions for printing DV VLC-related tables.

Originally committed as revision 22621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 14:46:32 +00:00
Reimar Döffinger
10249a5f31 Split VLC-related tables out of dvdata.h to make it easier to add support
for hard-coding tables.

Originally committed as revision 22620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 14:43:50 +00:00
Vitor Sessak
b531e1ab59 Reindent after r22618.
Originally committed as revision 22619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 11:36:17 +00:00
Vitor Sessak
8305c76b53 Split DCT-II and DCT-III in different functions, they do not share any code.
Originally committed as revision 22618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 11:35:05 +00:00
Vitor Sessak
e30ab38e94 Call DCT by function pointer. Needed for any future ASM implementation and
allows further cleanup.

Originally committed as revision 22617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 11:31:11 +00:00
Vitor Sessak
89d7df7c74 Cosmetics: move ff_dct_init() to the bottom of the file
Originally committed as revision 22616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 11:28:38 +00:00
Vitor Sessak
2758004fce DCT: remove unused field from context
Originally committed as revision 22615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 11:24:01 +00:00
Kostya Shishkov
b78a985afb fix minor typo
Originally committed as revision 22614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 10:26:09 +00:00
Diego Biurrun
e547328b18 Revert removal of _NETBSD_SOURCE definition.
It is indeed necessary to compile on NetBSD.

Originally committed as revision 22613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-21 09:24:04 +00:00
Aurelien Jacobs
3546fa8d87 fix compilation with --disable-everything --enable-decoder=mpeg2video
Originally committed as revision 22612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 23:18:07 +00:00
Diego Biurrun
4903b5ca35 Move variable declaration, fixes the warning:
ffplay.c:1703: warning: unused variable `pos'

Originally committed as revision 22611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 21:39:50 +00:00
Måns Rullgård
1366f05978 rdft: reorder functions to avoid static prototype
Originally committed as revision 22610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 21:27:06 +00:00
Måns Rullgård
2881c83127 Call rdft by function pointer
Call the RDFT by a function pointer like other FFT related transforms.
This makes instruction set optimized versions possible.

Based on patch by Alex Converse.

Originally committed as revision 22609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 21:27:03 +00:00
Michael Niedermayer
b297129bdb Hotfix for regtest-error failure
a proper fix appears to require changing h263/mpeg2/motion est to index ref_index like
h264. Ill do this change and then revert this hotfix but it will take a bit time.

Originally committed as revision 22608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 16:51:36 +00:00
Justin Ruggles
59b4b54014 Add Changelog entry and bump lavf micro version for the addition of
VorbisComment writing for FLAC, Ogg/FLAC, and Ogg/Speex files.

Originally committed as revision 22607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:42:49 +00:00
James Darnley
aeef3ec6f0 Add VorbisComment writing to Ogg/FLAC and Ogg/Speex files.
Patch by James Darnley <james darnley at gmail>

Originally committed as revision 22606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:39:22 +00:00
James Darnley
66061a1220 Add VorbisComment writing to FLAC files.
Patch by James Darnley <james darnley at gmail>.

Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:36:43 +00:00
Måns Rullgård
64f6e357fd 10l: fix build without termios.h
Originally committed as revision 22604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 01:02:45 +00:00
Michael Niedermayer
673fc6388f Error concealment of h264 with multiple references.
Originally committed as revision 22603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 00:52:08 +00:00
Stefano Sabatini
1bafdcbd0a List the FFserver specific options under a "Main options" section, to
distinguish them from the generic common options.

Originally committed as revision 22602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 00:09:30 +00:00
Stefano Sabatini
72af5d8a02 Change the definition of AVERROR_INVALIDDATA at the next libavutil
major bump, using an FFmpeg specific error code rather than EINVAL,
which has a quite different semantics.

Originally committed as revision 22601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-19 23:34:36 +00:00
Stefano Sabatini
0029156589 Extend description for AVERROR_INVALIDDATA.
Originally committed as revision 22600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-19 23:34:34 +00:00
Måns Rullgård
9a9509e6ee Register atexit handler only when needed
Originally committed as revision 22599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-19 16:25:11 +00:00
Diego Biurrun
f5af8f1625 Replace wrong condition name in #endif comment by correct instance.
Originally committed as revision 30938 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-19 09:58:45 +00:00
Diego Biurrun
81bbd840fe Check whether COMPILE_ALTIVEC is defined, not if it is set to a 0/1 value.
COMPILE_ALTIVEC is never set to 1, it is just #defined.

Originally committed as revision 30937 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-19 09:57:36 +00:00
Anton Khirnov
7a39f142a8 ffmpeg.c: copy chapters by default.
Patch by Anton Khirnov wyskas gmail com

Originally committed as revision 22598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-19 07:44:38 +00:00
Janusz Krzysztofik
5388f0b479 Reinitialize the h264 decoder context on every valid aspect ratio
change, not only size changes.

Patch by Janusz Krzysztofik foo=zyszt <jkr$foo@tis.icnet.pl>.

Originally committed as revision 22597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:36:54 +00:00
Bobby Bingham
15ba015f71 The vflip filter does not need to keep ownership of a picture reference.
Avoid creating and releasing useless extra picture references in the
start_frame and end_frame callbacks.

Originally committed as revision 22596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:13:04 +00:00
Bobby Bingham
d313e17ab1 Use the new null callbacks to simplify filters and reduce duplicated code.
Originally committed as revision 22595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:13:02 +00:00
Bobby Bingham
91d1c741bf Create a set of null callback functions.
These are useful for filters which don't modify the image data.

Originally committed as revision 22594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:12:48 +00:00
Janusz Krzysztofik
22e8222fd2 Extend the generic path of the yuv2rgb converter with support for rgb444
output format.

Patch by Janusz Krzysztofik, jkrzyszt A tis D icnet D pl

Originally committed as revision 30934 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-18 23:02:32 +00:00
Måns Rullgård
d343d59837 Replace remaining uses of ATTR_ALIGNED with DECLARE_ALIGNED
Originally committed as revision 22593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 15:00:17 +00:00
Carl Eugen Hoyos
35a3bd844e It is difficult nowadays to compile without swscale support.
Originally committed as revision 22592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 00:24:26 +00:00
Stefano Sabatini
fd7cbc7f9c Make g729dec.c:decoder_init() return AVERROR(EINVAL) rather than
AVERROR(NOFMT) if one channel if the number of channels specified
is different than 1.

Originally committed as revision 22591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 00:23:02 +00:00
Stefano Sabatini
8d5e638f04 Make url_fseek() return AVERROR_EOF rather than AVERROR(EPIPE) if end
of file is reached.

Originally committed as revision 22590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 00:22:58 +00:00
Stefano Sabatini
8bab85e54c Remove printing of frame sizes and frame rate abbreviations from
show_protocols().

The list of abbreviations is both outdated and out of context.

Originally committed as revision 22589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 23:51:12 +00:00
Robert Krüger
076db5ed57 Add a -window_title option, which sets the FFplay window title.
Patch by Robert Krüger "krueger ET signal7 DOT de".

Originally committed as revision 22588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 23:39:18 +00:00
Stefano Sabatini
1400bd5a39 Make ad-hoc lavfi tests use random values for the slice height used
per each frame, useful for testing slicification.

Originally committed as revision 22587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 23:23:48 +00:00
Stefano Sabatini
cec96e8de3 Add some ad-hoc tests for libavfilter.
A patched version of ffmpeg supporting video filters is required for
getting this working; thus make lavfitest is supposed to work only in
the libavfilter repository for now.

Originally committed as revision 22586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 23:23:44 +00:00
Ronald S. Bultje
a7a85dc4c2 Cast sample_fmt (as read from bitstream as a 16-bit value) to int16, so that
negative values, e.g. SAMPLE_FMT_NONE (-1), are read correctly also.

Originally committed as revision 22585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 15:14:18 +00:00
Carl Eugen Hoyos
9109cdca97 Fix compilation on PPC 470.
Originally committed as revision 22584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 15:06:27 +00:00
Måns Rullgård
838c7c7407 Remove $(MSG) override for install-lib targets
This is no longer needed and causes incorrect output in some cases.

Originally committed as revision 22583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 14:43:05 +00:00
Måns Rullgård
de5aba8cca Make ranlib silent in brief output mode
Running ranlib is quick and uninteresting, no need to print it.

Originally committed as revision 22582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 14:43:03 +00:00
Alexis Ballier
57937d6195 qtrleenc: add rgb555 output
Patch by Alexis Ballier std_gmail_addr(name.surname)

Originally committed as revision 22581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 13:04:33 +00:00
Maxim Poliakovski
ace38c36bf Correct reference buffer switching in Indeo 5 decoder.
Patch by Maxim ($indeo5decauthor)

Originally committed as revision 22580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 07:53:12 +00:00
Kostya Shishkov
6eec969d54 document two variables in Indeo5 decoding context
Originally committed as revision 22579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 07:49:36 +00:00
Bobby Bingham
e88c9dac07 Cosmetics: vertical align
Originally committed as revision 22578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:37:43 +00:00
Bobby Bingham
c0bc2fed8e Allow format and noformat filters to be more completely disabled when the
other is enabled.

Originally committed as revision 22577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:37:40 +00:00
Bobby Bingham
55fd1bbc1b Cosmetics: rearrange functions to simplify ifdeffery
Originally committed as revision 22576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:37:36 +00:00
Ramiro Polla
ad8eede7b1 vfwcap: Free remaining packets on vfw_read_close().
Originally committed as revision 22575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:36:06 +00:00
Ramiro Polla
ce03ed4df1 Do not store a copy of AVFormatContext *s in vfw_ctx.
Save *s directly in SetWindowLongPtr instead.

Originally committed as revision 22574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:24:43 +00:00
Bobby Bingham
3922deb577 Add video filter to manipulate aspect ratio
Originally committed as revision 22573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 03:43:14 +00:00
Michael Niedermayer
68f0bc7e62 Use H264s MC instead of mpeg4-asp qpel for h264 error resilience.
Originally committed as revision 22572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 02:59:12 +00:00
Måns Rullgård
c7f625eecf Fix erroneous behaviour when format probe hits end of file
If the format probe hits end of file, do not add the error code
to the buffer position.  This is obviously wrong, and with a
small input file would cause a negative buffer overflow.

Fixes issue 1818.

Originally committed as revision 22571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:45:30 +00:00
Måns Rullgård
3bd74e9243 Simplify arch-specific object file lists
Originally committed as revision 22570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:23:03 +00:00
Måns Rullgård
43f60eba19 Move arch-specific makefile parts into $arch/Makefile
Originally committed as revision 22569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:22:59 +00:00
Måns Rullgård
e0e335a023 configure: do not use $_
Both bash and ksh abuse this variable even in POSIX mode, leading
to unpleasant surprises.

Originally committed as revision 22568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 21:22:54 +00:00
Víctor Paesa
2f821b036c Add compilation hints for Cygwin 1.7 and remove the ones for 1.5
Originally committed as revision 22567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 18:32:52 +00:00
Ronald S. Bultje
562f22a699 Typo: if output (video) stream's pix_fmt is not set, then the stream cannot
be ENcoded, not DEcoded.

Originally committed as revision 22566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 15:48:48 +00:00
Måns Rullgård
4693b031a3 Move H264 dsputil functions into their own struct
This moves the H264-specific functions from DSPContext to the new
H264DSPContext.  The code is made conditional on CONFIG_H264DSP
which is set by the codecs requiring it.

The qpel and chroma MC functions are not moved as these are used by
non-h264 code.

Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 01:17:00 +00:00
Baptiste Coudurier
f5beb9a8a1 100L, revert r22560, already present
Originally committed as revision 22564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:40:51 +00:00
Daniel Verkamp
4a0cf686f8 patcheck: Escape parentheses in grep calls
Originally committed as revision 22563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:32:20 +00:00
Aurelien Jacobs
972ffe6220 rename av_read_frame_flush to ff_read_frame_flush
it is an internal function, not part of public API

Originally committed as revision 22562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:15:24 +00:00
Aurelien Jacobs
588af13fee rename av_program_add_stream_index to ff_program_add_stream_index
it is an internal function, not part of public API

Originally committed as revision 22561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:14:07 +00:00
Baptiste Coudurier
48b2ef95b3 mpegts muxer now needs mpeg4audio code like adts muxer
Originally committed as revision 22560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:11:02 +00:00
Greg Maxwell
fbe8c56dfe Correctly write last 0 lacing value when packet size is multiple of 255, patch by Greg Maxwell, gmaxwell at gmail dot com
Originally committed as revision 22559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:04:09 +00:00
Måns Rullgård
404793f4ac H264: fix signed overflow in constant multiplication
This fixes libavcodec/h264.h:1100: warning: integer overflow in expression

Originally committed as revision 22558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 23:00:53 +00:00
Michael Niedermayer
493f54ada0 Add AVSEEK_FORCE flag to indicate that the code should attempt to seek
by any means.

Originally committed as revision 22557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 22:54:22 +00:00
Michael Niedermayer
53f66cee0c Add ff_ prefix for mpeg2_dc_scale_table.
Originally committed as revision 22556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 22:49:46 +00:00
Aurelien Jacobs
6dfa52c8bd matroskadec: fix missing dependency
Originally committed as revision 22555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 22:37:14 +00:00
Michael Niedermayer
6506c3d2b2 Support intra_dc_precision>8 in jpeg
Originally committed as revision 22554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 21:27:13 +00:00
Michael Niedermayer
802323508c Allow mpeg style yuv in jpeg when strict standard compliance is small enough.
Originally committed as revision 22553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:45:57 +00:00
Måns Rullgård
2fad097788 Add FATE tests
This adds a "fate" make target which runs the full FATE test suite.
Individual tests can be run with "make fate-$testname".

The location of the FATE test samples must be specified with the
--samples=PATH option to configure.

The tests/fate-update.sh script regenerates the references files and
test list from the online FATE database.  These are checked in since
generating them requires non-standard tools.

Originally committed as revision 22552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:23:24 +00:00
Jai Menon
f75ab7a645 cosmetics : Print newline after error message.
Originally committed as revision 22551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:03:48 +00:00
Michael Niedermayer
bd57cae86f use mpeg2 quantization bias for mjpeg.
this seems to improve RD performance.

Originally committed as revision 22550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 16:37:02 +00:00
Martin Storsjö
db128802c5 Reindent
Originally committed as revision 22549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 16:36:54 +00:00
Martin Storsjö
ad2ae6dbaf Don't let ff_rtsp_read_reply skip interleaved RTP/TCP packets in rtsp_write_packet.
Skip interleaved packets manually and recheck if there's more to be read.

Originally committed as revision 22548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 16:36:20 +00:00
Martin Storsjö
ec55edba31 Make rtsp_skip_packet non-static, add ff prefix
Originally committed as revision 22547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 16:31:15 +00:00
Martin Storsjö
c040badb70 Reindent
Originally committed as revision 22546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 16:15:51 +00:00
Martin Storsjö
c07c6f8183 RTSP: Synchronize the start time of the chained RTP muxers
This makes sure that the streams get correctly synchronized when viewed,
previously the streams were out of sync by as much time as it took
between the initialization of the individual muxers.

Originally committed as revision 22545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 14:20:07 +00:00
Benoit Fouet
4a287145c2 Remove avcodec_thread_execute from avcodec.h, and make static functions that
need it in *thread.c.

Originally committed as revision 22544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 14:03:01 +00:00
Martin Storsjö
b1d55e5e4f Use AVFormatContext.start_time_realtime in the RTP muxer
Originally committed as revision 22543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 10:37:12 +00:00
Martin Storsjö
2dad0dcec6 Move the NTP offset definitions to internal.h
Originally committed as revision 22542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 10:36:30 +00:00
Martin Storsjö
a5b3d34b5b Add APIchanges entry for AVFormatContext.start_time_realtime
Originally committed as revision 22541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 10:30:38 +00:00
Martin Storsjö
b8819c85b5 Add a new field AVFormatContext.start_time_realtime
Currently intended to be used by the RTP muxer

Originally committed as revision 22540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 10:29:37 +00:00
Anton Khirnov
63100f5885 riff: don't pad extradata when writing ASF.
Patch by Anton Khirnov mirror(moc liamg saksyw)

Originally committed as revision 22539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 08:49:02 +00:00
Martin Storsjö
0298cc04bd Add dependencies used by the RDT and ASF/RTP code
Originally committed as revision 22538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 08:35:07 +00:00
Alexander Strange
d55065a29f ffmpeg: Combine variable declaration and definition
Originally committed as revision 22537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 02:33:49 +00:00
Alexander Strange
47b229dbab ffmpeg: Factor out redundant sync_ipts calculation
Originally committed as revision 22536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 02:32:21 +00:00
Aurelien Jacobs
e536ccd653 matroskadec: use more appropriate error code
Originally committed as revision 22535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 00:19:22 +00:00
Aurelien Jacobs
e4a9e3cc7c move ff_url_split() and ff_url_join() declarations to internal.h
those functions are not part of the public API

Originally committed as revision 22534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 23:59:48 +00:00
Carl Eugen Hoyos
66b50bc0b2 Cosmetics: Fix a comment.
Originally committed as revision 22533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 23:52:45 +00:00
Micah F. Galizia
eadd495d06 Move the probe loop from av_open_input_file() into its own method
av_probe_input_buffer() so that it can be reused. Here are a few
differences to the original way things were probed:

- maximum probe buffer size can be specified as a parameter.

- offset within the stream to probe from can be specified as a parameter.

- instead of seeking back to the start each time a probe fails, stream
  data is appended to the reallocated buffer. This lowers the amount
  of data read from the stream (there is no repetition) and results in
  fewer closed and reopened streams (when seeking fails).

New attempt after r22296, which was revert in r22315 due to a FATE
failure.

See the thread:
Subject: [FFmpeg-devel] [PATCH] Move av_open_input_file probe loop to its own method
Date: 2010-03-05 03:23:57 GMT

Patch by Micah F. Galizia printf("%s%s@%s.%s", "micah", "galizia", "gmail", "com").

Originally committed as revision 22532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 22:40:16 +00:00
Måns Rullgård
1e470fadcb DWT: x86 init should depend on HAVE_MMX
The init function is only compiled if MMX is enabled, the call
must use the same condition.

Originally committed as revision 22531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 22:29:11 +00:00
Måns Rullgård
6d2877f47e error.h: test EDOM instead of EINVAL
C99 doesn't require EINVAL, only EDOM, EILSEQ, and ERANGE.

Originally committed as revision 22530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 22:25:35 +00:00
Måns Rullgård
e4836e3c07 Add missing includes to libavutil/error.h
Originally committed as revision 22529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 22:25:31 +00:00
Stefano Sabatini
73ddbd9d0e Change the definition of AVERROR_NUMEXPECTED at the next libavutil
major bump, using an FFmpeg specific error code rather than EDOM,
which has a quite different semantics.

Originally committed as revision 22528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 21:16:29 +00:00
Reimar Döffinger
c26bce1070 Allow hard-coding of the 32kB cubic-root table for AAC.
Originally committed as revision 22527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 19:59:47 +00:00
Måns Rullgård
7732f641ff Fix brief make output for generated tables
Originally committed as revision 22526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 19:48:09 +00:00
Reimar Döffinger
062777b343 Allow hard-coding several QDM2 tables (about 32 kB size).
Originally committed as revision 22525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 19:30:25 +00:00
Reimar Döffinger
108d262c56 Add some more table-printing functions needed for future patches.
Originally committed as revision 22524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 19:27:58 +00:00
Måns Rullgård
33996217ca Add ff_ prefix to dwt functions
Originally committed as revision 22523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 17:50:16 +00:00
Måns Rullgård
05aec7bb87 Separate DWT from snow and dsputil
This moves the DWT functions from snow.c and dsputil.c to a file of
their own.  A new struct, DWTContext, holds the function pointers
previously part of DSPContext.

Originally committed as revision 22522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 17:50:12 +00:00
Reimar Döffinger
28eb577390 Avoid creating tiny (possibly only 64 bytes large) audio packets resulting in
huge processing and memory usage overhead for avi files with raw PCM audio.

Originally committed as revision 22521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 13:38:00 +00:00
Michael Niedermayer
686c781766 Make sure all mvs of a mb are set in the error concealment code.
Originally committed as revision 22520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 01:52:31 +00:00
Stefano Sabatini
c6a7b97c8e Mark AVERROR_ENOENT for deletion at the next libavutil major bump.
The symbol is currently unused, AVERROR(ENOENT) must be used instead.

Originally committed as revision 22519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 01:32:44 +00:00
Stefano Sabatini
9b359f517e Lexically sort the error code definitions.
Originally committed as revision 22518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 01:32:41 +00:00
Michael Niedermayer
bb4fcfa395 Ensure that the deblock filter accesses the correct MVs for h264.
Originally committed as revision 22517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 00:42:26 +00:00
Alex Converse
b3e5931d18 aacsbr: DSPUtilize analysis input scaling.
Originally committed as revision 22516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 21:12:45 +00:00
Alex Converse
f8a93a2036 aac: Don't bias output during the IMDCT if SBR will be used.
Originally committed as revision 22515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 21:12:10 +00:00
Stefano Sabatini
7c074320ba Mark AVERROR_ENOMEM to be deleted at the next major bump.
AVERROR(ENOMEM) must be used instead, and there are no occurrences of
AVERROR_ENOMEM in the FFmpeg basecode so it can be safely dropped.

Originally committed as revision 22514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 19:19:46 +00:00
Stefano Sabatini
5ae092ee34 Replace all the occurrences of AVERROR_EIO with AVERROR(EIO), and mark
AVERROR_EIO for deletion at the next major bump.

Originally committed as revision 22513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 19:19:44 +00:00
Stefano Sabatini
0edfa79b23 Make iff.c:decode_init return the value returned by
avctx->get_buffer() in case of error, rather than AVERROR_UNKNOWN
which is deprecated, and mark AVERROR_UNKNOWN for deletion at the next
major bump.

Originally committed as revision 22512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 19:19:40 +00:00
Aurelien Jacobs
382b5b3a0c CODEC_ID_XVID is not used anywhere, remove it at next major bump
Originally committed as revision 22511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 18:19:36 +00:00
Aurelien Jacobs
74dc70c425 bump minor avcodec version for libxvid codec id change (r22489)
Originally committed as revision 22510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 18:17:25 +00:00
Stefano Sabatini
89fb9ae9e6 Make the scale filter pass the pkt.pos information to the output
picref.

Originally committed as revision 22509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 12:33:44 +00:00
Stefano Sabatini
8955a324f4 Bump libavfilter minor version and add APIchanges entry after the
addition of the AVFilterPicRef.pos field.

Originally committed as revision 22508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 11:41:15 +00:00
Stefano Sabatini
bb4095133f Make ffplay pass the packet.pos information to the filterchain, get it
again from the filterchain and pass it back to output_picture2().

Originally committed as revision 22507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 11:27:07 +00:00
Stefano Sabatini
5bb5c1dc86 Add AVFilterPicRef.pos field and make libavfilter propagate stream
byte position information, as stored in the pkt.pos, through the
filterchain.

Note that the pos field is added *non* at the end of the
AVFilterPicRef struct, thus breaking ABI compatibility, which is
allowed as the API is still considered non-stable.

Originally committed as revision 22506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 11:27:05 +00:00
Stefano Sabatini
ec7ab610d5 Extend the slice filter to make it issue slice height values randomly
choosen between 8 and 32 when the supplied parameter is the string
"random".

This is useful for testing the slice support, but it is not supposed
to be used for other purposes and this interface may change in the
future, thus it is not documented.

The randomization algorithm adopted is the standard Numerical Recipes
LCG.

Originally committed as revision 22505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 10:41:25 +00:00
David Conrad
14268254c8 vp3: Split out motion vectors to their own array
1.5% faster overall decode on my penryn

Originally committed as revision 22504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 10:25:41 +00:00
Stefano Sabatini
99de2b593d Add APIchanges entry for the libavutil/error.h addition.
Originally committed as revision 22503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 09:59:36 +00:00
Stefano Sabatini
dbfa5e7861 Add missing parentheses around the AVERROR_PATCHWELCOME macro
definition.

Originally committed as revision 22502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 09:52:43 +00:00
Stefano Sabatini
60c144f700 Move error code definitions from libavcodec/avcodec.h to
libavutil/error.h.

Error code definitions and handling code belong to libavutil, where
they can be shared by all the libav* libraries.

See the thread:
Subject: [FFmpeg-devel] [PATCH] Move error codes definitions from lavc to lavu
Date: Sun, 19 Jul 2009 12:09:16 +0200

Originally committed as revision 22501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 09:43:24 +00:00
David Conrad
1e76a1da05 theora: Add support for 4:2:2 and 4:4:4 subsampling
Originally committed as revision 22500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:59:22 +00:00
David Conrad
1a8560423e vp3: remove unneeded error, this is internal and doesn't happen
Originally committed as revision 22499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:59:18 +00:00
David Conrad
577838842d vp3: Make fragment_width _height by plane
Originally committed as revision 22498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:15 +00:00
David Conrad
1c183aa418 vp3: we only need a temp MV array of size 4
Originally committed as revision 22497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:11 +00:00
David Conrad
703acd540e vp3: Use memset to clear the fragment array
Originally committed as revision 22496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:08 +00:00
David Conrad
cd9c03f57f vp3: Init MVs to 0
Originally committed as revision 22495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:05 +00:00
David Conrad
a16389c18f vp3: Simplify init_block_mapping
Originally committed as revision 22494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:56:01 +00:00
David Conrad
3477897e5a oggdec: Set packet duration for ogm streams
Originally committed as revision 22493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 05:55:57 +00:00
Aurelien Jacobs
6b10228a55 matroskadec: add support for SIPR audio tracks
Originally committed as revision 22492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:49:06 +00:00
Aurelien Jacobs
1ab0406db1 export rm_reorder_sipr_data() for future use by matroska demuxer
Originally committed as revision 22491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:35:59 +00:00
Aurelien Jacobs
adae9fa65e export sipr_subpk_size for future use by matroska demuxer
Originally committed as revision 22490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:34:30 +00:00
Aurelien Jacobs
2325bdad7b libxvid is producing standard mpeg4 so it don't need its own codec id
Originally committed as revision 22489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:24:54 +00:00
Diego Biurrun
4f4e40085f Replace BSD-specific integer types by their POSIX equivalents.
Mark bktr_init function as av_cold.
Tested to work by Michael Kostylev on the NetBSD FATE box.

Originally committed as revision 22487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 17:29:19 +00:00
Diego Biurrun
2138dc99fc Add _XOPEN_SOURCE=600 to CPPFLAGS on NetBSD.
This make NetBSD compile out of the box at the cost of a hack, but a
locally contained one that is preferable to the one used in the wild.
Currently the NetBSD FATE box adds -D_NETBSD_SOURCE to CPPFLAGS to work
around broken system headers. Since it is unlikely for NetBSD to fix their
headers, it is better to use a standard flag instead of a system-specific one.

As a sideeffect, this allows getting rid of a local _NETBSD_SOURCE definition.

Originally committed as revision 22486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 17:28:02 +00:00
Michael Niedermayer
2c4bc23e7a Fix guess_mv() so that it works correctly with 4x4 MV blocks.
Originally committed as revision 22485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 16:59:21 +00:00
Michael Niedermayer
5820b90da0 Fix indention
Originally committed as revision 22484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 15:23:26 +00:00
Michael Niedermayer
2ce1c2e063 Always reset slice_table.
Previously, the area of a lost slice would be left at the slice number of the previous
frame which could occasionally match the number of the next slice and thus a non existing
slice could have been used for prediction leading to additional decoding errors in otherwise
undamaged slices.

Originally committed as revision 22483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 15:21:45 +00:00
Michael Niedermayer
382f3a5b6f Print skip_frames variable.
Originally committed as revision 22482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 15:12:05 +00:00
Ramiro Polla
bb55e3a33d Document --disable-everything in configure --help.
Originally committed as revision 22481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 13:03:40 +00:00
Aurelien Jacobs
7a397a2e1d fix compilation with --disable-everything --enable-muxer=mpegts
Originally committed as revision 22480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 12:26:47 +00:00
Aurelien Jacobs
97197beb1c fix compilation with --disable-everything --enable-decoder=twinvq
Originally committed as revision 22479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 12:25:44 +00:00
David Conrad
81b743eb10 oggdec: Pass packets to header() until the stream is done with them
This fixes some old ogm files that had the 3rd vorbis header after a data
packet in another stream. This is invalid in ogg, but this change shouldn't
affect the behaviour of any valid file.

Originally committed as revision 22478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:17:01 +00:00
David Conrad
8730fad595 oggdec: Parse ogm chapters
Originally committed as revision 22477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:57 +00:00
David Conrad
2e5085854c oggdec: Cosmetics
Originally committed as revision 22476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:54 +00:00
David Conrad
d8ba748359 oggdec: Read ogm metadata
Originally committed as revision 22475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:51 +00:00
David Conrad
533c30fced Const correctness for vorbis_comment
Originally committed as revision 22474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:47 +00:00
David Conrad
b53cde48bd oggdec: Metadata is per-stream; don't merge multiple streams' together
Originally committed as revision 22473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:44 +00:00
David Conrad
e4d2d8c5d7 Add ff_ prefix to vorbis_comment
Originally committed as revision 22472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 05:16:39 +00:00
Ramiro Polla
2972e36e27 Don't use shell syntax to set variables for make.
Originally committed as revision 22471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 02:23:59 +00:00
Ronald S. Bultje
95c6b5ebc8 Fix spelling.
Originally committed as revision 22470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 17:42:53 +00:00
Martin Storsjö
34056cbba5 Fix a crash in the H.263 RTP packetizer
If size == 1 and buf[0] == 0 and buf[1] == 0 (the first byte after the
buffer), it would set size = -1 and crash in the later memcpy.

Originally committed as revision 22469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 16:26:14 +00:00
Peter Ross
70b462cc29 Prevent memory leak introduced in r22389 in Bink demuxer: pass partial packets to decoder.
Originally committed as revision 22468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 12:29:02 +00:00
Michael Niedermayer
2b3da32f74 Make rdft speed user configureable.
Change default speed back to a slower variant.

Originally committed as revision 22467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 11:25:51 +00:00
Peter Ross
b41ec742ea Make binkaudio work with ff_float_to_int16_interleave_c (martin at martin dot st)
Originally committed as revision 22466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 10:52:34 +00:00
Martin Storsjö
5c7fd91010 Cosmetics, break a long line, fix brace placement
Originally committed as revision 22465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 08:33:04 +00:00
Martin Storsjö
26cb700c82 RTSP muxer: Create the SDP with the numerical IP of the peer
instead of using the original host name

Originally committed as revision 22464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 08:24:18 +00:00
David Conrad
d8b91fae1d oggdec: Seek to keyframes
Originally committed as revision 22463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:18:00 +00:00
David Conrad
873d117e4b oggdec: Determine pts and filepos on a packet basis in read_timestamp
This takes into account whether the granule defines the start or end times
of packets, and sets the correct file offset of the associated page.

Originally committed as revision 22462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:56 +00:00
David Conrad
6abaa27211 oggdec: Move PTS/DTS calculation to a function
Originally committed as revision 22461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:53 +00:00
David Conrad
2ac41150c0 oggdec: Fix memory leak in setting up vorbis headers
Originally committed as revision 22460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:49 +00:00
David Conrad
8f8320d7c3 oggdec: Don't use ogg_stream's seq for vorbis or speex headers
Originally committed as revision 22459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:46 +00:00
David Conrad
77560b0ef1 oggdec: Fix duration calculation for streams with non-zero start
Originally committed as revision 22458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:43 +00:00
David Conrad
32ad869284 oggdec: Parse skeleton to determine the start time of each stream
Originally committed as revision 22457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:40 +00:00
David Conrad
296bdf9cf1 oggdec: Check that we have a codec in gptopts (needed for skeleton)
Originally committed as revision 22456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:36 +00:00
David Conrad
dfaed51f04 oggdec: Move ogg_find_stream and ogg_gptopts to oggdec.h
(skeleton will need them)

Originally committed as revision 22455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:33 +00:00
David Conrad
50a9d32310 oggdec: Set data_offset to the right value
Otherwise it gets set automatically to a page midstream and prevents seeking
to the first page.

Originally committed as revision 22454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:29 +00:00
David Conrad
73823cb941 oggdec: Save offset of the page needed to reconstruct the current packet
Originally committed as revision 22453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:24 +00:00
Michael Niedermayer
d38c9e7a91 Implement framedrop.
Replace SDL timer by a seperate thread, more accurate and less annoying.
frame drop is enabled by default, bug reports welcome.
Fixes issue1191

Originally committed as revision 22452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:35:04 +00:00
Måns Rullgård
5de91783bf indent
Originally committed as revision 22451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:32:14 +00:00
Måns Rullgård
49e9287878 random_seed: try other alternatives if reading /dev/random fails
Originally committed as revision 22450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:32:11 +00:00
Måns Rullgård
32f40ace25 sha: add missing include
Originally committed as revision 22449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:32:08 +00:00
Måns Rullgård
cc1e807f4c snow: remove unused stub functions
w53_32_c() and w97_32_c() are defined as stubs when snow encoder is
disabled.  In this case, those functions are not referenced at all
and do thus not need to be defined.

Originally committed as revision 22448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:32:05 +00:00
Måns Rullgård
8a3ceaf4f0 ffplay: use correct format specifiers in printf()
Originally committed as revision 22447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:32:03 +00:00
Måns Rullgård
2023cfea0f Add some required casts
These casts are correct and safe.  The pointers are guaranteed to
have proper alignment, and aliasing is not a problem with character
types.

Originally committed as revision 22446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 02:32:01 +00:00
Måns Rullgård
3952471da5 configure: remove stray semicolon
Originally committed as revision 22445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 00:42:13 +00:00
Måns Rullgård
54a2ae3728 configure: use map() function in a couple of places
Originally committed as revision 22444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 00:39:06 +00:00
Måns Rullgård
36e2dea032 configure: add --disable-everything option
This disables all codecs, formats, etc.  It saves some typing when
only a few components are desired.

Originally committed as revision 22443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 00:39:02 +00:00
Michael Niedermayer
122dcdcb31 Fix some apparent +- errors in the audio vissualization.
The bugs become only vissible at higher time resolution than what is
used currently.

Originally committed as revision 22442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 22:43:23 +00:00
Måns Rullgård
86decad652 sparc: fix a few pages of cast warnings
Originally committed as revision 22441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 22:24:46 +00:00
Måns Rullgård
ad40380240 sparc: fix dsputil prototypes
Originally committed as revision 22440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 22:24:42 +00:00
Måns Rullgård
47b1860eef configure: allow mips64el and powerpc64 as values for --arch
Originally committed as revision 22439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 22:24:39 +00:00
Martin Storsjö
594a9aebbe Make the ntp_time function available to other parts of libavformat, as ff_ntp_time
Originally committed as revision 22438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 22:21:39 +00:00
Martin Storsjö
18c31f6ff8 Only use .size in ARM assembly when targeting ELF
This fixes compilation on mingw32ce

Originally committed as revision 22437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 21:39:58 +00:00
Michael Niedermayer
d9427e848e Only reschedule refresh if we successfully removed the scheduled one.
Fixes some spurious error messages.

Originally committed as revision 22435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 16:11:02 +00:00
Michael Niedermayer
562f382cab Increase VIDEO_PICTURE_QUEUE_SIZE to 2.
this allows more asynchronous decoding and display thus improving
video smoothness.
It also seems to improve absolute video decoding speed for some reason

Originally committed as revision 22434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 15:45:46 +00:00
Michael Niedermayer
d3d7b12edf Do not call SDL_SetVideoMode() with the same size as previously
as this blanks the window.

Originally committed as revision 22433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 15:39:31 +00:00
Benoit Fouet
114a93c700 Fix ffm_close return type.
Originally committed as revision 22432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 14:26:15 +00:00
Vitor Sessak
2dc22a64b4 Fix memory leak in FFM demuxer
Originally committed as revision 22431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 13:17:50 +00:00
Måns Rullgård
9a894c48ae undef av_always_inline before redefining
Fixes numerous warnings with --enable-small or --disable-optimizations.

Originally committed as revision 22430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 12:29:44 +00:00
Michael Niedermayer
9885284c22 Check level_prefix a bit (this just checks the max our bitreader can handle,
as i did nt find a limit in the spec)
This should stop cavlc_decode_residual() on a zero bitstream

Originally committed as revision 22429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 09:55:03 +00:00
Baptiste Coudurier
83c2bc7abb In mpegts muxer, free adts context and temporary data
Originally committed as revision 22428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 09:20:32 +00:00
Baptiste Coudurier
e3433702ae reindent
Originally committed as revision 22427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 09:19:14 +00:00
Dave Yeo
cbfa66d0cf Include os_support.h which has a fallback declaration of socklen_t
This fixes compilation on some OSes

Patch by Dave Yeo, daveryeo at telus dot net

Originally committed as revision 22426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 07:44:51 +00:00
Dave Yeo
611b17d79b Using struct timeval requires sys/time.h, fixes compilation on some OSes
Patch by Dave Yeo, daveryeo at telus dot net

Originally committed as revision 22425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 07:43:56 +00:00
Ramiro Polla
e24080f00e vfwcap: Add support for UYVY pixel format.
Originally committed as revision 22424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 05:25:06 +00:00
Måns Rullgård
0853a2b47e 10l: fix version.h generation
Note to self: always test in a clean directory

Originally committed as revision 22423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 03:10:26 +00:00
Måns Rullgård
0680c40a25 Remove .SECONDARY directive
The presence of the .SECONDARY directive caused thing to not always
be correctly rebuilt.  Mentioning the object files explicitly as
targets gives the desired result of make not deleting them without
unpleasant side-effects.

Originally committed as revision 22422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:57:01 +00:00
Måns Rullgård
f82bf85055 Make version.h depend on git changes
Originally committed as revision 22421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:59 +00:00
Måns Rullgård
6a53fffd77 Improve version.h generation
Force version.sh to run whenever the version might have changed,
regardless of what is being built.  This is done by attaching the
dependencies to a dummy file (.version) which is included from the
makefile.  As make will always attempt to rebuild any included files
before considering other rules, this ensures that the real version.h
is (re-)created before it is required by any source file.

Originally committed as revision 22420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:56 +00:00
Måns Rullgård
93bff1de77 Replace $(G) with more generic $(M) in silent make rules
Originally committed as revision 22419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:52 +00:00
Måns Rullgård
86be2bc36f Prettify make output for documentation
Originally committed as revision 22418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:50 +00:00
Måns Rullgård
b91cd80917 Change dir into doc/ when running texi2html
This silly program always writes its output to the current directory.
Changing directory is better than moving the file afterwards.

Originally committed as revision 22417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 02:56:47 +00:00
David Conrad
f50dafa8fc vp3: avoid buffer overread in coeff decode
I couldn't measure it to be slower for normal interframe videos.
For the worst case, high-bitrate intra-only videos, it can be 0.7% slower.

Originally committed as revision 22416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 00:59:32 +00:00
Carl Eugen Hoyos
2cbc1ec676 Fix indentation after r22414.
Originally committed as revision 22415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 23:37:45 +00:00
Zhou Zongyi
d00261a34b SIMD optimization using float_to_int16_interleave.
Patch by Zhou Zongyi, zhouzy A os D pku D edu D cn

Originally committed as revision 22414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 23:35:57 +00:00
Alex Converse
6ebc724060 aacsbr: Check that bs_num_env is valid before writing arrays with it as an offset.
Originally committed as revision 22413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:50:10 +00:00
Alex Converse
134b8cbb9a aacsbr: Cleanup read_sbr_grid and copy_sbr_grid after the recent overhaul of those functions.
Originally committed as revision 22412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:46:46 +00:00
Alex Converse
f7e7888b2a aacsbr: Factor out the common end border case from t_q setup.
Originally committed as revision 22411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:35:55 +00:00
Alex Converse
ac8d655a79 aacsbr: read bs_rel_bord directly into t_env.
Originally committed as revision 22410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:29:43 +00:00
Alex Converse
ecc1f8c3c8 aacsbr: Make the previous value of bs_num_env local to read_sbr_data().
Originally committed as revision 22409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 20:46:41 +00:00
Alex Converse
46751a65e3 aacsbr: Initialize e_a[1] to -1.
This triggers lAPrev (e_a[0]) on the first SBR frame to be -1. The spec is
somewhat ambiguous to what this value should be but this increases the accuracy
of al_sbr_e_44_1 and similar streams from 14 bits to 15 bits.

Originally committed as revision 22408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 20:16:14 +00:00
Måns Rullgård
2ed6f39944 Replace many includes of libavutil/common.h with what is actually needed
This reduces the number of false dependencies on header files and
speeds up compilation.

Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 17:39:19 +00:00
Martin Storsjö
19fcd66c31 Docs: Place the vorbis comment properly, currently it's shown above the table
Originally committed as revision 22406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 16:44:10 +00:00
Måns Rullgård
297bfb2fe6 libm.h needs attributes.h
Originally committed as revision 22405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 16:17:59 +00:00
Måns Rullgård
a7e7d40c2e ARM: set size of asm functions in object files
Originally committed as revision 22404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 16:17:56 +00:00
Martin Storsjö
db76ca7f35 Use rt->control_uri consequently instead of s->filename in all RTSP commands
Originally committed as revision 22403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 16:04:41 +00:00
Måns Rullgård
28e5130b5f Replace some printf() with puts() in tableprint.c
This gets rid of a gcc warning about non-literal format strings.

Originally committed as revision 22402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:56:19 +00:00
Måns Rullgård
a736e0e5c2 Prettify make output when generating headers
Originally committed as revision 22401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:56:16 +00:00
Michael Niedermayer
67c10de7d2 Add special case to avoid binary search when appending index entries.
Originally committed as revision 22400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:19:23 +00:00
Måns Rullgård
335ee1aadd Move libm replacements to new header libm.h
ffmpeg.c uses lrintf(), which is missing on some systems.  Previously
it picked up the replacement via libavutil/internal.h due to
HAVE_AV_CONFIG_H being erroneously defined.

Moving these replacements to a separate header enables ffmpeg.c to
use them without being exposed to internal interfaces.

This use of a non-public header is justified by the header in question
not being part of the internal interface either.  It should rather be
considered as part of the build system, which is shared between the
libraries and the applications.

This header cannot be installed since the tested conditions depend on
the compiler.

Originally committed as revision 22399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:10:23 +00:00
Martin Storsjö
03f8fc0897 RTSP: Resolve and use the actual IP address of the peer we're connected to,
instead of using the original host name, since the RTP (and UDP) protocols
may choose another IP address if the host name resolves into several different
addresses.

Originally committed as revision 22398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:59:40 +00:00
Måns Rullgård
0c8cc2c4d8 Reorder some make rules
I like it better this way.

Originally committed as revision 22397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:29 +00:00
Måns Rullgård
d8e117ddfe Remove superflous ifdef CONFIG_{STATIC,SHARED} in makefiles
Originally committed as revision 22396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:25 +00:00
Måns Rullgård
1afc4750ef configure: always write shared lib variables to config.mak
Originally committed as revision 22395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:22 +00:00
Måns Rullgård
451db9832c Simplify static/shared build rules
Originally committed as revision 22394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:18 +00:00
Måns Rullgård
8c5239b382 Move some make rules outside of eval'd block
These rules use only global variables and thus do not need to be expanded.

Originally committed as revision 22393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:15 +00:00
Måns Rullgård
477b338266 cosmetic: move some makefile variable definitions
Originally committed as revision 22392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:11 +00:00
Måns Rullgård
7acc01042e Remove duplicates from OBJS
Originally committed as revision 22391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 14:58:08 +00:00
Peter Ross
fb6a32c30f Remove static function name prefixes from American Laser Games MM demuxer
Originally committed as revision 22390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 12:37:13 +00:00
Peter Ross
cc4e8b1267 Ensure Bink demuxer returns AVERROR code when av_get_packet() fails
Originally committed as revision 22389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 12:32:08 +00:00
Peter Ross
279a0c976e Enable tcp_protocol when enabling http
Originally committed as revision 22388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 12:09:55 +00:00
Alex Converse
5889172087 aacsbr: Dead code removal.
Originally committed as revision 22387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 11:14:14 +00:00
Alex Converse
afd96c345f aacsbr: Remove a slightly incorrect comment.
The two conditions are equivalent.

Originally committed as revision 22386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 11:13:45 +00:00
Alex Converse
171b7b9112 Revert r22288 "Increase FF_INPUT_BUFFER_PADDING_SIZE to 64."
Originally committed as revision 22385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 10:32:34 +00:00
Alex Converse
7935078623 aacsbr: Cleanup the newly merged read_sbr_grid, eliminating several context
and some duplicate local variables.

Originally committed as revision 22384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 10:27:35 +00:00
Alex Converse
7333f849b1 aacsbr: Move the e_a calculation from sbr_mapping() to read_sbr_grid().
Originally committed as revision 22383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 10:26:54 +00:00
Alex Converse
b9c3e3b6e7 aacsbr: Merge sbr_time_freq_grid into read_sbr_grid (and into copy_sbr_grid).
Originally committed as revision 22382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 10:26:25 +00:00
Alex Converse
ed1d112931 aacsbr: Fail early on illegal envelope counts.
Originally committed as revision 22381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 10:25:42 +00:00
Alex Converse
8a9ee4b102 aacsbr: Check for illegal values of bs_pointer in sbr_read_grid().
Originally committed as revision 22380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 09:27:11 +00:00
Vitor Sessak
e8ff21fdf5 Revert commit 22378.
It broke FATE and kostya asked me on IRC to revert it.

Originally committed as revision 22379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 08:20:11 +00:00
Reinhard Tartler
07cea6d1cd Fix compilation on powerpc with --disable-altivec
in case altivec is disabled, even compilation of code using altivec
keywords or asm must be avoided.

Originally committed as revision 30869 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-09 08:07:34 +00:00
Kostya Shishkov
95bd18eeca Check for reference frames so RV 3/4 won't segfault trying to copy data from
nonexisting reference.

Originally committed as revision 22378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 07:14:34 +00:00
David Conrad
d63a718764 vp3: correctly clip vp3_draw_horiz_band call
Originally committed as revision 22377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:52:33 +00:00
Alex Converse
bf3d904c3d 10l: Include missing return values in functions made non-void by the previous commit.
Originally committed as revision 22376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:21:41 +00:00
Alex Converse
58b1cba0c9 aacsbr: Propagate errors from read_sbr_grid to prevent crashes in malformatted streams.
Originally committed as revision 22375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:13:48 +00:00
Georgi Chorbadzhiyski
e0be763052 Add a missing fft.h include to the aacsbr decoder.
Patch by Georgi Chorbadzhiyski gf at unixsol dot org

Originally committed as revision 22374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:11:45 +00:00
Georgi Chorbadzhiyski
49351479ea Add missing build dependencies for the AAC decoder caused by adding of SBR.
Patch by Georgi Chorbadzhiyski gf at unixsol dor org

Originally committed as revision 22373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 06:10:01 +00:00
David Conrad
f9ff7179ff mkvenc: Handle negative timestamps correctly
Originally committed as revision 22372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:36 +00:00
David Conrad
654b65d012 mkvenc: Don't try to write packets with unknown timestamps
Originally committed as revision 22371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:33 +00:00
David Conrad
84d4e599a5 mkvenc: write dts for VFW mode
Originally committed as revision 22370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:28 +00:00
Baptiste Coudurier
fe3ab8adfa Fix encoder metadata string langcode in mov muxer
Originally committed as revision 22369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:53:16 +00:00
Baptiste Coudurier
cc255afeb5 Correctly mark mov metadata as utf-8, using iso language code
Originally committed as revision 22368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:21:09 +00:00
Daniel Verkamp
b0e88ca6d3 Bump avcodec minor version for kgv1 decoder
Originally committed as revision 22367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:20:20 +00:00
Måns Rullgård
b90b1b4c3c Fix build on configurations without fast av_log2()
This is a bit hackish.  I will try to think of something nicer, but
this will do for now.

Originally committed as revision 22366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:19:28 +00:00
Baptiste Coudurier
08a186c648 In mov demuxer, convert mac encoded strings to utf-8
Originally committed as revision 22365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:03:42 +00:00
Daniel Verkamp
bf35412201 Kega Game Video (KGV1) decoder
Originally committed as revision 22364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:03:09 +00:00
Baptiste Coudurier
987e857f63 Preallocate index entries in mov demuxer, huge speedup
Originally committed as revision 22363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:46:26 +00:00
Baptiste Coudurier
1307463d52 Fix interlaced vc-3 decoding, issue #1753
Originally committed as revision 22362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:37:13 +00:00
David Conrad
ff65969fd8 vp3: Set pict_type
Originally committed as revision 22361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:26 +00:00
David Conrad
7a4e8b5913 vp3: Allocate a dummy reference frame if we have no keyframe
Originally committed as revision 22360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:22 +00:00
David Conrad
0c9afacbf5 vp3: use FF_BUFFER_TYPE_COPY
Originally committed as revision 22359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:19 +00:00
David Conrad
e72d2d1221 vp3: Don't leak buffers on errors
Originally committed as revision 22358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:16 +00:00
David Conrad
739b5090af vp3: Simplify buffer management
Originally committed as revision 22357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:12 +00:00
David Conrad
01f9640b21 vp3: be less spammy on broken files
Originally committed as revision 22356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:29:09 +00:00
Baptiste Coudurier
8fdd542ce4 In mpegts muxer, write adts header if aac bitstream does not contain it
Originally committed as revision 22355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:18:49 +00:00
Baptiste Coudurier
e17d77bb67 In mpegts muxer, search for h264 aud nal, it might not be the first nal.
Improve ther error message when bitstream is malformated and tell user to use
the bitstream filter.

Originally committed as revision 22354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:59:05 +00:00
Stefano Sabatini
f4495cdc00 Remove definition of match_ext(), which is declared under #ifdef
HAVE_AV_CONFIG_H and so not publicly declared, and currently unused.

Originally committed as revision 22353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:51:53 +00:00
Baptiste Coudurier
7082ea56c8 mpegts vbr muxing, activated when muxing rate is not supplied by the
user.

Originally committed as revision 22352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:46:19 +00:00
Stefano Sabatini
4837bb52d2 Replace last occurrence of the deprecated match_ext() with
av_match_ext().

Originally committed as revision 22351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:46:04 +00:00
Baptiste Coudurier
677a1144b0 Start continuity counter at 0 for pmt as well
Originally committed as revision 22350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 22:44:03 +00:00
Måns Rullgård
f0a912d3b8 More descriptive names for av_stristr() parameters
Originally committed as revision 22349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 22:16:05 +00:00
Måns Rullgård
3369888aa5 cosmetics: indent
Originally committed as revision 22348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:29:01 +00:00
Måns Rullgård
2acb5e10b9 Merge two adjacent ifdef blocks
Originally committed as revision 22347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:28:58 +00:00
Måns Rullgård
2791730dbf Move gcc attribute macros to new header libavutil/attributes.h
Originally committed as revision 22346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:28:56 +00:00
Måns Rullgård
94ca624fbc Move ff_sqrt() to libavutil/intmath.h
Originally committed as revision 22345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 21:19:56 +00:00
Baptiste Coudurier
d73a458f27 Start continuity counter at 0 for streams
Originally committed as revision 22344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:59:00 +00:00
Baptiste Coudurier
9169174fd6 10l typo, fix ts total bit rate computation
Originally committed as revision 22343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:57:42 +00:00
Måns Rullgård
dd14a04e4a Add missing includes in bfin and sh4 files
Originally committed as revision 22342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:17:51 +00:00
Måns Rullgård
f89c14027a checkheaders: skip per-arch headers not meant for direct inclusion
Some of the per-arch headers are only meant to be used through
the parent header of the same name.  Testing these standalone
does not make sense.

Originally committed as revision 22341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:17:47 +00:00
Måns Rullgård
4a89e0a675 ARM: add some missing includes
Originally committed as revision 22340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 19:59:54 +00:00
Reimar Döffinger
97cda76a69 Check for allocation failure for c->lumMmx2FilterCode and c->chrMmx2FilterCode.
Originally committed as revision 30864 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-08 19:41:57 +00:00
Reimar Döffinger
12423f170f Fix memleak due to incorrect VirtualFree arguments: size must be 0 for MEM_RELEASE.
Originally committed as revision 30863 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-08 19:37:10 +00:00
Måns Rullgård
0926c00980 ARM: fix dct-test
Originally committed as revision 22339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 19:00:05 +00:00
Måns Rullgård
1e2a6688f6 Skip mpegaudio3.h in checkheaders
This unused header is a placeholder for work in progress(?).

This makes checkheaders pass again.

Originally committed as revision 22338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:54:39 +00:00
Måns Rullgård
9c9a0840d0 Add lots of missing includes
Originally committed as revision 22337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:52 +00:00
Måns Rullgård
8eecdc8b78 Skip the tablegen fragments in checkheaders
Originally committed as revision 22336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:47 +00:00
Måns Rullgård
2a5500b13e Add TESTOBJS make variable for extra objects used by test apps
Originally committed as revision 22335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:44 +00:00
Måns Rullgård
a79f59e31c Remove unused fast_memcpy() function in dct-test
Originally committed as revision 22334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:41 +00:00
Måns Rullgård
9b55e2e727 Skip cmdutils_common_opts.h fragment in checkheaders
Originally committed as revision 22333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:38 +00:00
Måns Rullgård
09ad80855c Define HAVE_AV_CONFIG_H for checkheaders in libs
Originally committed as revision 22332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:35 +00:00
Måns Rullgård
6a81329593 Move dctref prototypes to a header file
Originally committed as revision 22331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:33 +00:00
Måns Rullgård
2f8ba7fc74 Define HAVE_AV_CONFIG_H when building test apps
Originally committed as revision 22330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:29 +00:00
Måns Rullgård
22f73dccad Move resolve_host() to ffserver.c
This deprecated function is only used by ffserver, yet does not have
a prototype visible there.

In the long term, ffserver should be made IPv6-aware.  In the meantime,
this change removes cruft from lavf and fixes some warnings in ffserver.

Originally committed as revision 22329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 18:43:27 +00:00
Diego Biurrun
f19a068ef6 Add missing stdlib.h #include, fixes the warnings:
tools/trasher.c:44: warning: implicit declaration of function ‘atoi’
tools/trasher.c:53: warning: implicit declaration of function ‘abs’

Originally committed as revision 22328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 17:00:21 +00:00
Martin Storsjö
b81786611a Move the local includes below the system includes
This fixes a compilation issue on OS X 10.4, where some system headers were
included implicitly through dsputil_altivec.h (with _POSIX_C_SOURCE defined),
and other system headers included later, with _POSIX_C_SOURCE undefined at
that time.

Originally committed as revision 22327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 15:12:36 +00:00
Vladimir Pantelic
88b51ea948 Use ASF supports "markers" which are a name and a time stamp to create
lavf chapters.
Patch by Vladimir Pantelic pan (arobase) nt tu (dash) darmstadt de

Originally committed as revision 22326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 13:13:18 +00:00
Andreas Öman
9b066ecbf0 w32thread: Make avcodec_thread_execute2() static here as well
Originally committed as revision 22325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 12:58:22 +00:00
Andreas Öman
e31fefd448 Make avcodec_thread_execute2() static
Originally committed as revision 22324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 12:55:54 +00:00
Martin Storsjö
002a6d0ea6 Add doxygen documentation for ff_url_split
Originally committed as revision 22323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:07:41 +00:00
Martin Storsjö
f984dcf6dd Reindent
Originally committed as revision 22322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:05:03 +00:00
Martin Storsjö
c5c6e67c28 Rename url_split to ff_url_split
Since this function isn't in the public API, it should have an ff_ prefix.

Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:03:25 +00:00
Alexis Ballier
da5bcafe3b targeenc: fix rgb555 encoding on big endian systems.
Patch by Alexis Ballier gmail_address(name, surname)

Originally committed as revision 22320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 08:43:20 +00:00
Maxim Poliakovski
b5852e8a4d Make Indeo 5 decoder more robust on bitstream errors.
Patch by Maxim ($indeo5dec_author)

Originally committed as revision 22319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 06:52:33 +00:00
Maxim Poliakovski
5f1654b25b Scale tile dimensions in case both local decoding and scalability mode
are used in Indeo 5 stream.
Patch by Maxim ($indeo5dec_author)

Originally committed as revision 22318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 06:49:16 +00:00
Alex Converse
55347a954e Add myself to CREDITS
Originally committed as revision 22317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 05:04:29 +00:00
Alex Converse
ed492b61db Add an HE-AAC v1 decoder.
A large portion of this code was orignally authored by Robert Swain. The rest
was written by me. Full history is available at:
svn://svn.ffmpeg.org/soc/aac-sbr
http://github.com/aconverse/ffmpeg-heaac/tree/sbr_pub

Originally committed as revision 22316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 04:33:02 +00:00
Måns Rullgård
f19341e17a Revert "Move the probe loop from av_open_input_file() into its own method"
This reverts r22296.  This change made some files to fail to open.
The patch submitter has promised to investigate next week.

Originally committed as revision 22315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 03:46:37 +00:00
Måns Rullgård
1250fcc862 avfilter: make avfilter_default_free_video_buffer() static
This function is not referenced outside this file and has no
prototype.  Feel free to flame if this is wrong.

Originally committed as revision 22314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 03:41:19 +00:00
Måns Rullgård
de63bfecd2 Error on missing function prototypes with gcc
This makes it an error to not have a prototype in scope for
a function with external linkage.  The flag is only enabled
for gcc due to -Werror=type not working with all compilers.

Originally committed as revision 22313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:27 +00:00
Måns Rullgård
b903fe9137 sh4: move dsputil prototypes to header file
Originally committed as revision 22312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:22 +00:00
Måns Rullgård
67e19a9e4b sh4: fix about 1000 warnings
Originally committed as revision 22311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:16 +00:00
Måns Rullgård
ac36d974d6 bfin: fix function prototypes
Move prototypes to header files, add missing prototypes,
make some functions static.

Originally committed as revision 22310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:11 +00:00
Måns Rullgård
5bacc3ad57 ARM: move mpegvideo prototypes to a header file
Originally committed as revision 22309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:07 +00:00
Måns Rullgård
2e63619ff9 Alpha: move dsputil prototypes to a header file
Originally committed as revision 22308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:03 +00:00
Måns Rullgård
d9747e29b6 IFF: move ff_cmap_read_palette() prototype to a header file
Originally committed as revision 22307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 02:36:00 +00:00
Wolfram Gloger
ae2c694388 Fix concat seeking SEEK_END case.
Patch by Wolfram Gloger wmglo ^ dent.med.uni-muenchen.de.

Originally committed as revision 22306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 00:40:22 +00:00
Måns Rullgård
21f7ab7afc Make ffserver regression test run (still fails)
Originally committed as revision 22305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 00:27:00 +00:00
Måns Rullgård
fc8cb3988f regtest: move md5sum wrappers into separate file
ffserver-regression.sh doesn't need anything else from
regression-funcs.sh, and sourcing the entire file there
breaks things.

Originally committed as revision 22304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 00:26:58 +00:00
Måns Rullgård
ffabdaa14a ffserver: remove bogus comment
Originally committed as revision 22303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 00:26:54 +00:00
Wolfram Gloger
35eaadcba0 Fix concat seek result.
Patch by Wolfram Gloger wmglo AT-SIGN dent.med.uni-muenchen DOT de.

Originally committed as revision 22302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 00:22:03 +00:00
Alex Converse
e7e291e960 av_find_stream_info(): Add a workaround for backwards compatible HE-AAC signaling.
The sample rate, frame size, and channel count from the container are
not reliable when backwards compatible signaling is used.

Originally committed as revision 22301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 00:00:50 +00:00
Stefano Sabatini
3b2142af99 Make avfilter_default_start_frame() correctly pass the aspect ratio
information to the next filter.

Originally committed as revision 22300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 23:53:47 +00:00
Alex Converse
732436920b 10l: AAC: Set multiplier to 0.
Originally committed as revision 22299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 23:52:33 +00:00
Alex Converse
54f158bda2 AAC: Set codec parameters in the first frame rather than in .init()
Originally committed as revision 22298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 23:46:40 +00:00
Daniel Kristjansson
663322c1b8 Fix pts->dts conversion init for non-zero initial value for pts.
Patch by Daniel Kristjansson, danielk cuymedia net

Originally committed as revision 22297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 23:10:18 +00:00
Micah F. Galizia
4245c6ec4e Move the probe loop from av_open_input_file() into its own method
av_probe_input_buffer() so that it can be reused. Here are a few
differences to the original way things were probed:

- maximum probe buffer size can be specified as a parameter.

- offset within the stream to probe from can be specified as a parameter.

- instead of seeking back to the start each time a probe fails, stream
  data is appended to the reallocated buffer. This lowers the amount
  of data read from the stream (there is no repetition) and results in
  fewer closed and reopened streams (when seeking fails).

Patch by Micah F. Galizia printf("%s%s@%s.%s", "micah", "galizia", "gmail", "com").

Originally committed as revision 22296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:42:11 +00:00
Måns Rullgård
6580d5e377 Remove hacks not required since HAVE_AV_CONFIG_H was unset for the apps
Originally committed as revision 22295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:37 +00:00
Måns Rullgård
72c2bdebcf Define HAVE_AV_CONFIG_H only when building libraries
Originally committed as revision 22294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:33 +00:00
Måns Rullgård
acd0026c0b ffserver: do not use intreadwrite.h
intreadwrite.h is not part of the public API and should thus
not be used by the ff* applications.

Originally committed as revision 22293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:30 +00:00
Måns Rullgård
166621ab72 ffplay: use public fft interface
Originally committed as revision 22292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:56:48 +00:00
Måns Rullgård
c70948315b Create a public API for FFT family of functions
Originally committed as revision 22291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:56:45 +00:00
Måns Rullgård
41ea18fb0d Give RDFT types more meaningful names
Originally committed as revision 22290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:47:44 +00:00
Måns Rullgård
3bd8a2ef6c Update include directives in fft-test.c
Originally committed as revision 22289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:47:41 +00:00
Alex Converse
0f8e4dfe6e Increase FF_INPUT_BUFFER_PADDING_SIZE to 64.
The purpose of this is to give decoders a reasonable amount of buffer to work
with before needing to check for overreads.

Originally committed as revision 22288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:16:44 +00:00
Alex Converse
57cb8d9831 AAC: Add a new line after the TNS error message.
Originally committed as revision 22287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 21:07:22 +00:00
Måns Rullgård
ecefc5ddbd regtest: run seektest on image sequences
Seeking on image sequences doesn't actually work, so this
test isn't very useful until that capability is added.

Originally committed as revision 22286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:50:56 +00:00
David Conrad
38c3b6e73e inet_aton needs _DARWIN_C_SOURCE on OS X
Originally committed as revision 22285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:49:02 +00:00
David Conrad
ac11d562e5 Localize the #define _SVID_SOURCE needed for inet_aton() to os_support.c
Originally committed as revision 22284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:48:59 +00:00
Måns Rullgård
d1be963568 regtest: run seektest on lavftest output files
Somehow this got lost in the recent overhaul.

Originally committed as revision 22283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:26:02 +00:00
Måns Rullgård
d211b29e05 regtest: place image sequence outputs in separate directories
Originally committed as revision 22282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:25:58 +00:00
Alex Converse
1e79771c31 Add support for non-backwards compatible signaled parametric stereo.
This is done without breaking W6132 Annex YYYY draft MP3onMP4 which also uses AOT 29.
Samples:
http://samples.mplayerhq.hu/A-codecs/AAC/aacPlusDecoderCheckPackage_v2.1/bitstreams/File7.3gp
http://samples.mplayerhq.hu/MPEG-4/mp3on4/id5_1.mp4

Originally committed as revision 22281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 17:55:23 +00:00
Måns Rullgård
5654067341 10l: fix make install with only shared libs
Originally committed as revision 22280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 15:46:22 +00:00
Maxim Poliakovski
7fcb98a7ec Band quant tables should not be assigned inside band tile loop,
one time is enough.
Patch by Maxim (max_pole, gmx de)

Originally committed as revision 22279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 12:12:42 +00:00
Reimar Döffinger
0209cd0719 Fix --enable-hardcoded-tables compilation: the generate table files now
need to include fft.h, not dsputil.h.

Originally committed as revision 22278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 09:25:57 +00:00
Kostya Shishkov
f3cb1cd078 1l trocadero: forgot reference operator on bytestream_get_be32() argument
Originally committed as revision 22277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 08:52:53 +00:00
Måns Rullgård
62df111cf0 Use -Werror=implicit only with gcc
Some other compilers turn too many warnings into errors with this flag.

Originally committed as revision 22276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 06:53:12 +00:00
Maxim Poliakovski
e7edeb9191 When tracking non-zero coefficients during Indeo 5 decoding, make sure
it does not ignore coefficient value = 256.
Patch by Maxim ((!min)_pole \at gmx dot/ de)

Originally committed as revision 22275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 06:03:45 +00:00
David Conrad
4def700e9e Fix clang sysroot flag
Older versions accepted both with and without an '=', but newer versions
require the '=' to be omitted

Originally committed as revision 22274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 03:01:36 +00:00
David Conrad
457c08ba3c Add internal.h include for av_read_frame_flush prototype
Fixes build with clang

Originally committed as revision 22273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:35:45 +00:00
David Conrad
148e8f2d29 Fix warning about incompatible pointer types
Originally committed as revision 22272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:26:34 +00:00
David Conrad
e48f7ff3cb matroskadec: Fix a buffer overread
Originally committed as revision 22271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:26:30 +00:00
Michael Niedermayer
d5dfecb1ea header for common code between mp3 decoder and encoder.
unfinished, iam just commiting this so the functions that should be
non static have prototypes.

Originally committed as revision 22270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 23:36:30 +00:00
Måns Rullgård
1e50348a2a Error on implicit function declarations
Turning on -Werror=implicit makes implicit function declarations
an error with supported compilers.

Originally committed as revision 22269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 23:19:07 +00:00
Måns Rullgård
e16c73e67e Move av_read_frame_flush() prototype to lavf/internal.h
Originally committed as revision 22268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 23:19:05 +00:00
Måns Rullgård
ddb8c2c0f1 PPC: move prototypes to headers and make some functions static
Originally committed as revision 22267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:37:14 +00:00
Måns Rullgård
f49747e904 x86: move function prototypes to header files
Originally committed as revision 22266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:37:08 +00:00
Måns Rullgård
98713e55b4 Move ff_spatial_dwt() prototype to snow.h
Originally committed as revision 22265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:37:03 +00:00
Måns Rullgård
965363f81a Move some dsp func prototypes to dsputil.h; they are defined in dsputil.c
Originally committed as revision 22264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:59 +00:00
Måns Rullgård
4f602a0415 Move some VC1 dsp prototypes to dsputil.h; they are defined in dsputil.c
Also fix function definitions to match prototypes (missing const).

Originally committed as revision 22263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:55 +00:00
Måns Rullgård
bb174ff1f9 Move ff_set_qscale() prototype to mpegvideo.h; it is defined in mpegvideo.c
Originally committed as revision 22262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:52 +00:00
Måns Rullgård
7de9da9ba7 Move prototypes for various dsputil init functions to dsputil.h
Originally committed as revision 22261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:49 +00:00
Måns Rullgård
3da1180409 Move some prototypes from dsputil.c to reasonable header files
Originally committed as revision 22260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:45 +00:00
Måns Rullgård
da0ac0ee64 Make some functions static
These functions are not used outside their respective files, and they
lack a prototype in a header.

Originally committed as revision 22259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:41 +00:00
Måns Rullgård
c26e58e32c Add some missing #includes
Originally committed as revision 22258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:36:36 +00:00
Reimar Döffinger
5189573c6d Set GXF fallback time-base to match the one specified for audio-only.
Originally committed as revision 22257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:25:53 +00:00
Reimar Döffinger
192c14fa55 GXF time base is always based on "fields" per second even for
non-interlaced video.
Should fix issue 1766.

Originally committed as revision 22256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 22:20:33 +00:00
Stefano Sabatini
63833766dc Show aspect ratio information in dprintf_picref() traces.
Originally committed as revision 22255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 21:28:08 +00:00
Stefano Sabatini
c18fb6310d Bump minor number and add APIchanges entry after the inclusion of
av_stristr().

Originally committed as revision 22254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 20:07:52 +00:00
Måns Rullgård
fd7bec5e3c ffserver: use av_stristr()
Originally committed as revision 22252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:41:24 +00:00
Måns Rullgård
ac6ef8682d Add av_stristr() function
This is a case-insensitive version of strstr().

Originally committed as revision 22251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:41:22 +00:00
Måns Rullgård
a0ac950109 Fix build with compilers using a separate dependency command
Originally committed as revision 22249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:29:29 +00:00
Stefano Sabatini
ff358eca17 Reindent after the last commit.
Originally committed as revision 22248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:19:13 +00:00
Stefano Sabatini
fd9da2527c Use av_get_pict_type_char() in debug code within output_picture2(),
simplify.

Originally committed as revision 22247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 19:19:11 +00:00
Måns Rullgård
bfca777713 Fix install with shared libs on weird systems
Originally committed as revision 22246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:45:38 +00:00
Måns Rullgård
6cfac0e908 Fix make install
Originally committed as revision 22245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:44:18 +00:00
Måns Rullgård
63611f31e8 Prettify make output
This gives brief messages from make by default.  For full command
echoing, add V=1 to make command line.

Originally committed as revision 22244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:14:19 +00:00
Måns Rullgård
34512bca0e Split install-headers target and simplify rules
Originally committed as revision 22243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:14:16 +00:00
Måns Rullgård
fd676deb96 Add INSTALL makefile variable
Originally committed as revision 22242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:14:13 +00:00
Måns Rullgård
b578357e59 Use mkdir -p to create directories
Originally committed as revision 22241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:14:11 +00:00
Måns Rullgård
4335125ccc Add CP make variable
Originally committed as revision 22240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:14:08 +00:00
Måns Rullgård
a4aea515b0 Add YASMDEP variable; use for deps on yasm files
Originally committed as revision 22239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:14:06 +00:00
Thilo Borgmann
bbe8fa1f83 Fix last frame block size correction.
Originally committed as revision 22238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 17:13:31 +00:00
Kostya Shishkov
0bf5a0cf46 Bink version 'h' also has chroma planes swapped
Originally committed as revision 22236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 15:09:14 +00:00
Måns Rullgård
1429224b04 Move FFT parts from dsputil.h to fft.h
Originally committed as revision 22235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:34:46 +00:00
Måns Rullgård
50e10cbd7a Use $(RM) to delete files
Originally committed as revision 22234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:25:10 +00:00
Måns Rullgård
84dc2d8afa Remove DECLARE_ALIGNED_{8,16} macros
These macros are redundant.  All uses are replaced with the generic
DECLARE_ALIGNED macro instead.

Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
Stefano Sabatini
da033b05ab Make opt_default() look for options in sws_opts only if sws_opts is
defined, fix crash.

Originally committed as revision 22232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:09:35 +00:00
Stefano Sabatini
6ce98ea4ae Add support to input devices in ffprobe.
See the thread:
Subject: [FFmpeg-devel] [PATCH] Add support to input device to ffprobe
Date: Sun, 21 Feb 2010 14:57:44 +0100

Originally committed as revision 22231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 13:06:45 +00:00
Måns Rullgård
4b9905d1dc Move DECLARE_ALIGNED_{8,16} macros to mem.h
These macros naturally belong next to the generic DECLARE_ALIGNED
macro.

Originally committed as revision 22230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 12:40:43 +00:00
Stefano Sabatini
3de42635bd Avoid duplication of usePal() macro.
Originally committed as revision 30856 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-06 11:50:54 +00:00
Janusz Krzysztofik
a4e441301d Add support to BGR444/RGB444 foreign endian output in libswscale.
Patch by Janusz Krzysztofik |jkrzyszt ^ tis icnet pl|.

Originally committed as revision 30855 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-06 11:27:31 +00:00
Michael Niedermayer
5988dc9eec Remove apparently unneeded define and includes.
Originally committed as revision 22229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 01:32:52 +00:00
Michael Niedermayer
47cf98efcb Make trasher use a well defined random number generator and allow the seed to be specified on the cmd line.
Originally committed as revision 22228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 01:31:17 +00:00
Martin Storsjö
814c56413d Don't explicitly initialize networking in the tcp and udp protocols
Networking is always initialized when opening protocols.

Originally committed as revision 22227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:38:48 +00:00
Martin Storsjö
57b5555c91 Use ff_url_join for assembling URLs, instead of snprintf
This ensures proper escaping of numerical IPv6 addresses.

The RTSP (de)muxer needs its own network initialization, since it isn't
a protocol and url_open hasn't been called yet.

Originally committed as revision 22226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:35:21 +00:00
Martin Storsjö
780d7897a9 Add a function ff_url_join for assembling URLs
Originally committed as revision 22225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:31:45 +00:00
Martin Storsjö
67d4b3f205 Always call ff_network_init/ff_network_close when opening protocols
ff_network_init is a no-op on all platforms except windows, and on
windows the performance penalty is minimal (less than 1 ms in my tests).

Originally committed as revision 22224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:30:21 +00:00
Michael Niedermayer
e5a1c20707 try to avoid returning odd slices.
Originally committed as revision 30847 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-05 21:39:27 +00:00
Vitor Sessak
09ab885975 Round correctly chroma picture height.
Fix issue 956.

Originally committed as revision 22223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 20:04:24 +00:00
Vitor Sessak
5301a05d3e Fix memory leak in NUT muxer
Originally committed as revision 22222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 17:26:34 +00:00
Benoit Fouet
124cb45137 Cosmetics: fix vertical alignment.
Originally committed as revision 30842 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-05 08:41:35 +00:00
Janusz Krzysztofik
8eafa0b488 Update SW scaler doc after libswscale commit 30841.
Patch by Janusz Krzysztofik jkrzyszt, tis icnet pl.

Originally committed as revision 22221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 08:34:31 +00:00
Janusz Krzysztofik
601949b898 libswscale: Extend the unaccelerated path of the unscaled yuv2rgb special
converter with support for rgb444 output format.
Patch by Janusz Krzysztofik jkrzyszt chez tis icnet pl

Originally committed as revision 30841 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-05 08:32:54 +00:00
Janusz Krzysztofik
2b7cf1678e Add initial support for 12-bit color mode.
Patch by Janusz Krzysztofik jkrzyszt tis icnet pl
Original thread:
Subject: [FFmpeg-devel] [PATCH v2] Add initial support for 12-bit color mode.
Date: Mon, 1 Mar 2010 02:05:07 +0100

Originally committed as revision 22220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 08:26:23 +00:00
Martin Storsjö
886f3f2f36 Return from rtp_read when select returns an error
Originally committed as revision 22219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 08:15:20 +00:00
Michael Niedermayer
3966a57464 10l fix timestamps (lavfi update broke them)
Originally committed as revision 22218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 03:54:39 +00:00
Michael Niedermayer
fca6259942 Fix 100l pkt->pos typo.
Originally committed as revision 22217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 03:34:47 +00:00
Michael Niedermayer
917d2bb348 Libavfilter for ffplay support.
This still needs some minor work here and there but should be already functional.
Note that the code pathes that are under "not avfilter" ifdefs as well as the
ifdefs will be droped as soon as all major issues have been det with, aka could
be real soon or not.

Originally committed as revision 22216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 02:20:10 +00:00
Janusz Krzysztofik
4ef82b174a Fix BGR cases missing from depth test in avcodec_get_pix_fmt_loss().
Patch by Janusz Krzysztofik:
<${name initial}${surname less the final "ofik"}@tis.icnet.pl>.

Originally committed as revision 22215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 00:50:13 +00:00
David Conrad
8b6bdb6cf3 oggdec: Parse theora headers since ogg might not mark keyframes
Fixes issue746

Originally committed as revision 22214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 00:22:40 +00:00
David Conrad
8ef9484023 Just ignore streams with unknown codec_type instead of exiting
Originally committed as revision 22213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 00:22:37 +00:00
Stefano Sabatini
818636ecf1 Cosmetics: use consistent spacing in the ffprobe.c options table.
Originally committed as revision 22212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 23:35:30 +00:00
Laurent Aimar
6c389ddbd3 Fixed DXVA2 H264 hwaccel after luma/chroma_weight changes.
Originally committed as revision 22211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 19:12:20 +00:00
Laurent Aimar
b8fb21e902 Fixed buffer overread in flashsv decoder.
Originally committed as revision 22210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 19:10:44 +00:00
Alexis Ballier
1379b58482 Support BGR555, BGR565, RGB555 and RGB565 foreign endian output in
libswscale.

Patch by Alexis Ballier, alexis D ballier A gmail

Originally committed as revision 30840 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-04 16:57:04 +00:00
Martin Storsjö
c2b40ac229 Check url_interrupt_cb in rtp_read, wait in select for max 100 ms before rechecking url_interrupt_cb
Originally committed as revision 22209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 15:08:54 +00:00
Peter Ross
6c88dc3dbf handle errors reported by av_get_packet() in Bink demuxer
Originally committed as revision 22208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 13:27:53 +00:00
Peter Ross
4ffa6e78c2 Guard against invalid memory read
Originally committed as revision 22207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 13:26:01 +00:00
Alex Converse
b5e2bb8c3c AAC: Return the number of bytes consumed in decoding a frame.
The libfaad wrapper does this.

Originally committed as revision 22206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 12:34:15 +00:00
Alex Converse
660822f0ae ffmpeg.c: Don't use NULL for integer metadata flags.
Originally committed as revision 22205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 11:27:39 +00:00
David Conrad
e2720b6b1e Really fix 2.95
Originally committed as revision 22204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 10:01:03 +00:00
David Conrad
0448ef7788 Maybe fix gcc 2.95
Originally committed as revision 22203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 09:25:42 +00:00
Gwenole Beauchesne
11ae0c52b9 Cope with rev 22183:
Reorder indexes in weight tables.

Originally committed as revision 22202 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 09:14:19 +00:00
David Conrad
871b641b80 Ensure that we write clusters and blocks with known size when streaming
Too many demuxers can't cope with clusters of unknown size.

Originally committed as revision 22201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:14 +00:00
David Conrad
434a70b8f1 Fix indentation
Originally committed as revision 22200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:11 +00:00
David Conrad
30f06a58a0 Simplify starting and ending clusters
Originally committed as revision 22199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:08 +00:00
David Conrad
7a2a484081 Write the first seekhead if writing to a stream, we won't be able to seek
back and write it at the end

Originally committed as revision 22198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:04 +00:00
David Conrad
2529bb3019 Attempt seeking to write EBML master sizes even if streamed
Most EBML masters are much smaller than IO_BUFFER_SIZE and thus the size
can be updated. This makes parsing the resulting files easier.

Originally committed as revision 22197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:00 +00:00
Alex Converse
ab2a302834 AAC: Mark predictor functions av_always_inline.
This results in a 50% speedup on main profile with no increase in binary size.

Originally committed as revision 22196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 04:58:43 +00:00
Alex Converse
65bec42e33 Cosmetics: Re-indent after last commit.
Originally committed as revision 22195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 02:32:48 +00:00
Alex Converse
ca1fa4144f AAC parser: Don't write channels, sample rate, and frame size each frame.
Thanks to backwards compatible HE-AAC signalling these values are unreliable.

Originally committed as revision 22194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 02:30:51 +00:00
Michael Niedermayer
38768cb70a Port Optimizations about *_type init from decode to filter code.
1 cpu cycle faster

Originally committed as revision 22193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 02:00:05 +00:00
Michael Niedermayer
b46b5ac9f8 Optimize *_type init, 1.5 cpu cycles faster.
Originally committed as revision 22192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 01:03:15 +00:00
Stefano Sabatini
91cfeac668 Revert r30825, it was not supposed to be committed.
127.32L to me, beware when using git svn dcommit for committing stuff
to svn...

Originally committed as revision 30827 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-04 01:02:24 +00:00
Stefano Sabatini
23bf3b2c97 Fill the r, g, b values used for computing the c->pal_yuv table in the
case where the source format is PIX_FMT_GRAY8.

This is required as PIX_FMT_GRAY8 has been declared as a paletted
format in FFmpeg r22191, fix GRAY8 -> RGB conversion.

Originally committed as revision 30826 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-04 00:31:13 +00:00
Stefano Sabatini
3fec44c640 Make swscale-test take in input the name of the input and the output
format.

Make swscale-test only perform the test from the input to the output
format rather than perform all.

Also implement swscale-test-all.sh, for performing all the tests.

Improve flexibility of the swscale-test tool, this way is simpler to
perform only a subset of tests.

Originally committed as revision 30825 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-04 00:31:10 +00:00
Stefano Sabatini
ce7c717900 Declare the PIX_FMT_GRAY8 pixel format as a paletted format. This is
consistent with the allocation currently done for PIX_FMT_GRAY8
pictures.

No significant slow-downs have been measured.

See the thread:
Subject: [FFmpeg-devel] [PATCH] Is gray8 a paletted format?
Date: Sun, 15 Nov 2009 23:36:03 +0100

Originally committed as revision 22191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 00:27:46 +00:00
David Conrad
c72625f299 Delay translating DCT tokens into coefficients until immediately before IDCT
This is generally around 12% faster than the prior method of creating a
linked list for each block as tokens are read, but can be anywhere from
8% to 28% faster depending on file and CPU.

Originally committed as revision 22190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:43 +00:00
David Conrad
7a095ea6fb Do MC and IDCT in coding (hilbert) order
This increases the slice size to 64 pixels, due to having to decode an
entire chroma superblock row per slice.

This can be up to 6% slower depending on clip and CPU, but is necessary
for future optimizations that gain significantly more than was lost.

Originally committed as revision 22189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:40 +00:00
David Conrad
35c28d23cb Explictly separate decoding whether fragments are coded by plane
Originally committed as revision 22188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:37 +00:00
Anton Khirnov
690b412657 matroskaenc: use "title" tag instead of "description" in track title.
Patch by Anton Khirnov < whyskas at gmail >

Originally committed as revision 22187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:34 +00:00
Aurelien Jacobs
ded2100e48 move vp6 huffman table freeing code, out of common vp56 code
Originally committed as revision 22186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 22:29:06 +00:00
Aurelien Jacobs
68b0fd7c68 matroskadec: cosmetic indentation
Originally committed as revision 22185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:49:24 +00:00
Joakim Plate
3e93c8ed14 matroskadec: timestamps are dts and not pts in ms vfw compatibility mode
original patch by elupus _at_ ecce _dot_ se

Originally committed as revision 22184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:46:43 +00:00
Michael Niedermayer
3d9137c883 Reorder indexes in weight tables.
5 cpu cycles faster.

Originally committed as revision 22183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:10:08 +00:00
Martin Storsjö
b9b8ed2a02 Properly pad H.264 extradata when taken from fmtp SDP attributes
This fixes some valgrind warnings.

Originally committed as revision 22182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:00:50 +00:00
Michael Niedermayer
bd8868e092 Move all context fields that are not used in the mb and block layers
to the end of the structure.
4 cpu cycles faster in 3k cpu cycles

Originally committed as revision 22181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 20:36:56 +00:00
Laurent Aimar
19a9846f3d Fixed DXVA2 H264 hwaccel compilation.
Originally committed as revision 22180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:54:12 +00:00
Michael Niedermayer
65f3c029b9 remove unused left_border field from context.
Originally committed as revision 22179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:44:27 +00:00
Michael Niedermayer
1a29c6a0bb cosmetic addition of {}
Originally committed as revision 22178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:32:50 +00:00
Michael Niedermayer
af2b0df40f Note about luma/chroma_weight tables and their datatype.
Originally committed as revision 22177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:31:58 +00:00
Laurent Aimar
a9837b58e1 Fixed overreads in TTA decoder with corrupted bistreams.
Originally committed as revision 22176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 19:31:46 +00:00
Ronald S. Bultje
19c8c4ecf4 Update to work with chunked encoding HTTP streams (as served by FFmpeg since
a few months now). Fixes issue 1738.

Originally committed as revision 22175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 18:41:50 +00:00
Vitor Sessak
4b83fc0fe4 Plug memory leak in NUT muxer and demuxer
Originally committed as revision 22174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 17:31:24 +00:00
Jai Menon
1f6d0d42c5 Plug memory leak in NSV demuxer.
Patch by Jai Menon.

Originally committed as revision 22173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 17:26:00 +00:00
Vitor Sessak
0a41faa9a7 Plug some memory leaks in the VP6 decoder
Originally committed as revision 22172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 17:24:32 +00:00
Michael Niedermayer
d7f5e520bf move svq3 specific fields to the end of the context
Originally committed as revision 22171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 16:47:40 +00:00
Gwenole Beauchesne
48bf1325ac Cope with rev 22169 change:
Merge weight & offset tables.

Originally committed as revision 22170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 15:23:22 +00:00
Michael Niedermayer
70118abd68 Merge weight & offset tables, 15 cpu cycles faster.
Originally committed as revision 22169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 14:41:43 +00:00
Michael Niedermayer
72f86ec013 Simplify implicit_weight table init.
Originally committed as revision 22168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 10:57:38 +00:00
Peter Ross
54063e37c1 Perform coefficient transformations in Bink Audio DCT decoder (issue1770)
Originally committed as revision 22167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 09:51:56 +00:00
Peter Ross
a27998010c Support demuxing of streamed Bink files
Originally committed as revision 22166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 09:44:30 +00:00
Peter Ross
f087881207 use intended const syntax
Originally committed as revision 22165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 09:38:09 +00:00
Jorge Acereda
d5963ee64a Add _NETBSD_SOURCE definition to fix compilation on NetBSD.
NetBSD is unlikely to fix their headers and the FATE box passes it
as -D_NETBSD_SOURCE on the command line anyway. In this case, it's
better to keep the hack well-contained within this file.
Closes issue 886.
patch by Jorge Acereda, jacereda brainstorm es

Originally committed as revision 22164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 09:16:45 +00:00
Michael Niedermayer
f57880d244 Another 3 useless zeroing instructions.
Originally committed as revision 22162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 02:20:48 +00:00
Michael Niedermayer
16b802fe93 Load the whole left side of mv&ref only when needed.
30 cpu cycles faster

Originally committed as revision 22161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 01:38:27 +00:00
Carl Eugen Hoyos
741a17e6b4 Support B-frames when decoding MPEG-4 with VDPAU hardware acceleration.
Based on a patch by NVIDIA.

Originally committed as revision 22160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 00:09:57 +00:00
Måns Rullgård
1233698bed Make seektest messages similar to other tests
Originally committed as revision 22159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:59:27 +00:00
Måns Rullgård
d7096d6fdd Run seektest on all generated files
Originally committed as revision 22158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:59:16 +00:00
Måns Rullgård
1dd9ff871a Place regtest-pixfmt output files in separate dir
This test generates many output files, and keeping them separate
is convenient.

Originally committed as revision 22157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:59:02 +00:00
Måns Rullgård
801b571e33 Remove unused argument to test scripts
Originally committed as revision 22156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:42:03 +00:00
Måns Rullgård
cc3e2472f3 Place regression test output files in subdirs per family
Originally committed as revision 22155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:41:52 +00:00
Vitor Sessak
5eef7bcd09 Plug memory leak for truncated files
Originally committed as revision 22154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:32:56 +00:00
Vitor Sessak
38beab19ab Plug some memory leaks for truncated files
Originally committed as revision 22153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:32:29 +00:00
Måns Rullgård
cbc4670c37 Revert "Remove the self reference in the seektest that prevented it from"
This reverts r22151.  It prevents the seektest from running at all and
is thus of no use whatsoever.

Originally committed as revision 22152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 17:50:24 +00:00
Michael Niedermayer
dd785e25d8 Remove the self reference in the seektest that prevented it from
testing new formats since 2 years namely r11831.
This likely will uncover bugs that gone unnoticed in the last 2 years
due to lack of testing.

Originally committed as revision 22151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 17:29:04 +00:00
Michael Niedermayer
af3390cb85 Make sure we dont double test files and sort the list.
Originally committed as revision 22150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 17:16:25 +00:00
Carl Eugen Hoyos
bf9d70d5e4 Pass correct buffer-pointer and buffer-size to hardware accelerated
decoders when decoding packed B-frames.

Originally committed as revision 22149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 17:12:41 +00:00
Michael Niedermayer
88b83cac24 Codec copy test.
Originally committed as revision 22148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 16:57:20 +00:00
Lou Logan
d41f1fa644 Add presets for all of the x264 presets, including fastfirstpass versions.
Not 100% accurate, since not all x264 options have ffmpeg equivalents yet.

Patch by Lou Logan.

Originally committed as revision 22144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 03:19:12 +00:00
Måns Rullgård
b781cc1282 Make lsp a separate configurable and select it from codecs needing it
Originally committed as revision 22143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 03:16:27 +00:00
Måns Rullgård
3d7b94ba5a Fix build failure with fast_unaligned and non-gcc-compatible compilers
Originally committed as revision 22142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 03:16:24 +00:00
Michael Niedermayer
145061a176 Fix a bunch of bugs ive introduced recently that broke threaded decoding.
might also fix issue1788

Originally committed as revision 22141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 02:24:37 +00:00
Stefano Sabatini
8c8bf9ecfc Make ffmpeg print a message and abort if the name of the format
provided with -f was unknown.

Originally committed as revision 22140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 00:01:16 +00:00
Stefano Sabatini
07a70b3825 Add a check for checking if more than one input file is provided to
ffplay, make it complain and abort in that case as just one input file
is currently supported.

Originally committed as revision 22139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 23:10:27 +00:00
Stefano Sabatini
58621b8d5b Clarify the error message issued by ffprobe in case of more than one
file provided as input.

Originally committed as revision 22138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 23:02:56 +00:00
Vitor Sessak
fe89ccd162 Fix spelling in comment
Originally committed as revision 22137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 20:42:13 +00:00
Vitor Sessak
efb0102fef Add commented-out unoptimized code to improve readability
Originally committed as revision 22136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 19:56:51 +00:00
Vitor Sessak
8a4d067dfc Revert r22119 and partially revert 22120.
Originally committed as revision 22135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 18:16:10 +00:00
Diego Biurrun
34a2d9f9af Add Reinhard and myself as release managers.
Originally committed as revision 22132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 17:50:34 +00:00
Carl Eugen Hoyos
8ef4f92b0d Process packed bitstream also for VDPAU.
Originally committed as revision 22131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 16:52:35 +00:00
Chris Stones
49b609820d Don't let output pixel format influence input pixel format.
Patch by Chris Stones,  chris D stones A gmail

Originally committed as revision 22130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 16:47:44 +00:00
Diego Biurrun
2bcaf2feeb Fix AMR-NB entry in the supported audio codecs list.
The decoding and encoding rows were switched around.

Originally committed as revision 22128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 14:30:28 +00:00
Anton Khirnov
e1c0b00b06 nutdec: make chapter start and length uint64_t to prevent overflows.
Patch by Anton Khirnov wyskas chez gmail punto com

Originally committed as revision 22127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 07:26:41 +00:00
Anton Khirnov
c71591a509 ffmpeg: copy stream metadata.
Patch by Anton Khirnov wyskasgmailcom

Originally committed as revision 22126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 07:22:59 +00:00
Aurelien Jacobs
bc99737689 revert r22112 which broke playback of cathedral-beta2-400extra-crop-avc.mp4
Originally committed as revision 22125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 00:22:43 +00:00
Michael Niedermayer
8897b247a5 Remove some unneeded fill_rectangle() for 16x16 blocks.
Originally committed as revision 22124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 23:54:24 +00:00
Reimar Döffinger
11a74f3639 Explicitly set struct addrinfo to NULL if getaddrinfo failed instead of
assuming getaddrinfo will have done this.

Originally committed as revision 22123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 22:33:22 +00:00
Reimar Döffinger
a34fc5e23d Make our getaddrinfo implementation initialize "struct addrinfo" return
value to NULL on errors.

Originally committed as revision 22122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 22:31:17 +00:00
Vitor Sessak
27dbc47c05 Plug some memory leaks in NUT muxer and demuxer
Originally committed as revision 22120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 20:49:21 +00:00
Vitor Sessak
fee6faa2b6 Implement av_tree_destroy_free_elem() to destroy a tree and free all the
values stored on it.

Originally committed as revision 22119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 20:48:42 +00:00
Carl Eugen Hoyos
a882cf9c21 Make av_build_filter static (and remove av_): It is not used outside resample2.c.
Originally committed as revision 22118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 19:58:26 +00:00
Carl Eugen Hoyos
406aa93fd0 Make av_get_bit_rate() static and remove av_, the function is only used
inside libavcodec/utils.c.

Originally committed as revision 22117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 19:05:51 +00:00
Carl Eugen Hoyos
88f83607b6 Include libxvid_internal.h: It contains the prototype for av_tempfile().
Originally committed as revision 22116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 19:03:38 +00:00
Carl Eugen Hoyos
30f7682404 Make the following functions static (and remove ff_), they are only used
inside libxvidff.c:
ff_xvid_encode_init(), ff_xvid_encode_frame(), ff_xvid_encode_close()

Originally committed as revision 22115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 18:57:18 +00:00
Carl Eugen Hoyos
5dfa637cca Make function get_channel_name() static: It is only used in audioconvert.c.
Originally committed as revision 22114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 18:50:56 +00:00
Anton Khirnov
82f50f820e Print chapter info in dump_format().
Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 22113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 18:37:09 +00:00
Janusz Krzysztofik
7c994c366c Process picture aspect ratio changes in H.264.
This fixes playback of such streams with ffplay (but does not affect
current ffmpeg).

Patch by Janusz Krzysztofik, jkrzyszt A tis D icnet D pl

Originally committed as revision 22112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 18:33:33 +00:00
Michael Niedermayer
5692ed3ad4 Many mp3s seem to contain padding after id3 tags that is not considered in the
tag size. Skip this to make the format probing quicker.

Originally committed as revision 22111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 16:40:17 +00:00
Reimar Döffinger
f2e033ac84 Free packets read in seek_test.
Originally committed as revision 22110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 11:18:04 +00:00
Martin Storsjö
f65919af7e Rename RTP depacketizer files from rtp_* to rtpdec_*
Originally committed as revision 22109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 11:03:14 +00:00
Reimar Döffinger
c7ff04e2f3 Fix some memory leaks in seek_test test program:
- do not allocate context twice
- close the input file before exiting

Originally committed as revision 22108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 10:58:27 +00:00
Carl Eugen Hoyos
1e6365b305 Include rtpdec.h, it contains prototypes for the following functions:
rtp_set_remote_url(), rtp_get_local_port(), rtp_get_file_handles()

Originally committed as revision 22107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 03:59:15 +00:00
Carl Eugen Hoyos
4443c0e9a9 Include internal.h and imgconvert.h, they contain the prototypes for the
following functions:
ff_is_hwaccel_pix_fmt(), ff_set_systematic_pal(), ff_fill_linesize(),
ff_fill_pointer(), ff_get_plane_bytewidth()

Originally committed as revision 22106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 03:52:10 +00:00
Carl Eugen Hoyos
ccd17ea13c Include msrledec.h: It contains the prototype for ff_msrle_decode().
Originally committed as revision 22105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 03:41:59 +00:00
Carl Eugen Hoyos
862715d3fe Include atrac.h: It contains the prototypes for atrac_generate_tables()
and atrac_iqmf().

Originally committed as revision 22104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 03:39:11 +00:00
Carl Eugen Hoyos
c6e1599b8a Include mpegaudiodecheader.h: It contains the prototype for
ff_mpegaudio_decode_header().

Originally committed as revision 22103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 03:27:10 +00:00
Carl Eugen Hoyos
770128c448 Remove declaration of unused variables.
Originally committed as revision 22102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 03:02:25 +00:00
Carl Eugen Hoyos
dacd7842d5 Include h263_parser.h: It contains the prototype for
ff_h263_find_frame_end().

Originally committed as revision 22101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 02:44:36 +00:00
Carl Eugen Hoyos
dd6c2534ed Include mpeg4video.h: Needed for declaration of ff_mpeg4_decode_picture_header.
Originally committed as revision 22100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 02:41:20 +00:00
Carl Eugen Hoyos
0fcbcad140 Include sha1.h from sha.c: It contains several prototypes.
Originally committed as revision 22099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 02:32:16 +00:00
Carl Eugen Hoyos
627686e635 Make sws_dcVec static: It is only used inside libswscale/utils.c.
Originally committed as revision 30787 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-28 02:18:16 +00:00
Carl Eugen Hoyos
dda8fc6a09 Include avc.h from avc.c: It contains several prototypes.
Originally committed as revision 22098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 02:04:34 +00:00
Carl Eugen Hoyos
998257bd4f Make mp4_read_descr static: It is only used inside libavformat/mov.c.
Originally committed as revision 22097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 01:51:13 +00:00
Carl Eugen Hoyos
c53ffb2ce5 Include apetag.h which contains the prototype for ff_ape_parse_tag().
Originally committed as revision 22096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 01:43:47 +00:00
Reimar Döffinger
eb285cfe8e Fix avcodec_align_dimensions to return values suitably aligned for FLV decoding
with SSE and add a avcodec_align_dimensions2 taht returns the stride alignment
requirements independently from doing the width/height padding.

Originally committed as revision 22095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 21:13:22 +00:00
Måns Rullgård
1d53620311 Stop make deleting intermediate files (ffmpeg.o and friends)
Originally committed as revision 22094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 15:25:28 +00:00
Jindřich Makovička
8590e6d529 Strides in Indeo 5 reconstruction filter should be signed,
this way it works on 64-bit archs too.

Patch by Jindřich Makovička ($lastname without last letter and háček, gmail)

Originally committed as revision 22093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 14:08:06 +00:00
Kostya Shishkov
e322aacedd Encapsulate VLC information needed for decoding blocks and macroblocks in
Indeo 5 into single structure IVIHuffTab and factorize code using it.

Based on patch by Maxim (max_pole at German GMX)

Originally committed as revision 22092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 12:32:31 +00:00
Kostya Shishkov
4982a77e56 Make it clear that ff_ivi_init_static_vlc() does not need arguments
Originally committed as revision 22091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 12:12:56 +00:00
Reinhard Tartler
185a885bad add myself to gpg fingerprint list
Originally committed as revision 22089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 10:11:23 +00:00
Diego Biurrun
20f5c9d1f6 sort() names in PGP/GPG fingerprint list
Originally committed as revision 22088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 10:10:58 +00:00
Michael Niedermayer
ce9c691616 Merge h->slice_table[left_xy[0/1] ] checks, 4 cpu cycles speedup
Originally committed as revision 22086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 04:09:48 +00:00
Michael Niedermayer
82fb5bb2ee Split *_type setting up, 4 cpu cycles faster.
Originally committed as revision 22085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 03:46:16 +00:00
Zhou Zongyi
821fe7f3e6 Optimize (amvd>2)+(amvd>32), about 1 cpu cycles faster.
patch by Zhou Zongyi @ zhouzy () os punkt pku dot edu speck cn

Originally committed as revision 22084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 22:45:35 +00:00
Laurent Aimar
4e06acbde4 Fixed a segfault in the DCA decoder with corrupted streams.
It happens when the number of channels defined by DCAContext:acmod is lower
than DCAContext:prim_channels. In this case, dca_subsubframe() will call
qmf_32_subbands() using s->channel_order_tab[] entries equal to -1.

Originally committed as revision 22083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 18:50:01 +00:00
Vitor Sessak
4784b0922f Do not read beyond end of input in EA-TGV. This should avoid FATE test #362
result depending on uninitialized data.

FATE result may change for this test.

Originally committed as revision 22082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 18:12:27 +00:00
Martin Storsjö
50ff78db01 RTSP muxer: Use a local copy of the AVPacket for sending to the chained muxer
This way, we avoid overwriting stream_index in the user's AVPacket
with a nonsense value.

Originally committed as revision 22081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 16:21:56 +00:00
Michael Niedermayer
cf41a02b1b Only load the topleft mv/ref when the topright is unavailable.
8 cpu cycles faster.

Originally committed as revision 22079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 15:26:11 +00:00
Michael Niedermayer
cf7b67bc40 Remove some useless operations from the code setting left_cbp.
maybe 0.5 cpu cycles faster

Originally committed as revision 22078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 15:03:00 +00:00
Francesco Cosoleto
6abda15f56 Prevent overflow of start_time + recording_time.
Patch by Francesco Cosoleto gmail($name)

Originally committed as revision 22077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 14:46:20 +00:00
Peter Ross
be707647e9 Add myself as maintainer of the bink demuxer and bink audio decoder
Originally committed as revision 22075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 11:51:17 +00:00
Michael Niedermayer
59b5370f02 Simplify code to set cbp_*
this seems 1 cpu cycle slower even though we practically just remove code.
Speed loss seems caused by the merge of if(left_type), iam commiting this
anyway as i cant imagine this to be anything but compiler messup.

Originally committed as revision 22073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 09:13:40 +00:00
Benoit Fouet
5818418758 Fix typos in ref_index documentation.
Originally committed as revision 22072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 08:55:43 +00:00
Michael Niedermayer
747db4e31a Move init of right side of ref_cache from fill_caches() to init_the_darn_decoder().
Originally committed as revision 22071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 03:27:52 +00:00
Michael Niedermayer
77c6edb846 Remove 3 mv_cache zeroing instructions that zeroed the right side.
This seems unneeded as nothing seems to ever set it to non zero values.

Originally committed as revision 22070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 02:54:03 +00:00
Michael Niedermayer
8f8497ae78 Remove useless check of the 2 left MBs of a pair being in the same slice.
Originally committed as revision 22069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 01:38:12 +00:00
Michael Niedermayer
f57a5dcd4e Clarify ref_index.
Originally committed as revision 22068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 00:51:26 +00:00
Michael Niedermayer
6e2fe0f20a Remove unneeded line of code from the neighbor setting code in h264.
Originally committed as revision 22067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 00:10:35 +00:00
Michael Niedermayer
aa5ee59eee Simplify code in mv_pred.
Not benchmarked as this is petty much just code removial.

Originally committed as revision 22066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 00:08:27 +00:00
Michael Niedermayer
358b5b1a59 Get rid of mb2b8_xy and b8_stride, change arrays organized based on b8_stride to
ones based on mb_stride in h264.
about 20 cpu cycles faster overall per MB

Originally committed as revision 22065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 23:44:42 +00:00
Måns Rullgård
f3a572ca14 Disable suffix rules
Most of the make builtin rules, which we do not need, are suffix rules,
and we use only new-style pattern rules.  Disabling suffix rules saves
some time when building on slow systems.

Originally committed as revision 22064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 23:27:54 +00:00
Stefano Sabatini
479e1e6170 Remove pointless empty line.
Originally committed as revision 30730 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-25 21:21:29 +00:00
Stefano Sabatini
8ebed38e7a Apply consistency nit.
Originally committed as revision 30729 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-25 21:12:38 +00:00
Stefano Sabatini
11ab237e31 Add the graph2dot tools and document it.
Also link avfiltergraph.o and graphparser.o against libavfilter, as it
uses them.

Originally committed as revision 22063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 19:55:01 +00:00
Stefano Sabatini
9c16add67b Replace not anymore valid syntax "-title X" with "-metadata title=X".
Originally committed as revision 22062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 19:38:54 +00:00
Michael Niedermayer
3b606e71c4 svq3 now in working condition, at least vissually, ill let fate tell us
if the checksums match

Originally committed as revision 22061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 18:41:48 +00:00
Michael Niedermayer
fc7f7f171f fix compilation, sorry ive not checked cvslog for a while :(((
svq3 decoder does not work yet though but i didnt want to keep compilation
broken longer

Originally committed as revision 22060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 18:39:01 +00:00
Anton Khirnov
cba2f6d51b asfenc: write tags in proper UTF-16.
Patch by Anton Khirnov wyskas gmail com

Originally committed as revision 22059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 16:59:55 +00:00
Anton Khirnov
a677078e14 asfenc: simplify writing of comment header.
Patch by Anton Khirnov wyskas gmail com

Originally committed as revision 22058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 16:50:26 +00:00
Anton Khirnov
e4ea625ab0 asfdec: don't strip the "WM/" prefix, this should be done during conversion.
Patch by Anton Khirnov wyskas gmail com

Originally committed as revision 22057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 16:38:23 +00:00
Michael Niedermayer
36b54927fd Dont allocate direct_table 8 times too large.
Originally committed as revision 22056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 15:29:12 +00:00
Michael Niedermayer
5e350863cc Store data in direct_table interleaved.
seems 20cpu cycles faster

Originally committed as revision 22055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 15:27:55 +00:00
Michael Niedermayer
013202d720 Simplify intra4x4_pred_mode_cache init.
Originally committed as revision 22054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:54:31 +00:00
Michael Niedermayer
662a5b2370 Reorder intra4x4_pred_mode so that we can read/write 4 values at once.
3-7 cpu cycles faster

Originally committed as revision 22053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:26:12 +00:00
Michael Niedermayer
5b0fb5244d Store intra4x4_pred_mode per row only.
about 5 cpu cycles slower in the local code but should be overall faster
due to reduced cache use. (my sample though has too few intra4x4 blocks
for this to be meassureable easily either way)

Originally committed as revision 22052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 14:02:39 +00:00
Michael Niedermayer
c2186cbddc unroll tiny and trivial loop. Same speed but clearer.
Originally committed as revision 22051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 12:51:32 +00:00
Benoit Fouet
a5517dcc9a asf: indent.
Patch from Anton Khirnov wyskas gmail com

Originally committed as revision 22050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 09:10:37 +00:00
Benoit Fouet
9b54f4328e asf: add more entries to metadata conv table.
Patch from Anton Khirnov wyskas gmail com

Originally committed as revision 22049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 09:09:39 +00:00
Michael Niedermayer
e1c88a2138 Cut the size of mvd_table by yet another factor of 2.
The code read/write code itself was 1 cycle faster, overall its
likely more due to cache effects

Originally committed as revision 22048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 04:11:33 +00:00
Michael Niedermayer
d43c192236 Keep mvd_table values of only 2 mb rows.
Originally committed as revision 22047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 02:42:25 +00:00
Stefano Sabatini
b6a4185367 10l: add prefix "TAG:" to the metadata tags key showed for each stream.
This is consistent with the metadata displaying in show_format() and
with the documentation.

Originally committed as revision 22046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 00:16:43 +00:00
Stefano Sabatini
912dd63ecb Cosmetics: replace "filename" to "arg" for the name of the argument of
opt_input_file(). More consistent and more clear, as "filename" can be
easily confused with the global "input_filename".

Originally committed as revision 22045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 00:05:01 +00:00
Alex Converse
c4a90caae2 aac: Keep decode_band_types() from eating all padding at the end of a buffer.
Due to a shortcoming in the AAC specification, if an all zero buffer is
fed to section data decoding it will never terminate. That means without
a buffer exhaustion check decode_band_types() will consume all input
buffer padding. Worse if a get_bits() implementation that returns zeros
when padding is exhausted is used, the function will never terminate.

The fixes that by added a buffer exhaustion check in the sectioning
decoding loop.

Originally committed as revision 22044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 23:56:52 +00:00
Stefano Sabatini
3314799368 Extend doxy for the src parameter of av_fifo_generic_write().
@patchby Tomas Härdin |tomas dot hardin at codemill dot se|

Originally committed as revision 22043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 23:52:52 +00:00
Michael Niedermayer
09ef1ace4b 3rd and hopefully last 100l fix.
Originally committed as revision 22041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 22:13:20 +00:00
Michael Niedermayer
3393bff10d Fix doxy and assert().
Originally committed as revision 22040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 22:05:51 +00:00
Michael Niedermayer
377fc38d5d Try to fix 100l compilation failure on some systems.
Originally committed as revision 22039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 21:55:55 +00:00
Michael Niedermayer
b5bd070029 Change mvd_cache & mvd_table to 8bit, this is overall a bit faster
for high resolution videos.
about 20cycles faster per MB for cathederal.

Originally committed as revision 22038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 20:43:06 +00:00
Michael Niedermayer
8ef4e65e94 AV_COPY16() & AV_ZERO16()
Originally committed as revision 22037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 20:38:31 +00:00
Michael Niedermayer
f3ea29bfa3 Extend fill_rectangle() support for 16bit
Originally committed as revision 22036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 20:37:58 +00:00
Michael Niedermayer
81b5e4ee92 Calculate mvd without abs()
same speed (ask gcc why, i dont know)

Originally committed as revision 22035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:50:02 +00:00
Anton Khirnov
fce4448948 Read ASF metadata as proper UTF-16 and spit it out as proper UTF-8 in our
metadata system.

Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:19:54 +00:00
Anton Khirnov
a106d4112d Don't add WM prefixes to all written ASF tags.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:17:32 +00:00
Michael Niedermayer
855a1ba5e8 switch back to (amvd>2)+(amvd>32), its 5 cpu cycles faster now.
Originally committed as revision 22032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:16:48 +00:00
Anton Khirnov
531d8fa308 Eliminate put_str16().
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:09:49 +00:00
Anton Khirnov
ae529ddb32 Add PUT_UTF16() macro.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:08:30 +00:00
Michael Niedermayer
01b35be14a Factorize common code from the top of decode_cabac_mb_mvd()
10-15 cpu cycles faster.

Originally committed as revision 22029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:06:02 +00:00
Anton Khirnov
6164842300 Mention that metadata tags are (unvalidated) UTF-8.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 18:01:44 +00:00
Michael Niedermayer
6d0155c79c Replace mvd>2 + mvd>32 by MIN((mvd+28)*17>>9, 2)
same speed as far as i can meassure but it might have fewer branches on some
archs.
Idea from x264 / jason

Originally committed as revision 22027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 16:16:08 +00:00
Ramiro Polla
bc77fce6ba Clear freed pointer in ffplay.c.
Fixes a crash when audio stream is cycled twice.

Originally committed as revision 22026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 14:45:18 +00:00
Michael Niedermayer
90332debfe Replace ad-hoc fill rectangle by fill_rectangle().
Originally committed as revision 22025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 13:12:09 +00:00
Kostya Shishkov
d2df291f73 ff_msmpeg4_decode_init() calls ff_h263_decode_init() which calls
MPV_common_init(), so calling both is redundant and leads to memory
leaks in WMV3/VC-1 decoder. Thus use only the first function in
WMV3/VC-1 decoder initialization.

Originally committed as revision 22024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 13:11:38 +00:00
Peter Ross
601e74d366 it is not necessary to display the decoder name, as av_log() automatically prints the context
Originally committed as revision 22023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 11:51:42 +00:00
Peter Ross
dd80be5bfc low-complexity Bink file seeking
Originally committed as revision 22022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 11:43:33 +00:00
Peter Ross
7e276c85b1 set AVINDEX_KEYFRAME correctly for bink
Originally committed as revision 22021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 11:30:38 +00:00
Yann Coupin
8d819221db Correctly increment continuity_counter in PCR packets.
Patch by Yann Coupin, yann.coupin+ffmpeg gmail

Originally committed as revision 22020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 10:56:13 +00:00
Benoit Fouet
6538c0f1c6 asfdec: skip byte array tags.
Patch from Anton Khirnov wyskas gmail

Originally committed as revision 22019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 07:34:12 +00:00
Benoit Fouet
27e7492771 asfdec: add a debug message about skipped tags.
Patch from Anton Khirnov wyskas gmail

Originally committed as revision 22018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 07:33:18 +00:00
Benoit Fouet
47794b9d3e asfdec: fix a memleak.
Patch from Anton Khirnov wyskas gmail

Originally committed as revision 22017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 07:32:20 +00:00
Benoit Fouet
514b73cf0d asfdec: only unicode tags must have even length.
Patch from: Anton Khirnov wyskas gmail

Originally committed as revision 22016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 07:31:03 +00:00
Anton Khirnov
43382b5f13 Introduce metadata conversion table for NUT muxer and demuxer.
Patch by Anton Khirnov (wyskas, do no evil mail)
Thread "[PATCH] nut metadata conversion table"

Originally committed as revision 22015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 06:27:12 +00:00
Ramiro Polla
c8c0ac6b26 FFprobe: take only one input file.
Originally committed as revision 22014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 06:14:59 +00:00
Michael Niedermayer
9127a369ad Replace /2 by faster >>1 as the mvd values are now all positive.
Originally committed as revision 22013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 01:57:31 +00:00
Michael Niedermayer
5c34e36a23 Remove unused variable. Seems i forgot to commit this.
Originally committed as revision 22012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 01:56:27 +00:00
Michael Niedermayer
a15fdd7ce3 Attempt to fix issue1728 and regression of issue203
Originally committed as revision 22011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 23:41:11 +00:00
Michael Niedermayer
b8c93c483b Set ist->pts to something that isnt guranteed to entangle itself with stream copying b frames.
Originally committed as revision 22010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 22:06:36 +00:00
Diego Biurrun
fc298fd9be Add -Wmissing-prototypes to CFLAGS if available.
Originally committed as revision 22009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 21:03:25 +00:00
Michael Niedermayer
9f7490a09c Also favor streams with more packets in ffplay.
Originally committed as revision 22008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 17:35:44 +00:00
Michael Niedermayer
256ab3ed9d Dont modify wanted_stream.
Originally committed as revision 22007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 17:09:53 +00:00
Michael Niedermayer
5b369983c6 replace wanted_*_stream by wanted_stream[CODEC_TYPE]
Originally committed as revision 22006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:56:23 +00:00
Jai Menon
8790961d7e mlp_parser: Fix memleak.
ff_combine_frame() is called, which allocates ParseContext->buffer if needed,
so ff_parse_close() must be called to free it.
Patch by jai.

Originally committed as revision 22005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:54:05 +00:00
Nash Tsai
d7a4961e53 vfwcap: support MJPG compressed streams.
Patch by Nash Tsai <nash dot tsai at gmail dot com>

Originally committed as revision 22004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:49:16 +00:00
Ramiro Polla
f1d5a1f285 Reorder buffer debug. Also print out if slice was buffered.
Originally committed as revision 30722 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-23 16:46:43 +00:00
Michael Niedermayer
6625a3de2a Replace *_index by st_index[codec_type].
Originally committed as revision 22003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:46:40 +00:00
Michael Niedermayer
247e3954fc Favor streams with more packets if the user did not specify what she wants.
Fixes issue1156

Originally committed as revision 22002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:31:14 +00:00
Michael Niedermayer
ab392695d5 Count all frames with codec_info_nb_frames not just ones with non zero
duration. I hope this breaks nothing. Its needed for my fix of issue1156

Originally committed as revision 22001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:29:57 +00:00
Daniel Verkamp
d962706f96 Cosmetics: break all Makefile lines at 80 columns or less
Originally committed as revision 22000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:12:30 +00:00
Michael Niedermayer
6d3d3b836f Redesign opt_programid code.
Its now possible to also select programs per input file and there is
less code duplication.

Originally committed as revision 21999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 15:08:41 +00:00
Michael Niedermayer
6c6e6ef5e2 Put codec_info_nb_frames back in AVStream and print its value.
This way streams with no or very few frames can be avoided during
auto selection

Originally committed as revision 21998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 15:07:18 +00:00
Michael Niedermayer
fc323a5480 Clarify non constness of src in av_fifo_generic_write()
Originally committed as revision 21997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 12:14:13 +00:00
Peter Ross
02cd6f5426 Set video stream duration for Bink demuxer
Originally committed as revision 21996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 11:15:18 +00:00
Martin Storsjö
9399393333 Cosmetics: reindent
Originally committed as revision 21995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 11:05:36 +00:00
Peter Ross
b62c65f23e Bink audio pts starts at 0, not reported_size
Originally committed as revision 21994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 11:01:51 +00:00
Peter Ross
c8c77d8d97 Use reported_size to truncate final Bink Audio frame
Originally committed as revision 21993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 10:28:11 +00:00
Daniel Verkamp
589760c68b Fix iff demuxer dependencies
Originally committed as revision 21992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:40:46 +00:00
Daniel Verkamp
3dfd81e64e Fix vc1 parser dependencies
Originally committed as revision 21991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:37:04 +00:00
Daniel Verkamp
0802cb85d0 Fix h264 parser dependencies
Originally committed as revision 21990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:32:29 +00:00
Daniel Verkamp
401903dc69 Fix mpeg4video parser dependencies
Originally committed as revision 21989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:23:59 +00:00
Daniel Verkamp
5c9b9c990a Fix wmv2 encoder dependencies
Originally committed as revision 21988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:16:56 +00:00
Daniel Verkamp
818a4a6465 Fix gif encoder dependencies
Originally committed as revision 21986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:12:26 +00:00
Daniel Verkamp
fa7252494c Fix snow encoder dependencies
Originally committed as revision 21985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:10:01 +00:00
Daniel Verkamp
19ecfb8aeb Fix svq1 encoder dependencies
Originally committed as revision 21984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 08:04:55 +00:00
Kostya Shishkov
60819e694e 10l trocadero: Indeo 5 decoder did not free custom VLCs for macroblock and
block decoding at exit, so prevent that memory leak now.

Originally committed as revision 21983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:41:29 +00:00
Kostya Shishkov
4f974de6f6 Decode alpha plane in Bink video
Originally committed as revision 21982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:07:54 +00:00
Kostya Shishkov
bf0d54a381 cosmetics: reindent after last commit
Originally committed as revision 21981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:01:13 +00:00
Kostya Shishkov
54d4c0de7c Move plane decoding code into separate function in Bink decoder
Originally committed as revision 21980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 07:00:46 +00:00
Kostya Shishkov
ba3e821414 Bink video decoder now can use extradata to detect alpha plane presence
Originally committed as revision 21979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 06:39:23 +00:00
Kostya Shishkov
a45972a806 Make Bink demuxer pass video flags to decoder
Originally committed as revision 21978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 06:36:26 +00:00
Måns Rullgård
2fc492d842 Declare indeo VLC table storage with correct type
Originally committed as revision 21977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 03:45:51 +00:00
Michael Niedermayer
db8cb47d15 Try to set has_b_frames in codec init if we know everything alraedy.
This fixes some issues with the first few timestamps.

Originally committed as revision 21976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 01:08:54 +00:00
Michael Niedermayer
9855b2e3c8 Move extradata reading code into codec init instead of doing it
in read frame.

Originally committed as revision 21975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 01:07:39 +00:00
Ronald S. Bultje
3307e6ea86 Prefix non-static RTSP functions with ff_.
Originally committed as revision 21974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 00:35:50 +00:00
Reimar Döffinger
fc5607f862 Make -benchmark also print the maximum memory usage if possible.
Originally committed as revision 21973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 22:21:58 +00:00
Michael Niedermayer
b7884740fa Make sure mp1/mp2 get their frame_size set.
Fixes issue1696

Originally committed as revision 21972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 22:05:20 +00:00
Martin Storsjö
6f5a3d0a7b Add an RTSP muxer
Originally committed as revision 21971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 21:28:19 +00:00
Martin Storsjö
f86f665623 Free metadata in chained RTP muxers in the RTSP muxer
This fixes a minor memory leak

Originally committed as revision 21970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 21:20:30 +00:00
Martin Storsjö
af037f8098 Cosmetics: reindent
Originally committed as revision 21969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 19:47:22 +00:00
Martin Storsjö
15ba23150e Add declarations and doxygen documentation of generic rtsp support functions
to rtsp.h, and make the functions non-static

Originally committed as revision 21968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 19:44:08 +00:00
Martin Storsjö
2efc97c2fe Cosmetics: reindent after applying patches
Originally committed as revision 21967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 16:11:38 +00:00
Martin Storsjö
35cfd6464e Don't follow RTSP redirects when used as a muxer
Originally committed as revision 21966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 15:57:40 +00:00
Martin Storsjö
3e24c7701c Add a function rtsp_setup_output_streams for announcing the SDP
and setting up the internal RTSPStream data structures when using
the RTSP code in muxer mode.

Originally committed as revision 21965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 15:56:18 +00:00
Martin Storsjö
fd450a5177 Create AVFormatContext objects as private transport for output RTSP sessions
Originally committed as revision 21964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 15:46:56 +00:00
Kostya Shishkov
1d6065ad08 Make Bink decoder able to skip alpha plane
Originally committed as revision 21963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 14:59:51 +00:00
Kostya Shishkov
9068f36dcc Macroblock and block Huffman code sets are to be used by both Indeo 4 and
Indeo 5, so make them global and move their initialization to the common place
as well. And fix static VLC initialization, as ff_ivi_create_huff_from_desc()
used old way to do so.

Originally committed as revision 21962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 13:51:32 +00:00
Kostya Shishkov
bb29fee3a6 Make Bink decoder to stop decoding planes after all bits are used.
This prevents crashes during decoding grayscale Bink files like
samples from Impossible Creatures game demo.

Originally committed as revision 21961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:35:12 +00:00
Stefano Sabatini
33bc794738 Make opt_default() print an error message and exit if the option
supplied is not recognized.

Originally committed as revision 21960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:28:51 +00:00
Kostya Shishkov
fb030bd046 Correct bundle lengths calculation for small Bink files.
This fixes issue 1764.

Originally committed as revision 21959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:20:49 +00:00
Kostya Shishkov
9b3c455c50 ARM: NEON scalarproduct_int16 and scalarproduct_and_madd_int16
Patch by Kostya, minor fixes by me.

Originally committed as revision 21958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 12:20:31 +00:00
Michael Niedermayer
0e5f33f242 Make sure a set r_frame_rate is not overriden by a guess.
Also make sure we dont waste time in this case with collecting timestamps.

Originally committed as revision 21957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 10:19:46 +00:00
Carl Eugen Hoyos
f51674ff5d Fix compilation for --enable-version3 --enable-libopencore_amrwb (only).
Originally committed as revision 21956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 09:47:12 +00:00
Michael Niedermayer
403c545d08 Attempt to fix the completely random values returned by ff_avc_find_startcode().
Originally committed as revision 21955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 00:34:27 +00:00
Måns Rullgård
dd4a03f7b3 Revert "Suppress icc warnings about unknown attributes"
This reverts r21884.  Apparently people want those warnings.

Originally committed as revision 21954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 00:34:12 +00:00
Måns Rullgård
ac73f1a816 ARM: change argument/return type of bswap_16() to unsigned 32-bit
This avoids unnecessary masking otherwise added by the compilers.

Originally committed as revision 21953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 00:34:08 +00:00
Måns Rullgård
a87b2f6df4 ARM: add missing preserve8 directives
Originally committed as revision 21952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 00:34:05 +00:00
Måns Rullgård
39261cd8d9 get/show_bits() can read up to MIN_CACHE_BITS bits
The limit for get/show_bits_long() to use get/show_bits() directly
should be MIN_CACHE_BITS, not 17.

Originally committed as revision 21951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 23:28:24 +00:00
Måns Rullgård
976d7bf71c Suppress armcc warnings about unknown attributes
Originally committed as revision 21950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 23:28:20 +00:00
Michael Niedermayer
acbb378d1d Fix timestamp association for mpeg2 field pictures.
Fixes /MPlayer/incoming/codec_copy_fails_vob_to_mpeg-ts/codec_copy_fails_vob_to_mpeg-ts.vob

Originally committed as revision 21949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 23:22:51 +00:00
Måns Rullgård
7cd7d19e86 Deobfuscate LE SHOW_[SU]BITS; these are simple sign/zero-extend
Originally committed as revision 21948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 21:48:40 +00:00
Måns Rullgård
48960b8f24 Add zero_extend() function
Originally committed as revision 21947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 21:48:37 +00:00
Måns Rullgård
94a5218c10 More accurate value for log2(10)
Originally committed as revision 21946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 20:47:10 +00:00
avcoder
0cb17649d8 Remove unused variable mb_xy.
Patch by avcoder, ffmpeg gmail

Originally committed as revision 21945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 19:32:47 +00:00
Stefano Sabatini
1be784a2cf Add support to an option -f which forces the format to use for opening
the probed multimedia resource.

Originally committed as revision 21944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 18:33:24 +00:00
Vitor Sessak
4fe3edaadf AMR-NB floating-point based decoder.
Code produced during SoC by Robert Swain and Colin McQuillan.

Originally committed as revision 21943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 18:01:56 +00:00
Reimar Döffinger
f1b267ddf7 Avoid using log2, it is not available everywhere.
Should fix compilation on FreeBSD.

Originally committed as revision 21942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 16:24:05 +00:00
Diego Biurrun
dd3475682e Remove unused variable, fixes warnings of the type:
libavcodec/h264.h:816: warning: unused variable `mb_xy'

Originally committed as revision 21941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 15:29:17 +00:00
Måns Rullgård
769c497565 indent
Originally committed as revision 21940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 15:11:59 +00:00
Måns Rullgård
4c4e746566 Avoid negative shifts in build_table()
A shift by a negative amount has undefined behaviour.  Even though
the result of this shift is never used, the shift itself could
cause an exception of some kind.

Originally committed as revision 21939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 15:11:57 +00:00
Vitor Sessak
044a950d82 Fix memory leak for truncated packets in idCin demuxer
Originally committed as revision 21938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 14:41:39 +00:00
Kostya Shishkov
342c7dfdbb Bink video decoder
Originally committed as revision 21937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 13:28:46 +00:00
Stefano Sabatini
336ce917e6 Add FFprobe tool.
This is a simplified / cleaned-up version of the SourceForge program:
http://sourceforge.net/projects/ffprobe/

Syntax / features may be different, in particular the options
-show_packets and -show_frames are not yet supported in this version.

Originally committed as revision 21936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 11:43:01 +00:00
Stefano Sabatini
f05ef45c8f Use the official FFmpeg spelling: "ffmpeg" -> "FFmpeg".
Originally committed as revision 21935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 11:35:17 +00:00
Stefano Sabatini
8b9da8b50a Put all the options shared amongst the ff* tools under a dedicated
section "Generic options".

Originally committed as revision 21934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 10:56:38 +00:00
Ramiro Polla
802da0b490 Indent.
Originally committed as revision 21933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 03:23:30 +00:00
Måns Rullgård
d68b27a95d VC1: fix missing include h263.h
Originally committed as revision 21932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 02:46:44 +00:00
David Conrad
6cb35b45e6 Simplify determing whether fragments are coded
No measurable speed difference

Originally committed as revision 21931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:11:01 +00:00
David Conrad
a89264761f Handle Theora's continued runs in superblock coding.
This doesn't really matter yet since 4:2:0 1080p has only 3060 superblocks,
but larger resolutions or 4:4:4 1080p could hit this case.

Originally committed as revision 21930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:58 +00:00
David Conrad
855c720c86 Decode fully coded superblocks in the same manner as partial superblocks and qpi
No speed difference, but it will simplify the special 4129 case.

Originally committed as revision 21929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:54 +00:00
David Conrad
ecb51b25bb Make the special 4129 case for long-run bit strings a #define and explain it
Originally committed as revision 21928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:51 +00:00
David Conrad
33dbc1b7ca Use memset to set the runs partially coded superblocks
Much faster for long runs (e.g. nearly uncoded frames), slightly faster
for the general case.

Originally committed as revision 21927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 00:10:47 +00:00
Michael Niedermayer
bbdf0d2214 Make sure we dont write more bytes into filename than the array is long.
just a precaution in case the size of the source array is increased or
made dynamically allocateable.

Originally committed as revision 21926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 22:57:23 +00:00
Michael Niedermayer
6a2459059e Do not attempt to open references through absolute pathes.
This would allow an attacker to test remotely if a local file exists.

Originally committed as revision 21925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 22:48:09 +00:00
Måns Rullgård
e4a35244fa Replace log2f(10) with a constant
Originally committed as revision 21924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 20:13:48 +00:00
Vitor Sessak
c4f267ab75 Free encoder extradata in avcodec_close(). Should fix several small memory
leaks when encoding (at least for asv, wma and aac).

Fix also issue 1577.

Originally committed as revision 21923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 18:28:11 +00:00
Måns Rullgård
7ed63ca2e7 Add casts to correct return type in macros for missing libm funcs
Originally committed as revision 21922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 16:02:48 +00:00
Ramiro Polla
da2a5feaea x86_fft.o depends on MMX and FFT.
Originally committed as revision 21921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 15:39:27 +00:00
Måns Rullgård
2897dc780a Delete avconfig.h on distclean
Originally committed as revision 21920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 13:19:34 +00:00
Måns Rullgård
b6fa8e35f2 Delete all test related files in testclean rule
Originally committed as revision 21919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 13:19:29 +00:00
Stefan Gehrer
cbdcf479ce remove tables of codebook vector values which are contained in
another table

Originally committed as revision 21918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 12:32:30 +00:00
Carl Eugen Hoyos
8e339d4aa0 Gcc attribute may_alias is not supported (or silently ignored) by all supported compilers.
Originally committed as revision 21917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 12:22:24 +00:00
Vitor Sessak
2e5195646d Do not leave uninitialized data in the packet in MPC demuxer. Should allow for
adding a demuxer test to FATE.

Originally committed as revision 21916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 11:22:47 +00:00
Martin Storsjö
4280f9bbcd Split rtsp_read_header() into two functions, so that the main part (now also
known as rtsp_connect()) can be used in the RTSP muxer.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:23:40 +00:00
Martin Storsjö
e23d195deb Split out input-specific parts of rtsp_read_header() into its own, new,
function (rtsp_setup_input_streams()), as preparation for the upcoming
RTSP muxer.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:21:44 +00:00
Martin Storsjö
30ff7c5cbc Only send out NAT-punching RTP/RTCP packets when we're in demuxer mode, i.e.
don't send them when acting as a RTSP muxer.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:13:21 +00:00
Martin Storsjö
69adcc4ffb Use mode=receive instead of mode=play if in RTSP muxer (instead of demuxer)
mode.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:11:59 +00:00
Martin Storsjö
52aa4338cc Make rtsp_close_streams() take a AVFormatContext instead of a RTSPState
argument, so we can use AVFormatContext->* here in the future.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 23:10:19 +00:00
Kostya Shishkov
4689ac41e9 16l trocadero: don't forget to free frame data buffer in APE decoder
Originally committed as revision 21910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 22:23:55 +00:00
Kostya Shishkov
ce8f750c29 WavPack demuxer also depends on APE tag parser
Originally committed as revision 21909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 22:13:19 +00:00
Kostya Shishkov
8cdfa4747b Make Bink demuxer skip all zero audio tracks, not only the first one
Originally committed as revision 21908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 22:10:04 +00:00
Daniel Verkamp
7fa78f49f0 msmpeg4v* encoders depend on h263dec
Originally committed as revision 21907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 21:34:50 +00:00
Daniel Verkamp
8e25a3d637 Declare WMV1 decoder dependencies
Originally committed as revision 21906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 21:21:04 +00:00
Daniel Verkamp
df17dbf73c AEA demuxer requires raw.o for pcm_read_seek
Originally committed as revision 21905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 21:12:46 +00:00
Daniel Verkamp
77ce6653d2 Declare CAF demuxer dependency on mpegaudio
Originally committed as revision 21904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 21:07:46 +00:00
Daniel Verkamp
e0ae359115 Fix compilation of binkaudio_rdft when dct is disabled
Originally committed as revision 21903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 20:51:12 +00:00
Stefan Gehrer
3a201bd04f remove a Huffman table from WMA which also exists in AAC
Originally committed as revision 21902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 20:42:55 +00:00
Vitor Sessak
cdfc38f43b Fix memory leak for truncated frames
Originally committed as revision 21901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 20:20:17 +00:00
Vitor Sessak
df2235a165 Fix memory leak for truncated frames
Originally committed as revision 21900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 20:19:41 +00:00
Martin Storsjö
251f050481 Remove stale function declaration.
Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 17:26:33 +00:00
Vitor Sessak
f1c8e5aa94 Add missing dependency of TwinVQ
Originally committed as revision 21898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 17:23:00 +00:00
Stefan Gehrer
cc01ab903e remove ivi5_scans8x8[0], it duplicates ff_zigzag_direct
Originally committed as revision 21897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 17:17:20 +00:00
Martin Storsjö
c02fd3d2e8 Rename RTSP_STATE_PLAYING to _STREAMING, since that better covers the
future use of the rtsp* codebase for RTSP muxing.

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 16:26:21 +00:00
Kostya Shishkov
aa170ed625 cosmetics: reindent after last commit
Originally committed as revision 21895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 14:06:12 +00:00
Kostya Shishkov
965828bb66 Since WavPack chunk can contain more samples than FFmpeg is guaranteed to
hold, decode it in several iterations outputting as many samples as possible.

Originally committed as revision 21894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 14:05:41 +00:00
Thilo Borgmann
245d5a48ef Add the dependency for mpeg4audio.o of the ALS decoder.
Originally committed as revision 21893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 08:26:35 +00:00
Thilo Borgmann
a8c09ff2d8 Do sequential bit reading outside of []-operators.
Originally committed as revision 21892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 08:07:02 +00:00
Kostya Shishkov
f4f2160880 WavPack demuxer supports ID3v1 tags, so don't forget id3v1.o dependency for it
in Makefile

Originally committed as revision 21891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 06:59:47 +00:00
Måns Rullgård
95c0d02ddc TOMI: 16- and 32-bit intreadwrite functions
Originally committed as revision 21890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 03:20:01 +00:00
Michael Niedermayer
f4ce853125 get rid of an if() 1 cpu cycle faster.
Originally committed as revision 21889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 03:10:26 +00:00
Michael Niedermayer
e69bfde6b2 Get rid of a local variable, 10 cpu cycles faster.
Originally committed as revision 21888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-19 02:37:11 +00:00
Michael Niedermayer
a305449df6 Move abs() from decode_cabac_mb_mvd() to the code that writes mvd_cache.
4-8 cycles faster

Originally committed as revision 21887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 23:37:48 +00:00
Alex Converse
8d63712486 Add some AAC buffer overread checks.
Originally committed as revision 21886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 23:06:56 +00:00
Stefano Sabatini
b623d0cb03 Reindent and fix brace placement.
Originally committed as revision 30643 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-18 21:20:37 +00:00
Stefano Sabatini
22b6a24c34 Vertically align a list of comparisons in sws_getCachedContext().
Originally committed as revision 30642 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-18 21:17:07 +00:00
Stefano Sabatini
5a011d8b08 Merge two if conditions, allow to decrese the level of indentation of
the block.

Originally committed as revision 30641 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-18 21:12:05 +00:00
Stefano Sabatini
13887093fa FFmpeg is a collective effort so allowing a single name in a banner is
not nice/fair towards the community of developers.

Also this looks like the best way for resolving the debate about which
is the one person name to be put in the banner.

See the thread:
Subject: [FFmpeg-devel] [PATCH] Replace "Fabrice Bellard" with "the FFmpeg developers" in  the banner
Date: Thu, 11 Feb 2010 23:59:12 +0100

Originally committed as revision 21885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 20:47:20 +00:00
Måns Rullgård
b80218aa53 Suppress icc warnings about unknown attributes
Originally committed as revision 21884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 19:14:48 +00:00
Stefan Gehrer
3cc3581dc0 fix intra prediction modes with inter-MB neighbors,
the old sample clips are in violation of the 2006 spec

Originally committed as revision 21883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 18:23:48 +00:00
Kostya Shishkov
bf7c17192f Make RTMP client send bytes read report
Originally committed as revision 21882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 16:27:18 +00:00
Måns Rullgård
19769ece3b H264: use alias-safe macros
This eliminates all aliasing violation warnings in h264 code.
No measurable speed difference with gcc-4.4.3 on i7.

Originally committed as revision 21881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 16:24:31 +00:00
Måns Rullgård
f4a7434f16 Add alias-safe aligned AV_[RW]N macros
Originally committed as revision 21880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 13:44:38 +00:00
Måns Rullgård
7a6053ef72 Use alias-safe types in AV_COPY/SWAP/ZERO macros
Originally committed as revision 21879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 13:40:24 +00:00
Måns Rullgård
0c76e635f5 Use alias-safe types in AV_[RW] macros
Originally committed as revision 21878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 13:40:21 +00:00
Måns Rullgård
d10458c9e2 Add alias-safe union typedefs
Originally committed as revision 21877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 13:40:19 +00:00
Michael Niedermayer
024bf79fe0 Simplify deblock_left/top condition for deblocking_filter=2
Originally committed as revision 21876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 12:37:43 +00:00
Michael Niedermayer
90a5849efd Speedup decode_cabac_field_decoding_flag() by 9 cpu cycles.
Originally committed as revision 21875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 12:13:21 +00:00
Michael Niedermayer
077a8d61c0 fix issue 1747
Originally committed as revision 21874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-18 00:19:50 +00:00
Måns Rullgård
5e46be96f8 Move NEG_[US]SR32 macros to mathops.h
Originally committed as revision 21873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 23:58:59 +00:00
Thilo Borgmann
dc9e57a878 Fix sizeof()-statement to use the actual pointer type.
Originally committed as revision 21872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 23:26:48 +00:00
Thilo Borgmann
cd09284924 Fix wrong buffer allocation for MCC in ALS.
Originally committed as revision 21871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 22:53:25 +00:00
Måns Rullgård
43cfefafbf Use stripped executable in regression tests
Originally committed as revision 21870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 21:37:35 +00:00
Måns Rullgård
4f83739855 configure: allow setting strip tool with --strip
Originally committed as revision 21869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 21:37:33 +00:00
Alex Converse
fd10543ef2 get_bits: Fix spelling and grammar in GET_VLC() comment.
Originally committed as revision 21868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 21:20:43 +00:00
Måns Rullgård
1e2245c29b 10l: remove stray '(' I don't know where it came from
Originally committed as revision 21867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 21:04:56 +00:00
Måns Rullgård
40d1122752 Use LOCAL_ALIGNED macro for local arrays
Originally committed as revision 21866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:20 +00:00
Måns Rullgård
e6a0c3540d PPC and x86 support aligning variables on stack
Originally committed as revision 21865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:15 +00:00
Måns Rullgård
d96cd42969 Add LOCAL_ALIGNED() macro for declaring aligned local arrays
Originally committed as revision 21864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:12 +00:00
Måns Rullgård
2480c390bd Simplify some declarations of aligned arrays
If DECLARE_ALIGNED_16 works on uint64_t it will work smaller types too.

Originally committed as revision 21863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 20:36:10 +00:00
Martin Storsjö
dfd017bf0a Add functions to send RTSP commands with content attached to them. This will
be used eventually in the RTSP muxer (see thread "[PATCH] RTSP muxer, round
3" on mailinglist).

Patch by Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 19:24:02 +00:00
Michael Niedermayer
69a28f3e2b Move predict_field_decoding_flag() from h264.h to .c as its only used there and belongs
there as well.

Originally committed as revision 21861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 02:25:05 +00:00
Michael Niedermayer
69cc31832f Move check for and call of predict_field_decoding_flag() from the mb code to
the row code. This function would only be needed on a MB basis for MBAFF+FMO

Originally committed as revision 21860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-17 02:14:02 +00:00
Michael Niedermayer
59f733d1b1 2x faster ff_h264_init_cabac_states(), 4k cpu cycles less.
Sadly this is just per slice so the speedup with normal files should be negligible.

Originally committed as revision 21859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 23:43:08 +00:00
Ronald S. Bultje
fc78b0cb7e Remove first_rtcp_ntp_time. This is used to prevent overflow of the timestamp,
but doesn't actually do that. What's worse, it creates timestamp adjustments
that are different per stream within a session, leading to a/v sync issues.

See discussion in thread "[FFmpeg-devel] rtp streaming x264+audio issues (and
some ideas to fix them)". Patch suggested by Luca Abeni <lucabe72 email it>.

Originally committed as revision 21857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 23:00:03 +00:00
Martin Storsjö
9c8fa20d7e When using RTP-over-UDP, send dummy packets during stream setup, similar to
what e.g. RealPlayer does. This allows proper port forwarding setup in NAT-
based environments.

Patch by Martin Storsjö <$firstname at $firstname dot st>.

Originally committed as revision 21856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 22:50:50 +00:00
Stefano Sabatini
fe74099aee Rename the "enc" variable, which refers to the AVCodecContext of a
decoder, to "avctx".

See the thread:
Subject: [FFmpeg-devel] [PATCH] enc is not a good name for a decoder context
Date: Mon, 28 Dec 2009 22:56:25 +0100

Originally committed as revision 21855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 22:38:43 +00:00
Stefano Sabatini
f47a7cb777 Move read_line() and write_line() definition from pixdesc.h to
pixdesc.c, which are now not anymore marked as static inline.

Fix the inclusion of the private header intreadwrite.h in the public
header pixdesc.h.

Originally committed as revision 21854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 20:17:50 +00:00
Ronald S. Bultje
a636b58ce1 Fix two problems (no idea how this ever worked):
- the return value of url_open_dyn_*buf() is 0 on success, so using
   if (!(res = url_open_dyn_*buf())) return res; is not going to work
- url_open_dyn_packet_buf actually writes the max_packet_size before
   each piece of data. Feeding this to the ASF demuxer will never work.
   Therefore, use url_open_dyn_buf() instead.

Originally committed as revision 21853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 19:26:49 +00:00
Ronald S. Bultje
4abd85141c Revert r21851.
Originally committed as revision 21852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 18:25:05 +00:00
Ronald S. Bultje
298d2fd304 Don't return 0 if buffer setup failed. That signals the RTSP demuxer that
the packet was filled in, leading to virtually random behaviour in the
decoder later on. Instead, return a negative value.

Originally committed as revision 21851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 18:19:28 +00:00
Anton Khirnov
ed7694d8cf Set lavf identification string globally in av_write_header(), rather
than inside the muxers. Remove special handling of "encoder" tags from
AVI and MP3 muxers.

Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 21850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 16:32:25 +00:00
Thilo Borgmann
114315994b Limit the Rice parameter used for progressive decoding in ALS.
Originally committed as revision 21849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 14:48:01 +00:00
James Darnley
85207e38dc Add lsp.o as a dependency for wmavoice. This fixes a compilation error when
you disable lots of stuff (in particular other voice codecs) but leave
wmavoice enabled.

Patch by James Darnley <$firstname dot $lastname at gmail dot com>.

Originally committed as revision 21848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 14:33:13 +00:00
Peter Ross
899605f150 Support IFF ANNO (annotation) chunk type
Originally committed as revision 21847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 09:55:56 +00:00
Peter Ross
cbba8fec23 Support <8-bit ILBM uncompressed bitmaps
Originally committed as revision 21846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 09:33:59 +00:00
Michael Niedermayer
37a9719a97 2 cpu cycles faster context calculation for decode_cabac_intra_mb_type()
Originally committed as revision 21845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 02:51:37 +00:00
Michael Niedermayer
5806e8cd1f Drop a few redundant slice_num checks.
Originally committed as revision 21844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-16 00:09:30 +00:00
Michael Niedermayer
053074276b Drop compute_mb_neighbors() and move fill_decode_neighbors() up to take its
role.
Should be faster as this is a strict code removial.

Originally committed as revision 21843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 23:04:07 +00:00
Michael Niedermayer
c1bb66ac19 Split setting neighboring MBs from fill_decode_caches()
no speed change.

Originally committed as revision 21842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 22:07:02 +00:00
Anton Khirnov
83a6c1a69c Strings in extended content header are UTF16,
so terminating NULLs are 2 bytes long, not 1.

Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 21841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 21:19:40 +00:00
Anton Khirnov
4a3104a96a workaround for broken files created by previous versions of asfenc.
Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 21840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 21:14:47 +00:00
Michael Niedermayer
cf55f59d5e Simplify decode_cabac_mb_intra4x4_pred_mode().
same speed

Originally committed as revision 21839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 19:22:09 +00:00
Michael Niedermayer
f4060611e9 Merge decode_cabac_mb_type_b() into calling code.
This avoids a conditional branch and is about 3 cpu cyclues faster.

Originally committed as revision 21838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 19:20:49 +00:00
Maxim Poliakovski
6713b6b120 Remove outdated comment.
Patch by Maxim, max_pole gmx de

Originally committed as revision 21837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 17:37:38 +00:00
Stefan Gehrer
35122bd93e add heuristic to discern the old sample clips from streams encoded
with rm52j encoder, a marker_bit has been added in the I-Frame syntax

Originally committed as revision 21836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 16:43:45 +00:00
Stefan Gehrer
026b9d3c5a avoid using DECLARE_ALIGNED on stack variable as suggested by Reimar
Originally committed as revision 21835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 16:37:13 +00:00
Alex Converse
8958445898 AAC: Mark che_configure() as av_cold.
It is also only called when the output configuration is not locked.

Originally committed as revision 21834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 16:29:46 +00:00
Alex Converse
ff98c17cba AAC: Mark functions that are only called when the output configuration is not locked as av_cold.
Originally committed as revision 21833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 16:19:46 +00:00
Peter Ross
005caa3486 IFF bitmap n-bit color support
Originally committed as revision 21831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 11:26:35 +00:00
Michael Niedermayer
24006f59cb 10l ;; gcc 2.95 compilation fix by mike
Originally committed as revision 21830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 09:11:00 +00:00
Michael Niedermayer
cbfcde9f52 10l use pack16to32(), should fix big endian h264 failures.
Originally committed as revision 21829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 01:24:50 +00:00
Michael Niedermayer
64dd1b0a1d Merge the single line function decode_cabac_mb_transform_size()
into the calling code.
8 cpu cycles faster

Originally committed as revision 21828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-15 01:04:07 +00:00
Michael Niedermayer
8b38d10761 indent
Originally committed as revision 21827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 23:10:02 +00:00
Michael Niedermayer
f4b8b82514 Merge decode_cabac_mb_dqp() with surronding code.
~20 cpu cycles faster

Originally committed as revision 21826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 23:06:25 +00:00
Michael Niedermayer
94cb599443 Drop if(0) code.
Originally committed as revision 21825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 22:59:19 +00:00
Reimar Döffinger
4130f7393b Reindent
Originally committed as revision 21824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 19:00:36 +00:00
Reimar Döffinger
3adcfbbeb5 Optimize h261_probe function, since it is far slower than all others.
About 5 times faster.

Originally committed as revision 21823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 18:59:56 +00:00
Michael Niedermayer
a59b9ee33d Set sub_mb_type in direct_cache instead of just the direct flag.
Simpler, cleaner and faster.

Originally committed as revision 21822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 16:51:31 +00:00
Michael Niedermayer
2dc380ca8e Store sub_mb_type in direct_cache/direct_table.
This is equal complexity but could be more usefull.

Originally committed as revision 21821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 14:41:27 +00:00
Thilo Borgmann
d3037bbe6b Add myself as maintainer of bgmc.[ch].
Originally committed as revision 21820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 10:17:58 +00:00
Michael Niedermayer
3d2c3ef4b4 Remove slice_table checks from decode_cabac_mb_cbp_luma() and set left/top_cbp so
these checks arent needed.

Originally committed as revision 21819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 02:08:48 +00:00
Michael Niedermayer
056c502155 Revert r21814
Log:
	h264: Fix pointer warnings by removing redundant [0]

	Fixes:
	h264.h:1222:38: warning: initialization from incompatible pointer type
	h264.h:1299:38: warning: initialization from incompatible pointer type
	h264.h:1314:42: warning: initialization from incompatible pointer type

Reason: breaks h264 decoding & fate

Originally committed as revision 21818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 02:04:41 +00:00
Michael Niedermayer
6e7c397b5c Cosmetics, vertical align.
Originally committed as revision 21817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-14 01:14:05 +00:00
Michael Niedermayer
e916764675 Direct temporal skiped MBs dont need fill_decode_caches() at all so dont call it
for them.

Originally committed as revision 21816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 22:53:44 +00:00
Alexander Strange
78998bf217 h264: Remove unused variables.
Originally committed as revision 21815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 21:09:38 +00:00
Alexander Strange
677dab59cb h264: Fix pointer warnings by removing redundant [0]
Fixes:
h264.h:1222:38: warning: initialization from incompatible pointer type
h264.h:1299:38: warning: initialization from incompatible pointer type
h264.h:1314:42: warning: initialization from incompatible pointer type

Originally committed as revision 21814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 21:08:17 +00:00
Alexander Strange
cd12c37729 Fix integer overflow warnings in h264.h
Fixes:
h264.h: In function 'fill_filter_caches':
h264.h:1216:73: warning: integer overflow in expression
h264.h:1307:81: warning: integer overflow in expression

Originally committed as revision 21813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 20:57:13 +00:00
Michael Niedermayer
bb770c5b52 Merge (IS_SKIP(mb_type) || IS_DIRECT(mb_type)
Originally committed as revision 21812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 20:13:54 +00:00
Michael Niedermayer
2e4362af14 Skiped MBs dont need the cbp stuff so skip initing that.
Originally committed as revision 21811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 20:13:10 +00:00
Thilo Borgmann
65760304bc Reindent a line.
Originally committed as revision 21810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 19:59:53 +00:00
Michael Niedermayer
e2b28acf89 Also skip direct/mvd_cache init for skiped blocks.
Odd thing is i thought ive tryed this already and it failed previously.

Originally committed as revision 21809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 19:39:18 +00:00
Thilo Borgmann
09946fb109 Add myself as contributor.
Originally committed as revision 21808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 19:24:32 +00:00
Thilo Borgmann
071cfdce4b Add myself as ALS maintainer.
Originally committed as revision 21807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 19:23:39 +00:00
Michael Niedermayer
cb9285a246 Move more code under if(!IS_DIRECT(mb_type)).
Originally committed as revision 21806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 19:00:51 +00:00
David Conrad
161e8cf42c Move CODEC_FLAG_GRAY check to outer loop
Originally committed as revision 21805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:59:25 +00:00
David Conrad
7c2e31d1f0 Move branch based on custom mode outside the loop
Originally committed as revision 21804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:59:21 +00:00
David Conrad
eb691ef219 Directly check whether a fragment is coded for 4MV mode instead of iterating
through the entire coded fragment list.

Originally committed as revision 21803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:27 +00:00
David Conrad
15675ce609 Eliminate fragment -> macroblock mapping array
Originally committed as revision 21802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:24 +00:00
David Conrad
ea67614457 Eliminate macroblock -> fragment mapping array
Originally committed as revision 21801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:21 +00:00
David Conrad
19cd517dbf Eliminate superblock <-> macroblock mapping array
Originally committed as revision 21800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:55:17 +00:00
Thilo Borgmann
25608328af Support arithmetic decoding in ALS.
Originally committed as revision 21799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:24:13 +00:00
Michael Niedermayer
f2b3763736 Skip some more code that isnt needed for direct MBs.
Originally committed as revision 21798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 18:23:46 +00:00
Ben Littler
4bf2b9e8f3 add netspeak gsm and truespeech wav format tags to riff.c
Originally committed as revision 21797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 17:57:24 +00:00
Francesco Lavra
7df8af6385 Fix reading beyond buffer end on RA144Context.lpc_tables.
Patch by Francesco Lavra (francescolavra -at- interfree -dot- it)

Originally committed as revision 21796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 17:42:58 +00:00
Måns Rullgård
f2a4f12cb6 Do not call lseek() with invalid whence value
Originally committed as revision 21795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 16:56:37 +00:00
Michael Niedermayer
5ca43c25f6 Move setting MB_TYPE_L0L1 for direct MBs up, this is simpler.
Originally committed as revision 21794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 15:57:49 +00:00
Michael Niedermayer
da452acac6 Dont calculate any surrounding MVs for temporal MBs
Originally committed as revision 21793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 15:30:27 +00:00
Stefano Sabatini
0d88ff4ce0 Add my name to CREDITS.
Originally committed as revision 21792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 15:12:05 +00:00
Michael Niedermayer
5134ad53ed Simplify if()
Originally committed as revision 21791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 13:28:04 +00:00
Michael Niedermayer
752cc0dcb2 Init sub_mb_type cleanly.
Originally committed as revision 21790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 13:14:07 +00:00
Michael Niedermayer
923bcb4048 100l Forgoten hunk.unbreak compile before someone notices.
Originally committed as revision 21789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 13:04:11 +00:00
Michael Niedermayer
af0d6581e1 Restructure spatial direct MV generation so that the zero predictior shortcut
is closer at the top.
50-130 cpu cycles faster depending on which kind of direct MBs are meassured.

Originally committed as revision 21788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 13:02:25 +00:00
Michael Niedermayer
edb4df436f Split spatial and temporal direct MV generation.
A little  faster and needed for future optimizations.
This sadly leads to some code duplication (which i hope i can factor out
again after the optimizations on the direcr mv code are done)

Originally committed as revision 21787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 03:46:51 +00:00
Ramiro Polla
3beb81e744 Fix compilation with --enable-libgsm on Gentoo and OpenSUSE.
Patch by Ramiro

Originally committed as revision 21786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 03:43:10 +00:00
Michael Niedermayer
812bfd7b44 Special case for spatial direct MV predictor being 0.
a little less than 200 cpu cycles faster with the cathedral sample.

Originally committed as revision 21785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 02:47:41 +00:00
Michael Niedermayer
828cfff63d Pack MVs together from the begin for spatial direct, this simplifies the code
and is a bit faster (5-10 cpu cycles depending on what is meassured).

Originally committed as revision 21784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-13 02:20:56 +00:00
Michael Niedermayer
02e8c5f0a5 Dont drop B frames without last_picture.
Fixes issue1722

Originally committed as revision 21783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 23:28:33 +00:00
David Conrad
b7098cc153 Special case VP5/6 chroma alignment on x86 as well
Originally committed as revision 21782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:42 +00:00
David Conrad
735acf567c Don't pre-calculate first_pixel
3.6% faster on Elephants_Dream_HD-q7-aq7.ogg on my penryn

Originally committed as revision 21781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:38 +00:00
David Conrad
a8de390163 Implement CODEC_CAP_DRAW_HORIZ_BAND for VP3 decoder
Originally committed as revision 21780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:35 +00:00
David Conrad
621f9a40b1 Cosmetics: reindent
Originally committed as revision 21779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:32 +00:00
David Conrad
256c0662ef Do loop filter per-row rather than per-frame
3% faster on Elephants_Dream_HD-q7-aq7.ogg on my penryn

Originally committed as revision 21778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:29 +00:00
David Conrad
fe3135564a Move apply_loop_filter above render_slice, it'll be used by the latter soon
Originally committed as revision 21777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:25 +00:00
David Conrad
ea3c2d5393 Export Theora colorspace info if present
Originally committed as revision 21776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:22 +00:00
David Conrad
337f5c6e30 Theora 3.4 doesn't exist; these fields were misunderstandings of the spec
Originally committed as revision 21775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:18 +00:00
David Conrad
45c3c92576 Remove unused code that's moved elsewhere
Originally committed as revision 21774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:00:29 +00:00
Michael Niedermayer
ab5a0175f5 Add flag so muxers not needing width/height can signal this.
Add this flag to img2 (fixes -vcodec copy to image2 in some cases)

Originally committed as revision 21773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 20:35:29 +00:00
Michael Niedermayer
3566042a0d Try to support truncated h264 frames mixed with mpeg pes headers in mkv.
Fixes issue1585

Originally committed as revision 21772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 19:25:23 +00:00
Reimar Döffinger
9f1d760a27 Use int8_t instead of char, the signedness of char can differ between systems.
Originally committed as revision 21771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 18:18:35 +00:00
Ronald S. Bultje
fa65584f12 WMAVoice decoder.
Originally committed as revision 21770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 14:22:41 +00:00
Peter Ross
cbd3441eec Make DeluxePaint Animation demuxer actually return the find_record() error code (issue 1739).
Originally committed as revision 21769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 11:31:35 +00:00
Michael Niedermayer
86d58bcfd9 Add GEOV fourcc (issue971).
Originally committed as revision 21768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 01:37:53 +00:00
Måns Rullgård
0844bae1ad Add "tomi" architecture
Originally committed as revision 21767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 23:59:49 +00:00
Måns Rullgård
8d4c00ed38 configure: require --arch and --target-os when cross-compiling
Originally committed as revision 21766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 23:57:52 +00:00
Måns Rullgård
4368990236 ffplay depends on rdft
Spotted by Ramiro.

Originally committed as revision 21765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 23:40:47 +00:00
Måns Rullgård
b5ab9b59e0 Fix build with --disable-mdct
Originally committed as revision 21764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 23:40:45 +00:00
Måns Rullgård
084cbbaab4 configure: add missing mdct deps
Originally committed as revision 21763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 23:40:39 +00:00
Måns Rullgård
26fbcc85d9 configure: make mdct and rdft select fft and update other deps
Originally committed as revision 21762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 23:40:37 +00:00
Michael Niedermayer
f2d56513d7 Fix timestamps.
Originally committed as revision 21761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 22:32:46 +00:00
Wolfram Gloger
23b361baca Remove recording_time check which is no longer necessary after r21687.
Patch by Wolfram Gloger, wmglo A dent D med D uni-muenchen D de

Originally committed as revision 21760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 21:54:09 +00:00
Kostya Shishkov
a768816c33 Simplify expression as suggested by Måns Rullgård
Originally committed as revision 21756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 14:08:40 +00:00
Kostya Shishkov
045b60bf9b Make SHA digest function write digest value with AV_WN32 instead of assuming
that output may be written as uint32_t since output buffer may not be aligned
(and it's silly to force alignment on it) and it does not work in that case
properly on some architectures.

Originally committed as revision 21754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 11:45:35 +00:00
Kostya Shishkov
94dde5c1ec Move 'chksum' declaration to the only block where that variable is used
Originally committed as revision 21753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 07:59:24 +00:00
Kostya Shishkov
f7d649185b Move band checksum verifying into preprocessor condition, so compiler won't
complain about missing function prototype.

Originally committed as revision 21752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 07:54:40 +00:00
Stefano Sabatini
9cb5c760d7 Extend show_pix_fmts(), make it show input/output support for
conversion and other information exposed by the pixdesc API.

Originally committed as revision 21751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 23:36:35 +00:00
Måns Rullgård
33bd38dbd3 Stricter check for math.h functions
GCC is sometimes able to optimise constant calls to these functions,
incorrectly indicating that they exist.  Unoptimised calls will then
fail to link.

Originally committed as revision 21749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 22:14:28 +00:00
Måns Rullgård
6b73c0aedc configure: fix cosmetic typo in check_mathfunc
Originally committed as revision 21748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 22:14:25 +00:00
Daniel Verkamp
f45a27dc52 Reindent
Originally committed as revision 21747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 20:27:53 +00:00
Daniel Verkamp
b7e0f88f2b Fix demuxing of wav files with broken data header
Originally committed as revision 21746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 20:26:47 +00:00
Reimar Döffinger
40938d9382 Use av_compare_ts to compare against the -t end time instead of using
floating point.
Should fix different results between PPC and x86 for the idroq-video-encode
FATE test.

Originally committed as revision 21745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 19:46:44 +00:00
Reimar Döffinger
f0cb55af88 Use av_compare_ts from libavutil instead of the locale compare_ts, the
calculations in the later one are not correct with large time stamps.

Originally committed as revision 21744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 19:43:57 +00:00
Timo Teräs
4e8052ddad Fix syncronisation for streams with a high encoding delay.
Patch by Timo Teräs (timo DOT teras AT iki DOT fi)

Originally committed as revision 21743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 19:33:08 +00:00
Ronald S. Bultje
7515ed0c1d Reindent after r21741.
Originally committed as revision 21742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 18:31:47 +00:00
Ronald S. Bultje
170870b77c Don't forget to set known audio parameters (samplerate, etc.) if the codec is
not supported in FFmpeg. This will cause crashes later because the samplerate
is used to initialize the timebase.

Originally committed as revision 21741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 18:30:55 +00:00
Ronald S. Bultje
556aa7a102 RTP/AMR depacketizer, by Martin Storsjö <$firstname at $firstname dot st>.
Originally committed as revision 21740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 17:20:50 +00:00
Alex Converse
1edea057dd Output the first AAC frame. This is needed for SBR conformance.
Originally committed as revision 21739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 14:51:57 +00:00
Michael Niedermayer
0332324a48 Dont give up after 100kb of zero bytes but returnd EAGAIN
fixes issue1729

Originally committed as revision 21738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 14:25:57 +00:00
Andreas Öman
80242f9bdb mp3: ftell() file offset for VBR tags before ID3v1 parser messes it up.
Originally committed as revision 21737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 12:44:16 +00:00
David Conrad
19530266a5 Enable SSE2 (put|avg)_pixels_16_sse2
SVQ1 chroma has been special-cased aligned to 16-bytes since at least r15466
Other architectures also assume 16-byte alignment here too but set STRIDE_ALIGN
to 16.

Originally committed as revision 21736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 02:02:06 +00:00
Måns Rullgård
8e05f06912 Define missing llrint() as macro instead of inline function
This fixes building on some broken systems.

Originally committed as revision 21735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 22:55:16 +00:00
Måns Rullgård
645d26520a Special check for math.h functions
These are often, contrary to standards, implemented only as macros
or compiler-builtin functions without an actual symbol definition.

Originally committed as revision 21734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 22:55:13 +00:00
Måns Rullgård
0104b608ca Check for setrlimit()
Originally committed as revision 21733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 22:55:11 +00:00
Måns Rullgård
614d8911c6 configure: allow 'none' as target OS
Originally committed as revision 21732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 22:55:08 +00:00
Stefano Sabatini
fe4fbb583d Doxument url_fopen().
Originally committed as revision 21714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 18:59:34 +00:00
Stefano Sabatini
fbef7a7644 Add an entry for the recently added av_compare_ts() function.
Originally committed as revision 21713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 18:58:02 +00:00
Måns Rullgård
41c2bd0a26 ARMv6 optimised pix_sum
Originally committed as revision 21705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:52 +00:00
Måns Rullgård
66ec243d95 ARMv6 optimised pix_norm1
Originally committed as revision 21704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:49 +00:00
Måns Rullgård
0c28474c92 ARMv6 optimised sse16
Originally committed as revision 21703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:45 +00:00
Måns Rullgård
3132614305 ARMv6 optimised diff_pixels
Originally committed as revision 21702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:41 +00:00
Måns Rullgård
f73a626ae4 ARMv6 optimised get_pixels
Originally committed as revision 21701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:38 +00:00
Måns Rullgård
d2578ff9f1 ARMv6 optimised pix_abs8
Originally committed as revision 21700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:34 +00:00
Måns Rullgård
74cc33c235 ARMv6 optimised pix_abs16_y2
Originally committed as revision 21699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:31 +00:00
Måns Rullgård
39a760f678 ARMv6 optimised pix_abs16_x2
Originally committed as revision 21698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:29 +00:00
Måns Rullgård
e6056a9008 ARMv6 optimised pix_abs16
Originally committed as revision 21697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:26 +00:00
Måns Rullgård
38e016a7c9 ARMv6 optimised put_pixels functions except xy2 variants
Originally committed as revision 21696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 16:13:21 +00:00
Kostya Shishkov
5bebe94d86 Indeo 5 decoder
Originally committed as revision 21695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 07:55:07 +00:00
Michael Niedermayer
daaf6e3e9e Reorder and factorize mb_type ifs, 1 cpu cycle faster and simpler.
Originally committed as revision 21694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-09 00:19:03 +00:00
Reimar Döffinger
be4a113264 Make sure the header value used to avoid repeating headers on seeking to the
start and to avoid initializing codecs with missing headers is set for all streams.
Fixes issue 1723.

Originally committed as revision 21693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 20:25:36 +00:00
Ronald S. Bultje
04a2b04b98 Implement gai_strerror() for systems lacking such functionality. Patch
by KO Myung-Hun <komh challion net>.

Originally committed as revision 21692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 18:48:12 +00:00
Michael Niedermayer
1be49ce54b Set partitioning to 16x16 for spatial direct MBs with mixed interlacing.
11cylcles slower MV generation
98cycles faster MC

Originally committed as revision 21691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 17:25:50 +00:00
Michael Niedermayer
3babc711d8 Detect spatial direct MBs partitioned smaller than 16x16 that can be partitioned
as 16x16 (except ones changing interlacing relative to the colocated MB).
20 cycles slower during MV generation
175 cycles faster during MC

Originally committed as revision 21690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 16:23:05 +00:00
Michael Niedermayer
8b9eb2dfec Detect equal 4x4 blocks in spatial direct MBs.
19 cycles slower MV generation
575 cycles faster MC

Originally committed as revision 21689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 13:05:24 +00:00
David Conrad
ecc0027bc6 Fix playback with invalid files that don't set the continuation flag for
pages that continue packets started in prior pages.
Fixes issue1248

Originally committed as revision 21688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 10:13:03 +00:00
Wolfram Gloger
55a7e946f6 Stop reading input file when -t option value is reached.
Patch by Wolfram Gloger wmglo (chez) dent med uni (minus) muenchen de

Originally committed as revision 21687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 09:04:06 +00:00
Michael Niedermayer
8a3b90686d Remove an apparently unneeded && !FRAME_MBAFF.
This should speed the affected cases (MBAFF temporal direct MBs) up.

Originally committed as revision 21686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 04:24:50 +00:00
Michael Niedermayer
542d4a756a Branchless calculation of ref_offset.
7 cpu cycles faster.

Originally committed as revision 21685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 03:22:17 +00:00
Michael Niedermayer
fb70c63f70 Remove incorrect fixme, i see no case that is missing.
Originally committed as revision 21684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 02:10:59 +00:00
Michael Niedermayer
35c8b9c094 Replace call to pred_motion() in direct spatial mv pred by code
and simplify cases that cannot happen away.
8 cpu cycles faster

Originally committed as revision 21683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 02:09:27 +00:00
Michael Niedermayer
b317567cf4 Change xvid/divx/lavc build variables to be consistent to x264_build.
Originally committed as revision 21682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 00:43:15 +00:00
Michael Niedermayer
055a6aa76a Set x264_build so that checks are simpler.
Originally committed as revision 21681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 00:08:05 +00:00
Michael Niedermayer
3a06e8647f Ooops, 10l forgot to commit h264.h.
Originally committed as revision 21680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 23:15:53 +00:00
Michael Niedermayer
3b9e61e45f Zero a/b only in the branch where they need to be zeroed.
Originally committed as revision 21679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 22:58:03 +00:00
Michael Niedermayer
f28a2656c3 Merge mv&ref related code for spatial direct MV code.
a bit more than 10 cpu cycles faster.

Originally committed as revision 21678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 21:53:55 +00:00
Michael Niedermayer
0a8dca8765 Precalculate a few variables for direct mv prediction for interlaced MBs.
Originally committed as revision 21677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 21:09:09 +00:00
Michael Niedermayer
e6406939a8 Directly use av_rescale_rnd() instead of av_convert_ts() as this cuts the
number of calls to it down by 2.

Originally committed as revision 21676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 19:10:04 +00:00
Michael Niedermayer
464baa6650 Set direct MB partitioning for 16x8 and 8x16 colocated MBs to the respective true partitioning.
Originally committed as revision 21675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 17:40:22 +00:00
Michael Niedermayer
e8d964fa52 Factorize setting sub_mb_type out.
Originally committed as revision 21674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 17:15:17 +00:00
Michael Niedermayer
b687c1aaac Bump minor for av_compare_ts()
Originally committed as revision 21673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 17:13:59 +00:00
Michael Niedermayer
e5026c36d4 Use av_compare_ts() for interleaving per dts.
Originally committed as revision 21672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 16:27:17 +00:00
Michael Niedermayer
78b0182375 av_compare_ts()
Originally committed as revision 21671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 16:26:50 +00:00
Stefano Sabatini
9e5381a21b Make parse_options() explicitely handle the case where an opt_func2
function returns a negative value, rather than erroneously trigger the
code which manages the case of unknown option.

Originally committed as revision 21670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 15:46:18 +00:00
Michael Niedermayer
668fd14287 Remove FIXMEs for cases that are disallowed by the spec.
Originally committed as revision 21669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 15:13:56 +00:00
Michael Niedermayer
1c3ce2cd3e Check direct_8x8_inference_flag.
Originally committed as revision 21668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 15:12:37 +00:00
Michael Niedermayer
33a6c0c9fe Skip the fill_colmap() case thats for MBAFF if we dont have an MBAFF frame.
Originally committed as revision 21667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 14:55:59 +00:00
Michele Orrù
084eb95fd5 Implement a physical concatenation protocol.
Patch by Michele Orrù reverse(<moc.liamg@yp.rekam>).

Originally committed as revision 21666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 10:25:58 +00:00
Michael Niedermayer
9873ae0d44 Fix CAVLC+8x8DCT+MBAFF loopfiltering.
Fixes issue1250

Originally committed as revision 21665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 02:00:00 +00:00
Michael Niedermayer
488dba7000 Fix colocated map.
Originally committed as revision 21664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:18:00 +00:00
Michael Niedermayer
d88ea35463 Fix reference selection for colocated MBs from frames to fields.
Originally committed as revision 21663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:17:13 +00:00
Michael Niedermayer
5aa1d7598f Add assert(sps.direct_8x8_inference_flag) to FIXME comment.
Originally committed as revision 21662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:14:58 +00:00
Michael Niedermayer
50f8e98507 ref_offset must be added after checking references validity.
Originally committed as revision 21661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-07 01:13:56 +00:00
Stefano Sabatini
e49407ee08 Add missing entries for the recent lsws API changes.
Originally committed as revision 21660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 23:25:10 +00:00
Reinhard Tartler
5af4150831 libgsm installs headers in a subdirectory, use gsm.h from that subdirectory.
Approved by Diego at FOSDEM.

Originally committed as revision 21659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 16:52:38 +00:00
Jai Menon
6c7165c72e cosmetics : re-indent after r21639.
Originally committed as revision 21658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 13:15:15 +00:00
Reimar Döffinger
06e03fa0ae Add include necessary for ff_set_qscale
Originally committed as revision 21657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:53:28 +00:00
Jai Menon
f6d2916550 Avoid using an intermediate variable.
Originally committed as revision 21656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:52:22 +00:00
Jai Menon
b53ae8b6b1 Remove redundant use of numchannels since it is 1 for mono.
Originally committed as revision 21655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:48:37 +00:00
Jai Menon
e243eee43f alac.c : Use av_freep instead of av_free.
Originally committed as revision 21654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:38:42 +00:00
Anton Khirnov
04d2540c4b Add AVI metadata conversion table.
Patch by Anton Khirnov (gmail{wyskas}).

Originally committed as revision 21653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 12:32:44 +00:00
Justin Johnson
86a4f011e6 Revert r21615 | cehoyos | 2010-02-02 23:23:09 +0100 (Tue, 02 Feb 2010) | 5 lines
Guess the duration before converting video and write guessed duration
	into flv header.
	Patch by Justin Johnson, justin D johnson3 A gmail

The change to ffmpeg.c is wrong as input and output files arent connected 1:1
(i seem to have missed that)
Also it can segfault see ([FFmpeg-devel] rtp streaming x264+audio issues (and some ideas to fix them))

Originally committed as revision 21652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 11:11:10 +00:00
Michael Niedermayer
8dcbf4c7aa Long term references behave different from short term in spatial direct MV calculation.
Fixes FRExt_MMCO4_Sony_B / issue1251

Originally committed as revision 21651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 02:55:58 +00:00
Stefano Sabatini
6e2fdc3eb1 Add parentheses in boolean expression: (A && B || C) => ((A && B) || C),
fix the warning:
ffmpeg.c: In function ‘output_packet’:
ffmpeg.c:1317: warning: suggest parentheses around && within ||

Originally committed as revision 21650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 00:10:42 +00:00
Stefano Sabatini
570da52bac Remove unused variable ref_clock, fix the warning:
ffplay.c: In function ‘compute_frame_delay’:
ffplay.c:1064: warning: unused variable ‘ref_clock’

Originally committed as revision 21649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 00:05:38 +00:00
Stefano Sabatini
62bb4ca199 Simplify how usesVFilter and usesHFilter are set.
Originally committed as revision 30520 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-05 23:53:25 +00:00
Stefano Sabatini
1dc5c35809 Satisfy style nits.
Originally committed as revision 21648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 23:24:08 +00:00
Stefano Sabatini
4e38c09433 Doxument url_fdopen().
Originally committed as revision 21647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 23:03:32 +00:00
Stefano Sabatini
fbc0f6a973 Apply misc fixes to sws_getCoefficients() doxy.
Originally committed as revision 30519 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-05 22:56:59 +00:00
Stefano Sabatini
89ee5c6897 Satisfy consistency need:
int * sws_getCoefficients  -> int *sws_getCoefficients.

Originally committed as revision 30518 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-05 22:54:45 +00:00
David Conrad
3f3dc76cb1 Add function to translate SWS_CS_* to coefficient array
Originally committed as revision 30513 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-05 16:09:03 +00:00
Michael Niedermayer
bf8ae197b6 make the RDFT vissualizatiom default, the scopes are ugly and eat CPU like
piranhas.

Originally committed as revision 21646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 15:26:42 +00:00
Michael Niedermayer
4c7c76456d Make sure the rdft has enough audio available.
10l (looks cleaner now)

Originally committed as revision 21645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 15:16:38 +00:00
Michael Niedermayer
ffdf0d48fc strn muxing in avi support.
untested as ffmpeg.c has no means to set AVStream metadata (patchwelcome)

Originally committed as revision 21644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 15:14:56 +00:00
Michael Niedermayer
7a9af8ec19 Support strn tag in avidec.
Originally committed as revision 21643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 12:16:59 +00:00
Michael Niedermayer
1ac0893799 Correcting wrong looking stream_id validity check in avidec.
Originally committed as revision 21642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 11:50:44 +00:00
Michael Niedermayer
092421cf0e Scale rdft vissualization up by 2 so theres no unused space on the top
but rather the unimportant high frequencies are cut off if the window is
not a multiple of 2 high.

Originally committed as revision 21641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 11:25:58 +00:00
Vitor Sessak
674fe16371 Do not segfault when doing "ffplay -h"
Originally committed as revision 21640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 04:42:20 +00:00
Michael Niedermayer
12eeda342a Pretty RDFT audio visualization.
Originally committed as revision 21639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 02:06:38 +00:00
Michael Niedermayer
d52ec0029b Fast seeking.
Try clicking with the mouse in the window, hold the button and drag.

Originally committed as revision 21638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-05 00:37:39 +00:00
Jai Menon
f430c7b6ac Add ALAC 24 bps decoding support.
Originally committed as revision 21637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 16:21:26 +00:00
Michael Niedermayer
3102d180bb Fix large timebases.
Fixed issue1633

Originally committed as revision 21636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 15:30:37 +00:00
Michael Niedermayer
ed3e91489b Implement cool new vlc code.
Fixes issue1637

Originally committed as revision 21635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 14:26:57 +00:00
Michael Niedermayer
2d1653b065 autoexit
implements issue1019

Originally committed as revision 21634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-04 01:54:24 +00:00
Michael Niedermayer
8c3b161e9e Dont try generic seek if seek request before first index entry and backward.
Fixes issue1275

Originally committed as revision 21633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:59:48 +00:00
Stefano Sabatini
82e5f86bd5 Implement shuffle_bytes_abcd() functions and use them for shuffling
bytes when converting between RGB32 variants.

In particular fix the argb -> rgba and abgr -> bgra conversions.

See the thread:
Subject: [FFmpeg-devel] [RFC] RGB32 / BGR32 ethernal bug
Date: Tue, 26 Jan 2010 01:06:18 +0100

Originally committed as revision 30501 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-03 23:46:00 +00:00
Michael Niedermayer
f5968788bb Clean after toggling wave.
Fixes issue1180.

Originally committed as revision 21632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:34:06 +00:00
Stefano Sabatini
ef9f8dd730 Use pixel format descriptors for checking if the input format is
paletted. Simpler and more robust.

Originally committed as revision 21631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:10:18 +00:00
Michael Niedermayer
43e4d57f66 Try to open decoders in av_find_stream_info() even if no packets for the
stream are found.
Fixes issue1385

Originally committed as revision 21630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:05:58 +00:00
Michael Niedermayer
b25453bdfc Move is->frame_timer init from start to flush_pkt handling so it is also
done on seeking. This fixes the bug where after reaching the end and waiting
a few seconds seeking back to the begin messes up AV sync and playback speed.

Originally committed as revision 21629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 21:33:31 +00:00
Stefano Sabatini
cedac88250 Make opt_frame_pix_fmt() call show_pix_fmts() if the provided option
is "list".

Originally committed as revision 21628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 19:55:45 +00:00
Michael Niedermayer
566cd2cba1 The convertion between bit and byte is 8 not 60.
Fixes wrong cursor key seek distances.

Originally committed as revision 21627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 15:19:19 +00:00
Michael Niedermayer
f575f08ccb Correct opts calulation in ffmpeg.c.
This correct the stop point for demuxing with -vcodec copy and -t as well as
packet interleaving. (we already diddrop packets but kept demuxing them
for too long due to opts being wrong)
the change to ffm is due to 2 packets with timestamp 0 being stored
in different order.

Originally committed as revision 21626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 15:09:04 +00:00
Michael Niedermayer
5bfe91e683 Alternative solution for the mpegvideo_split + mov problem.
Originally committed as revision 21625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 14:53:14 +00:00
Peter Ross
451b353d87 Indentation cleanup
Originally committed as revision 21624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 09:58:14 +00:00
Peter Ross
02c4f626a8 Extend IFF demuxer to parse PBM/ILBM bitmap chunks
Originally committed as revision 21623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 09:57:21 +00:00
Peter Ross
b9e06dddb7 IFF PBM/ILBM bitmap decoder
Originally committed as revision 21622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 09:56:16 +00:00
Michael Niedermayer
299fd39697 Revert
r12684 | michael | 2008-04-04 02:43:34 +0200 (Fri, 04 Apr 2008) | 2 lines
	Disable the split function. This should end the mpeg1/2 global header issues.
The split function is essential for -ss to work
Fixes issue1226
If this breaks something please tell me, also if someoen remembers what problem
this originally caused tell me too, i searched but couldnt find it.

Originally committed as revision 21621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 04:40:42 +00:00
Michael Niedermayer
3c8d75e65b Only set duration for streams where it is likely correct.
Fixes issue1120

Originally committed as revision 21620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 00:35:10 +00:00
Michael Niedermayer
bce8840a4e Set nb_frames.
Also add DXSA tag (commited by mistake in this commit, i can revert and recommit
seperately if someone wants)

Originally committed as revision 21619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 23:53:38 +00:00
Michael Niedermayer
f04c6e35d4 Compare the correct clocks for syncing video to audio/ext.
Fixes initial delay on video from issue1134.

Originally committed as revision 21618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 23:22:35 +00:00
Carl Eugen Hoyos
36cbdc9539 Fix r21223: AVup samples (issue 1685) need a buf offset like AV1x (issue 1684).
Originally committed as revision 21617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 22:57:56 +00:00
Michael Niedermayer
48ff3f7cc8 Move the initial refresh scheduling for audio display away from where it
can interfere with video.

Originally committed as revision 21616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 22:43:09 +00:00
Justin Johnson
c5e1e9827d Guess the duration before converting video and write guessed duration
into flv header.

Patch by Justin Johnson, justin D johnson3 A gmail

Originally committed as revision 21615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 22:23:09 +00:00
Michael Niedermayer
a3cc2160e0 Commit disapeared hunk, must have editied this out by mistake between local debug statements.
This should fix seeking in TS.

Originally committed as revision 21614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 21:31:20 +00:00
Yuriy Kaminskiy
5d39be73cb Fix warnings about redefining constants when compiling libpostproc.
Patch by Yuriy Kaminskiy, yumkam mail ru

Originally committed as revision 21607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 19:35:52 +00:00
Michael Niedermayer
70a4764d0e Autodetect when byte based seeking is better (that is for all formats that allow
discontinuities)
Fixes issue1090

Originally committed as revision 21606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 18:02:16 +00:00
Michael Niedermayer
1a620dd79e Use currently displayed file position instead of just url_ftell() for seeking by bytes.
This fixes seeking back with the cursor keys and -bytes.

Originally committed as revision 21605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 16:51:02 +00:00
Michael Niedermayer
c45ebd5461 Set AVPacket.pos in MPEG-PS demuxer.
Originally committed as revision 21604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 16:47:51 +00:00
Michael Niedermayer
3890dd3a5c Fix seek flags
Originally committed as revision 21603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 16:01:22 +00:00
Måns Rullgård
0694a009b6 Fix build
Originally committed as revision 21602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 23:30:30 +00:00
Alexis Ballier
9125806e34 Fix warnings about implicit function declaration when compiling rtpdec.c
Patch by Alexis Ballier, alexis D ballier A gmail

Originally committed as revision 21601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 23:10:04 +00:00
Stefano Sabatini
ecbed31c00 Use parentheses around && within ||, fix the gcc warning:
ffplay.c: In function ‘video_thread’:
ffplay.c:1391: warning: suggest parentheses around && within ||

Originally committed as revision 21600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 22:23:17 +00:00
Stefano Sabatini
df7d6e484c Reindent.
Originally committed as revision 21599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 22:17:15 +00:00
Michael Niedermayer
f8ccf72005 Check pkt.pts against the recording time.
This fixes at least ogg encoding with -t where the file was slightly too long.

Originally committed as revision 21598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 22:08:45 +00:00
Stefano Sabatini
d2a2b08cfe Use pixel format descriptors to check if the input format is paletted.
Originally committed as revision 21597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 19:50:17 +00:00
Reinhard Tartler
4ebaec791c mention symbol versioning
Originally committed as revision 21594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 15:51:05 +00:00
Michael Niedermayer
99e0b12bd7 Make sure the faulty timestamp detection is just done when we have a picture
from the decoder.

Originally committed as revision 21593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 13:03:46 +00:00
Michael Niedermayer
f7119e42e1 Reset frame_last_delay to 0.
This avoids a few ms delay for the first frame after a seek in theory.

Originally committed as revision 21592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:31:28 +00:00
Michael Niedermayer
acf24b870f Move frame_last_delay into flush code as it must be reset on seeks to,
otherwise the first frame after a seek would be delayed by that amount.

Originally committed as revision 21591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:30:14 +00:00
Michael Niedermayer
967030eb24 Reset frame_last_pts on flush (and thus also at start)
fixes issue558 and probably others.

Originally committed as revision 21590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:27:26 +00:00
Michael Niedermayer
515bd00e65 Insert a flush packet into the que on init, that way common code between
flush and init can be put into the flush handling.

Originally committed as revision 21589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:22:12 +00:00
Michael Niedermayer
6c7d3ead79 "Flush" the picture que on seeks, this prevents the display thread from
having frames from before and after the seek which just isnt a good idea.

Originally committed as revision 21588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 12:19:28 +00:00
Anton Khirnov
ca76a11948 Add a list of generic tags and change demuxers to follow it.
Patch by Anton Khirnov, wyskas at gmail dot com

Originally committed as revision 21587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 11:39:10 +00:00
Michael Niedermayer
b8bb398a40 Schedule refreshes from a thread that actually knows the PTS.
Fixes wernfried_1.avi

Originally committed as revision 21586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 11:30:31 +00:00
Michael Niedermayer
68aefbe81c Fix race condition with reading between video_current_pts and video_current_pts_time.
Originally committed as revision 21585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 10:55:51 +00:00
Michael Niedermayer
f5668147cb Try to more completely update time variables on unpause.
Could not notice a differenc in behavior.

Originally committed as revision 21584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 10:32:17 +00:00
Thilo Borgmann
8e14fbe89b Remove unnecessary fields in ALSSpecificConfig.
Originally committed as revision 21583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 09:53:37 +00:00
Michael Niedermayer
41a4cd0c33 Simplify get_video_clock()
Originally committed as revision 21582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 09:26:30 +00:00
Michael Niedermayer
5905536347 10l, forgot HAS_ARG, -drp segfaulted.
Originally committed as revision 21581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 03:12:01 +00:00
Michael Niedermayer
5cd3928478 Set reordered_opaque during context alloc by default to AV_NOPTS_VALUE.
This should make sure that pictures allocated prior to avcodec_decode_video()
get AV_NOPTS_VALUE assigned.

Originally committed as revision 21580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 00:18:49 +00:00
Michael Niedermayer
41db429dd5 decoder reorder pts auto detection.
Originally committed as revision 21579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 18:54:32 +00:00
Michael Niedermayer
6371c81a92 Fix indention.
Originally committed as revision 21578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 18:07:58 +00:00
Michael Niedermayer
411ff3225f Increase search range if no end timestamp could be found for the duration
calculation.

Originally committed as revision 21577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 17:43:18 +00:00
Stefano Sabatini
351aff72a4 Fix grammar: write to DST THING -> write THING to DST.
Originally committed as revision 21576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 17:13:57 +00:00
Stefano Sabatini
b4b6645655 Avoid usage of avcodec_get_pix_fmt_name() and
avcodec_get_chroma_sub_sample(), directly access
av_pix_fmt_descriptors instead.

Remove some of the dependancies of lavfi on lavc.

Originally committed as revision 21575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 16:33:29 +00:00
Kostya Shishkov
971c55f186 Bink video codec id is there, demuxer can use it
Originally committed as revision 21574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 16:21:49 +00:00
Daniel Verkamp
abafc87c46 Update binkaudio to new DECLARE_ALIGNED syntax
Originally committed as revision 21573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 15:07:25 +00:00
Daniel Verkamp
315c8d6c4e libavcodec version bump for Bink codec IDs (r21536)
Originally committed as revision 21572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 13:34:28 +00:00
Peter Ross
40da0b3691 Latent libavformat version bump for Bink demuxer (r21569)
Originally committed as revision 21571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 13:01:00 +00:00
Peter Ross
c0d3f516cb Bink Audio decoder
Originally committed as revision 21570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 12:51:15 +00:00
Peter Ross
2e375df5b2 Bink demuxer
Originally committed as revision 21569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 12:35:09 +00:00
Reimar Döffinger
688621d76b Add include to fix implicit declaration of ff_mpeg4_init_direct_mv and
ff_h263_encode_mba

Originally committed as revision 21568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 12:27:05 +00:00
Peter Ross
6b807c15aa Add v210x decoder long name
Originally committed as revision 21567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 12:06:33 +00:00
Stefano Sabatini
af0e662169 Declare support for the pixel formats:
PIX_FMT_YUVJ420P
PIX_FMT_YUVJ422P
PIX_FMT_YUVJ440P
PIX_FMT_YUVJ444P

in the isSupported{In,Out} macros.

These pixel formats are not true pixel formats but hacks specific to
JPEG in libavcodec. They are deprecated and should be removed (that is
from libavcodec first and libswscale second)...  but they must be
tested by swscale-test.

See thread:
Subject: [FFmpeg-devel] [PATCH] Extend show_pix_fmts() to make it print the input/output support
Date: 2010-01-30 15:54:08 GMT

Originally committed as revision 30474 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-31 10:16:05 +00:00
Michael Niedermayer
37b2b0d6cd Get rid of a check in one direction that cant be true in it in that part
of the code.
No meassureable speed change.

Originally committed as revision 21566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 02:05:26 +00:00
Måns Rullgård
e62bd367ea Blackfin: use SRAM only when CONFIG_SRAM is set
Originally committed as revision 30472 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-31 00:20:37 +00:00
Måns Rullgård
d132d50fb8 Blackfin: use SRAM only when CONFIG_SRAM is set
Originally committed as revision 21565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 00:20:30 +00:00
Måns Rullgård
6b35d421b9 Add CONFIG_SRAM to allow use of on-chip SRAM on some systems
Some SoCs have a small amount of on-chip SRAM which may be used
for frequently used code or data.  When enabled, this option
will allow FFmpeg to use such facilities where supported.

Originally committed as revision 21564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 00:20:27 +00:00
Michael Niedermayer
2ef4605373 Fix seeking by bytes with the mouse and do so by default if the duration is
nonsense.

Originally committed as revision 21563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 23:19:59 +00:00
Michael Niedermayer
c55806e3a2 Flag to ignore dts on frames that contain pts.
This works around common issues with mpeg-ps files with broken timestamps.
Also allows playing the broken sample from issue1024.

Originally committed as revision 21562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 22:55:12 +00:00
Michael Niedermayer
6299a22904 Fix AVFormat AVOprions.
Originally committed as revision 21561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 22:47:08 +00:00
Reimar Döffinger
029ddf333c Store strings directly in mov_mdhd_language_map instead of using pointers,
which has a up to 200% overhead.
Also allows to use memcpy instead of strcpy.

Originally committed as revision 21560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 22:05:26 +00:00
Stefano Sabatini
909f659473 Reindent.
Originally committed as revision 30467 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-30 21:58:09 +00:00
Stefano Sabatini
3ece3e524f Use a consistent convention for the names of the internal wrapper
functions. Improve readability.
 -This line, and those below, will be ignored--

     swscale.c

Originally committed as revision 30466 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-30 21:56:33 +00:00
Michael Niedermayer
f28f146473 Flush the bitreservour.
Fixes issue1716

Originally committed as revision 21559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:55:18 +00:00
Reimar Döffinger
1c90d2985d Always consider the mov language code as 4 bytes fixed size and change the
function declaration to reflect this.

Originally committed as revision 21558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:54:06 +00:00
Reimar Döffinger
832ec42858 Simplify conversion to 5-bit ASCII.
Originally committed as revision 21557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:50:47 +00:00
Måns Rullgård
c676895fd9 Separate audio-only tests so they are only run once
Originally committed as revision 21556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:47:13 +00:00
Michael Niedermayer
79ee468365 Redesign packet queue full check to be more robust.
Originally committed as revision 21555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 21:27:17 +00:00
Michael Niedermayer
ce2421a5c3 Bump up MAX_VIDEOQ_SIZE to fix stuttering of oddly interleaved avi files.
Fixes issue1211

Originally committed as revision 21554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 20:45:21 +00:00
Stefano Sabatini
8757dc5e40 Remove duplicated empty line.
Originally committed as revision 21553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 20:18:55 +00:00
Michael Niedermayer
2646814897 Split first reference list comparission from mv comparission.
about 0.5% faster MBAFF loop filtering

Originally committed as revision 21552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 20:07:37 +00:00
Reimar Döffinger
3d05c1fbec Make the jump-table section-relative for x86_64 with PIC enabled.
This allows to get rid of the macho64 specific hack that moves them
to rodata (with worse cache behaviour) and avoids textrels which
e.g. Gentoo does not allow for x86_64 libraries.

Originally committed as revision 21551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:26:47 +00:00
Stefano Sabatini
718c7b18c9 Use av_get_pix_fmt() instead of the deprecated avcodec_get_pix_fmt()
function.

Originally committed as revision 21550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:10:26 +00:00
Stefano Sabatini
22bf4592c8 Remove duplicated word in av_strlcat() doxy.
Originally committed as revision 21549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:03:37 +00:00
Stefano Sabatini
1c7900921b Add missing '()' at the end of a function name.
Originally committed as revision 21548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 18:54:32 +00:00
Stefano Sabatini
14ace37efc Add mention to the av_get_pix_fmt() addition.
Originally committed as revision 21547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 18:53:33 +00:00
Carl Eugen Hoyos
64ad53ff5b Disable Altivec for processors older than G4.
Originally committed as revision 21546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 18:50:28 +00:00
Stefano Sabatini
80a07f6e47 Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt().
Originally committed as revision 21545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 18:50:00 +00:00
Ancoron Luciferis
7b0b81a16d PPC: allow --cpu=E500[v2]
Patch by Ancoron Luciferis <ancoron chaoslayer de>

Originally committed as revision 21544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 18:07:07 +00:00
Måns Rullgård
5634889107 configure: match PPC CPU types case insensitively
Originally committed as revision 21543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 18:07:05 +00:00
Måns Rullgård
9b86137908 Set target_path to $(CURDIR)
CURDIR is updated by make -C, PWD is not.

Originally committed as revision 21542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 15:48:55 +00:00
Michael Niedermayer
4e992796a9 Replace h->left_type[0] by the local variable for it we have.
No meassureable speed effect.

Originally committed as revision 21541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 14:33:25 +00:00
Michael Niedermayer
012dbcce08 slightly faster bit trickery.
Originally committed as revision 21540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 14:10:06 +00:00
Michael Niedermayer
77821e11b3 Replace ?: by branchless code.
about 0.5% faster loop filtering

Originally committed as revision 21539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 13:40:20 +00:00
Stefano Sabatini
7dac0c4379 Fix randomness of the swscale-test output.
See the thread:
Subject: [FFmpeg-devel] [RFC] Make swscale-test perform only one convertion
Date: Fri, 29 Jan 2010 01:52:23 +0100

Originally committed as revision 30457 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-30 13:31:00 +00:00
Daniel Verkamp
2a33c673b1 Set duration in Smacker demuxer
Originally committed as revision 21538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 10:37:52 +00:00
Daniel Verkamp
895ab7489b Demux Bink audio in Smacker files
Originally committed as revision 21537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 10:31:10 +00:00
Daniel Verkamp
4e5f42dd79 Add Bink codec IDs
Originally committed as revision 21536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 09:48:55 +00:00
Kostya Shishkov
adb5496146 another 10l: forgot to change parent condition as well
Originally committed as revision 21535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 09:47:57 +00:00
Kostya Shishkov
b381a823cd 10l trocadero: now return value of ff_rtmp_packet_read() has different meaning
Originally committed as revision 21534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 09:45:52 +00:00
Kostya Shishkov
0b6b10d9da Make RTMP send/receive packet functions report number of bytes read or sent.
Originally committed as revision 21533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 09:24:52 +00:00
Kostya Shishkov
09b67cc4bd cosmetics: add an empty line between variable declarations and code
Originally committed as revision 21532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 08:38:11 +00:00
Kostya Shishkov
1cf3168516 Indeo Video Interactive 4 and 5 common code and DSP functions.
Reviewed and corrected by myself because there were no other volunteers in the
last weeks.

Originally committed as revision 21531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 08:10:17 +00:00
Ramiro Polla
b0f36ee1cd Revert commits 21227, 21441, and 21442. None of this is necessary now that we
load the getaddrinfo family of functions through GetProcAddress. Also, there
is currently no feature that gets fixed in Win98 through the use of KernelEx.

Originally committed as revision 21530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 19:50:58 +00:00
Reimar Döffinger
800274f871 Make VP5 and VP6 decoders output a qscale table to allow for more automatic
post-processing, and add a new FF_QSCALE_TYPE_VP56 for this.

Originally committed as revision 21529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 19:11:47 +00:00
Ronald S. Bultje
5e4e9042c4 Add no_repeat_mask option, so that single-pulse vectors can also be
expressed in a AMRFixed structure and handled by ff_set_fixed_vector().

Originally committed as revision 21528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 16:49:06 +00:00
Robert Swain
4a27f326c5 Add support for vorbis 6.1 and 7.1 channel configurations as per the new spec
http://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-800004.3.9

Originally committed as revision 21527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 13:51:25 +00:00
Baptiste Coudurier
012dc2c426 Remove MAX_STREAMS usage in ogg and mxf muxers
Originally committed as revision 21526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 06:38:00 +00:00
Måns Rullgård
402d55eef1 Set target_path to $(PWD) by default
This simplifies configuring for the most common remote testing
setup.

Originally committed as revision 21525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 04:13:29 +00:00
Måns Rullgård
6c88973a75 Add AV_COPY32
Originally committed as revision 21524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 03:26:17 +00:00
Måns Rullgård
788627dea6 Define av_alias if supported by compiler
Originally committed as revision 21523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 03:26:14 +00:00
Måns Rullgård
dffb41b953 Check for may_alias gcc attribute support
Originally committed as revision 21522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-29 03:26:12 +00:00
Laurent Aimar
68a4d3498f vp56: check buffer size to fix a potential segfault
patch by Laurent Aimar  fenrir _at_ videolan _dot_ org

Originally committed as revision 21521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 23:49:46 +00:00
Måns Rullgård
8be0a5c384 Move ECFLAGS so it doesn't get added multiple times
Originally committed as revision 21520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 23:30:24 +00:00
Justin Ruggles
2c2cdc0bfb Simplify error handling by processing header errors separate from CRC and
buffer size vs. frame size errors.

Originally committed as revision 21519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 23:19:33 +00:00
Reimar Döffinger
836fc77785 Move variable declaration to block where it is used and simplify code.
Avoids a (incorrect) "possibly used uninitialized" warning, no measurable
speed difference.

Originally committed as revision 21518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 21:01:50 +00:00
Rafaël Carré
dd0cd3d273 Export H264 profile and level in AVCodecContext.
Patch by Rafaël Carré, rafael D carre A gmail

Originally committed as revision 21517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 20:57:29 +00:00
Reimar Döffinger
88517e9f9d Extract duplicated code into a separate function.
5% faster on Intel Atom with gcc 4.4.1 (performance is unchanged
if using av_always_inline).

Originally committed as revision 21516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 20:15:19 +00:00
Måns Rullgård
604b2f5276 Append ECFLAGS to CFLAGS
This makes it easy to supply extra flags on the make command line
for testing purposes.

Originally committed as revision 21515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 20:13:46 +00:00
Michael Niedermayer
34032e26ab factorize first filter call out, this makes the code somewhat
smaller without any speed loss.

Originally committed as revision 21514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 19:44:13 +00:00
Jai Menon
ecc544debd ffmpeg.c : Don't set AVFormatParameters::[audio|video]_codec_id
since it is no longer required.

Originally committed as revision 21513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 16:17:52 +00:00
Ronald S. Bultje
45aa90807f Add RTP/H.263 depacketizer by Martin Storsjö <$firstname () $firstname st>.
Originally committed as revision 21512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 16:08:13 +00:00
Jai Menon
90d0379f5e Avoid using deprecated AVFormatParameters::[audio|video]_codec_id field.
Originally committed as revision 21511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 15:45:21 +00:00
Ronald S. Bultje
52ed8d0efe Simplify. See "[PATCH] simplify ff_set_fixed_vector()" thread on mailinglist.
Originally committed as revision 21510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 14:29:53 +00:00
Måns Rullgård
4ae406856f Add --malloc-prefix to apply a prefix to malloc, free etc
This makes it easy to use a replacement allocator instead of the
system default one.

Originally committed as revision 21509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 13:06:31 +00:00
Rafaël Carré
e9ca315dd1 Initialize thread_context[0] with h264 parser context.
This allows freeing the parser memory in the thread_context freeing loop.

Patch by Rafaël Carré gmailify(rafael, carre)

Originally committed as revision 21508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 13:04:25 +00:00
Michael Niedermayer
592e03a8da Change wraper functions to always inline, they are faster now that way.
1% faster MBAFF decoding overall, maybe ~0.1% faster for the cathedral sample.

Originally committed as revision 21507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 11:37:35 +00:00
Michael Niedermayer
5364db2893 indent
Originally committed as revision 21506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 11:18:06 +00:00
Michael Niedermayer
2cf0d46d4c Restructure check_mv()
~20 cpu cycles faster loopfilter

Originally committed as revision 21505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 11:12:46 +00:00
Michael Niedermayer
fabd704b37 Restructure if() in check_mv()
quite a bit faster

Originally committed as revision 21504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 10:38:43 +00:00
Michael Niedermayer
ca7c784fdf Unroll loops in check_mv()
~6% faster (slow path) loopfilter (should be ~2% overall)

Originally committed as revision 21503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 10:34:06 +00:00
Michael Niedermayer
e814817b74 Factor mv/ref compare code out.
This is a hair slower (0.15% maybe) but i really dont want to have the
identical code duplicated 3 times because gcc adds odd threaded jumps with
register reshuffling and register safe/restore.

Originally committed as revision 21502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 10:10:02 +00:00
Daniel Kristjansson
31277aebd9 Use av_mallocz in url_open_protocol for URLContext.
Patch by Daniel Kristjansson: danielk cuymedia net

Originally committed as revision 21501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 09:11:26 +00:00
Michael Niedermayer
12f1b1fec4 Remove last MAX_STREAMS from avienc.c
Originally committed as revision 21500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 03:37:22 +00:00
Måns Rullgård
14ca9cd0b0 configure: consolidate compiler-specific optimisation settings
In the main per-compiler section, set speed_cflags and size_cflags
with suitable values.  Later one or the other is added to CFLAGS.

Originally committed as revision 21499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:50:36 +00:00
Michael Niedermayer
b4f0e04c99 Introduce AVIStream struct and move stream based variables to it.
This removes all but one MAX_STREAM from avienc.c.

Originally committed as revision 21498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:45:17 +00:00
Michael Niedermayer
3b84924516 Simplify first edge filter condition.
Originally committed as revision 21497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:41:52 +00:00
Michael Niedermayer
b6302d0c55 Cosmetics, mostly indention, 2 or so new fixme comments that i was to lazy
to split out

Originally committed as revision 21496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:20:31 +00:00
Michael Niedermayer
0a32508d90 Make the fast loop filter path work with unavailable left MBs.
This prevents the issue with having to switch between slow and
fast code paths in each row.
0.5% faster loopfilter for cathedral

Originally committed as revision 21495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 02:15:25 +00:00
Michael Niedermayer
b304767301 get rid of the start variable.
a few cycles faster

Originally committed as revision 21494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 01:31:06 +00:00
Michael Niedermayer
980bcc554d Unroll main loop so the edge==0 case is seperate.
This allows many things to be simplified away.
h264 decoder is overall 1% faster with a mbaff sample and
0.1% slower with the cathedral sample, probably because the slow loop
filter code must be loaded into the code cache for each first MB of each
row but isnt used for the following MBs.

Originally committed as revision 21493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 01:24:25 +00:00
Stefano Sabatini
695f7de6a4 Declare variable "version" in the PRINT_LIB_VERSION() macro if block,
slightly simpler and more robust.

Originally committed as revision 21492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 23:08:43 +00:00
Carl Eugen Hoyos
39c6b3f54c Support demuxing Blu-ray subtitles in matroska files.
Patch sent to mailing list by Taylor Ralph, taylor D ralph A gmail

Originally committed as revision 21491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 22:39:18 +00:00
Ronald S. Bultje
88248b76af Fix BSD compile (PF_UNSPEC is not a standard define, AF_UNSPEC is).
Originally committed as revision 21490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 22:31:13 +00:00
Rafaël Carré
881b5b80da Fix svq3_* function declarations.
Patch by Rafaël Carré, rafael D carre A gmail

Originally committed as revision 21489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 22:22:01 +00:00
Måns Rullgård
e3d8807315 SVQ1: 4-byte-align codebook tables
These tables are accessed as uint32 so they must be suitably aligned.

Originally committed as revision 21488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 21:31:19 +00:00
Reimar Döffinger
7e2ef1b9e1 Fix possible crashes in mlp parser, it tries to go back 7 bytes after
finding the 4-byte signature.
Add a check that ignores the signature if we do not have enough previous
data to go back at least 7 bytes.

Originally committed as revision 21487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 20:04:19 +00:00
Reimar Döffinger
d780511b94 Reduce log level of "Extracting .. channel downmix" to AV_LOG_DEBUG, the
message is pointless to ordinary users and is printed once per frame.

Originally committed as revision 21486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 20:02:18 +00:00
Michael Niedermayer
d30a8beb99 Fix duration calculation in the presence of a single wraping of the timeline.
Fixes issue1714.

Originally committed as revision 21485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 19:37:52 +00:00
Jai Menon
ad5cc780c0 Schedule an increase in the maximum number of streams
at next libavformat major version bump.

Originally committed as revision 21484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 19:13:35 +00:00
Jai Menon
60402344af ffmpeg.c : Increase static limit on the maximum number of
input files.

Originally committed as revision 21483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 19:11:31 +00:00
Måns Rullgård
87fec35d8d Add macro AV_JOIN() for joining two tokens into one
Originally committed as revision 21482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 17:38:53 +00:00
Michael Niedermayer
9f72b23c5c Revert Revision: 21362
Log:
	Set CODEC_CAP_SUBFRAMES for adpcm decoders

	This makes ffmpeg stop printing millions of
	  Multiple frames in a packet from stream 0
	when decoding adpcm.
Reason: adpcm has no subframes, the flag does not belong there

Originally committed as revision 21481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:30:05 +00:00
Michael Niedermayer
3ff0daf06d Print "Multiple frames in a packet" warning independant of CODEC_CAP_SUBFRAMES
because CODEC_CAP_SUBFRAMES is primarely misused to hide this warning otherwise
which renders the flag completely useless.

Originally committed as revision 21480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:27:18 +00:00
Michael Niedermayer
8670f84cf9 Update comment.
Originally committed as revision 21479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:18:08 +00:00
Michael Niedermayer
67b678bb40 Revert Revision: 21473
Log:
	Fix misc typos, patch by
	Fabian Greffrath base64_decode(PGZhYmlhbkBncmVmZnJhdGguY29tPg==).
This violates the spec.

Originally committed as revision 21478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:03:53 +00:00
Måns Rullgård
5116571dcd Prettify PRINT_LIB_VERSION macro
Originally committed as revision 21477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 12:58:26 +00:00
Måns Rullgård
58fe804a5a Get rid of ifdeffery for printing library versions and configurations
Originally committed as revision 21476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 12:58:22 +00:00
Måns Rullgård
dc4f5a1c3a Emit CONFIG_AVUTIL for completeness
Originally committed as revision 21475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 12:58:19 +00:00
Michael Niedermayer
e470ef7641 Use table to speedup access to non_zero_count in MBAFF with differing interlacing.
~4 cpu cycles speedup

Originally committed as revision 21474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 11:14:29 +00:00
Stefano Sabatini
e8a9d01846 Fix misc typos, patch by
Fabian Greffrath base64_decode(PGZhYmlhbkBncmVmZnJhdGguY29tPg==).

Originally committed as revision 21473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 00:31:52 +00:00
Måns Rullgård
97d5fa38e0 10l: fix linking
Alphabetical order isn't always a good idea.

Originally committed as revision 21472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 00:26:41 +00:00
Stefano Sabatini
b51de6d8c7 Rename swscale-example to swscale-test, to better reflect the intended
use of the program.

Originally committed as revision 30439 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-27 00:25:23 +00:00
Stefano Sabatini
d19a046ebb Document av_register_protocol(), not that it really needs to be
documented but it's nice to have everything documented.

Originally committed as revision 21471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 00:21:28 +00:00
Michael Niedermayer
8652e44acd Simplify left_xy init
Originally committed as revision 21470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 00:15:55 +00:00
Michael Niedermayer
599fe45b8d Split fill_caches() between loopfilter & decode, the 2 no longer where common
enough to justify the messy interleaving.

Originally committed as revision 21469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 23:54:11 +00:00
Måns Rullgård
5a0f713118 Allow disabling of lavc, lavf, lavd, and lsws
Originally committed as revision 21468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 23:13:01 +00:00
Michael Niedermayer
16e5e39ab4 Optimize loop filtering of the left edge in MBAFF.
60 cpu cycles speedup

Originally committed as revision 21467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 22:59:19 +00:00
Ramiro Polla
d3cb93b374 Revert r21226, it was a joke:
Get one step closer to world domination.
Remove "make uninstall".

Originally committed as revision 21466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 22:23:12 +00:00
Michael Niedermayer
dfe4dc154b use left_xy[1] in mbaff QP loop filter check, this improves the amount that can
be skiped.

Originally committed as revision 21465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 20:28:58 +00:00
Michael Niedermayer
aebf31236e Optimize mv/ref cache init for left MB.
Originally committed as revision 21464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 20:25:14 +00:00
Måns Rullgård
f2c694af28 Add UMULH()
This function/macro returns the high half of the unsigned 64-bit
product of two unsigned 32-bit operands.

Originally committed as revision 21463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 18:05:55 +00:00
Loren Merritt
900479bb74 optimize h264_loop_filter_strength_mmx2
244->160 cycles on core2

Originally committed as revision 21462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 17:17:48 +00:00
Jeremy Morton
2700063655 Don't use tcp_fd if we're not using TCP-based connections (e.g. when
reading direct SDP files to set up UDP-based RTP-streams). Fixes
issue 1713. Patch by Jeremy Morton <ffmpeg game-point net>.

Originally committed as revision 21461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 15:51:54 +00:00
Michael Niedermayer
6548c939ec remove unneeded check
Originally committed as revision 21460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 15:34:21 +00:00
Michael Niedermayer
18ea2f933c Use left_mb_xy from fill_caches instead of recalculating it.
Originally committed as revision 21459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 14:57:53 +00:00
Michael Niedermayer
a715af8ff4 Simplify left_xy content for the loop filter, this also makes it closer to
what is needed and its faster too.

Originally committed as revision 21458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 14:55:19 +00:00
Michael Niedermayer
d5c30c86d0 Simplify loop filter a little by using top/left_type.
Originally committed as revision 21457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:39:26 +00:00
Michael Niedermayer
99344d4372 Set top & left types for deblock in fill_caches().
Originally committed as revision 21456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:38:18 +00:00
Michael Niedermayer
aaa995d7f2 100l typo fix, mixed up +-1 forcing the loop filter skip to never skip.
Originally committed as revision 21455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:30:33 +00:00
Michael Niedermayer
66472bcde0 cosmetic
Originally committed as revision 21454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:28:55 +00:00
Michael Niedermayer
3046c25ec5 Fix qp_thres loop filter check for MBAFF.
Originally committed as revision 21453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 13:27:22 +00:00
Michael Niedermayer
806ac67b51 Optimize mb neighbor initialization for MBAFF in fill_caches().
~10 cpu cycles speedup.

Originally committed as revision 21452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 10:35:36 +00:00
Carl Eugen Hoyos
ddee80f384 Metasoft MJPEG codec has Cb and Cr swapped, fixes issue 1611.
Originally committed as revision 21451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-26 10:30:24 +00:00
Michael Niedermayer
6022255774 Use isAnyRGB() where possible
Originally committed as revision 30435 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-26 08:03:28 +00:00
Michael Niedermayer
81858371d9 Add 3 more RGB makros that allow specifying RGB in bytes and any rgb/bgr.
Originally committed as revision 30434 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-26 08:01:50 +00:00
Michael Niedermayer
3b1ee70312 Rename isRGB() and isBGR() as their meaning is confusing.
Originally committed as revision 30433 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-26 07:40:14 +00:00
Stefano Sabatini
7b87519b32 Merge two "if (flags & SWS_PRINT_INFO) { ... }" blocks, slightly
simplify code.

Originally committed as revision 30432 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-25 22:46:09 +00:00
Michael Niedermayer
021dccba1f Fix heap overflow due to lack of nb_components check.
Originally committed as revision 21450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 13:26:10 +00:00
Carl Eugen Hoyos
cc5d4f4c34 Release buffer when decoding is finished.
Originally committed as revision 21449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 10:46:32 +00:00
Måns Rullgård
9120e2cd3f Print config of each lib if different from that of ffmpeg/ffplay/ffserver
Originally committed as revision 21448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 03:48:15 +00:00
Michael Niedermayer
2773920698 Optimize decode_cabac_field_decoding_flag().
~4 cpu cycles faster

Originally committed as revision 21447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 02:44:34 +00:00
Måns Rullgård
7f8c3d1f4d configure: fix --cpu=nocona
Use x86_64_suggest instead of _select as otherwise fast_cmov being
disabled (as it should be for nocona) also disables x86_64 breaking
the build.

Originally committed as revision 21446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 02:03:10 +00:00
Alexander Strange
1e4f1c56d7 100l, correct wrong H.264+adaptive MBAFF decoding
Fixes several FATE tests.

Originally committed as revision 21445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 01:56:13 +00:00
Ramiro Polla
9104cd5161 Check if dxva2api.h is recent enough to compile vc1_dxva2_hwaccel.
Originally committed as revision 21444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 01:34:48 +00:00
Martin Storsjö
6023d84a2b Load the proper getaddrinfo functions from ws2_32.dll, if they're present.
Patch by Martin Storsjö <martin at martin dot st>.

Originally committed as revision 21443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 01:28:01 +00:00
Martin Storsjö
3debf366c8 Check for getaddrinfo in the winsock headers.
This makes us link directly to getaddrinfo if it is available, making
binaries incompatible with anything prior to windows XP. If compatibility
is desired, compile with --target-os=mingw32-prexp.

Patch by Martin Storsjö <martin at martin dot st>.

Originally committed as revision 21442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 01:26:54 +00:00
Martin Storsjö
d9cd11ad44 Only define _WIN32_WINNT=0x0501 if $target_os = "mingw32".
If compatibility with pre-XP versions is desired, use
--target-os=mingw32-prexp
Patch by Martin Storsjö <martin at martin dot st>.

Originally committed as revision 21441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 01:25:59 +00:00
Alexander Strange
0b69d6254f H.264: Use 64-/128-bit write-combining macros for copies
2-3% faster decode on x86-32 core2.

Originally committed as revision 21440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-25 00:30:44 +00:00
Justin Ruggles
008f872f61 Only check frame size if the header is valid.
Originally committed as revision 21439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 23:55:33 +00:00
Carl Eugen Hoyos
b52fcba9cd Fix decoding ATI VCR2 codec, sample in
samples/V-codecs/ATI-VCR12/ATI/VCR2test.avi
Software decoding was broken since r8865, when two new context variables
were added, but not initialized in vcr2_init_sequence().
Another such context variable was added in r18381.

Originally committed as revision 21438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 22:47:50 +00:00
Stefano Sabatini
b0634fd11e Doxument url_open().
Originally committed as revision 21437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 22:07:32 +00:00
Carl Eugen Hoyos
895a9be60c Force codec_tag I420 for Quicktime Planar Y'CbCr 8-bit 4:2:0 raw codec,
because YV12 triggers an UV swap in rawdec.c, fixes issue 1687.

Originally committed as revision 21436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 21:37:35 +00:00
Stefano Sabatini
aa2ead8215 Fix mis-computation of the needsDither variable erroneously introduced
in r30419, which was causing a swscale-example regression.

Also increase my liter count by 20.0 units.

Originally committed as revision 30431 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 21:28:17 +00:00
Michael Niedermayer
996b099a0f Branchless setting of MB_TYPE_8x8DCT.
Not benchmarked as i failed to find a sample that uses this one. But it should be faster.

Originally committed as revision 21435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 20:54:09 +00:00
Michael Niedermayer
81afcf1fae Remove cruft.
Originally committed as revision 21434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 20:52:49 +00:00
Michael Niedermayer
d9ef0d2e14 Mark index as unsigend so gcc knows it doesnt need a sign extension on x86_64.
Any tips on how i can convince gcc that it doesnt need a
mov     %eax, %eax
in every get_bits() ?

Originally committed as revision 21433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 19:19:09 +00:00
Michael Niedermayer
449d1442a6 a[b-1] -> (a-1)[b].
Helps gcc not to add seperate -1 instructions.

Originally committed as revision 21432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:42:22 +00:00
Michael Niedermayer
7abc860323 Optimize suffix_length computation, 1 cpu cycle speedup.
Originally committed as revision 21431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:23:46 +00:00
Michael Niedermayer
eeb1e92feb Simplify suffix_length computation, same speed.
Originally committed as revision 21430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:18:08 +00:00
Stefano Sabatini
725b3da981 Favor the term "URL" over "filename", as the API deals with URLs
rather than with simple filenames.

Originally committed as revision 21429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:18:03 +00:00
Michael Niedermayer
c78295ad1b Optimize level_code computation, 6cpu cycles speedup.
Originally committed as revision 21428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:17:01 +00:00
Reimar Döffinger
f1d2b5728c Make url_read_complete handle EAGAIN more intelligently.
Only retry 2 - 5 times in quick succession and afterwards sleep a bit
to avoid creating high CPU load without any progress.

Originally committed as revision 21427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:09:46 +00:00
Reimar Döffinger
0b882b4009 Fix crash in MLP decoder due to integer overflow.
Probably only DoS, init_get_bits sets buffer to NULL, thus causing a
NULL-dereference directly after.

Originally committed as revision 21426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:07:29 +00:00
Michael Niedermayer
8ba436171f 1 cpu cycle faster suffix_length calculation.
Originally committed as revision 21425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 18:05:02 +00:00
Stefano Sabatini
f632c4549b Merge two "if (flags & SWS_PRINT_INFO) { ... }" blocks.
Originally committed as revision 30425 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 17:44:43 +00:00
Laurent Aimar
f0f86627fe VC-1/WMV3 DXVA2 implementation
It allows VLD VC-1/WMV3 decoding using DXVA2 (GPU assisted decoding API under
VISTA and Windows 7).
 It is implemented by using AVHWAccel API.

Originally committed as revision 21424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 17:27:00 +00:00
Michael Niedermayer
77d40dce93 Remove is_complex from loop_filter() its useless there in its current form.
Originally committed as revision 21423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 17:02:44 +00:00
Laurent Aimar
34fecc9afd Added a few missing consts in dxva_h264.
Originally committed as revision 21422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 16:40:58 +00:00
Laurent Aimar
0dc343d4cb Added a missing const to ff_h264_get_slice_type().
Originally committed as revision 21421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 16:37:12 +00:00
Stefano Sabatini
f1f78a9d85 Doxument url_close().
Originally committed as revision 21420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 16:33:56 +00:00
Laurent Aimar
8880c8bcc3 Added missing const to get_bits_count().
Originally committed as revision 21419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 16:22:09 +00:00
Michael Niedermayer
b2b7ab32aa Prefer cbp over cbp_table.
Originally committed as revision 21418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 13:43:26 +00:00
Stefano Sabatini
333146ddc5 Doxument url_open_protocol().
Originally committed as revision 21417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 13:31:25 +00:00
Michael Niedermayer
50eb40a799 Remove all uses of slice_type* from the loop filter, also remove its
initialization befre the loop filter.

Originally committed as revision 21416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 13:20:17 +00:00
Stefano Sabatini
1f8ad15ad3 Doxument url_read().
Originally committed as revision 21415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-24 13:07:54 +00:00
Stefano Sabatini
30b6147521 Use av_get_bits_per_pixel() for computing the bits per pixel of the
source and destination format, cache those values in the newly added
SwsContext:srcFormatBpp and SwsContext:dstFormatBpp fields, and remove
the fmt_depth() function.

Originally committed as revision 30419 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 12:55:05 +00:00
Ramiro Polla
59398ea9c0 Indent.
Originally committed as revision 30413 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 03:02:40 +00:00
Ramiro Polla
2658e7a6e7 Don't redefine M_PI. It is already defined from libavutil/mathematics.h.
Originally committed as revision 30412 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 02:16:26 +00:00
Ramiro Polla
a4388ebd37 Split swscale.c into scaler code (swscale.c) and utility code (utils.c).
Originally committed as revision 30411 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 02:08:22 +00:00
Michael Niedermayer
2c0ee01866 Remove unneeded reset of non_zero_count_cache for deblock.
Originally committed as revision 21414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 22:11:46 +00:00
Michael Niedermayer
01c511683f Remove useless things from the deblock side of fill_caches().
Originally committed as revision 21413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 21:57:36 +00:00
Michael Niedermayer
ea3b456dd6 make mv_cache init 64bit where possible.
Originally committed as revision 21412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 21:45:12 +00:00
kemuri
420755dd28 vfwcap: Include windows.h before vfw.h since the latter requires defines
from the former.
Patch by kemuri <kemuri9 at gmail dot com>

Originally committed as revision 21411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 20:58:29 +00:00
kemuri
a1b3c5a377 Replace every usage of -lvfw32 with what is particularly necessary for
that case:
Avisynth -> -lavifil32
VFW Cap -> -lavicap32
Patch by kemuri <kemuri9 at gmail dot com>

Originally committed as revision 21410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 20:42:00 +00:00
Ramiro Polla
27796dc3f4 Use $vfwcap_indev_extralibs variable instead of duplicating "-lvfw32" in
capCreateCaptureWindow() check.
Based on patch by kemuri <kemuri9 at gmail dot com>

Originally committed as revision 21409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 20:38:17 +00:00
Ramiro Polla
626c46ec23 Indent.
Originally committed as revision 21408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 20:18:38 +00:00
Laurent Aimar
85167c46ef Moved reusable functions from dxva2_h264.c to dxva2.c
Originally committed as revision 21407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:17:57 +00:00
Michael Niedermayer
0c32e19d58 Move +52 from the loop filter to the alpha/beta offsets in the context.
This should fix a segfault, also it might be faster on systems where the
+52 wasnt free.

Originally committed as revision 21406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:05:30 +00:00
Reimar Döffinger
6231d0983b Release buffer when the codec is closed.
Originally committed as revision 21405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:04:09 +00:00
Reimar Döffinger
b9e3f85dbc Use qstride = 0 and allocate only a single line for qscale_table since
for this codecs all quants are the same for a single frame.

Originally committed as revision 21404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:01:38 +00:00
Laurent Aimar
e4833b5d71 Added ff_dxva2_ prefix to get_surface(_index) and commit_buffer functions.
Originally committed as revision 21403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:01:28 +00:00
Laurent Aimar
8cf9bbb6dc Reindent the content of one if(){} in ff_dxva2_common_end_frame.
Originally committed as revision 21402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 18:00:51 +00:00
Laurent Aimar
8db7ee09c3 Moved reusable code from dxva2_h264.c:end_frame to ff_dxva2_common_end_frame.
Originally committed as revision 21401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 17:59:08 +00:00
Michael Niedermayer
1cc2d21175 Set edges based on cbp and mv partitioning, not just skiped MBs.
This is faster for videos that have lots of MBs that fall in this category.

Originally committed as revision 21400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 15:28:34 +00:00
Reimar Döffinger
87ac0c0a39 Use AVPALETTE_COUNT instead of hard-coding 256.
This is consistent with other codecs and will also avoid a crash on the
memcpy to data[1] if AVPALETTE_SIZE ever increases.

Originally committed as revision 21399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 15:22:48 +00:00
Reimar Döffinger
ab8075a2da Remove redundant initialization of the palette, it is part of the context
and that one is always 0-initialized already.

Originally committed as revision 21398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 15:19:34 +00:00
Michael Niedermayer
6b3661b22d Optimize filter_mb_mbaff_edge*()
Originally committed as revision 21397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 14:50:56 +00:00
Michael Niedermayer
933bea77e5 Optmize 8x8dct check used to skip some borders in the loop filter.
4 cpu cycles faster.

Originally committed as revision 21396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 13:54:02 +00:00
Reimar Döffinger
6242b1c424 Use av_freep intead of av_free to free pointers in vp56 context.
Originally committed as revision 21395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 13:49:09 +00:00
Reimar Döffinger
48c65d0dc9 Zero the frame data on allocation for VB codec, e.g. the FATE sample seems to
rely on this.

Originally committed as revision 21394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 10:25:22 +00:00
Reimar Döffinger
ddb901b74d Make url_read_complete retry on EAGAIN and return how much data it read
if it reached EOF, making it useful in more cases.

Originally committed as revision 21393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 10:23:47 +00:00
Ronald S. Bultje
98287358e9 Print a warning when DATA chunk is encountered in the middle of chunk.
From multirate RM patch by Ronald S. Bultje

Originally committed as revision 21392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 09:42:52 +00:00
Daniel Verkamp
a7e6328cba Export wma_critical_freqs as ff_wma_critical_freqs
Originally committed as revision 21391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 08:39:50 +00:00
Michael Niedermayer
7a086a852c Fix heap overflow with -async.
Fixes issue1666

Originally committed as revision 21390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-23 01:25:19 +00:00
Reimar Döffinger
e62a55b92e The SSSE3 version of dct_quantize in mpegvideo_mmx_template.c needs
inv_zigzag_direct16 16-byte aligned, so mark it appropriately.
Fixes encoder crashes e.g. with MPlayer's -vf lavc.

Originally committed as revision 21389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 23:40:18 +00:00
Stefano Sabatini
54a4f36d6e Remove conditional M_PI definition, it is already defined in
libavutil/mathematics.h indirectly included by libavformat/avformat.h.

Originally committed as revision 21388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 23:16:23 +00:00
Martin Storsjö
a52ce57d4e Replace deprecated guess_format() with av_guess_format().
Patch by Martin Storsjö reverse(<ts.nitram@nitram>).

Originally committed as revision 21387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 23:09:08 +00:00
Alex Converse
3deb53849e Implement an sse version of scalarproduct_float().
Originally committed as revision 21386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 23:07:58 +00:00
Kostya Shishkov
57835fc1ae Check for chunk boundaries when decoding VB codec data
Originally committed as revision 21385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 19:07:44 +00:00
Kostya Shishkov
2727649677 Zero palette in case not all entries are initialized later
Originally committed as revision 21384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 18:28:41 +00:00
Ronald S. Bultje
6481075443 Make style a little bit more K&R'ish.
Originally committed as revision 21383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:12:55 +00:00
Martin Storsjö
7c823d8b7f Rename a function which is no longer ipv6-specific. Patch by Martin Storsjö
<$firstname () $firstname st>.

Originally committed as revision 21382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:10:08 +00:00
Alan Steremberg
00eb13e05f Use the control URI from the SDP (if present) rather than the input filename,
if present. This fixes playback of a number of MS-RTSP streams, mostly these
for which playback contains a session key in the URI. Fixes issue 1697.
Patch by Alan Steremberg <$firstname dot $lastname () gmail com>.

Originally committed as revision 21381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 16:04:15 +00:00
Måns Rullgård
4a88852623 Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 30385 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-22 03:26:30 +00:00
Måns Rullgård
587d24ff25 Suppress TMS470 warnings about alignment directives
Originally committed as revision 21380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:27 +00:00
Måns Rullgård
34e52abb62 DECLARE_ALIGNED macro for TMS470 compiler
This compiler supports gcc-style alignment attributes for struct,
but not for global variables.  For the latter, alignment can be
specified with a pragma, which does not work for struct members or
local variables.  By using both pragma and attribute, one or the
other will always take effect.

Unfortunately, no means exists for aligning stack variables.

Originally committed as revision 21379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:25 +00:00
Måns Rullgård
d408b77a3a Add an AV_PRAGMA() macro for constructing _Pragma() directives
The seemingly equivalent _Pragma(AV_STRINGIFY(x)) is not accepted
by some compilers.

Originally committed as revision 21378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:21 +00:00
Måns Rullgård
c67278098d Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
Måns Rullgård
27ce1be89b configure: fix --cpu=host
The awk command used inadvertently relied on non-standard features.

Originally committed as revision 21376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:14:19 +00:00
Michael Niedermayer
258b60c224 Gcc idiocy fixes related to filter_mb_edge*.
Change order of operands as gcc uses a hardcoded register per operand it seems
even for static functions
thus reducing unneeded moved (now functions try to pass the same argument in
the same spot).
Change signed int to unsigned int for array indexes as signed requires signed
extension while unsigned is free.
move the +52 up and merge it where it will end as a lea instruction, gcc always
splits the 52 out there turning the free +52 into an expensive one otherwise.
The changed code becomes a little faster.

Originally committed as revision 21375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 01:59:17 +00:00
David Conrad
ac1e18cb78 Update regression tests after r21372
Originally committed as revision 21374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 23:35:26 +00:00
Michael Niedermayer
1f445f5473 Move dquant check into qscale overflow check.
This should be faster (couldnt meassue a difference), and its less picky
on slightly out of spec dquant.

Originally committed as revision 21373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 21:01:26 +00:00
Rafaël Carré
e380b9182b mkvenc: Write TrackTimecodeScale
patch by Rafael (dot) Carre (a) gmail (d) com

Originally committed as revision 21372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:49:27 +00:00
Ronald S. Bultje
2e13ecfeca Remove reply and content_ptr arguments from rtsp_send_cmd_async(), since
they are unused.

Originally committed as revision 21371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:04:17 +00:00
Ronald S. Bultje
f8c087333d Change on rtsp_send_cmd() to the _async() version since we don't use the
response anyway.

Originally committed as revision 21370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:01:11 +00:00
Ronald S. Bultje
7eaa646fd6 Reindent after r21368.
Originally committed as revision 21369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 19:50:40 +00:00
Ronald S. Bultje
8b9457deab Pretty embarassing bug; we shouldn't use av_strlcatf() on an uninitialized
buffer, that is doomed to not work at some point.

Originally committed as revision 21368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 19:48:30 +00:00
Martin Storsjö
073189917e Make output-example.c handle AAC audio.
Patch by Martin Storsjö martin martin st

Originally committed as revision 21367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 17:10:13 +00:00
Michael Niedermayer
31f6e3c19e Make calculation of mask_edge free of branches, faster of course but probably
little effect overall as this is not that often executed.

Originally committed as revision 21366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 16:50:31 +00:00
Martin Storsjö
b4d68544c8 Remove IPv4-only codepath. Patch by Martin Storsjö <$first $first st>.
Originally committed as revision 21365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 15:42:05 +00:00
Michael Niedermayer
e9e949cf74 Clarify CODEC_CAP_SUBFRAMES.
Originally committed as revision 21364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 13:49:47 +00:00
Måns Rullgård
8a24e98d50 Make DECLARE_ALIGNED macros work with external array specifiers
The macro implementation might need the name of the variable being
declared for compiler-specific syntax.  Moving array specifiers outside
the macro invocation allows this to work.

Originally committed as revision 21363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 12:59:22 +00:00
Måns Rullgård
2a58e45724 Set CODEC_CAP_SUBFRAMES for adpcm decoders
This makes ffmpeg stop printing millions of
  Multiple frames in a packet from stream 0
when decoding adpcm.

Originally committed as revision 21362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 12:57:24 +00:00
David Conrad
01cc47dcd3 More const-correctness for sws_scale
Originally committed as revision 30381 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-21 09:52:11 +00:00
David Conrad
0fc07ad951 Set start_time and duration in AVStream instead of AVFormatContext for
formats with only one stream; the AVFormatContext values will be derived from
the AVStream and this helps in calculating stream bitrate.

Originally committed as revision 21361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 09:47:02 +00:00
David Conrad
1f630b9717 Use two separate memory arguments since 8+() is invalid gas syntax
Originally committed as revision 21360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 09:46:57 +00:00
Måns Rullgård
40ccc754e9 Indent
Originally committed as revision 21359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 22:55:55 +00:00
Måns Rullgård
68cf92ee5e Always call avcodec_thread_init()
The various avcodec_thread_init() functions are updated to return
immediately after setting avctx->thread_count.  This allows -threads 0
to pass through to codecs.  It also simplifies the usage for apps
using libavcodec.

Originally committed as revision 21358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 22:55:50 +00:00
Måns Rullgård
5fcb865b75 Translate -mfpu=vfpv3 for TMS470
Originally committed as revision 21357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 20:58:04 +00:00
Måns Rullgård
138132be6d Ignore annoying armcc warnings
Originally committed as revision 21356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 20:06:11 +00:00
Michael Niedermayer
b4c2ada528 Attempt to fix asm compilation failure.
Only tested on gcc 4 & x86_64.

Originally committed as revision 21355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 19:23:19 +00:00
Laurent Aimar
8d821b0181 Added myself as dxva2 maintainer.
Originally committed as revision 21354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 18:55:38 +00:00
Laurent Aimar
92c6a099ba H264 DXVA2 implementation
It allows VLD H264 decoding using DXVA2 (GPU assisted decoding API under
VISTA and Windows 7).
 It is implemented by using AVHWAccel API. It has been tested successfully
for some time in VLC using an nvidia card on Windows 7.

 To compile it, you need to have the system header dxva2api.h (either from
microsoft or using http://downloads.videolan.org/pub/videolan/testing/contrib/dxva2api.h)
 The generated libavcodec.dll does not depend directly on any new lib as
the necessary objects are given by the application using FFmpeg.

Originally committed as revision 21353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 18:54:51 +00:00
Martin Storsjö
3d7b42f97b Use the configure check from r21351 and use it to properly define struct
sockaddr (in case it's not missing) so it always works on the system that
we are defining it for, in a RFC-2553/3493-compliant way (i.e. containing
a ss_family field). which is used in udp.c. Patch by Martin Storsjö
<$firstname $firstname st>.

Originally committed as revision 21352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 17:26:14 +00:00
Ronald S. Bultje
3b2372bff1 Add a check for struct sockaddr->sa_len, which is an indication of whether
the system wants a length entry in all socket structures or not. Patch by
Martin Storsjö <$firstname $firstname st>.

Originally committed as revision 21351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 17:24:23 +00:00
Måns Rullgård
38d7ad1954 Use $(CC_O) in %-test.o rules
Originally committed as revision 21350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 14:14:42 +00:00
Måns Rullgård
2b444ea723 configure: display --list-* output in three columns
Originally committed as revision 21349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 14:02:58 +00:00
Måns Rullgård
8182dc34b3 configure: use nm -P on Solaris
Originally committed as revision 21348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 13:22:36 +00:00
Måns Rullgård
ffcc6e24f5 Add -timelimit option
This option limits the CPU time used by ffmpeg to the number of seconds
specified.  After this time, the OS sends a SIGXCPU signal, which we
handle and attempt to exit cleanly.  If the process is stuck, the OS
will deliver a SIGKILL one second later, forcibly terminating the
process.

This functionality is useful in automated setups where a runaway ffmpeg
process would otherwise go undetected.

Originally committed as revision 21347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 06:42:39 +00:00
Måns Rullgård
5e7dfb7de1 Move COPY3_IF_LT to lavc/mathops.h
This obscure macro is only used in motion_est.c so having it in lavc
makes more sense.  See discussion here:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056561.html

Originally committed as revision 21346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 06:01:54 +00:00
Alexander Strange
bec358d683 H.264: Declare bS with DECLARE_ALIGNED_8 for uint64_t casts.
Originally committed as revision 21345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 03:28:57 +00:00
Ramiro Polla
5d4d503fd0 Document some more of SwsContext.
Originally committed as revision 30380 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-20 03:26:12 +00:00
Michael Niedermayer
97775235ec Simplify/Optimize another of the mbaff loop filter cases.
Its faster but too rarely used to make a differnce.

Originally committed as revision 21344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 03:00:08 +00:00
Ramiro Polla
4cb93f5171 Update documentation for make test.
Originally committed as revision 21343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 02:26:32 +00:00
Michael Niedermayer
085d9d98e8 Only calculate the second chroma qp if it differs from the firstin the main
loop filter. (a little faster for the common case where they are equal)

Originally committed as revision 21342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 01:49:24 +00:00
Michael Niedermayer
948180e7b1 Set bS with 64bits at a time.
Originally committed as revision 21341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 01:38:32 +00:00
Michael Niedermayer
87df989ee3 Merge multiple IS_* macro uses where possible.
Originally committed as revision 21340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 01:15:30 +00:00
Michael Niedermayer
55c54371c4 Simplify and optimize intra code in h264_loopfilter.c
Originally committed as revision 21339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:44:03 +00:00
Vitor Sessak
7f3f5f46c2 Floating point discrete cosine transform
Originally committed as revision 21338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:39:47 +00:00
David Conrad
c4f2b6dce3 Use constant offsets for memory operands since gcc is unable to
This fixes gcc failing to fit 6 memory locations into 7 registers on x86-32

Originally committed as revision 21337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:34:10 +00:00
Stefano Sabatini
613f2dc4ae Avoid more pointless tests, the input and output formats need to be
supported both as input and as output, as the conversion performed is:
yuva420p -> src -> dst -> yuva420p.

Originally committed as revision 30379 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-20 00:22:31 +00:00
Michael Niedermayer
9528ce7b99 Sightly simplify initialization of int start.
No real speed change.

Originally committed as revision 21336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-20 00:17:16 +00:00
Måns Rullgård
75fb5c24ed Move FASTDIV macro to intmath.h
Originally committed as revision 21335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 23:25:36 +00:00
Måns Rullgård
2087c82339 configure: do not use character classes with awk
Some broken versions of awk (mawk, apparently used in debian)
do not handle character classes in regular expressions.

Originally committed as revision 21334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 23:18:19 +00:00
Michael Niedermayer
3f50965b28 Mark the h264 c loop filter as av_always_inline av_flatten to make sure its
all inlined, its small and horizontal & vertical versions are build out of
them. no change as gcc already did this.

Originally committed as revision 21333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:54:13 +00:00
Michael Niedermayer
c9640c17ac skip outer pixels if possible in h264_loop_filter_luma_c().
overall 3.7% faster loop filtering (C version only)

Originally committed as revision 21332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:46:58 +00:00
Stefano Sabatini
0e21dcdb13 Split overly long line.
Originally committed as revision 30378 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 22:36:46 +00:00
John Van Sickle
385e1658b3 Adds -aq documentation to the ffmpeg docs.
Patch by John Van Sickle rot13(<wbua.inafvpxyr@tznvy.pbz>).

Originally committed as revision 21331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:13:51 +00:00
John Van Sickle
49f6402236 Improve section 3.2 of the faq by providing more useful examples and a
simple batch script to rename images to a numerical sequence.

Patch by John Van Sickle printf("%s.%s@%s.com", john, vansickle, gmail).

Originally committed as revision 21330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 22:05:02 +00:00
Stefano Sabatini
731c04ad65 Make selfTest() perform tests where both the input and output formats
are supported, avoid pointless loops.

Originally committed as revision 30377 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 21:52:00 +00:00
Baptiste Coudurier
fdf4662211 fetch flv duration from file if it is set to 0 in metadata
Originally committed as revision 21329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 19:41:24 +00:00
Michael Niedermayer
655a1d57d5 Reenable ff_h264_filter_mb_fast() for all slices it supported before.
Originally committed as revision 21328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 16:43:57 +00:00
Michael Niedermayer
9ac4548ff7 Fix h264_loop_filter_strength_mmx2() so it works with b frames.
Originally committed as revision 21327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 16:40:36 +00:00
Alexis Ballier
f28cc5771f Make const prototypes for input sources of sws_scale_* stricter.
Patch by Alexis Ballier gmailify($firstname, $familyname)

Originally committed as revision 30374 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 16:30:20 +00:00
Måns Rullgård
ff6e82a968 configure: inlcude sys/types.h when checking sys/socket.h
Silly BSD systems need this despite POSIX requiring nothing of the
kind.  Any system with sys/socket.h should also have sys/types.h,
so this is unlikely to break anything, and we already do this in
another place.

Originally committed as revision 21326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 15:59:04 +00:00
Måns Rullgård
48fc536aba configure: drop -A flag to od
Originally committed as revision 21325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 15:52:43 +00:00
Måns Rullgård
f6993412b7 configure: be more liberal with nm output
Originally committed as revision 21324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 15:52:40 +00:00
Ramiro Polla
9e5f164dc1 swscale-example: Add comment about the use of av_{malloc,free}.
Originally committed as revision 30373 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 15:42:51 +00:00
Michael Niedermayer
ebddd2e253 Remove -2 -> -1 remapping, its not needed anymore as we must remap all
references per LUT anyway.

Originally committed as revision 21323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 14:28:19 +00:00
Ramiro Polla
3aca8b59f6 Remove useless forward declaration.
Originally committed as revision 30371 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 11:35:04 +00:00
Zuxy Meng
d5206d3dd6 User friendly warning message that gives out names of source and target formats
Originally committed as revision 30370 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 05:21:17 +00:00
Måns Rullgård
1d52b4b390 Use avconfig.h in pixfmt.h
Originally committed as revision 21322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 04:40:18 +00:00
Måns Rullgård
a3e02a8cad Create and install libavutil/avconfig.h
This file contains a safe subset of the config.h settings.
Only bigendian is included for now, more can be added as
need arises.

Originally committed as revision 21321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 04:40:16 +00:00
Måns Rullgård
aa310a9fc7 Add rules to install generated headers
Originally committed as revision 21320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 04:40:13 +00:00
Måns Rullgård
df64279079 configure: create dirs before generating config.*
Originally committed as revision 21319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 04:40:10 +00:00
Måns Rullgård
c34681df42 configure: add cp_if_changed function and use for config.h
Originally committed as revision 21318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 04:40:08 +00:00
Jason Garrett-Glaser
76d81909ae Update libx264.c to use new libx264 features
With b_keyframe instead of IDR for detecting keyframes, ffmpeg should now
support periodic encoding with periodic intra refresh (although there is no
interface option for it yet).
Set the new timebase values for full VFR input support.
Bump configure to check for API version 83.

Originally committed as revision 21317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 04:00:08 +00:00
Måns Rullgård
51d83986b1 swscale-example: use av_malloc()
Image buffers require 16-byte alignment, so av_malloc() should be used.
Fixes crash on PPC.

Originally committed as revision 30369 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 03:47:11 +00:00
Jai Menon
7817ddabc8 Apply changes made in r21308 to svq3.c.
Fixes compilation with gcc and -O0.

Originally committed as revision 21316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 03:16:48 +00:00
Michael Niedermayer
c2894fbf1c Dont waste time initializing stuff for deblocking intra mbs, none of
it is used.

Originally committed as revision 21315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 03:14:45 +00:00
Michael Niedermayer
580920f8dc Remove 2 checks from fetch_diagonal_mv() that apparently serve no purpose.
Originally committed as revision 21314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 02:28:26 +00:00
Michael Niedermayer
26c83a4161 Move a few things into a deeper if() in fetch_diagonal_mv().
Originally committed as revision 21313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 02:07:12 +00:00
Michael Niedermayer
350fc614b4 Remove code that handles the case of a MB pair to our right being available.
Thats not possible except maybe in FMO which noone uses anyway.
iam also not sure if this wasnt missing a part_width.

Originally committed as revision 21312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-19 01:23:19 +00:00
Baptiste Coudurier
49c43fc278 reindent
Originally committed as revision 21311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:58:10 +00:00
Baptiste Coudurier
c3aeaa540d set average frame rate in mov demuxer
Originally committed as revision 21310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:56:04 +00:00
Michael Niedermayer
7231ccf4d5 Cosmetic, get rid of &x[0]
Originally committed as revision 21309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:55:19 +00:00
Michael Niedermayer
2b3649f656 Fix compilation with -O0.
Originally committed as revision 21308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:41:12 +00:00
Michael Niedermayer
7a93858a6d Fix accumulated indention errors.
Originally committed as revision 21307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:34:37 +00:00
Stefano Sabatini
2d8d885b06 Split long line.
Originally committed as revision 30368 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-18 23:34:07 +00:00
Stefano Sabatini
591e465acf Convert int -> enum PixelFormat in doTest().
Originally committed as revision 30367 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-18 23:33:17 +00:00
Michael Niedermayer
70bd7a3d48 Optimize top non_zero_count_cache init.
Originally committed as revision 21306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:31:14 +00:00
Michael Niedermayer
5e07aa7721 Dont init chroma elements of non_zero_count_cache for deblock.
Originally committed as revision 21305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:30:21 +00:00
Michael Niedermayer
5cc5d9bf29 Remove unneeded for_deblock check, this code was alraedy under for_deblock.
Originally committed as revision 21304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:27:53 +00:00
Måns Rullgård
c8a4ae00dd configure: add --disable-asm option
Originally committed as revision 21303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:12:55 +00:00
Måns Rullgård
3784e82e9c configure: rename a variable in check_asm
Originally committed as revision 21302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 23:12:53 +00:00
Baptiste Coudurier
c956611527 move aspect ratio code at the end of the track parsing, fix cathedral-beta2-400extra-crop-avc.mp4
Originally committed as revision 21301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:38:39 +00:00
Måns Rullgård
5d54c12611 configure: fix cpu=generic case
Originally committed as revision 21300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:32:57 +00:00
Michael Niedermayer
bffe82f504 Rather call filter_mb_mbaff_edge*v() more often than do extra calculations
in the innerst loop. ~150 cpu cycles faster

Originally committed as revision 21299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:22:09 +00:00
Måns Rullgård
34ba23c975 configure: simplify $cpu handling for some architectures
Originally committed as revision 21298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:05:12 +00:00
Måns Rullgård
9dbd5c3dd3 configure: indent
Originally committed as revision 21297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:05:08 +00:00
Måns Rullgård
343aef9b33 configure: split $cpu handling by arch
Originally committed as revision 21296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:05:05 +00:00
Måns Rullgård
e939cedd9d configure: simplify $arch handling
Originally committed as revision 21295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:05:01 +00:00
Måns Rullgård
808fa33c9c configure: group arch extention deps by arch
Originally committed as revision 21294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 21:04:57 +00:00
Michael Niedermayer
fb823b7791 Fix 10l segfault with threads.
Originally committed as revision 21293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 20:19:19 +00:00
Michael Niedermayer
0fe674cb4a Use h->slice_num where possible.
Originally committed as revision 21292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 20:13:53 +00:00
Michael Niedermayer
bce6a1e7c7 Enable filter_mb_fast for CAVLC P slices.
Originally committed as revision 21291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 19:45:56 +00:00
Michael Niedermayer
439d6b1dcf filter_mb_fast needs cbp_table to be set.
Originally committed as revision 21290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 19:45:02 +00:00
Michael Niedermayer
42ebca8551 PAFF CABAC P slices seem to work as well, so enable them for ff_h264_filter_mb_fast() too.
Originally committed as revision 21289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 16:29:16 +00:00
Michael Niedermayer
a8f4921595 Reenable filter_mb_fast for I slices and progressive CABAC P slices.
Originally committed as revision 21288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 16:16:22 +00:00
Michael Niedermayer
a7d7cdaac7 Set h->cbp for ff_h264_filter_mb_fast().
Originally committed as revision 21287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 16:11:13 +00:00
Michael Niedermayer
9327042c17 10l for someone, Store chroma_qp_diff in the correct struct.
Originally committed as revision 21286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 14:05:30 +00:00
Gwenole Beauchesne
054947cafd Install <libavcodec/vaapi.h> header.
Originally committed as revision 21285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 13:52:20 +00:00
Luca Abeni
22c1f65fa6 Rename the RTP muxer sources so that the packetisation functions are in
rtpenc_*.c files.

Originally committed as revision 21284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 13:44:12 +00:00
Michael Niedermayer
b6ef858ec7 Move CAVLC 8x8 DCT special case from ff_h264_filter_mb() to fill_caches
that way it is also available for ff_h264_filter_mb_fast().

Originally committed as revision 21283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 13:09:53 +00:00
Luca Abeni
47a855648f Remove the ff_rtp_send_h264() prototype from rtp_h264.h (such function
belongs to the RTP muxer, and its prototype already is in rtpenc.h)

Originally committed as revision 21282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 11:18:25 +00:00
Alexander Strange
f6d0390657 Add macros for 64- and 128-bit write-combining optimization to intreadwrite.h.
Add x86 implementation using MMX/SSE.

Originally committed as revision 21281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 10:24:33 +00:00
Zuxy Meng
3c52d4849f Define out currently unused static functions.
Originally committed as revision 30365 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-18 08:42:04 +00:00
Michael Niedermayer
6d7e6b2657 Perform reference remapping at fill_cache() time instead of in the
loop filter. This removes one obstacle of getting ff_h264_filter_mb_fast()
bitexact. code is maybe 0.1% faster

Originally committed as revision 21280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 05:15:31 +00:00
Ben Littler
5bc3fc2187 add uldx fourcc to mpeg4 in riff.c
Originally committed as revision 21279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 03:57:01 +00:00
Måns Rullgård
bdd19e29df Mark all intreadwrite functions av_always_inline
Originally committed as revision 21278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 01:35:19 +00:00
Måns Rullgård
8d072dd2a9 Only set HAVE_MMX when a supported CPU is specified
Originally committed as revision 21277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 01:25:57 +00:00
Michael Niedermayer
7da0d82104 Make qp check for loop filter skiping also work with MBAFF.
Originally committed as revision 21276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 00:34:28 +00:00
Michael Niedermayer
12be38ec18 Comment about a cornercase we ignore currently
Originally committed as revision 21275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 00:21:58 +00:00
Michael Niedermayer
44a5e7b64c Move the qp check to skip the loop filter up.
Originally committed as revision 21274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-18 00:20:44 +00:00
Michael Niedermayer
b6303e6d2a Reorganize how values are stored in h->non_zero_count.
~1% faster

Originally committed as revision 21273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 23:44:23 +00:00
Stefano Sabatini
c36a4294dc Remove stray '\' at the end of macro definitions.
Originally committed as revision 30362 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:29:31 +00:00
Stefano Sabatini
90eb284a77 Remove duplicated or pointless newlines.
Originally committed as revision 30361 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:17:47 +00:00
Stefano Sabatini
398c193d0b Factorize error message logging, log it if the converter cannot be
set.

Originally committed as revision 30360 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:07:37 +00:00
Stefano Sabatini
e36a545de5 Reindent after the last commit.
Originally committed as revision 30359 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:02:20 +00:00
Stefano Sabatini
c0d1dc1c4f Make the pal2rgbWrapper set and use the converter in pal2rgbWrapper
only if the input format is paletted.

Fix potential crashes/weirdness if the input format is non-paletted.

Originally committed as revision 30358 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:00:01 +00:00
Michael Niedermayer
2911e13224 Disable a few things in fill_filter_caches() that arent needed.
0.1% speedup

Originally committed as revision 21272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 22:05:36 +00:00
Michael Niedermayer
f432b43b08 Split fill_caches() between filter and decoder.
Originally committed as revision 21271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 21:43:08 +00:00
Michael Niedermayer
c988f97566 Rearchitecturing the stiched up goose part 1
Run loop filter per row instead of per MB, this also should make it
much easier to switch to per frame filtering and also doing so in a
seperate thread in the future if some volunteer wants to try.
Overall decoding speedup of 1.7% (single thread on pentium dual / cathedral sample)
This change also allows some optimizations to be tried that would not have
been possible before.

Originally committed as revision 21270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 20:35:55 +00:00
Måns Rullgård
00c4127ec9 Remove double const
Originally committed as revision 30357 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 19:26:35 +00:00
Ben Littler
6667d5a5e5 add vspx fourcc to mpeg4 in riff.c
Originally committed as revision 21269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 19:25:49 +00:00
Måns Rullgård
aa692d547b configure: simplify libsdl check
Originally committed as revision 21268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 19:10:05 +00:00
Måns Rullgård
14d3675165 configure: add check_struct function
This adds a check_struct function to test for availability of a
member within a struct.

Originally committed as revision 21267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 19:10:03 +00:00
Måns Rullgård
300cde27b6 configure: simplify check_lib2
Originally committed as revision 21266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 19:05:57 +00:00
Måns Rullgård
f855b7b9c9 configure: pass extra flags to check_cpp from check_cpp_condition
Originally committed as revision 21265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 19:05:53 +00:00
Måns Rullgård
2a194acd95 configure: pass extra flags to check_cc from check_ld
Originally committed as revision 21264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 19:05:50 +00:00
Stefano Sabatini
ade5b91dda Use av_match_ext() rather than the deprecated match_ext(), fix
warnings.

Originally committed as revision 21263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 15:57:51 +00:00
Stefano Sabatini
9a180390b9 Factorize error message logging in rgb2rgbWrapper().
Originally committed as revision 30356 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 15:11:25 +00:00
Måns Rullgård
1b5d46c6a6 Reindent
Originally committed as revision 30350 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 14:25:19 +00:00
Måns Rullgård
d39d7cf693 Remove inline from initFilter()
It makes no sense having that function inlined.

Originally committed as revision 30349 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 14:25:17 +00:00
Reimar Döffinger
3f37ab8e41 Make sure we do not export incorrect _NE pixformat descriptions by either
including config.h if available or not defining them if it isn't.

Originally committed as revision 21262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 14:17:03 +00:00
Måns Rullgård
48fdb66c68 Fix comment typo carefull -> careful
Spotted by someone on IRC.

Originally committed as revision 21261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 13:39:34 +00:00
Måns Rullgård
c25210278c Add missing parens in AV_WN macros
Originally committed as revision 21260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 12:47:06 +00:00
Alexander Strange
0209e1e160 Add missing Makefile dependencies to CONFIG_SNOW_ENCODER.
Fixes build with --disable-encoders --enable-encoder=snow.
This fixes MPlayer build with --disable-mencoder.

Originally committed as revision 21259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 08:24:45 +00:00
Carl Eugen Hoyos
45becaf337 Fix indentation after r21257.
Originally committed as revision 21258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 00:27:22 +00:00
Stefano Sabatini
e922e34c96 Add a const qualifier in a cast, fix the gcc warning:
swscale.c: In function ‘sws_scale’:
swscale.c:2968: warning: cast discards qualifiers from pointer target type

Originally committed as revision 30341 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 00:26:29 +00:00
Michael Karcher
1454618426 Support demuxing of Sony OpenMG files without metadata header.
Original patch by Michael Karcher, ffmpeg A mkarcher dialup fu-berlin de

Originally committed as revision 21257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 00:23:08 +00:00
Stefano Sabatini
5090d8e16a Add a const qualifier in a cast, fix the gcc warning:
swscale.c: In function ‘planarCopy’:
swscale.c:2256: warning: cast discards qualifiers from pointer target type

Originally committed as revision 30340 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 00:21:50 +00:00
Stefano Sabatini
a630ed3ee9 Fix typo, "get rid off" -> "get rid of".
Originally committed as revision 30338 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 22:49:00 +00:00
Måns Rullgård
05e24fa852 regtest: run tests only for enabled codecs and formats
Originally committed as revision 21256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 20:18:24 +00:00
Måns Rullgård
4b294c1872 regtest: split wma test into wmav1 and wmav2
Originally committed as revision 21255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 20:18:22 +00:00
Måns Rullgård
eca478c317 regtest: split reference files allowing tests to run individually
With this change, the output is checked immediately after each test
has run.  This means commands like "make regtest-mpeg2" can now be
used to run a single test and get meaningful results.

By default, make will abort if any test fails.  To run all tests
regardless, use make -k.

Originally committed as revision 21254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 20:18:13 +00:00
Måns Rullgård
16cd99bbed regtest: suppress console output from tests
This disables all console output from the *-regression.sh scripts by
default.  If the V environment variable is set to 1, ffmpeg commands
are printed before being run.  If V is greater than 1, ffmpeg output
goes to the console, otherwise stderr is redirected to a file.

Originally committed as revision 21253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 20:17:55 +00:00
Stefano Sabatini
730cb9dab3 Revert r30331, which broke compilation.
swScale_C is not templated if any optimization is to be used and
!runtime_cpudetect.

Originally committed as revision 30334 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:51:26 +00:00
Stefano Sabatini
73cadb4f13 Prefer enum PixelFormat to int as the parameter type of
fmt_depth(fmt).

Originally committed as revision 30333 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:32:58 +00:00
Stefano Sabatini
bc45751f7f Declare with av_unused the variable alpMmxFilter, fix the gcc warning:
swscale_template.c: In function ‘swScale_C’:
swscale_template.c:2580: warning: unused variable ‘alpMmxFilter’
swscale_template.c: In function ‘sws_init_swScale_C’:

Originally committed as revision 30332 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:22:30 +00:00
Stefano Sabatini
80853cfc6a Factorize the code which calls the non optimized C functions in
getSwsFunc().

Originally committed as revision 30331 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:19:54 +00:00
Stefano Sabatini
c70f1401df Prefer "to %s%s" over "to%s %s", slightly more readable.
Originally committed as revision 30330 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:14:29 +00:00
Stefano Sabatini
a9e2878c48 Simplify code in sws_getContext() which logs if the destination format
support dithering, remove the const char *dither variable and use a
literal string instead.

Originally committed as revision 30329 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:11:03 +00:00
Ramiro Polla
9556124c97 Document some of SwsContext.
Originally committed as revision 30328 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:04:55 +00:00
Ramiro Polla
0cc854e377 Reuse h{lum,chr}Filter{,Pos} variables for MMX2 fast_bilinear horizontal scaler.
Originally committed as revision 30327 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 18:39:06 +00:00
Stefano Sabatini
d95c863850 Factorize code which logs the source and destination formats in
sws_getContext().

Originally committed as revision 30326 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 18:36:21 +00:00
Ramiro Polla
15ccfff12c Read "Last Changed Rev" field instead of "Revision" field to avoid being
affected by changes in other directories (such as branches).

Originally committed as revision 21252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 18:29:52 +00:00
Michael Niedermayer
7931bb2a0c Comment for() ; out
~200 bytes smaller ff_h264_filter_mb()
please everyone, NEVER add code with the assumtation that gcc will remove it
without checking gcc actually does. Chances are it does not.

Originally committed as revision 21251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 17:41:40 +00:00
Michael Niedermayer
ed3d7e2f65 Mark a few functions as noinline, this makes ff_h264_filter_mb() a bit smaller
and 5% faster.
ff_h264_filter_mb_fast() stay the same size as gcc decided not to inline these
functions there in the first place.

Originally committed as revision 21250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 17:27:17 +00:00
Michael Niedermayer
183a86c958 Apply last 2 optimizations to similar code i forgot.
Originally committed as revision 21249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 16:21:12 +00:00
Michael Niedermayer
3f55a651c4 Another microopt, 4 cpu cycles for avoidance of FFABS().
Originally committed as revision 21248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 16:14:32 +00:00
Måns Rullgård
1c6f46be03 Add missing guards and includes to arm/aac.h
Originally committed as revision 21247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 15:54:01 +00:00
Michael Niedermayer
26147d368b Minor (2 cpu cycles) optimization ||->|.
Originally committed as revision 21246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 15:19:05 +00:00
ami_stuff
8be7ac98ca Support decoding of SoftLab-NSK VideoTizer.
Patch by ami_stuff, ami_stuff o2 pl

Originally committed as revision 21245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 13:13:49 +00:00
Michael Niedermayer
4c568cbcac Consider slice_beta_offet in qp_thresh.
Originally committed as revision 21244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 13:12:11 +00:00
Michael Niedermayer
2e36c931f0 Avoid wasting 4 cpu cycles per MB in redundantly calculating qp_thresh.
Originally committed as revision 21243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 11:55:35 +00:00
Stefano Sabatini
3e906f4cfb Simplify reset_ptr(): employ usePal() macro rather than enumerating
all the paletted formats.

Originally committed as revision 30317 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 11:08:16 +00:00
Stefano Sabatini
006aa1a4c2 Implement null video sink.
Originally committed as revision 21242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 11:05:36 +00:00
Carl Eugen Hoyos
864a074213 Correctly decode some Avid AV1x samples, fixes issue 1684.
Originally committed as revision 21241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:46:45 +00:00
Stefano Sabatini
dd08b83c87 Implement null video source.
Originally committed as revision 21240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:43:53 +00:00
Anatoly Nenashev
e1bb0364f8 Support lowres 3 when decoding MPEG video.
Patch by Anatoliy Nenashev, nenashev_as mail ru

Originally committed as revision 21239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:41:52 +00:00
Stefano Sabatini
b5eab66e9f Make avfilter_default_start_frame() request a buffer with the same
size of the output link of the destination filter, rather than of the
size of the input link.
In particular this fixes a crash in the rotate filter.

Originally committed as revision 21238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:10:14 +00:00
Michael Niedermayer
ddd60f28d8 Replace cabac checks in inline functions from h264.h with constants.
No benchmark because its just replacing variables with litteral constants
(so no risk for slowdown outside gcc silliness) and i need sleep.

Originally committed as revision 21237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 05:41:33 +00:00
Måns Rullgård
a482e61bd6 Add symbol versioning for shared libraries
Based on patch by Reinhard Tartler <siretart tauware de>

Originally committed as revision 21236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 04:49:02 +00:00
Måns Rullgård
2ed46eeab3 configure: add test_ldflags function
This adds a test_ldflags function for testing linker flags without
adding them to LDFLAGS like check_ldflags does.

Originally committed as revision 21235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 04:48:58 +00:00
Måns Rullgård
e8393e1cb8 Add symbol versioning for shared libraries
Based on patch by Reinhard Tartler <siretart tauware de>

Originally committed as revision 30315 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 04:48:55 +00:00
Vitor Sessak
d140b02581 SIPR16k decoder
Originally committed as revision 21234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 03:54:55 +00:00
Vitor Sessak
d79c06b2ad Allow a SIPR table to be used by the upcoming SIPR16k decoder
Originally committed as revision 21233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 03:44:17 +00:00
Vitor Sessak
65323ed279 Split some SIPR structs to a header file for the upcoming SIPR16k commit
Originally committed as revision 21232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 03:40:25 +00:00
Vitor Sessak
06cb7a1c8f Use macros instead of inline functions to replace the following missing C99
functions: exp2, exp2f, log2, log2f.

Should fix compilation in systems where these functions are defined in math.h
but not implemented.

Originally committed as revision 21231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 01:27:46 +00:00
ami_stuff
a4be782cbd Support 2Vuy in mov, fixes issue 1690.
Patch by ami_stuff, ami_stuff o2 pl

Originally committed as revision 21230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 00:32:09 +00:00
Ramiro Polla
f821f98126 Exclude .svn and .git directories from doxygen documentation.
Originally committed as revision 21229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 21:49:10 +00:00
Måns Rullgård
2b9cb7ec71 Fix out of tree build with hardcoded tables
Originally committed as revision 21228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 20:48:34 +00:00
Ramiro Polla
ad7da0b551 mingw32: Build for Windows XP by default. Add note about Win9x/2000 support.
Originally committed as revision 21227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 20:30:03 +00:00
Ramiro Polla
2e3e8031ec Don't initialize normal horizontal filter if MMX2 filter is used.
Originally committed as revision 30313 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-15 19:50:59 +00:00
Ramiro Polla
93fe7eb68d Get one step closer to world domination.
Remove "make uninstall".

Originally committed as revision 21226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 19:16:28 +00:00
Jai Menon
598ef02b15 Do not print VDPAU upgrade notice when configure is invoked
with `--disable-vdpau`.

Originally committed as revision 21225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 18:50:53 +00:00
Måns Rullgård
d356a53f44 AAC: optimise bitstream reading in decode_spectrum_and_dequant()
Using the low-level macros directly avoids redundant open/update/close
cycles.

2-3% faster on ARM, PPC, and Core i7.

Originally committed as revision 21224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 14:02:52 +00:00
Carl Eugen Hoyos
59ea69ef54 Support decoding of Avid uncompressed mov files, fixes issue 1685.
Originally committed as revision 21223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 11:03:40 +00:00
Carl Eugen Hoyos
a0ae3e41f3 Support decoding Avid 1:1x codec, (partially) fixes issue1684.
Originally committed as revision 21222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 10:55:31 +00:00
Zuxy Meng
a959e24780 Const correctness for src pointer. Remove all constness related warnings in
libswscale.

Originally committed as revision 30306 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-15 08:51:51 +00:00
Michael Niedermayer
7c2de274e7 Add forgotten include of h264_mvpred.h to h264.h.
This could have caused the linking failure of pred_pskip_motion() missing if
a compiler included never used static functions.

Originally committed as revision 21221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 03:42:56 +00:00
Michael Niedermayer
e2dd8586d8 Add forgotton multiple inclusion guards to h264_mvpred.h.
Originally committed as revision 21220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 03:41:28 +00:00
Måns Rullgård
798339fb46 AAC: ARM/NEON asm for VMUL2/4 functions
Originally committed as revision 21219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 02:58:24 +00:00
Carl Eugen Hoyos
c78dfcdaf4 Do not assign codec_tag to pix_fmt in rawdec.c, but in raw.c
Originally committed as revision 21218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-15 00:45:47 +00:00
Stefano Sabatini
3bfbbef64d Fix typo.
Originally committed as revision 30304 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-15 00:39:25 +00:00
Måns Rullgård
544f5a922f Optimise av_log2 with clz when available
10% faster flac decoding on x86 and ARM.

Originally committed as revision 21217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 19:58:12 +00:00
Måns Rullgård
669b558330 Set HAVE_FAST_CLZ if CPU has a fast count leading zeros instruction
Originally committed as revision 21216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 19:58:09 +00:00
Ramiro Polla
00c081a8f0 Remove unused clip_table code.
Originally committed as revision 30303 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-14 19:12:42 +00:00
Måns Rullgård
3d7453e056 configure: allow reverse auto-selection of options
This adds the possibility to set foo_if and foo_if_any variables,
causing foo to be enabled if all/any of the listed options are
enabled.

Originally committed as revision 21215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 18:25:38 +00:00
Reimar Döffinger
29b75f0b67 Change code so it uses 2 adds instead of one FFABS.
About 1% faster ff_ac3_bit_alloc_calc_psd on Intel Atom, overall speedup
not measurable though.
Should have a bigger effect on systems without cmov or with very slow cmov.

Originally committed as revision 21214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 17:50:33 +00:00
Peter Ross
574b183d64 Latent libavformat version bump and documentation update for Adobe Filmstrip muxer and demuxer (r21212)
Originally committed as revision 21213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 14:02:06 +00:00
Peter Ross
83ab7f1883 Adobe Filmstrip muxer and demuxer
Originally committed as revision 21212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 12:55:44 +00:00
Ramiro Polla
efc034cc0f Add const qualifier to rgb48 to YV12 functions' src.
Originally committed as revision 30301 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-14 06:19:45 +00:00
Ramiro Polla
a3e35e2852 Add missing parameter to rgb48 to YV12 functions.
Originally committed as revision 30300 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-14 06:19:10 +00:00
Alexander Strange
f267d3ac75 Implement alpha channel decoding for BGR HuffYUV.
Since BGR24 is decoded as BGR32, fill its alpha channel with 255
using the appropriate predictors.

Originally committed as revision 21211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 01:32:49 +00:00
Andrew Wason
ff5ab5c8c9 set stream aspect from mov tkhd width/height, patch by Andrew Wason, rectalogic at rectalogic dot com
Fixes issue 671.

Originally committed as revision 21210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-14 00:32:36 +00:00
Baptiste Coudurier
49544546b0 do not skip mdat data if it's the last atom, avoids one seek
Originally committed as revision 21209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 23:33:29 +00:00
Baptiste Coudurier
08c8e66a99 restore old buffer content when seek failed in http protocol, fix issue #1631
Originally committed as revision 21208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 23:27:52 +00:00
Baptiste Coudurier
a1f42882e1 revert wrongly commited hunk in r21205
Originally committed as revision 21207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:57:37 +00:00
Baptiste Coudurier
10061cd648 remove useless type declarations
Originally committed as revision 21206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:52:22 +00:00
Baptiste Coudurier
dcc2220ab5 remove useless declarations from mpegts.h
Originally committed as revision 21205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:50:26 +00:00
Baptiste Coudurier
33931016e5 use codec rc_max_rate if set and warn if bit rate is not set
Originally committed as revision 21204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:23:29 +00:00
Baptiste Coudurier
01d6bd525a Do not split audio frames accross pes packets.
This was not supported by some equipment and cisco analyzer.

Originally committed as revision 21203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:21:45 +00:00
Luca Abeni
6f284d197c Surprisingly enough, the RTP muxer does not depend on the RTP protocol
nor on network support.

Originally committed as revision 21202 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:06:59 +00:00
Mike Scheutzow
907d916627 print more debug info about muxing parameters, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 21:42:55 +00:00
Mike Scheutzow
c054f372e0 update mpegts_write_pes documentation, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 21:40:37 +00:00
Mike Scheutzow
4df3bbbc68 Insert null packets to keep pcr values correct, patch by Mike Scheutzow,
scheutzow at alcatel-lucent dot com and Niobos, niobos at dest-unreach dot be.

Originally committed as revision 21199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:44:56 +00:00
Mike Scheutzow
49f6fd8f3f move pcr/sdt/pat period computation after ts->mux_rate is set, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:30:55 +00:00
Mike Scheutzow
6b18a3f5ba output a pcr as soon as possible, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:26:59 +00:00
Niobos
906c16a11a fix ts packet header size computation, patch by Niobos, niobos at dest-unreach dot be
Originally committed as revision 21196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:20:05 +00:00
Niobos
080cabffca fix sdt, pat, pcr size computation, patch by Niobos, niobos at dest-unreach dot be
Originally committed as revision 21195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:14:53 +00:00
Luca Abeni
fad9a42ad4 The RTP muxer does not need rtp_asf.c
Originally committed as revision 21194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 18:27:21 +00:00
Luca Abeni
3f60d2d327 Remove the inclusion of unneeded headers
Originally committed as revision 21193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 18:18:21 +00:00
Måns Rullgård
fbb6c6c2d4 Define !CONFIG_FOO in config.make if feature disabled
Originally committed as revision 21192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 17:48:13 +00:00
Måns Rullgård
2ef21b9179 AAC: Reduce depth of vlc_spectral tables to 2
Up to 6% faster overall on i7, no change on A8.

Originally committed as revision 21191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:39 +00:00
Måns Rullgård
95dff4aced AAC: Unswitch loop over window groups in decode_spectrum_and_dequant()
GCC should be able to do this, but doesn't.  Slightly faster code.

Originally committed as revision 21190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:35 +00:00
Måns Rullgård
05f9d8fcaa AAC: simplify some calculations in decode_spectrum_and_dequant()
Simplify cur_band_type, group_len, and coef/offset calculations.  This
makes the code easier to read and slightly faster.

Originally committed as revision 21189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:32 +00:00
Måns Rullgård
c816d3d042 AAC: Compress codebook tables and optimise sign bit handling
The codebooks each consist of small number of values repeated in
groups of 2 or 4.  Storing the codebooks as a packed list of 2- or
4-bit indexes into a table reduces their size substantially (from 7.5k
to 1.5k), resulting in less cache pressure.

For the band types with sign bits in the bitstream, storing the number
and position of non-zero codebook values using a few bits avoids
multiple get_bits() calls and floating-point comparisons which gcc
handles miserably.

Some float/int type punning also avoids gcc brain damage.

Overall speedup 20-35% on Cortex-A8, 20% on Core i7.

Originally committed as revision 21188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 16:46:28 +00:00
Ronald S. Bultje
9d50d39629 Fix issue1658 (trailing space in rtpmap descriptor).
Originally committed as revision 21187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 15:55:42 +00:00
Tomas Härdin
094a63f1f6 Check there is a stream before writing header.
Patch by Tomas Härdin: $(name) punto hardin chez codemill dot se

Originally committed as revision 21186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 14:32:48 +00:00
Vitor Sessak
ef5e7fb253 Remove needless use of log2f()
Originally committed as revision 21185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 04:35:19 +00:00
Vitor Sessak
1c3c129b8f Remove the struct SiprModeParam of the context. This will simplify splitting
the file for future 16k mode decoder code.

Originally committed as revision 21184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 04:29:55 +00:00
Måns Rullgård
f3da24c4c3 SIPR: kill variable-length arrays
Two of these are in fact constant size, so use the constant instead of
a variable in the declarations.  The remaining one is small enough
that always using the maximum size is acceptable.

Originally committed as revision 21183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 03:11:02 +00:00
Michael Niedermayer
0cd73b6c30 remove unused variable
Originally committed as revision 21182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:44:38 +00:00
Michael Niedermayer
cc51b28299 Split cabac decoding code out of h264.c.
not slower according to benchmarks.

Originally committed as revision 21181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:35:36 +00:00
Michael Niedermayer
8e71d89a7b Move golomb_to_int*cbp tables back to h264_data.h as svq3.c used them.
Yes i did compile&test, no svq3.c was not recompiled.

Originally committed as revision 21180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:17:16 +00:00
Zuxy Meng
0752cd39d2 More av_cold for infrequently called functions.
Originally committed as revision 21179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:16:00 +00:00
Michael Niedermayer
e1e949026e Split cavlc out of h264.c.
Seems to speed the code up a little...
The placement of many generic functions between h264.c and h264.h is still open
Currently they are a little randomly placed between them.

Originally committed as revision 21178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 01:59:19 +00:00
Stefano Sabatini
08f8b51f69 Make avfilter_insert_filter() log the names of the filters between
which it inserts the new filter.

Originally committed as revision 21177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 00:16:52 +00:00
Stefano Sabatini
f37c934d20 Make query_formats() print an error message if an auto-inserted scale
filter cannot convert between input and output formats.

Originally committed as revision 21176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 00:09:24 +00:00
Reimar Döffinger
1460c79097 Use MULH instead of 64x64 multiplication, around 5% overall speedup on Intel Atom.
Patch by myself and Yuriy Kaminskiy [yumkam mail ru]

Originally committed as revision 21175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 23:02:07 +00:00
Michael Niedermayer
188d3c510d Split motion vector prediction off h264.c/h.
Originally committed as revision 21174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 21:36:26 +00:00
Michael Niedermayer
2bedc0e854 Move check_intra4x4_pred_mode() back from h264.h to h264.c, the function is just
called once per MB in worst case and doesnt seem to benefit from static inline.
Actually the code might be a hair faster now (0.1% according to my benchmark but
this could be random noise)

Originally committed as revision 21173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 21:17:26 +00:00
Michael Niedermayer
ea6f00c448 Split all the reference picture handling off h264.c.
Originally committed as revision 21172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 20:59:00 +00:00
Thilo Borgmann
099809d19b Reindent after last commit.
Originally committed as revision 21171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 20:37:56 +00:00
Thilo Borgmann
ff9ea0b7cc Replace variable length array with an allocated buffer
in the context to increase compatibility.

Originally committed as revision 21170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 20:35:22 +00:00
Michael Niedermayer
889fce8e30 Split (picture|seq) parameter set decoding out of h264.c.
no speedloss meassured, also its really not touching anything that is speed relevant.

Originally committed as revision 21169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 19:33:45 +00:00
David Conrad
28b2866f45 /nop is illegal with Apple's older version of gas, this was fixed elsewhere
but not here since it was unused before now.

Originally committed as revision 30289 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-12 19:03:09 +00:00
Michael Niedermayer
9c09546352 Split SEI code off h264.c.
Originally committed as revision 21168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 18:54:40 +00:00
Ronald S. Bultje
2edabfdfdb Reindent after r21166.
Originally committed as revision 21167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 16:36:23 +00:00
Tomas Härdin
08f7a8ac32 Use chunked encoding for HTTP uploads. Patch by Tomas Härdin
<$firstname.$lastname()codemill,se>.

Originally committed as revision 21166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 16:36:00 +00:00
Michael Niedermayer
943f69a6ea Split direct mode (macro)block decoding off h264.c.
No speedloss meassured (its slightly faster here but that may be random fluctuations)

Originally committed as revision 21165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 14:32:58 +00:00
Michael Niedermayer
9514a0841a Align mb_bit_buffer and vs_bit_buffer as their alignment is checked by assert().
Originally committed as revision 21164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 13:54:35 +00:00
Martin Storsjö
51a269cd97 Make sure the destination address is written as an IP address in the SDP
Patch by Martin Storsjo (martin AT martin DOT st)

Originally committed as revision 21163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 10:56:43 +00:00
Zuxy Meng
a7494872d5 Reduce stack usage in svq1_encode_plane(). Reuse context scratch buffer
instead.  Avoid a crash on MinGW.

Originally committed as revision 21162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 09:13:32 +00:00
Sergiy
56e29bf2c9 Correct timestamps inside FLV data received by RTMP.
Patch by Sergiy (gmail(piratfm))

Originally committed as revision 21161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 07:10:47 +00:00
Art Clarke
e2ee11e868 Use old-style RTMP handshake for old servers.
This fixes issue streaming from Red5 server.
Patch by Art Clarke (aclarke@`echo xyzzy|sed s/y/u/|sed s/y/le/|tr z g`.com)

Originally committed as revision 21160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 06:44:49 +00:00
Michael Niedermayer
082cf97106 Split h264 loop filter off h264.c.
No meassureable speed difference on pentium dual & cathedral sample.

Originally committed as revision 21159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 06:01:55 +00:00
Michael Niedermayer
419276c50d Move svq3.o to the correct spot.
Originally committed as revision 21158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 05:34:10 +00:00
Michael Niedermayer
903d58f631 Get rid of #include "svq3.c"
functions called more than per mb are moved into the header, scan8 is also
as it must be known at compiletime.
The code after this patch duplicates h264data.h, this has been done to minimize
the changes in this step and allow more fine grained benchmarking.
Speedwise this is 1% faster on my pentium dual core with diegos cursed cathedral
sample.

Originally committed as revision 21157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 05:30:31 +00:00
Michael Niedermayer
a683681336 Better title for the file.
Originally committed as revision 21156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 04:49:18 +00:00
Zuxy Meng
845e37e770 Make sure that sfence is used after any non temporal stores.
Originally committed as revision 30287 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-12 02:34:33 +00:00
Vitor Sessak
6b7c7703f4 Add replacements for log2f(), exp2() and exp2f() for platforms that lacks it.
Should fix build breakage on some platforms introduced in r21125.

Originally committed as revision 21155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 02:19:51 +00:00
Carl Eugen Hoyos
0941ee0fa6 Support uncompressed ("Resolution 1:1") Avid AVI Codec, (partially) fixes issue 1474.
Originally committed as revision 21154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 00:29:26 +00:00
Måns Rullgård
dc0d86face AAC: use table for cbrtf(n)*n
The maximum length of escape_sequence is 21 bits, so adjust limit in
code to match this.

Up to 10% faster on Cortex-A8.

Originally committed as revision 21153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 20:21:26 +00:00
Luca Abeni
4bf0faaafe Remove the inclusion of unneeded headers
Originally committed as revision 21152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 19:55:14 +00:00
Måns Rullgård
7c8af53f87 AAC: escape_sequence is 21 bits max
The maximum length of escape_sequence is 21 bits, so adjust limit in
code to match this.  Also fix the comment.

Originally committed as revision 21151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 18:02:00 +00:00
Martin Storsjö
5d629b72cb Provide a fallback for getnameinfo() also. Patch by Martin Storsjö
<$firstname()$firstname,st>.

Originally committed as revision 21150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:45:17 +00:00
Martin Storsjö
34a65f1fdd Implement a fallback for struct sockaddr_storage if not available.
Patch by Martin Storsjö <$firstname()$firstname,st>.

Originally committed as revision 21149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:42:35 +00:00
Martin Storsjö
33a4dbdd03 Check for struct sockaddr_storage. Patch by Martin Storsjö
<$firstname()$firstname,st>.

Originally committed as revision 21148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:42:15 +00:00
Martin Storsjö
fdcdd5396e Use getaddrinfo() instead of resolve_host(). Patch by Martin Storsjö
<$firstname()$firstname,st>.

Originally committed as revision 21147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:32:40 +00:00
Martin Storsjö
f1888474fa Deprecate resolve_host(). Patch by Martin Storsjö <$firstname()$firstname,st>.
Originally committed as revision 21146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:28:55 +00:00
Martin Storsjö
fa053ca725 Provide fallback implementations of getaddrinfo() and freeaddrinfo().
Patch by Martin Storsjö <$firstname()$firstname,st>.

Originally committed as revision 21145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:27:07 +00:00
Martin Storsjö
c001861351 Check for struct addrinfo availability. Patch by Martin Storsjö
<$firstname()$firstname,st>.

Originally committed as revision 21144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:17:01 +00:00
Ronald S. Bultje
7e43f74a37 Use getaddrinfo(), if available, in resolve_host(). Patch by Martin
Storsjö <$firstname()$firstname,st>.

Originally committed as revision 21143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:14:16 +00:00
Martin Storsjö
84882df62b Check for getaddrinfo(), patch by Martin Storsjö <$firstname()$firstname,st>.
Originally committed as revision 21142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 17:01:56 +00:00
Alex Converse
c460833d76 fft-test: Add RDFT/IRDFT support.
Originally committed as revision 21141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 16:41:03 +00:00
Alex Converse
5b37ef8e43 fft-test: Replace do_mdct with a tf_transform enum and switch on it.
Originally committed as revision 21140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 16:40:01 +00:00
Martin Storsjö
ae550ce9eb configure: Make check_type handle type names containing spaces
Patch by Martin Storsjö <martin at martin st>

Originally committed as revision 21139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 14:22:29 +00:00
Kostya Shishkov
eebece4641 Fix two RLE buffer size calculations in TSCC decoder.
Spotted by Zhongtuan Ma.

Originally committed as revision 21138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 14:21:53 +00:00
Måns Rullgård
fd07f803b1 configure: allow names with spaces in enable/disable_safe
Originally committed as revision 21137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 13:36:58 +00:00
Peter Ross
f56f4149df add myself as the electronicarts demuxer maintainer
Originally committed as revision 21136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 12:08:42 +00:00
Carl Eugen Hoyos
3b3a676a13 10l: Fix forgotten variable rename from r14893 (fixes issue 1675).
Originally committed as revision 21135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 10:54:59 +00:00
Zuxy Meng
52c0fcaf52 Avoid redefinition of RGB_PLANAR2PACKED24 as the template is included for
multiple times.

Originally committed as revision 30273 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-11 08:21:31 +00:00
Ramiro Polla
996de2fefa cosmetics: {} placement.
Originally committed as revision 30272 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-11 07:30:28 +00:00
David Conrad
2d4970d88d oggdec: Set dts when known
Originally committed as revision 21134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 05:51:09 +00:00
Alexander Strange
7ffd8332c7 Add missing internal.h to files calling ff_match_2uint16().
Fixes warnings:
libavcodec/mpegvideo_enc.c:574: warning: implicit declaration of function
'ff_match_2uint16'
libavcodec/ituh263enc.c:143: warning: implicit declaration of function
'ff_match_2uint16'
libavcodec/svq1enc.c:97: warning: implicit declaration of function
'ff_match_2uint16'

Originally committed as revision 21133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 04:57:04 +00:00
Michael Niedermayer
2c8077621b Optimize ff_snow_horizontal_compose97i.
this makes the 9/7 C wavelet at the decoder side 22% faster.
The old code is changed to match the new in terms of the order of operations
(which also makes it sligtly faster)

Originally committed as revision 21132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 02:52:50 +00:00
Michael Niedermayer
233a8b3d6b Merge vertical_compose53iL0*()
8% faster C 5/3 wavelet at the decoder side.

Originally committed as revision 21131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 01:00:50 +00:00
Michael Niedermayer
2a84512a74 Optimize horizontal_compose53i() by inlining inv_lift() and optimizing the
resulting code slightly. ~30% faster C 5/3 wavelet at the decoder side.

Originally committed as revision 21130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:54:48 +00:00
David Conrad
18ca491bf1 mkvdec: Avoid divide-by-zero crash on invalid real audio tracks
Originally committed as revision 21129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:55 +00:00
David Conrad
24ca518bd1 Add support for dirac in ogg
Originally committed as revision 21128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:52 +00:00
David Conrad
66b0255248 Add a function to parse Dirac's sequence header
Originally committed as revision 21127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:44 +00:00
David Conrad
c4dffe7e36 Export fullrange flag and color information for h.264
Originally committed as revision 21126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:39 +00:00
Vladimir Voroshilov
7bd3096f5f SIPR decoder for modes 8k5, 6k5 and 5k0.
Patch by Vladimir Voroshilov and myself.

Originally committed as revision 21125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 21:38:15 +00:00
Stefano Sabatini
9ea977210c Make query_formats() increment the scaler_count after each scaler
insertion.

Originally committed as revision 21124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 14:23:19 +00:00
Stefano Sabatini
999c23a13a Make avfilter_insert_filter() print the instance name of the
auto-inserted scale filter, rather than the filter name, as this
provides more information.

Originally committed as revision 21123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 13:45:55 +00:00
Stefano Sabatini
2d187e2302 Add an entry for the addition of a parameter log_ctx to
avfilter_graph_config_links().

Originally committed as revision 21122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 13:42:50 +00:00
Stefano Sabatini
3fb8e77a8d Add a log context to avfilter_graph_config_links().
Originally committed as revision 21121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 13:39:56 +00:00
Stefano Sabatini
54c5848dbd Remove extra empty line.
Originally committed as revision 21120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 10:40:45 +00:00
Carl Eugen Hoyos
e6a9dd6a7d Use enum CodecID where appropriate.
Originally committed as revision 21119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 08:57:20 +00:00
Peter Ross
e6565055b9 Deluxe Paint Animation demuxer
Originally committed as revision 21118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 05:47:50 +00:00
Peter Ross
a1ae40fd0d Deluxe Paint Animation decoder
Originally committed as revision 21117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 05:41:36 +00:00
Peter Ross
add5badbc1 do not create Electronic Arts audio stream when unsupported revision2 audio codec is present [issue1516]
Originally committed as revision 21116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 05:08:42 +00:00
Michael Niedermayer
9e2e821468 Doxy for ff_match_2uint16().
Originally committed as revision 21115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 04:06:34 +00:00
Michael Niedermayer
6c060b55a9 Fix implicit declaration warning.
Originally committed as revision 21114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 04:04:51 +00:00
Michael Niedermayer
c46eeae2a8 Add a function to match a 2 element vector of uint16_t and use it in h263 and svq1
instead of custom and bloated code to find an index into a w/h array.

Originally committed as revision 21113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 18:33:21 +00:00
Michael Niedermayer
aa11ce6568 Make inter_level/run global again, msmpeg4 uses them.
... I did test but it wasnt recompiled ...

Originally committed as revision 21112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 18:12:06 +00:00
Michael Niedermayer
0366b6e199 Make some tables static again, i mistakely thought they would be used in several
places.

Originally committed as revision 21111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 17:22:37 +00:00
Zuxy Meng
23b0072ad7 MMX(2) accelerated yuv420->rgb24 routine, trivial as essentially as it just
swaps R and B inputs for the existing yuv420->bgr24 routine.

Originally committed as revision 30254 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-09 17:20:49 +00:00
Laurent Aimar
75dd693840 Export get_slice_type() as ff_h264_get_slice_type().
Patch by Laurent Aimar <fenrir at videolan dot org>.

Originally committed as revision 21110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 16:20:41 +00:00
Michael Niedermayer
fc53b6afee Split H263 encoder and decoder from common code.
Originally committed as revision 21109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 14:59:06 +00:00
Zuxy Meng
4b19045566 Remove unused PREFETCHW macro
Originally committed as revision 30253 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-09 14:44:20 +00:00
Reimar Döffinger
14b8607065 Add support for hard-coded MDCT-related ff_sine_windows tables.
Originally committed as revision 21108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 13:28:04 +00:00
Laurent Aimar
b090930d43 Always initialize bit_depth_luma and bit_depth_chroma in the H264
decoder which allows their usage without checking profile_idc.

Patch by Laurent Aimar (fenrir (AT) videolan org)

Originally committed as revision 21107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 07:57:26 +00:00
Peter Ross
8600106ac2 update my email address
Originally committed as revision 21106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 03:31:13 +00:00
Stefano Sabatini
27d8f6b660 Make the scale filter set in the input and output links only the
respective pixel formats effectively supported by libswscale.

Originally committed as revision 21105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 23:48:32 +00:00
Michael Niedermayer
a7ac9c2f62 Move 3 direct MV related functions that i left out from h263.c to mpeg4video.c.
Originally committed as revision 21104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:59:51 +00:00
Thilo Borgmann
b2f4b04336 Change local variable type from unsigned int to int in order to
fix a fate test error for gcc 4.1.x introduced in revision 21069.

Originally committed as revision 21103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:53:42 +00:00
Michael Niedermayer
261a3c2d05 Move AVCodecs from h263dec.c to msmpeg4.c and disentangle init decode init.
Originally committed as revision 21102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:40:10 +00:00
Reimar Döffinger
1b168a428d Ignore 0-height slice in sws_scale, otherwise a final 0-height slice will
cause libswscale to assume the incorrect slice order and complain about
slices starting in the middle.

Originally committed as revision 30246 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-08 19:31:33 +00:00
Michael Niedermayer
7213abf6ba Use h263 tables in msmpeg4v1 dont duplicate them halfway.
Originally committed as revision 21101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 19:10:11 +00:00
Daniel Verkamp
0219e99eea Release cyuv/aura decoder buffer
Originally committed as revision 21100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 18:54:52 +00:00
Måns Rullgård
3963a17d0e AAC: add a const to decode_spectrum_and_dequant() args
Originally committed as revision 21099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:52:54 +00:00
Michael Niedermayer
101ada9abd Rename most non static h263 tables so their name contains h263.
Originally committed as revision 21098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:51:48 +00:00
Michael Niedermayer
fef59a5b4b Rename mpeg4 intra vlc tables so they contain "mpeg4", this improves readability
of msmpeg4 code (one now knows where that table comes from).

Originally committed as revision 21097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:41:14 +00:00
Michael Niedermayer
05b858b045 Rename DCtab_*, its a global variable and it helps understanding if mpeg4
is in its name.

Originally committed as revision 21096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:28:43 +00:00
Ronald S. Bultje
f9664ca026 Use the correct ByteIOContext in extradata parsing.Fixes half of issue
1658.

Originally committed as revision 21095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 17:15:46 +00:00
Jai Menon
4536c8e603 Snow : re-indent after r21093.
Originally committed as revision 21094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 16:37:32 +00:00
Jai Menon
a4bd598541 Snow : remove pointless 'if(1)'.
Originally committed as revision 21093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 16:34:50 +00:00
Michael Niedermayer
28fbbee15f Remove useless line.
Originally committed as revision 21092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 16:26:44 +00:00
Michael Niedermayer
e75d233506 Fix indention.
Originally committed as revision 21091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 16:04:45 +00:00
Andreas Öman
4ad04da214 Log unknown NAL code from correct context
Originally committed as revision 21090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 15:50:26 +00:00
Jai Menon
2da16f288a Snow : use non-NULL context for av_log.
Originally committed as revision 21089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 14:45:24 +00:00
Jai Menon
8ec5a042e4 Cosmetics : remove duplicated comment.
Originally committed as revision 21088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 14:33:35 +00:00
Diego Biurrun
49d2d1c35c Explain why the level variable is magically inceased in mpeg4_encode_dc().
It must be in a certain range to avoid DC overflows.

Originally committed as revision 21087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 10:00:56 +00:00
Stefano Sabatini
d3c01751a3 Fix compilation on gcc 2.95.3 (still supported) broken by r21077,
which was due to declaring variable after code.

Originally committed as revision 21086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 08:19:18 +00:00
Alex Converse
d987a9e9ad fft-test: whitespace cosmetics
Originally committed as revision 21085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 06:11:56 +00:00
Jai Menon
e8c6411ce3 Snow : release buffers allocated using avctx->get_buffer.
Originally committed as revision 21084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 05:09:17 +00:00
Jai Menon
8456462fb8 Set bits_per_coded_sample in the raw video encoder.
Aside from being the correct thing to do, this also
fixes issue 1299.

Originally committed as revision 21083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 05:08:02 +00:00
Michael Niedermayer
51ce2207c8 Add a few CONFIG_MPEG4_DECODER that should be there.
Originally committed as revision 21082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 04:00:06 +00:00
Art Clarke
f2e77e4b1e Improve avformat_version() doxy.
Patch by Art Clarke.

Originally committed as revision 21081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 03:43:48 +00:00
Martin Storsjö
b827f4eb47 Currently, the replacement which is used if inet_aton isn't available,
only works correctly on little-endian. The attached patch makes it endian
independent.

Patch by Martin Storsjö <$firstname()$firstname,st>.

Originally committed as revision 21080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 00:04:23 +00:00
Michael Niedermayer
ca334dd14b Split the mpeg4 encoder and decoder off h263.c
Originally committed as revision 21079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 23:53:49 +00:00
Ronald S. Bultje
84f0aba18d handler can be NULL if we did not support this dynamic format (codec).
Fixes issue 1658 (the crasher), although the format itself is obviously
still unsupported.

Originally committed as revision 21078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 23:05:19 +00:00
Stefano Sabatini
063e769273 Make avfilter_formats_unref(AVFilterFormats **ref) handle the case
when *ref is NULL.

Originally committed as revision 21077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:59:22 +00:00
Stefano Sabatini
fe59258516 Use the @return doxy command, and extend documentation for the return
value of AVFilter.query_formats.

Originally committed as revision 21076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:52:46 +00:00
Stefano Sabatini
c4d2e41ce4 Avoid the use of the modal auxiliary "should" in the
AVFilter.query_formats doxy.
The doxy expresses what a function does, not what it should do.

Originally committed as revision 21075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:51:06 +00:00
Thilo Borgmann
e38215f2a4 Add multi-channel correlation support for ALS.
Originally committed as revision 21074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:48:58 +00:00
Stefano Sabatini
516841ef63 Fix doxy, use third person.
Originally committed as revision 21073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:44:32 +00:00
Ronald S. Bultje
8f3c87f3e2 Add correct log context to av_log() calls in parse_rtpmap().
Originally committed as revision 21072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:44:03 +00:00
Ronald S. Bultje
c896580087 Re-indent to more closely follow general coding standards used in other
parts of FFmpeg. Also change a starting condition; while (condition) {
... bla = bla->next; } loop into a proper for() loop.

Originally committed as revision 21071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:41:14 +00:00
Carl Eugen Hoyos
59043195d4 Fix red/blue swap for 4xa files.
Originally committed as revision 21070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:33:26 +00:00
Thilo Borgmann
99c5f5ccbe Optimize short-term prediction by reducing index arithmetic.
Originally committed as revision 21069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:23:28 +00:00
Ramiro Polla
9a02c3e183 Silence calls to git in version.sh.
Originally committed as revision 21068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 19:25:03 +00:00
Ramiro Polla
8202d905cd Check for VERSION in source dir.
Originally committed as revision 21067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 19:23:50 +00:00
Stefano Sabatini
715cff9a59 Add an entry for the sws_isSupportedInput() and
sws_isSupportedOutput() functions addition.

Originally committed as revision 21066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 19:11:03 +00:00
Stefano Sabatini
8e9767f6fd Implement sws_isSupportedInput() and sws_isSupportedOutput().
Originally committed as revision 30236 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-07 19:07:47 +00:00
Ramiro Polla
31c194e7f9 Check for snapshot_version in source dir.
Originally committed as revision 21065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 17:54:17 +00:00
Michael Niedermayer
46244c640c Add some const qualifiers.
Originally committed as revision 21064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 15:46:45 +00:00
Michael Niedermayer
616251c924 Document decide_ac_pred() and restore_ac_coeffs().
Originally committed as revision 21063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 15:43:49 +00:00
Michael Niedermayer
d6856c5708 Move restore_ac_coeffs() call into decode_ac_pred().
This makes decode_ac_pred() easier to understand.

Originally committed as revision 21062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 15:31:54 +00:00
Michael Niedermayer
0dc5dc08db Move restore_ac_coeffs() up so its declared before its use.
Originally committed as revision 21061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 15:24:50 +00:00
Michael Niedermayer
64f716b499 More doxy
Originally committed as revision 21060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 15:12:31 +00:00
Michael Niedermayer
7cd9fe488d Document ff_h263_show_pict_info().
Originally committed as revision 21059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 14:56:40 +00:00
Michael Niedermayer
4fea04820b Factorize if() surrounding every ff_h263_show_pict_info() call.
Originally committed as revision 21058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 14:55:11 +00:00
Martin Storsjö
9ea7f03aa0 Always set the destination address even if no port was found.
Patch by Martin Storsjo (martin AT martin DOT st)

Originally committed as revision 21057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 08:24:44 +00:00
Martin Storsjö
c47b0738b5 Check the URL used for the SDP destination.
Patch by Martin Storsjo (martin AT martin DOT st)

Originally committed as revision 21056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 08:11:56 +00:00
Zuxy Meng
bb34acd8a4 Remove const to avoid a bunch of GCC warnings against discarded qualifiers and
incompatible pointer type.

Originally committed as revision 30234 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-07 07:13:18 +00:00
Michael Niedermayer
0b60f3bdf5 2 more if(CONFIG_*_DECODER)
Originally committed as revision 21055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 06:32:34 +00:00
Michael Niedermayer
d7525cba23 Split out intel H263 decoder.
Originally committed as revision 21054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 06:25:41 +00:00
Michael Niedermayer
515a543809 flv.h should ideally be included in flvdec.c
Originally committed as revision 21053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 06:20:57 +00:00
Michael Niedermayer
6a14a15722 Move forgotton "AVCodec flv_encoder" over to flvenc.c.
Originally committed as revision 21052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 05:41:49 +00:00
Michael Niedermayer
a0b0d75368 Split flv decoding out.
Originally committed as revision 21051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 05:36:45 +00:00
Michael Niedermayer
eb52376915 Split out flv encoding.
Originally committed as revision 21050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 04:42:39 +00:00
Michael Niedermayer
f867378771 Document aspect_to_info().
Originally committed as revision 21049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 04:01:19 +00:00
Michael Niedermayer
f016159416 Cleanup aspect_to_info().
Originally committed as revision 21048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 03:58:12 +00:00
Michael Niedermayer
214cb565c0 Document several more things.
Originally committed as revision 21047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 03:54:10 +00:00
Michael Niedermayer
b0704443f2 Document *VLC_BITS.
Originally committed as revision 21046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 03:40:41 +00:00
Michael Niedermayer
046be9299f Simplify h263_get_picture_format().
Originally committed as revision 21045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 03:36:46 +00:00
Michael Niedermayer
5149048b6f Mark h263_get_picture_format() av_const to indicate that it has no funny
sideeffects and reads no global memory.

Originally committed as revision 21044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 03:34:30 +00:00
Michael Niedermayer
7a05b0a675 Document h263_get_picture_format().
Originally committed as revision 21043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 03:30:45 +00:00
Michael Niedermayer
036c1382a7 Fix stream copy & transcoding one stream at the same time.
Fixes issue1660.

Originally committed as revision 21042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 01:15:16 +00:00
Michael Niedermayer
9f907d853f Correct indention.
Originally committed as revision 21041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 00:50:34 +00:00
Michael Niedermayer
8157483d64 Move the definitions of data_buf and data_size closer to where they are used.
Originally committed as revision 21040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 00:47:23 +00:00
Carl Eugen Hoyos
07f2a575c5 100l: Fix compilation after r21037.
Originally committed as revision 21039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 23:15:33 +00:00
Michael Niedermayer
2efcf29275 Stop the approximation in bessel() once it does no longer improve.
This is faster.

Originally committed as revision 21038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 22:40:52 +00:00
Daniel Verkamp
9df9b810c5 Handle more ADPCM codecs in av_get_bits_per_sample().
This removes some special-case code from riff.c.
CODEC_ID_ADPCM_G726 is still handled in riff.c as before because it is
not guaranteed to be fixed 4 bits per sample.

Originally committed as revision 21037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 21:51:20 +00:00
Stefano Sabatini
1e289b0979 Add an entry for the avfilter_add_colorspace() API change.
Originally committed as revision 21036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 16:22:15 +00:00
Stefano Sabatini
c1d662fd88 Change avfilter_add_colorspace() to make it accept **avff rather than
*avff, so that an AVFilterFormats struct is created and returned by
the function if *avff is NULL.

Make the function use more convenient.

Originally committed as revision 21035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 16:19:13 +00:00
John Van Sickle
7659712749 Fix entry on concatenating multiple yuv4mpegpipe streams.
patch by John Van Sickle, john.vansickle gmail com

Originally committed as revision 21033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 13:49:31 +00:00
Ben Littler
418a287cae add another mjpeg fourcc to riff.c list
Originally committed as revision 21032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-05 20:14:50 +00:00
Francesco Lavra
643bae382c Use correct context for av_log(), should prevent a crash for malformed files.
Patch by Francesco Lavra (francescolavra at interfree dot it).

Originally committed as revision 21031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-05 16:25:41 +00:00
Diego Biurrun
50fe16960b Add a few explanatory comments to cornercase workarounds.
Originally committed as revision 21030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-05 10:18:01 +00:00
Thilo Borgmann
71fe4573bc Replace array operator [] with direct access via pointer.
Solves issue 1657.

Originally committed as revision 21029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-05 01:16:02 +00:00
Carl Eugen Hoyos
6698d13998 Cosmetics: Fix indentation and comment after r21027.
Originally committed as revision 21028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-05 01:14:38 +00:00
Carl Eugen Hoyos
4235c98e57 Support decoding raw 2bpp in mov, fixes issue 1528.
Originally committed as revision 21027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-05 01:11:45 +00:00
Carl Eugen Hoyos
0a1e15109a Improve readability of 4bpp raw decoder and prepare for supporting 2bpp.
Originally committed as revision 21026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-05 00:41:29 +00:00
Baptiste Coudurier
7b1312fa55 cosmetics, remove useless parentheses, add space
Originally committed as revision 21025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 22:59:43 +00:00
Baptiste Coudurier
a510991cff simplify error handling in mov_read_default
Originally committed as revision 21024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 22:58:19 +00:00
Baptiste Coudurier
cb41b2b6e0 remove no more needed MOVAtom.offset field
Originally committed as revision 21023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 22:51:38 +00:00
Baptiste Coudurier
7ead7e2181 remove useless code skipping data at end of hdlr atom, already done in mov_read_default
Originally committed as revision 21022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 22:48:27 +00:00
David Conrad
2e87e71438 Register myself as libdirac libschroedinger and libtheora maintainer
Originally committed as revision 21021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 22:29:53 +00:00
Ronald S. Bultje
0e59034ed8 Remove forward declarations.
Originally committed as revision 21020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 19:55:43 +00:00
Vitor Sessak
0e426b7a6c Reindent after last commit
Originally committed as revision 21019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 19:26:08 +00:00
Vitor Sessak
846b231643 Add missing "static" qualifier
Originally committed as revision 21018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 19:25:44 +00:00
Diego Biurrun
7f6a384a4f Mark http_log() as static; it is only used in this file.
Originally committed as revision 21017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 17:55:52 +00:00
Diego Biurrun
abf649c777 Fix VDPAU check to avoid printing spurious messages to the console.
Originally committed as revision 21016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 16:29:19 +00:00
Ronald S. Bultje
a2e6a14b77 Add myself as HTTP maintainer.
Originally committed as revision 21015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 15:52:26 +00:00
Jai Menon
68d7cb0b11 Do not print libvdpau upgrade advice on platforms without vdpau
headers installed.

Originally committed as revision 21014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 15:06:28 +00:00
avcoder
b02e9c962b The H.263 wrong_run table is only for encoding; only enable it in such cases.
patch by avcoder, ffmpeg gmail com

Originally committed as revision 21013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 13:21:18 +00:00
Gwenole Beauchesne
81774dd0c4 VAAPI: fix WMV3 decoding of videos with an odd number of macroblocks per line.
Originally committed as revision 21012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 09:23:24 +00:00
Gwenole Beauchesne
5716aec3f9 Fix XvMC. XvMCCreateBlocks() may not allocate 16-byte aligned blocks,
so we can't use SSE-optimized routines.

Originally committed as revision 21011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 09:19:32 +00:00
Mike Melanson
2cf9c7ef9c Add support for these widely-used iTunes metadata fields: Album Artist,
Grouping, and Lyrics.

Originally committed as revision 21010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 02:52:40 +00:00
Stefano Sabatini
5ff84183de Make avfilter_all_colorspaces() add to the returned list of pixel
formats only the non-HW-accelerated formats, for which there is no
sense in filtering.

Originally committed as revision 21009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 00:08:11 +00:00
Stefano Sabatini
a2b1662741 Add an entry for the avfilter_add_colorspace() API addition.
Originally committed as revision 21008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 22:29:18 +00:00
Stefano Sabatini
4fd1f1876a Implement avfilter_add_colorspace().
Originally committed as revision 21007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 22:26:59 +00:00
Stefano Sabatini
fa4dc9f082 Document avcodec_pix_fmt_to_codec_tag().
Originally committed as revision 21006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 21:21:41 +00:00
Stefano Sabatini
634116df3e Prefer enum PixelFormat over int for the type of the format parameter
of getSubSampleFactors().

Originally committed as revision 30184 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 15:20:07 +00:00
Stefano Sabatini
997980f0d8 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for the
swscale_configuration() and swscale_license() functions, consistent
with the rest of FFmpeg.

Originally committed as revision 30180 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 14:35:20 +00:00
Stefano Sabatini
4160069067 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for XXX_configuration() and
XXX_license() functions, consistent with the rest of FFmpeg.

Originally committed as revision 21005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 14:31:25 +00:00
Reinhard Tartler
8040c3b250 Define device_try_init() as static in libavdevice/v4l2.c.
Patch by Reinhard Tartler (siretart AT tauware DOT de).

Originally committed as revision 21004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 10:43:36 +00:00
Stefano Sabatini
f412d5e97a Simplify usePal() macro, make it use av_pix_fmt_descriptors.
Originally committed as revision 30172 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 00:22:49 +00:00
Stefano Sabatini
b3cf7cb144 Simplify getSubSampleFactors(), make it use the values provided by
av_pix_fmt_descriptors().

Originally committed as revision 30171 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 00:09:24 +00:00
Reimar Döffinger
4a1289450a Reduce number of ASM constraints for ff_lpc_compute_autocorr_sse2 since it
causes no significant speed difference and can avoid compilation issues with
--enable-pic.

Originally committed as revision 21003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-02 17:48:08 +00:00
Vitor Sessak
cd44b2e307 10l, my last commit (r21001) broke regression tests.
FATE tests might need updating too.

Originally committed as revision 21002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-02 12:29:00 +00:00
Vitor Sessak
4e2c08c551 Small ELBG optimization: use last pixel as a initial guess for the codebook
entry.

Originally committed as revision 21001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-02 12:15:09 +00:00
Stefano Sabatini
aa13b573b4 Use av_match_ext() in place of the deprecated match_ext() function.
Originally committed as revision 21000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 23:56:09 +00:00
Stefano Sabatini
79c2f2d34e Add an entry for the av_match_ext() addition.
Originally committed as revision 20999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 23:53:02 +00:00
Stefano Sabatini
8eb631fa50 Deprecate match_ext() in favor of av_match_ext(), and mark it for
deletion at the next major bump.

Originally committed as revision 20998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 23:50:10 +00:00
Michael Niedermayer
24b207b5a5 Adjust threshold for xvid packed b frame detection.
Also add xvid_build check.
If you note any packed bitstream regression, check this commit first and report it.
Fixes issue1652

Originally committed as revision 20997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 21:32:48 +00:00
Michael Niedermayer
6c58758737 It appears s->bitstream_buffer_size has to be 0 at the end so rather use assert.
Originally committed as revision 20996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 21:07:52 +00:00
Stefano Sabatini
7a78bc85aa Update this_year value.
Originally committed as revision 20995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 15:07:35 +00:00
Stefano Sabatini
0f52ef1a00 Use av_guess_format() in place of the deprecated guess_format().
Originally committed as revision 20994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:58:03 +00:00
Stefano Sabatini
94b1f33893 Reindent.
Originally committed as revision 20993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:52:20 +00:00
Stefano Sabatini
bb1a879325 Add an entry for the av_guess_format() addition.
Originally committed as revision 20992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:50:23 +00:00
Stefano Sabatini
a1f547b94a Deprecate guess_format() in favor of av_guess_format().
Originally committed as revision 20991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:46:24 +00:00
Stefano Sabatini
debe86bfed Fix typo.
Originally committed as revision 20990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:29:22 +00:00
Stefano Sabatini
702d0a9e85 Remove residual use of the doxygen markup which is deprecated,
consistent with r19122.

Originally committed as revision 20989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-01 12:28:18 +00:00
Reimar Döffinger
f514b4f937 Do not needlessly use the BP register in x86_64-specific code, there are
enough other registers available that are less likely to cause issues.

Originally committed as revision 30160 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-01 09:46:24 +00:00
Stefano Sabatini
f48b0fa29e Document guess_format().
Originally committed as revision 20988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-31 16:38:21 +00:00
Stefano Sabatini
1642ee4337 Deprecate and mark for deletion the function guess_stream_format(),
and clone its code to ffserver_guess_format() in ffserver.c.

guess_stream_format() is hackish since it relies on some undocumented
properties of the name of the muxers (wich is currently only relevant
for the ASF muxer), and has no use outside ffserver.c.

Originally committed as revision 20987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-31 14:12:58 +00:00
Diego Biurrun
f9310cbb2f Remove unused function msmpeg4_memsetw().
It is an exact duplicate of memsetw() in h263.c.

Originally committed as revision 20986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-31 01:27:47 +00:00
Carl Eugen Hoyos
f27fd36231 Fix colourspace for 16 bit raw video in mov, fixes issue 1527 on big-endian.
Originally committed as revision 20985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-31 01:08:10 +00:00
Carl Eugen Hoyos
e1bd945b1d Support raw black&white in mov, fixes issue 1654.
Originally committed as revision 20984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 22:58:49 +00:00
Luca Abeni
759dc2b6cc Remove outdated comments.
Originally committed as revision 20983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 17:12:29 +00:00
Luca Barbato
d7250724ef Rename internal function
sdp_read_packet -> rtsp_fetch_packet

This way describes slightly better what it does.

Originally committed as revision 20982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 16:19:28 +00:00
Diego Biurrun
20390e3170 cosmetics: Move MPEG-4 encoding functions around to avoid forward declarations.
Originally committed as revision 20981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 16:10:52 +00:00
Diego Biurrun
df8d98c4dd 10l: Move ff_mpeg4_pred_dc() to an appropriate place.
It is used by both encoders and decoders and should not be below
a CONFIG_ENCODERS preprocessor check.

Originally committed as revision 20980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 16:08:47 +00:00
Diego Biurrun
2a992f467a cosmetics: Move MPEG-4 decoding functions around to avoid forward declarations.
Originally committed as revision 20979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 14:51:46 +00:00
Diego Biurrun
1436f31709 cosmetics: Move H.263-related functions around to avoid forward declarations.
Originally committed as revision 20978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 14:34:14 +00:00
Diego Biurrun
8380edd947 cosmetics: Reorder functions to avoid forward declarations.
Originally committed as revision 20977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 14:15:12 +00:00
Diego Biurrun
941870cd35 Remove unnecessary forward declaration for msmpeg4_memsetw().
Originally committed as revision 20976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 13:48:03 +00:00
Diego Biurrun
4052cbf161 Get rid of pointless CONFIG_ANY_H263 preprocessor definition.
Originally committed as revision 20975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 11:33:59 +00:00
Diego Biurrun
af818f7a66 Add required header #includes for mpegvideo.h and config.h.
Originally committed as revision 20974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 11:22:41 +00:00
Diego Biurrun
716d1c2a31 Eliminate CONFIG_ANY_H263_DECODER preprocessor definition.
It is just a logical OR of several decoder definitions, all of which depend on
CONFIG_H263_DECODER. So it can just be replaced by the latter.

Originally committed as revision 20973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 11:07:04 +00:00
Diego Biurrun
af8a008a68 Get rid of pointless CONFIG_WMV_DECODER definition.
Originally committed as revision 20972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 02:09:51 +00:00
Diego Biurrun
d702a2e6c6 Get rid of pointless CONFIG_WMV2 definition.
Originally committed as revision 20971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 02:08:25 +00:00
Diego Biurrun
b928b1bb01 Simplify CONFIG_ANY_H263_DECODER preprocessor definition:
There is no need to list decoders that enable the H.263 decoder anyway.

Originally committed as revision 20970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-30 02:01:19 +00:00
Diego Biurrun
7c5417ef36 Remove unused definitions: CONFIG_MSMPEG4 and CONFIG_WMV_ENCODER.
Originally committed as revision 20969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 18:26:31 +00:00
Diego Biurrun
547fc46ca7 Remove pointless CONFIG_MLP_DECODER preprocessor check.
The file is only ever compiled if the MLP decoder is enabled.

Originally committed as revision 20968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 17:20:19 +00:00
Diego Biurrun
c46b024ed3 Neither the H.264 nor the SVQ3 decoder depend on the H.264 parser.
Originally committed as revision 20967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 17:16:07 +00:00
Diego Biurrun
2cca233bc9 The MLP decoder depends on the MLP parser.
Originally committed as revision 20966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 14:18:27 +00:00
Diego Biurrun
aec09a004c Enable the TrueHD decoder when the MLP decoder is enabled.
They share all code, there is no point in enabling one but not the other.

Originally committed as revision 20965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 13:48:48 +00:00
Diego Biurrun
5b423887f4 Declare AC-3 parser dependency of AC-3 decoder and EAC-3 demuxer in configure.
Originally committed as revision 20964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 13:14:41 +00:00
Carl Eugen Hoyos
a80459fdf3 Fix colours for QT JPEG2000, fixes issue 1540.
Originally committed as revision 20963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 12:00:28 +00:00
Carl Eugen Hoyos
484d146416 Use correct pixfmt for 32 bit raw in mov also on big-endian, fixes issue 1630.
Originally committed as revision 20962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 11:53:51 +00:00
Diego Biurrun
f1e946943a Declare AAC parser dependencies in configure.
This affects the AAC decoder, S/PDIF muxer and ADTS to ASC bitstream filter.

Originally committed as revision 20961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 11:42:16 +00:00
Diego Biurrun
0788ac67e0 The S/P-DIF muxer depends on mpeg4audio.o.
Originally committed as revision 20960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 11:33:51 +00:00
Diego Biurrun
f95bfab05c Declare WMV1/WMV2/VC-1 decoder dependency on the H.263 decoder in configure.
Originally committed as revision 20959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 11:11:07 +00:00
Gwenole Beauchesne
9caa7ba48d Add myself as VAAPI maintainer.
Originally committed as revision 20958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 09:13:53 +00:00
Gwenole Beauchesne
07c9f6f673 Add H.264 bitstream decoding through VAAPI.
Originally committed as revision 20957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 08:48:18 +00:00
Diego Biurrun
5f000d5f38 vc1_parser.o does not depend on h263dec.o and intrax8.o.
Originally committed as revision 20956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-29 02:51:38 +00:00
Michael Dorr
322aa1e2d8 Do not explicitely set thread_count in the codec context.
This is already done by avcodec_thread_init().

Patch by Michael Dorr <dorr <at> inb.uni-luebeck.de>.

Originally committed as revision 20955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 22:46:46 +00:00
Stefano Sabatini
de4898a229 Set thread_count in the decoder before to open it.
This is safer since avcodec_open() may initialize some structure using
the thread_count default value which will be changed later, causing
potential security / stability issues.

Also do not explicitely set the thread_count value in the decoder,
since this is already done by avcodec_thread_init().

See the thread:
"[FFmpeg-devel] [PATCH] Make ffplay define in the encoder the number of threads *before* to open it",
started in date 2008-03-08.

Originally committed as revision 20954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 21:49:56 +00:00
Diego Biurrun
a8beb22f4d Declare dependencies of RV10/RV20 decoders on the H.263 decoder in configure.
Originally committed as revision 20953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 18:05:34 +00:00
Diego Biurrun
4414137eba Declare dependencies for H.263 family decoders in configure.
Originally committed as revision 20952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 18:00:07 +00:00
Diego Biurrun
7f647ae0b1 Declare the dependency of the H.263 decoder on the H.263 parser in configure.
Originally committed as revision 20951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 17:45:31 +00:00
Diego Biurrun
f34121f351 Replace CONFIG_ANY_H263_ENCODER definition by CONFIG_H263_ENCODER.
CONFIG_ANY_H263_ENCODER is just a logical OR of H.263 family definitions,
for which the build system enables CONFIG_H263_ENCODER anyway.

Originally committed as revision 20950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 17:36:03 +00:00
Diego Biurrun
3f35415df7 cosmetics: Remove pointless '#if 1' preprocessor directives.
Originally committed as revision 20949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 15:27:49 +00:00
Gwenole Beauchesne
e6d3534f9c Use VA_INVALID_ID instead of hard coded values.
Originally committed as revision 20948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 15:19:36 +00:00
Gwenole Beauchesne
c373f61ddb Add "Hardware acceleration" section to MAINTAINERS. Move vdpau* to there.
Originally committed as revision 20947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 14:00:33 +00:00
Luca Abeni
d3d1eae659 Remove a useless local variable.
Originally committed as revision 20946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 13:41:09 +00:00
Luca Abeni
cd7bfe4079 Remove outdated comment
Originally committed as revision 20945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 13:38:21 +00:00
Luca Abeni
b3fbe02c86 Remove an unneeded local variable.
Originally committed as revision 20944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 13:19:54 +00:00
Diego Biurrun
c887b30d79 Remove unused variable, fixes the warning:
libswscale/swscale_template.c:2575: warning: unused variable ‘srcFormat’

Originally committed as revision 30132 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-28 12:05:20 +00:00
Diego Biurrun
786386280e Mark conditionally used variable as av_unused, fixes the warning:
cmdutils.c:576: warning: unused variable ‘filter’

Originally committed as revision 20943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 12:01:49 +00:00
Gwenole Beauchesne
8b0867121e Rename ff_vaapi_alloc_picture() to ff_vaapi_alloc_pic_param().
Originally committed as revision 20942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 09:03:09 +00:00
Gwenole Beauchesne
36ad2b3ee0 Rename ff_vaapi_get_surface() to ff_vaapi_get_surface_id().
Originally committed as revision 20941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-28 09:02:16 +00:00
Luca Abeni
6399c17d54 Use different dynamic payload types for audio and video.
Originally committed as revision 20940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 21:31:10 +00:00
Michael Niedermayer
bac24dd2a5 2nd try on documenting av_gcd().
Originally committed as revision 20939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 14:40:49 +00:00
Diego Biurrun
43ad88e5c0 Remove commented-out debug console output.
Originally committed as revision 20938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 14:32:23 +00:00
Diego Biurrun
5ddd075daf cosmetics: Move a bunch of forward declarations below a CONFIG_ENCODERS #ifdef.
This avoids a bunch of "‘foo’ declared ‘static’ but never defined" warnings
when compiling with encoders disabled.

Originally committed as revision 20937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 14:28:43 +00:00
Kostya Shishkov
da93766858 16-bit Interplay video does not need palette control
Originally committed as revision 20936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 14:07:21 +00:00
Michael Niedermayer
03703cb3d1 Document av_gcd().
Originally committed as revision 20935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 12:20:06 +00:00
Kostya Shishkov
a69be798dc Add missing opcodes for 16-bit Interplay Video decoding and finally enable it
Originally committed as revision 20934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 09:12:50 +00:00
Kostya Shishkov
dcfb0cad68 16-bit Interplay Video stores motion vector data at the end of frame,
so initialize data pointers for 16-bit variant and read motion vectors
as supposed in corresponding opcodes.

Originally committed as revision 20933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 09:03:31 +00:00
Kostya Shishkov
e09cdc7206 10l trocadero: forgot one case where picture linesize should be used
Originally committed as revision 20932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 08:56:06 +00:00
Kostya Shishkov
5b8ebb3f41 cosmetics: reindent and break long lines after last commits
Originally committed as revision 20931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 08:53:02 +00:00
Kostya Shishkov
5a8cf39e31 Add 16-bit image data handling (but not decoding yet) to Interplay Video
Originally committed as revision 20930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 08:49:32 +00:00
Kostya Shishkov
80fec3ffd0 Use frame linesize in Interplay Video block copying function
Originally committed as revision 20929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 08:38:07 +00:00
Kostya Shishkov
80ca19f766 Make CHECK_STREAM_PTR macro in Interplay Video decoder usable with
non-default pointers, it will be useful for checking motion values
data in 16-bit variant of this codec.

Originally committed as revision 20928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 08:31:39 +00:00
Kostya Shishkov
8badb23e22 Recognize 16-bit Interplay Video variant
Originally committed as revision 20927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 08:21:40 +00:00
Kostya Shishkov
9156a5ad72 Change main loop in Interplay Video decoder, so variables x and y really mean
coordinates, not offsets.

Originally committed as revision 20926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-27 08:15:19 +00:00
Diego Biurrun
66d23c968c Use common regression test functions in ffserver regression test script.
This makes the ffserver regression test more portable.

Originally committed as revision 20925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-26 11:33:23 +00:00
Diego Biurrun
3d1470649c Replace syntax by $( ) in regression test shell scripts.
The latter syntax variant is more readable and easier to nest.

Originally committed as revision 20924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-26 11:24:04 +00:00
Reimar Döffinger
b03a63d16a Fix cdg reference and buffer_hints value:
reference must be 3 because both "fields" are used as reference,
and buffer_hints must include readable since we might memcpy from the old frame.

Originally committed as revision 20923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-26 11:07:47 +00:00
Luca Abeni
f877954fd3 Use RTP_PT_PRIVATE in sdp.c instead of hardcoding 96.
Originally committed as revision 20922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-26 10:59:56 +00:00
Michael Niedermayer
37ce3d6ba7 Do not copy codec_tag in stream copy case if it is associated with a different codec_id
fixes issue1568

Originally committed as revision 20921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-25 21:01:16 +00:00
Stefano Sabatini
a6831e885c Use positive logic, improve readability, consistent with r20877.
Originally committed as revision 20920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-25 18:32:16 +00:00
Kostya Shishkov
0fb669ae9e cosmetics: reindent
Originally committed as revision 20919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-25 17:13:05 +00:00
Diego Biurrun
43a6ca2c3d cosmetics: Reformat some function declarations.
Originally committed as revision 20918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-24 12:13:03 +00:00
Diego Biurrun
251822897f Remove some unused variables, fixes the warnings:
libavformat/rtmppkt.c:350: warning: unused variable ‘i’
libavformat/rtmppkt.c:349: warning: unused variable ‘base’

Originally committed as revision 20917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-24 12:11:55 +00:00
Luca Abeni
76faff6ef2 Add support for mp3 over RTP in rtpdec.c
Originally committed as revision 20916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-23 21:23:26 +00:00
Kostya Shishkov
ce293510d9 Auravision Aura 2 decoder
Originally committed as revision 20915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-23 16:01:15 +00:00
Kostya Shishkov
588f8cd8df Add Auravision Aura decoding support
Originally committed as revision 20914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-23 13:04:57 +00:00
Kostya Shishkov
c587910696 There is no need to print FFmpeg or codec name in error message
Originally committed as revision 20913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-23 09:10:40 +00:00
Kostya Shishkov
5590342322 cosmetics: correct formatting a bit
Originally committed as revision 20912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-23 09:04:57 +00:00
Måns Rullgård
1a91f1a0da ARM: use ALT_BITSTREAM_READER on cores with fast unaligned access
Originally committed as revision 20911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-22 08:09:46 +00:00
Stefano Sabatini
f69d394f6b Satisfy grammatical nits.
Originally committed as revision 20910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 22:44:07 +00:00
Stefano Sabatini
3f7bb42607 Implement a -pix_fmts option for listing all the supported pixel
formats.

Originally committed as revision 20909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 21:53:03 +00:00
Stefano Sabatini
dc7f38f59c Re-add missing "@end table" which was erroneously removed in the
previous commit.

Originally committed as revision 20908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 21:50:23 +00:00
Stefano Sabatini
5f6cb6eb9c Factorize common options documentation.
Originally committed as revision 20907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 21:32:09 +00:00
Ramiro Polla
870e015048 Add -?, -help, and --help as alternative options to get help.
Originally committed as revision 20906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:20:13 +00:00
Ramiro Polla
7f11e745b2 Print usage instead of help when no files are specified.
Originally committed as revision 20905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:15:46 +00:00
Ramiro Polla
0c2a18cbcd Split show_usage() out of show_help().
Originally committed as revision 20904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:12:34 +00:00
Ramiro Polla
8319aefeec Add a general [options] to the basic usage string.
Originally committed as revision 20903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:10:14 +00:00
Ramiro Polla
27daa420fc First print the program description and then the basic usage line.
Originally committed as revision 20902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-21 02:09:17 +00:00
Ramiro Polla
aaba7e6c66 Remove parameters no longer used in h[yc]scale().
Originally committed as revision 30099 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:59:34 +00:00
Ramiro Polla
a1f4b4bb6e Move fast bilinear scaler code to the existing h[yc]scale_fast() functions.
Originally committed as revision 30098 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:54:59 +00:00
Ramiro Polla
bb53e1d188 Rename function pointers used to convert from the input pixel format to the
intermediate YV12 to a more descriptive name.

Originally committed as revision 30097 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:41:29 +00:00
Ramiro Polla
e7a47515ab Check if chroma horizontal scaler is needed in sws_init_swScale().
Originally committed as revision 30096 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:34:45 +00:00
Ramiro Polla
6f9771d7a6 Remove unused fields from SwsContext.
Originally committed as revision 30095 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:30:55 +00:00
Ramiro Polla
d3243d1431 Indentation.
Originally committed as revision 30087 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 17:42:35 +00:00
Ramiro Polla
e77ddfa293 Indent.
Originally committed as revision 30086 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 17:15:01 +00:00
Ramiro Polla
b501a1f56a Set fast_bilinear functions in sws_init_swScale().
Originally committed as revision 30085 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 17:09:46 +00:00
Ramiro Polla
bae76dc3eb Set horizontal scaler's range conversion in context in sws_init_swScale().
Originally committed as revision 30082 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 16:32:58 +00:00
Gwenole Beauchesne
c1977fbbd7 Add new fields for the VDPAU/MPEG-4 back-end.
Originally committed as revision 20901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-20 16:31:21 +00:00
Ramiro Polla
84011f10d5 Set horizontal scaler's src offsets in context in sws_init_swScale().
Originally committed as revision 30081 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 16:21:25 +00:00
Diego Biurrun
cb39768960 Add long_name for Xxan codec.
Originally committed as revision 20900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 18:41:03 +00:00
Kostya Shishkov
0080402d36 Improve handling allocated buffers in Xan decoder
Originally committed as revision 20899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 17:04:30 +00:00
Kostya Shishkov
2628f515fe cosmetics: reindent a bit
Originally committed as revision 20898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 16:39:21 +00:00
Vitor Sessak
a8eb8de461 Add tables used by both AMR-NB and SIPR
Originally committed as revision 20897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 14:05:31 +00:00
Mike Melanson
da8af9388c Cosmetic: indent after last change.
Originally committed as revision 20896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 07:34:11 +00:00
Mike Melanson
e6e32bdc5f Optimize unpack_vectors() by not shuffling around redundant vectors.
Inspired by guidance from Dark Shikari. On a Core 2 Duo 2.0 GHz, this
change decodes the 10-minute Big Buck Bunny 1080p short about 2 seconds
faster.

Originally committed as revision 20895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-19 07:33:10 +00:00
Michael Niedermayer
b2cc8111d6 More sane error message when extradata has not been set.
Originally committed as revision 20894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-18 15:50:39 +00:00
Carl Eugen Hoyos
646eb55139 Swap red and blue when decoding r210.
Originally committed as revision 20893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-18 10:42:26 +00:00
Michael Niedermayer
2c2a167ca7 It appears that waveformatextensible is mandatory for more cases than
just channels>2. The 16bit case is from MSDN, the 48khz is from less a reliable
www page (sorry i cant find the URL anymore).

Originally committed as revision 20892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-18 06:03:12 +00:00
Reimar Döffinger
4aaab0a328 Add decoder for R210 (uncompressed 10-bit RGB) codec.
Originally committed as revision 20891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-17 18:56:56 +00:00
Michael Tison
a3d995c1eb CD+G demuxer and decoder
Patch by Michael Tison (gmail address: blackspike@....)

Originally committed as revision 20890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-17 17:25:31 +00:00
Jai Menon
8993535cbb 10l : make sure probe buffer is large enough.
Originally committed as revision 20889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-17 13:05:37 +00:00
Michael Niedermayer
134271c232 Only add 1 index entry per keyframe.
Idea from a patch by samsung.

Originally committed as revision 20888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 21:24:04 +00:00
Reimar Döffinger
c3abb55141 Set bits_per_raw_sample appropriately in dpx decoder.
Originally committed as revision 20887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 20:46:48 +00:00
Jai Menon
22ff336145 Parse ID3v[12] metadata from TTA files.
As a side-effect, this commit also fixes issue 1310.

Originally committed as revision 20886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 19:18:48 +00:00
Vitor Sessak
5c910fcad8 Cosmetics: make celp_filters.* formatting more consistent with the rest of
FFmpeg

Originally committed as revision 20885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 17:15:57 +00:00
Vitor Sessak
6ef607c2d5 Optimize ff_celp_lp_synthesis_filterf(). 50% faster in my tests.
Originally committed as revision 20884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 17:09:33 +00:00
Vitor Sessak
5ad14c6c3a List myself as the maintainer of celp_filters.*
Originally committed as revision 20883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 17:08:23 +00:00
Jai Menon
18eb23db7d Update ffm reference checksums as a result of r20869.
Originally committed as revision 20882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 14:55:01 +00:00
Martin Storsjö
4aaebf78f5 Reply to RTMP ping with the same value as received by client.
Patch by Martin Storsjö ($name at $name dot \163\164)

Originally committed as revision 20881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 12:49:38 +00:00
Matthieu Crapet
0fc2c0f618 Add -vlang option to set ISO 639 video stream language code.
This is similar to existing -alang & -slang options.

Patch by Matthieu Crapet m${surname} ^ gmail com.

Originally committed as revision 20880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 12:08:01 +00:00
Carl Eugen Hoyos
b0bc928b86 Undo r20874: It broke AAC decoding.
Originally committed as revision 20879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-16 11:39:14 +00:00
Diego Biurrun
18a49f118c Remove unused variable, fixes the warning:
libavformat/apetag.c:38: warning: unused variable `l'

Originally committed as revision 20878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-15 23:41:22 +00:00
Stefano Sabatini
06a3c9c45a Use positive logic in opt_target() for selecting the PAL/others
options, make its semantics mildly easier to compile by human minds.

Originally committed as revision 20877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-15 23:25:16 +00:00
Matthieu Crapet
e6db28ceb2 Simplify freeing of audio_language and subtitle_language.
Patch by Matthieu, mcrapet gmail com

Originally committed as revision 20875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-15 20:36:14 +00:00
Carl Eugen Hoyos
257c7147e1 Use enum and constant to avoid three icc warnings.
Originally committed as revision 20874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-15 15:57:18 +00:00
Ramiro Polla
798e589d4a Fix a typo in documentation.
Originally committed as revision 20873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-15 13:46:42 +00:00
Stefano Sabatini
c3c7832479 Factorize opt+1 out in parse_options(), simplify.
Originally committed as revision 20872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 23:47:22 +00:00
Carl Eugen Hoyos
3d1ebac8f7 Define _XOPEN_SOURCE as 600 before including a XSI extension header.
Originally committed as revision 20871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 23:23:09 +00:00
Stefano Sabatini
01558ee6c9 Use symbolic names for PAL/NTSC/FILM rather than numeric constants in opt_target().
Improve readability.

Originally committed as revision 20870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 23:18:49 +00:00
Benjamin Larsson
8c0c11229e Fix breakage introduced by setting the sample_fmt to SAMPLE_FMT_NONE (r20623). This makes
streaming to ffserver work again.

Originally committed as revision 20869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 21:08:21 +00:00
Vitor Sessak
8b484d0f07 Correct typo
Originally committed as revision 20868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 19:28:33 +00:00
Alex Converse
d1ebd4a995 10l: Don't spawn a subshell when disabling vdpau.
Originally committed as revision 20867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 18:18:51 +00:00
Michael Niedermayer
cc38e063be Revert flvdec.c part of r20836
Log:
	Use AV_METADATA_DONT_STRDUP* / use av_malloced metadata instead of strduped
	arrays of fixed length.
	Code from ffmbc with changes to adapt to our metadata API.
Reason: memleak & fix is not trivial

Originally committed as revision 20866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 15:59:19 +00:00
Michael Niedermayer
0f649d667e Include dup/drop info if any frames where duplicated or droped
instead of when verbose>1.
From ffmbc0.3

Originally committed as revision 20865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 12:40:10 +00:00
Michael Niedermayer
ed30e518e3 Off by 1 bugfix for nb_frames_dup.
From ffmbc0.3

Originally committed as revision 20864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 12:37:24 +00:00
Michael Niedermayer
7debef33f8 Merge init & declaration of buf_end.
From ffmbc0.3

Originally committed as revision 20863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 11:57:33 +00:00
Michael Niedermayer
b8af4fe9a5 Set reordered_opaque in default_reget_buffer() with internal buffers.
From ffmbc0.3, this one appears to be a bugfix.

Originally committed as revision 20862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 11:42:17 +00:00
Michael Niedermayer
954a0b482a Check sample_aspect_ratio validity for mpeg4/h263/h263p encoding.
Merged from ffmbc0.3

Originally committed as revision 20861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 11:34:46 +00:00
Carl Eugen Hoyos
f0bc8449b8 Use PIX_FMT_NONE for -1 when enum PixelFormat is expected (fixes two icc warnings).
Originally committed as revision 20860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 11:18:28 +00:00
Carl Eugen Hoyos
1f15747fc9 Use enum PixelFormat as type for input_pixfmt to avoid one icc warning.
Originally committed as revision 20859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 10:52:32 +00:00
Luca Abeni
3db77ccf38 Support compressed formats in the V4L2 input device.
Patch by klchxbec AT freenet DOT de.

Originally committed as revision 20858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 10:34:31 +00:00
Luca Abeni
9eb6e9d9d3 Add support for V4L2 compressed formats in the table used for converting
between V4L2 formats and ffmpeg's formats/codecs.
Patch by klchxbec AT freenet DOT de.

Originally committed as revision 20857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 10:33:24 +00:00
Luca Abeni
9202218e5d Use the correct type for the V4L2 format.
Originally committed as revision 20856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 10:31:29 +00:00
Luca Abeni
158aa9f2db Return pkt->size in v4l2_read_packet().
mmap_read_frame() takes care of ensuring that the packet size
is correct.

Originally committed as revision 20855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 10:30:37 +00:00
Alex Converse
deda2a4a72 Disable vdpau support if the detected libvdpau does not support MPEG-4.
Originally committed as revision 20854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 06:33:43 +00:00
Daniel Verkamp
8e9efe4392 FLV 8-bit PCM is unsigned, not signed
Fixes issue #1569

Originally committed as revision 20853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 03:30:25 +00:00
Michael Niedermayer
22b16e6a5d Factorize ic->streams[i] out,
change from ffmbc

Originally committed as revision 20852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 03:23:45 +00:00
Michael Niedermayer
b3e88ae84b Place { of the function where indent -kr wants it.
Also more consistent with the rest of the code.

Originally committed as revision 20851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 01:15:02 +00:00
Michael Niedermayer
02483df478 Make sure the Metadata: header is not printed if the only metadata will not
be displayed. (idea from ffmbc)

Originally committed as revision 20850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:39:20 +00:00
Michael Niedermayer
b298daea1a Move dump_metadata() to where it is in ffmbc, looks better.
Originally committed as revision 20849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:34:46 +00:00
Michael Niedermayer
229303d16c indent
Originally committed as revision 20848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:31:01 +00:00
Michael Niedermayer
4d9b678448 Skip dumping language twice.
This looks too ugly. Idea also from ffmbc.

Originally committed as revision 20847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:30:41 +00:00
Michael Niedermayer
2e720e11bc dump metadata for AVStreams & AVPrograms too.
Originally committed as revision 20846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:27:43 +00:00
Michael Niedermayer
8b5e5ec5d7 Factorize dump_metadata() out.
Idea from ffmbc, code not, mine is a fraction of the size due to simpler
metadata API.

Originally committed as revision 20845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 23:19:24 +00:00
Michael Niedermayer
cc20679a41 Try to simplify av_estimate_timings_from_pts() like in ffmbc.
Note if this breaks for some file, report it please!

Originally committed as revision 20844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 22:56:59 +00:00
Alexander Strange
35164ffe50 Correct truncated ID3v1 genre name.
Originally committed as revision 20843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 22:31:29 +00:00
Michael Niedermayer
0e500e0db2 Debug av_log() about stream probing from ffmbc.
Originally committed as revision 20842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 22:15:51 +00:00
Michael Niedermayer
0cd55b0c18 Add CODEC_ID_DNXHD into the 25 fps case.
Merged from ffmbc.

Originally committed as revision 20841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 22:12:20 +00:00
Michael Niedermayer
da457e7086 Simplify code by using av_metadata_set2().
somewhat based on ffmbc

Originally committed as revision 20840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 21:07:47 +00:00
Michael Niedermayer
dfe9ee6b95 More entries for ff_id3v2_metadata_conv from ffmbc.
Originally committed as revision 20839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 21:02:43 +00:00
Michael Niedermayer
8a98be1a08 s/author/artist/ for ID3
from ffmbc

Originally committed as revision 20838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 21:01:49 +00:00
Michael Niedermayer
57f36fda56 More ID3v1 genres from ffmbc.
Originally committed as revision 20837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 20:51:38 +00:00
Michael Niedermayer
12ad66712a Use AV_METADATA_DONT_STRDUP* / use av_malloced metadata instead of strduped
arrays of fixed length.
Code from ffmbc with changes to adapt to our metadata API.

Originally committed as revision 20836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 20:27:29 +00:00
Michael Niedermayer
b8f11ec887 add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and AV_METADATA_DONT_STRDUP_VAL
Originally committed as revision 20835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 20:24:19 +00:00
Michael Niedermayer
a181981eb4 Add flags to prevent strdup() on arguments to av_metadata_set2().
I cannot use the same ABI as ffmbc as value 2 is already used in ffmpeg,
besides the name AV_METADATA_NONCONST* makes no sense to me.
Add av_metadata_set2() that takes flags.

Originally committed as revision 20834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 20:22:27 +00:00
Michael Niedermayer
813338a00a Until -DHAVE_AV_CONFIG_H is removed from ffplays compilation, *printf must be #undef.
Without this random changes to the header inclusion can trigger
linking failures, and these are not even picked up in some environments
(some fate machines didnt catch it).

Originally committed as revision 20833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 18:46:29 +00:00
Michael Niedermayer
64b12fc317 Move #include where it belongs.
This as a sideeffect fixes the linking failure of ffplay.

Originally committed as revision 20832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 18:42:39 +00:00
Michael Niedermayer
17986563eb Get rid of useless casts.
Originally committed as revision 20831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 17:54:09 +00:00
Michael Niedermayer
60a92a77f3 APIchanges update for av_d2str()
Originally committed as revision 20830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 17:10:30 +00:00
Michael Niedermayer
277c733237 Add a function to convert a number to a av_malloced string.
Originally committed as revision 20829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 17:09:41 +00:00
Michael Niedermayer
005d9b57ad Print extradata in case of failure. I had this in my local tree and it
might be usefull for others ...

Originally committed as revision 20828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 16:20:00 +00:00
Michael Niedermayer
c3d1532944 APIChanges & minor bump due to avg_frame_rate addition.
Originally committed as revision 20827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 15:55:07 +00:00
Michael Niedermayer
02b398ef49 Add avg_frame_rate.
Originally committed as revision 20826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 15:52:11 +00:00
Thilo Borgmann
1261b07f5f Read and decode block data in separate functions to prepare support for
multi-channel correlation mode.

Originally committed as revision 20825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 15:40:26 +00:00
Carl Eugen Hoyos
a76cf4e197 Use constant CODEC_ID_NONE instead of 0 where appropriate.
Originally committed as revision 20824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 15:28:00 +00:00
Michael Niedermayer
51ce8c2f87 Remove commented out code.
Originally committed as revision 20823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 15:01:09 +00:00
Michael Niedermayer
e4637d6a60 Show help if no cmd line options are provided at all.
This safes the users time to find out which of -h --help -? works.

Originally committed as revision 20822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 13:49:14 +00:00
Kostya Shishkov
0dae3e13e3 Factor out extradata reading code.
Borrowed from RM demuxer in FFmbc.

Originally committed as revision 20821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 10:07:08 +00:00
Kostya Shishkov
119c61a30f RM audio stream version should be 16-bit followed by header size or reserved
word, so treat it this way instead of extracting different parts from 32-bit
value.

Originally committed as revision 20820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 09:08:58 +00:00
Kostya Shishkov
461ef74116 Make RM demuxer look more like proper demuxer by introducing codec tags
instead of many strcmp() on always four-byte strings.
Idea borrowed from RM demuxer in FFmbc by Baptiste Coudurier.

Originally committed as revision 20819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 08:51:27 +00:00
Kostya Shishkov
851ef8755b Factor out variable declaration
Originally committed as revision 20818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-13 08:44:06 +00:00
David Conrad
a4914ac708 Clarify comment: although still hacky, it is correct for existing libtheora
Originally committed as revision 20817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 20:18:49 +00:00
David Conrad
c39b94be60 libtheoraenc.c: mark keyframes
Originally committed as revision 20816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 20:18:46 +00:00
David Conrad
5e15c7d95b Fix PTS for OGM codecs.
Fixes issue251

Originally committed as revision 20815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 20:18:43 +00:00
Michael Niedermayer
7a14430ed7 Be less picky on invalid frame_pred_frame_dct values.
Fixed issue1615.

Originally committed as revision 20814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 19:44:01 +00:00
Stefano Sabatini
663c2edf5a Only list libavfilter filters if libavfilter has been enabled during
configuration.
Fix compilation if FFmpeg is not configured with --enable-avfilter.

Originally committed as revision 20813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 19:15:56 +00:00
Stefano Sabatini
c5dc602600 Move list_fmts() from ffmpeg.c to cmdutils.{h,c}, so that it can be
shared by the other ff* tools code.

Originally committed as revision 20812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 17:45:20 +00:00
Reimar Döffinger
ae5e8caa3d Add ROQ format regression test.
Originally committed as revision 20811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 17:34:24 +00:00
Jai Menon
94621d329f SVQ3 : Set avctx->pix_fmt correctly during decoder initialisation.
Fixes issue 1591.

Originally committed as revision 20810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 17:10:05 +00:00
Stefano Sabatini
54c2421647 Add an entry for the av_bmg_next() function addition.
Originally committed as revision 20809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 16:28:59 +00:00
Stefano Sabatini
3ba69a15c6 Implement av_bmg_next(), a Box-Muller Gaussian random generator.
See the thread:
"[FFmpeg-devel] [PATCH] Box-Muller gaussian generator".

Originally committed as revision 20808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 16:24:37 +00:00
Stefano Sabatini
62d7566239 Implement a -filters option, listing all the available libavfilter
filters.
Currently filters are not registered, so the option will show none.

Originally committed as revision 20807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 16:18:11 +00:00
John Stebbins
106fa129f4 Reset pts_buffers in av_read_frame_flush().
Patch by John Stebbins, jstebbins jetheaddev com

Originally committed as revision 20806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 15:26:33 +00:00
Vitor Sessak
92f99a33b8 Commit functions used by both AMRNB and SIPR
Originally committed as revision 20805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 13:58:07 +00:00
Stefano Sabatini
dae658d764 Reduce the number of encoded frames for the dnxhd tests to 5.
Significantly reduce codectest execution time.

Originally committed as revision 20804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12 13:52:19 +00:00
Tomas Härdin
6d01a97c86 Fail earlier for unsupported resolutions or pixel formats when encoding
dv.

Patch by Tomas Härdin, tomas D hardin A codemill D se

Originally committed as revision 20803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 23:56:49 +00:00
Michael Niedermayer
47a81dad92 indent
Originally committed as revision 20802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 21:50:08 +00:00
Michael Niedermayer
a0b468f5db Make sure av_new_packet() initializes the data and destruct pointers.
Some code does call av_free_packet() on failed av_new_packets(), this
prevents the freeing of uninitialized pointers.

Originally committed as revision 20801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 21:49:30 +00:00
Stefano Sabatini
15a316c014 Make parse_filter() parsing more robust.
Add ';' and '\n' to the terminating characters for the name of a
filter, and ';' to the terminating characters for its args.

Originally committed as revision 20800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 20:02:10 +00:00
Kostya Shishkov
cfac91fec3 Dump RTMP packet contents in debug mode
Originally committed as revision 20799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 17:13:35 +00:00
Martin Storsjö
f8caa5441b 5l trocadero: don't forget to free packet in gen_connect()
Patch by Martin Storsjö ($name at $name dot `abbreviation for "street"`)

Originally committed as revision 20798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 15:31:58 +00:00
Martin Storsjö
72b870b95b Do not try to interact with RTMP server after "stop" command was received.
Patch by Martin Storsjö ($name at $name dot `Sao Tome and Principe domain`)

Originally committed as revision 20797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 11:37:21 +00:00
Carl Eugen Hoyos
ab176fdffb (Partly) support Metasoft MJPEG Codec, fixes half of issue 1611.
Originally committed as revision 20796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 23:06:23 +00:00
Carl Eugen Hoyos
f63e5a7410 Support Etymonix MPEG-2 video codec, fixes issue 1603.
Originally committed as revision 20795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 22:38:49 +00:00
Carl Eugen Hoyos
254dd3f10d Do not print 'faac:' when using libfaad.
Originally committed as revision 20794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 22:29:21 +00:00
Michael Niedermayer
a1a63143f1 Cosmetic (restructure RGB ljpeg check to be more readable)
Originally committed as revision 20793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 20:05:04 +00:00
Michael Niedermayer
401e0a74bd 10l, Fix YUV ljpeg that i just broke by mistake.
Originally committed as revision 20792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 19:41:47 +00:00
Michael Niedermayer
ca78dc3ccc Correct a forgotten RGB32.
Originally committed as revision 20791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 19:40:15 +00:00
Michael Niedermayer
3c3c01d949 Flip red and blue in rct-less lossless jpeg.
Fixes issue1466, and decoding of plain lossless jpeg.

Originally committed as revision 20790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 18:18:57 +00:00
Michael Niedermayer
49b19191bc Lossless jpeg expects and uses BGRA not RGB32 (this probably caused a problem on
big endian)

Originally committed as revision 20789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 18:14:26 +00:00
Michael Niedermayer
e0b176adff Fix RGB LJPEG encoding.
Originally committed as revision 20788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-10 18:07:35 +00:00
Carl Eugen Hoyos
65214b621f Cosmetics: Fix typos in r20780.
Originally committed as revision 20787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-09 22:45:56 +00:00
Ben Littler
4bae225126 add dvcs to dvvideo, fixes issue 1604
Originally committed as revision 20786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-09 20:55:47 +00:00
Michael Niedermayer
e4d1d920b0 Improve time_increment_bits guessing code.
Originally committed as revision 20785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-09 14:05:39 +00:00
Michael Niedermayer
52255d1746 End startcode prefix search at the end of a AVC unit.
Fixes issue1550.

Originally committed as revision 20784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-09 12:49:59 +00:00
Loren Merritt
f543f636a5 revert r20775, because equivalent code has been committed to x264 instead
Originally committed as revision 20783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-09 00:38:22 +00:00
Jason Garrett-Glaser
099f772e83 Minor version bump for mbtree addition.
Originally committed as revision 20782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-09 00:24:33 +00:00
Carl Eugen Hoyos
4b86926b95 Support AVI1 and AVI2 in avi as MJPEG.
Fixes issue 1602.

Originally committed as revision 20781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 23:47:45 +00:00
Zhihang Wang
24b403f3b7 Mention patcheck.
Patch by Zhihang Wang, zhihang D wang A gmail

Originally committed as revision 20780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 23:23:44 +00:00
Stefano Sabatini
62096b99b1 Make parse_key_value_pair() print an error message if a key is not
found in the context.

Originally committed as revision 20779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 22:01:25 +00:00
Stefano Sabatini
7d132c544b Use an unsigned int to contain all the color values of the expressions
of the type 0xRRGBBAA parsed by av_parse_color(), using a simple int
was resulting in unexpected results as the most significant bit was
used for the sign.

Originally committed as revision 20778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 22:00:07 +00:00
Loren Merritt
758c7455f1 fix a crash in ape decoding on x86_32 sse2
Originally committed as revision 20777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 21:24:01 +00:00
Daniel Verkamp
21600a7774 AC-3 decoder is no longer GPL; update FAQ
Originally committed as revision 20776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 21:18:40 +00:00
Jason Garrett-Glaser
2d0cacded7 Boolify options passed to x264.
Originally committed as revision 20775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 20:35:01 +00:00
Erik Slagter
25a42948c6 Add MBtree support for libx264
Patch by Erik Slagter

Originally committed as revision 20774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 20:01:46 +00:00
Andreas Öman
f658631419 aac: Set sample rate in avctx from ADTS header (if not already set by some
other means)

Originally committed as revision 20773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 19:20:36 +00:00
Michael Niedermayer
e262365d7c Reduce warnings about too few consumed bytes to debug level.
Fixes issue1061.

Originally committed as revision 20772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 17:38:02 +00:00
Stefano Sabatini
e87eb039cc Fix alpha plane flipping for the yuva420p and similar pixel formats.
Originally committed as revision 20771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 17:08:49 +00:00
Michael Niedermayer
e185a2f649 Do as the comment says and signal an error.
Originally committed as revision 20770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 14:50:46 +00:00
Michael Niedermayer
b8919a3092 10l bug, use av_fast_malloc() instead if av_malloc() for allocating audio
buffers.
This and the previous revision fix a heap overflow.

Originally committed as revision 20769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 14:48:36 +00:00
Michael Niedermayer
15bfe412b7 Try to allocate audio buffer sizes depending on the number of input bytes.
Fixes issue1167.

Originally committed as revision 20768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 14:28:28 +00:00
Michael Niedermayer
5ee05a62f9 Check that the buffer size speified to avcodec_encode_audio() is not larger than the actual size.
Originally committed as revision 20767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 14:18:15 +00:00
Michael Niedermayer
060b8592d2 Do not assume that av_get_bits_per_sample() is a multiple of 8.
Originally committed as revision 20766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 14:10:49 +00:00
Michael Niedermayer
b68a7679f9 Raise threshold of h263 probe by 1 to avoid misdetection.
Fixes issue 1588.

Originally committed as revision 20765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 12:34:08 +00:00
Michael Niedermayer
f76eef99a2 Add out commented av_log to debug h263_probe.
Originally committed as revision 20764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 12:33:00 +00:00
Michael Niedermayer
6de5b62790 Also print the number of invalid packets in the debug output.
Originally committed as revision 20763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 12:24:41 +00:00
Michael Niedermayer
55f6524789 Flip the comparission direction of vid+audio+priv1 and pspack, it appears to have
been wrong.
Fixes issue1571.

Originally committed as revision 20762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 12:19:30 +00:00
Reimar Döffinger
7f6458a700 Make sure that compilation fails if functions like ff_put_string are used in code
that  selected a bitstream writer for which they do not work.

Originally committed as revision 20761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-07 21:06:51 +00:00
Michael Niedermayer
80f4725060 Get rid of audio_out2, it seems unneeded.
Originally committed as revision 20760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-07 16:26:37 +00:00
Jai Menon
384af83725 Update seek.regression.ref. This is due to r20758.
Originally committed as revision 20759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-07 16:01:35 +00:00
Jai Menon
4da715cb24 AU : demuxed packet size should be sample size aligned.
Fixes issue 1593.

Originally committed as revision 20758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-07 13:55:38 +00:00
Ramiro Polla
a8bcc7b42b Document the differences between the two asm fragments in initMMX2HScaler().
Originally committed as revision 29978 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-07 03:52:55 +00:00
Michael Niedermayer
445a9deea6 Print error messages on errors.
Originally committed as revision 20757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-07 00:35:38 +00:00
Michael Niedermayer
f78501b264 Fix apparent 10l typos introduced in r8627.
These typos moved the exponent pointer too far ahead.
Fixes issue1055.

Originally committed as revision 20756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 23:51:51 +00:00
Ramiro Polla
75084e47ff Start using intermediate buffers at index 0.
These index variables are incremented before each use, so they should be
initialized to -1.

Originally committed as revision 29977 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-06 22:01:25 +00:00
Stefano Sabatini
3a1acfd79a Reindent after the last commit.
Originally committed as revision 20755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 17:41:49 +00:00
Stefano Sabatini
bf972d5e1c Fix slicify when the slice_direction is negative, make it send slices
from the bottom to the top one.

Originally committed as revision 20754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 17:40:41 +00:00
Ramiro Polla
35c504b6fe Update documentation for r20435 (which added the -fpre option).
Originally committed as revision 20753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 17:02:12 +00:00
Carl Eugen Hoyos
08f1960588 Cosmetics: Fix indentation after r20751.
Originally committed as revision 20752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:39:25 +00:00
Jason Garrett-Glaser
bfb5a8cec6 Simplified deblocking checks.
Patch by Dark Shikari

Originally committed as revision 20751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:38:05 +00:00
Jason Garrett-Glaser
50ba3fd713 Faster checks in reverse_dc_prediction.
Patch by Dark Shikari

Originally committed as revision 20750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:33:48 +00:00
Jason Garrett-Glaser
c11cb37520 Check transform==15 first, since it's more common than 13.
Patch by Dark Shikari

Originally committed as revision 20749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:31:58 +00:00
Carl Eugen Hoyos
306a61b33e Revert r20747: It mixed functional and cosmetical changes.
Originally committed as revision 20748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 15:30:53 +00:00
Jason Garrett-Glaser
63c0b3d920 Various VP3 optimizations.
Faster checks in reverse_dc_prediction.
Simplified deblocking checks.
Check transform==15 first, since it's more common than 13.

Originally committed as revision 20747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 12:48:09 +00:00
Kostya Shishkov
e07c92e4bb cosmetics: insert space between codeword and left parenthesis
Originally committed as revision 20746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 07:03:46 +00:00
Sergiy
615c287990 Do not send invokes to RTMP server if we are not connected to it.
Patch by Sergiy (server.connect("gmail.com").selectAddress("piratfm"))

Originally committed as revision 20745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 07:01:37 +00:00
Sean Soria
b593f7fdef Calls to url_fseek should have their return value checked in
av_seek_frame_binary, just as they do in av_seek_frame_generic.
Otherwise, function may return success even though url_fseek reported
failure.

Patch by Sean Soria, first.last at gmail

Originally committed as revision 20744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 00:03:53 +00:00
Loren Merritt
a4605efdf5 slightly faster scalarproduct_and_madd_int16_ssse3 on penryn, no change on conroe
Originally committed as revision 20743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 17:53:11 +00:00
Loren Merritt
91e644ff77 r20739 broke compilation on systems without yasm
Originally committed as revision 20742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 17:51:57 +00:00
Jai Menon
3394653306 Update frame_width and frame_height based on the lowres value.
Fixes issues 1387, 1097 and probably some other lowres related problems.

Originally committed as revision 20741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 17:51:00 +00:00
Stefano Sabatini
ef6fc64762 Add 'const' attribute to the last_asked_format variable, fix a
compiler warning.

Originally committed as revision 20740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 15:14:01 +00:00
Loren Merritt
b1159ad928 refactor and optimize scalarproduct
29-105% faster apply_filter, 6-90% faster ape decoding on core2
(Any x86 other than core2 probably gets much less, since this is mostly due to ssse3 cachesplit avoidance and I haven't written the full gamut of other cachesplit modes.)
9-123% faster ape decoding on G4.

Originally committed as revision 20739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 15:09:10 +00:00
Ramiro Polla
e470691aa8 Fix compilation with runtime cpu detection.
All functions in swscale_template.c should be declared with the RENAME macro.

Originally committed as revision 29976 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-05 09:44:19 +00:00
Carl Eugen Hoyos
6e4f40e1f4 Cosmetics: Reindent after r20679.
Originally committed as revision 20738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 09:41:23 +00:00
Carl Eugen Hoyos
f50270c9c0 Cosmetics: Reindent after r20736.
Originally committed as revision 20737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 09:36:32 +00:00
Michael Niedermayer
442d7dd852 Make sure the parsers do not overwrite width/height as this can interfere
with the decoder.
Fixes issue1135.

Originally committed as revision 20736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-05 03:53:12 +00:00
Stefano Sabatini
11f6d0982c Add an entry for the avfilter_draw_slice() API changes implemented in
r20734.

Originally committed as revision 20735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 23:30:34 +00:00
Stefano Sabatini
a13a543797 Add a slice_dir parameter to avfilter_draw_slice().
Avoid the need to implement slice direction detection code, thus
reducing code duplication.

See the thread:
"[FFmpeg-devel] [PATCH] Add a slice_dir parameter to avfilter_start_frame()".

Originally committed as revision 20734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 23:26:13 +00:00
Stefano Sabatini
78149213cc Cosmetics: remove empty definitions of hw-accelerated PixFmtInfo
structs.

Originally committed as revision 20733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 23:16:27 +00:00
Kostya Shishkov
c72406112f cosmetics: reindent after last commit
Originally committed as revision 20732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 16:52:42 +00:00
Sergiy
6bf22e18d1 Implement RTMP output (publishing FLV stream to RTMP server).
Patch by Sergiy (piratfm at `do-no-evil-mail`.com)

Originally committed as revision 20731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 16:52:16 +00:00
Michael Niedermayer
b83ccbffe9 Do not crash on frame size changes.
Fixes issue1481.

Originally committed as revision 20730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 16:20:00 +00:00
Loren Merritt
d09f65c7ec 1-13% faster apply_filter, 1-3% faster ape decoding on core2
Originally committed as revision 20729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 15:12:09 +00:00
Sergiy
84a29dc10a Compress headers for output RTMP packets.
Patch by Sergiy (piratfmGMAIL)

Originally committed as revision 20728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 15:01:58 +00:00
Kostya Shishkov
1e68cefe54 100l trocadero: call emms_c() after doing decoding with SIMD in APE decoder
Originally committed as revision 20727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 08:18:13 +00:00
Michael Niedermayer
ccc4b91832 Make sure ff_init_qscale_tab() is called one way or another when
adaptive quantization is enabled.
Fixes issue509.

Originally committed as revision 20726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 21:38:10 +00:00
Michael Niedermayer
9015b095bc Move ff_init_qscale_tab() from h263.c to mpegvideo, the function is not h263 specific.
Originally committed as revision 20725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 21:36:58 +00:00
Baptiste Coudurier
bdcc13f2bf lzw.h does not need get_bits.h, tiff.c needs intreadwrite.h for AV_R* though
Originally committed as revision 20724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 19:19:57 +00:00
Baptiste Coudurier
f38e450746 use lzw compression in gif encoder
Originally committed as revision 20723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 19:17:39 +00:00
Loren Merritt
b10fa1bb8b port ape dsp functions from sse2 to mmx
now requires yasm

Originally committed as revision 20722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 18:53:12 +00:00
Ramiro Polla
f415be684d Add support for nv12/nv21 input.
Originally committed as revision 29974 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-03 18:18:13 +00:00
Ramiro Polla
e244f54e78 Make av_log_level static at next lavu major version bump.
Originally committed as revision 20721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 18:15:54 +00:00
Loren Merritt
2ae87a6d5a avoid an unpredictable branch
20% faster predictor_update_filter, .4-4% faster ape decoding on core2

Originally committed as revision 20720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 17:48:54 +00:00
Loren Merritt
36373cde20 inline to allow constant propagation
50% faster predictor_update_filter, 1-10% faster ape decoding on core2

Originally committed as revision 20719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 17:44:08 +00:00
Kostya Shishkov
2784ede40a Remove duplicating variable
Originally committed as revision 20718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 17:11:48 +00:00
Kostya Shishkov
6a63e83afc 5l trocadero: RTMP channel ID lies in range 3-65599, uint8_t is too small for it
Originally committed as revision 20717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 16:13:51 +00:00
Sergiy
31da596634 Send connect() and createStream() in RTMP system channel, not video channel.
Patch by Sergiy (com gmail . piratfm @ mail =)

Originally committed as revision 20716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 15:59:51 +00:00
Sergiy
5e9ad75985 Move "app" string into RTMP protocol context.
Patch by Sergiy (com.gmail@piratfm)

Originally committed as revision 20715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 15:47:00 +00:00
Sergiy
a352b60594 RTMP packets with one-byte header use previous packet timestamp difference, so
track timestamp difference as well.
Patch by Sergiy (mail.composeAddress("piratfm","gmail.com"))

Originally committed as revision 20714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 06:40:37 +00:00
Ramiro Polla
15e65f83ec Update help text for -fpre option to make it a little less confusing.
Originally committed as revision 20713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 00:55:52 +00:00
Ramiro Polla
7c3c53c851 Update Changelog, documentation, and libavformat minor version number for
"A format generated by IndigoVision 8000 video server" added in r20681.

Originally committed as revision 20712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-03 00:27:01 +00:00
Philipp Matthias Hahn
38b5b47b23 Revert r20095: Allow compiling to vorbis again.
Original patch by Philipp Matthias Hahn, pmhahn pmhahn de

Originally committed as revision 20711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 23:51:15 +00:00
Baptiste Coudurier
ab3faa8bf1 pass avctx as argument instead of width and height
Originally committed as revision 20710 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 21:25:28 +00:00
Baptiste Coudurier
af7436ae1d remove useless params
Originally committed as revision 20709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 21:05:06 +00:00
Baptiste Coudurier
cc26bf0d06 remove useless params
Originally committed as revision 20708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 21:04:23 +00:00
Baptiste Coudurier
e4e8632aaf move private context declaration at the top
Originally committed as revision 20707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 21:01:12 +00:00
Michael Niedermayer
c267bb038e Fix 1 pass RC in snow.
Fixes issue547.

Originally committed as revision 20706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 20:07:23 +00:00
Måns Rullgård
c5d6cd5c81 ARM: 1l c&p fix: do not set pred16x16_plane for rv40
Originally committed as revision 20705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 17:21:43 +00:00
Måns Rullgård
702b5885a1 ARM: NEON optimised H264 16x16, 8x8 pred
Originally committed as revision 20704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 14:56:45 +00:00
Sergiy
9e69ab1864 Add another known RTMP channel ID to enum.
From patch by Sergiy (mail = piratfm, gmail)

Originally committed as revision 20703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 13:00:28 +00:00
Sergiy
b316991bb6 Move is_input flag into RTMP protocol context.
Patch by Sergiy (gmail(piratfm))
Thread "[PATCH] rtmp-output"

Originally committed as revision 20702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 12:55:10 +00:00
Alex Converse
4fab662769 AAC: Add a global header but output not locked output configuration status.
Originally committed as revision 20701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 09:12:05 +00:00
Alex Converse
38610d92ff Set the SBR mode to implicit on ADTS frames occurring before the output is locked.
Originally committed as revision 20700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 09:07:32 +00:00
Mike Melanson
9d8bb0318a Small refactoring: Instead of 4 loops for decoding AC coefficients based
on their grouping, create one loop that indexes into a table of AC VLC
tables.

There is also a small optimization here: Do not call unpack_vlcs()
if there are no fragments in the list with outstanding coefficients.
My profiling indicates that this can save upwards of 1 million
dezicycles per frame throughout the course of unpack_dct_coeffs().

Originally committed as revision 20699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 04:06:27 +00:00
Mike Melanson
098523eb28 Use a list to track which fragments coded in this frame still have
outstanding coefficients yet to be decoded from the bitstream. Once a
fragment reaches end-of-block, remove it from this new list. This change
makes the VP3/Theora entropy decode process dramatically faster due to
not having to iterate incessantly over fragments which have already been
fully decoded.

Originally committed as revision 20698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 02:30:15 +00:00
Måns Rullgård
5dad039bf7 ARM: small tweak of NEON H264 IDCT
Originally committed as revision 20697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 00:37:39 +00:00
Måns Rullgård
1025d19dd7 ARM: NEON 2xN chroma MC
Originally committed as revision 20696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 00:37:36 +00:00
Måns Rullgård
04e7f6d2d0 ARM: NEON 16x16 and 8x8 avg qpel MC
Originally committed as revision 20695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-02 00:37:33 +00:00
Baptiste Coudurier
77df894aed print error message when image2 muxer fail to compute frame filename
Originally committed as revision 20694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 23:10:32 +00:00
Sean Soria
6659b32ab2 Change ret type to int64_t because url_fseek returns int64_t.
This fixes seeking in files > 2gb.
Patch by Sean Soria, sean dot soria at gmail dot com.

Originally committed as revision 20693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 22:56:44 +00:00
Baptiste Coudurier
28f2db9670 fix typo, ALT_BITSTREAM_WRITER_LE does not exist
Originally committed as revision 20692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 22:35:25 +00:00
Michael Niedermayer
94f28061f5 Store original width/height so that rv20 does not get stuck with some
resolution. A sample file to show a difference is at issue833 (http://airfarce.com/video/000211fh.rm)

Originally committed as revision 20691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 22:30:03 +00:00
Michael Niedermayer
e7e578b73c Make rv1/2 decoder use the next slice if needed.
Fixes issue782.

Originally committed as revision 20690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 21:10:37 +00:00
Baptiste Coudurier
66765b5933 use AVFormatContext in av_log, better than AVCodecContext when multiple streams are present
Originally committed as revision 20689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 20:15:05 +00:00
Baptiste Coudurier
73e8c83d7b update seek regression ref due to r20674, packet size changed
Originally committed as revision 20688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 20:13:03 +00:00
Michael Niedermayer
63538a960e Support ASCII pnms.
Implements issue1452.

Originally committed as revision 20687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 16:56:13 +00:00
Kostya Shishkov
817d967d96 Write timestamp deltas, not timestamps, for RTMP packets with partial header
Originally committed as revision 20686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 16:43:53 +00:00
Kostya Shishkov
e6b244a3b9 Full-header RTMP packets contain real timestamp, others contain timestamp
difference, so make all read packets store absolute timestamp.
As a consequence, we don't need to track audio/video timestamps separately
any longer in protocol handler.

Originally committed as revision 20685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 16:08:44 +00:00
Kostya Shishkov
b1eb53ab59 Write header for RTMP packets with channel_id >= 64 correctly
Originally committed as revision 20684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 15:13:23 +00:00
Sergiy
59b6482a04 Read and write extended timestamps for RTMP packets.
Extracted from patch by Sergiy in thread "[PATCH] rtmp-output"

Originally committed as revision 20683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 15:07:32 +00:00
Kostya Shishkov
1ab21f1980 7l trocadero: reading right into enum variable may cause unwanted effects, use
intermediate buffer for reading value instead in RTMP protocol handler.

Originally committed as revision 20682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 14:58:17 +00:00
Michael Niedermayer
00b6fa40c3 Support "A format generated by IndigoVision 8000 video server".
Originally committed as revision 20681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 13:17:10 +00:00
Jai Menon
de3553b078 pngdec.c : release allocated buffers.
Originally committed as revision 20680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 11:38:37 +00:00
Michael Niedermayer
483aad717e slif aka "SoftLab MPEG-2 I-frames Codec" support.
Flipping one bit still is popular it seems as a means to create a new codec.
fixes issue1469.

Originally committed as revision 20679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 02:07:46 +00:00
Michael Niedermayer
f40a7fd316 4:2:2 4:4:4 bugfix for the error concealment code.
Originally committed as revision 20678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-01 01:01:37 +00:00
Stefano Sabatini
5f1836a7de Rename parameters of put_sbits() to make them consistent with those of
put_bits().

Originally committed as revision 20677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 23:52:28 +00:00
Michael Niedermayer
52069c4d3c Move "slice below image" check from mpeg_decode_slice to its caller.
Should fix issue1277.

Originally committed as revision 20676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 23:08:25 +00:00
Michael Niedermayer
77ac76a30f Print a warning if the duration is estimated from the bitrate, as this is
likely not accurate.

Originally committed as revision 20675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 22:08:22 +00:00
Vitor Sessak
cea65433e0 decode qcelp in aiff, implement #1524, patch by Vitor
Originally committed as revision 20674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 22:01:21 +00:00
Baptiste Coudurier
0a04566120 Check Xfixes.h header presence before enabling x11grab.
This fixes compilation when lib is present but not header.

Originally committed as revision 20673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 21:43:03 +00:00
Michael Niedermayer
d52b4abe8b Move dummy picture allocation code from mpeg1/2 to mpegvideo.
This fixes a infinite loop on a b frame.

Originally committed as revision 20672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 21:22:01 +00:00
Michael Niedermayer
fd1ef13bb4 Disable error resilience for field pictures, this was never supported,
results where more or less random but should not have crashed.

Originally committed as revision 20671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 19:15:19 +00:00
Michael Niedermayer
078cdecf9e Set mb_y in mpeg2 field pictures like h264 does.
This fixes -vismv & -debug 16384 with field pictures.

Originally committed as revision 20670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 19:14:00 +00:00
Michael Niedermayer
22d4f21331 Make ""MPEG motion vector out of boundary" message more verbose.
Originally committed as revision 20669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 17:29:21 +00:00
Attila Kinali
76c4a644ee Fix an issue uncovered by commit 20623:
The init functions of mpc7 and mpc8 check whether the vlc has been
initialized already and return early if this is the case (eg by calling
init a second time).
But avctx->sample_fmt and channel_layout is set after the vlc initialization,
causing it not to be set on the second call of init.

Move all manipulations of avctx before the initialization of the vlc,
so that it is always set.

Originally committed as revision 20668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 10:25:20 +00:00
Michael Niedermayer
ab8c48de8c Start decoding from seq/gop too, not just I frames.
Possibly fixes issue1124.

Originally committed as revision 20667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 03:32:43 +00:00
Michael Niedermayer
f0ec239438 Fix dual prime motion compensation in field pictures.
Fixes issue1125.

Originally committed as revision 20666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-30 02:37:03 +00:00
Matthieu Castet
419bddd366 Include alsa headers before the internal FFmpeg headers.
This avoids symbol redefinitions problems, for example avoids the "free"
symbol to be redefined before system headers actually using it are
included, thus breaking compilation. In particular this change allows
to build FFmpeg with salsa.

Patch by matthieu castet <$surname.mat?hieu@free fr>.

Originally committed as revision 20665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 23:30:46 +00:00
Stefano Sabatini
992f8eaee7 Factorize common commandline options definition.
Originally committed as revision 20664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 23:12:19 +00:00
Stefano Sabatini
587edd6af8 Use more consistent / meaningful parameter names for the
ff_copy_bits() function.

Originally committed as revision 20663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 23:01:29 +00:00
Ivo van Poorten
244c8d100a consistency with other files: av_cold static ---> static av_cold
Originally committed as revision 20662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 22:39:38 +00:00
Baptiste Coudurier
1bd26e51f3 100l, max value for timescale is UINT16_MAX
Originally committed as revision 20661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 18:26:51 +00:00
Stefano Sabatini
b37aa4de2d Use the correct chroma values for the data[] array used in
draw_slice().

The chroma values to use are supposed to be those of the input format,
not that of the output format, the latter case was causing crashes and
chroma issues.

Originally committed as revision 20660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 18:02:19 +00:00
Stefano Sabatini
8aeb33225a Use a valid log context for av_log().
Originally committed as revision 20659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 17:40:53 +00:00
Måns Rullgård
b8cef7be5c nellymoser: use constant seed for dithering RNG
Originally committed as revision 20658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 15:15:53 +00:00
Måns Rullgård
2d2e72b10e cook: use constant seed for dithering RNG
Originally committed as revision 20657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 15:15:50 +00:00
Michael Niedermayer
aeaef4ed63 Print errors instead of just ignoring contradictionary values in mpeg2 silently.
Originally committed as revision 20656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 14:31:40 +00:00
Stefano Sabatini
bd2837387c Document slice ordering assumption required by avfilter_draw_slice().
The assumption depends on the corresponding assumption done by
sws_scale() and by the scale filter.

Originally committed as revision 20655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 10:42:37 +00:00
Michael Niedermayer
87f6806069 Override a few values read so as to ensure that things are not inconsistent.
Originally committed as revision 20654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 03:32:30 +00:00
Michael Niedermayer
d9b99556bf Restructure dummy frame allocation.
New code also allocates a dummy frame for an p field after an i field,
previously that could segfault due to reading from NULL+x.

Originally committed as revision 20653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 03:05:11 +00:00
Baptiste Coudurier
729ef3ba62 remove useless mov timescale field
Originally committed as revision 20652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:46:49 +00:00
Baptiste Coudurier
74ccc66099 change track timescale to unsigned int, fix warning
Originally committed as revision 20651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:41:48 +00:00
Baptiste Coudurier
7506e117db track time can be 64bit
Originally committed as revision 20650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:40:27 +00:00
Baptiste Coudurier
7c4b7d0f41 support pcm_f32/64le in mov
Originally committed as revision 20649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:27:08 +00:00
Baptiste Coudurier
ba7c0ece61 cosmetics, reindent after last commit
Originally committed as revision 20648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:04:44 +00:00
Baptiste Coudurier
feaa8d110d support sample rates > INT16_MAX in mov using stsd v2
Originally committed as revision 20647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:03:24 +00:00
Michael Niedermayer
9d13016690 Make sure field_select is not set to nonsensical values even if unused.
Fixed an assert failure.

Originally committed as revision 20646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 01:50:43 +00:00
Michael Niedermayer
1c3260939d Factorize "s->first_slice = 1" out.
Originally committed as revision 20645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 23:17:46 +00:00
Michael Niedermayer
88eba670fb Also check the location of the picture start code and picture coding
extension a little.

Originally committed as revision 20644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 23:05:06 +00:00
Michael Niedermayer
fc23d843e1 Check order of startcodes, ignore some obviously wrong ones.
Fixes issue487.

Originally committed as revision 20643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 22:51:53 +00:00
Michael Niedermayer
bbf266fdb5 Move mpeg_decode_postinit() out of bitstream decoding functions, it does not
belong in there.

Originally committed as revision 20642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 21:32:33 +00:00
Michael Niedermayer
1206f1d630 Inline mpeg_decode_extension, will simplify future changes.
Originally committed as revision 20641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 18:57:12 +00:00
Michael Niedermayer
191ad11e91 Simplify mpeg_decode_user_data()
Originally committed as revision 20640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 14:17:28 +00:00
Stefano Sabatini
8d872e8ac9 Fix put_bits32() doxy.
Originally committed as revision 20639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 10:58:07 +00:00
Stefano Sabatini
643570d6bb Consistently put braces for function definitions.
Originally committed as revision 20638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 10:21:10 +00:00
Stefano Sabatini
e74223610b Fix typo, "Write" -> "Writes".
Originally committed as revision 20637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 10:17:43 +00:00
Stefano Sabatini
106c72faad Use pixel formats names defined in av_pix_fmt_descriptors rather than
in those in pix_fmt_info, and remove the not anymore used
PixFmtInfo.name field.

Originally committed as revision 20636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 01:13:43 +00:00
Stefano Sabatini
f72d40b01a Remove unused PixFmtInfo.is_hwaccel field.
Originally committed as revision 20635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-28 00:53:15 +00:00
Michael Niedermayer
bc7eb330e3 Remove "frame size must be a multiple of 2" check.
This check only caught explicitly set sizes from the cmd line and overriding
the users wish seems silly, especially as it seems to work.

Originally committed as revision 20634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-27 20:20:44 +00:00
Michael Niedermayer
f6dcc93705 Add nomouse option to not record the mouse cursor.
Implements issue877

Originally committed as revision 20633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-27 19:36:18 +00:00
Michael Niedermayer
a5a61fac3b Remove unused stuff.
Originally committed as revision 20632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-27 18:56:30 +00:00
Roxis
781c1aa6dc Real cursor support in x11grab.
Patch by Roxis /// roxis list dot ru
Slight changes by me to update the patch to current svn.

Originally committed as revision 20631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-27 17:58:48 +00:00
Michael Niedermayer
d3298350bb Do not invent error codes but pass the error code on.
Originally committed as revision 20630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-27 13:48:37 +00:00
Michael Niedermayer
fed0c2fb71 Replace very odd and completely broken oss read_packet() by the obvious way to
read.
Fixes issue348.

Originally committed as revision 20629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-27 13:37:53 +00:00
Jai Menon
6866dd1237 Fix typo.
Originally committed as revision 20628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-27 13:10:56 +00:00
Reimar Döffinger
a7c6e76638 Add support for hardcoding the motionpixels rgb to yuv table.
Originally committed as revision 20627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 21:20:28 +00:00
Reimar Döffinger
7c7d3abf3c 10l, pix_fmt should be set by the motionpixels decoder, not by the demuxer.
This fixes playback when lavf and lavc are less tightly couples as in e.g. MPlayer.

Originally committed as revision 20626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 21:15:06 +00:00
Stefano Sabatini
a9af75ae85 Make sws_format_name() use av_pix_fmt_descriptors.
This also introduces a dependency of libswscale on libavutil.

Originally committed as revision 29968 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-26 21:08:45 +00:00
Stefano Sabatini
797229a6a2 Make avcodec_get_pix_fmt_name() use av_pix_fmt_descriptors rather than
pix_fmt_info.

Originally committed as revision 20625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 21:04:33 +00:00
Stefano Sabatini
382cb1154c Make av_pix_fmt_descriptors use the same pixel format names as defined
in libavcodec/imgconvert.c.

Avoid to break compatility when making the functions dealing with
pixel format names in imgconvert.c use the names defined in pixdescs.

Originally committed as revision 20624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 20:58:37 +00:00
Jai Menon
0bf095a837 Allow decoders to correctly set the sample format by defaulting to
SAMPLE_FMT_NONE in avcodec_get_context_defaults2.

Originally committed as revision 20623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 20:46:13 +00:00
Stefano Sabatini
14b903f389 Remove x_chroma_shift and y_chroma_shift fields from PixFmtInfo, use
av_pix_fmt_descriptors log2_chroma_w and log2_chroma_h values instead.

Originally committed as revision 20622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 20:00:03 +00:00
Jai Menon
8683f94f40 Update libavformat regression reference checksum for ffm. This change is
due to r20601.

Originally committed as revision 20621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 18:49:34 +00:00
Måns Rullgård
4f898e77fb Revert "Add required header #include to fix 'make checkheaders'."
config.h must not be included in that file.  The table generator runs
on the host system, but config.h describes the target.

Originally committed as revision 20620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 10:06:41 +00:00
Diego Biurrun
e137934fae cosmetics: K&R style, prettyprinting
Originally committed as revision 20619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 09:59:10 +00:00
Diego Biurrun
c73ce8e259 Mark apply_mdct() function as static; it is only used within the file.
Originally committed as revision 20618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 09:55:03 +00:00
Stefano Sabatini
38264abb06 Use av_pix_fmt_descriptors in avcodec_get_chroma_sub_sample(), rather
than the PixFmtInfo x_chroma_shift and y_chroma_shift fields.

Originally committed as revision 20617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-26 00:33:19 +00:00
Stefano Sabatini
8e861e1b1e Use av_pix_fmt_descriptors in ff_is_hwaccel_pix_fmt() rather than
access the PixFmtInfo.is_hwaccel field which is going to be removed.

Originally committed as revision 20616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 23:52:20 +00:00
Michael Niedermayer
9ff261a2b2 Remove special case that changed video sync behavior for av_q2d(enc->time_base) <= 0.001.
This should make the default behave more like one would expect and not
change behavior at 1000fps.

Originally committed as revision 20615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 23:33:47 +00:00
Stefano Sabatini
7cab9a6674 Add an entry for the AVFilter.next field removal.
Originally committed as revision 20614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 23:32:26 +00:00
Diego Biurrun
ff09a99ef5 -DFRAC_BITS must be added to CPPFLAGS when compiling mpegaudio_tablegen.ho.
Originally committed as revision 20613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 23:29:36 +00:00
Diego Biurrun
154f5b5c9b Add required header #include to fix 'make checkheaders'.
Originally committed as revision 20612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 23:24:09 +00:00
Stefano Sabatini
4cc3f6afe4 Remove AVFilter.next field, since it is not used and it is not going
to be used since the implementation of the new filter registration
system.

Originally committed as revision 20611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 23:24:09 +00:00
Ramiro Polla
f2526204a4 Fix nv12/nv21 handling. linesize for plane 1 should account for both chroma
planes instead of just doubling the height while computing plane sizes. Also
adjust avpicture_layout() to copy the correct amount of data for plane 1.

Originally committed as revision 20610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 17:14:48 +00:00
David Conrad
800841fd0c Support compiling against libtheora older than 1.1
Originally committed as revision 20609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 16:00:14 +00:00
Stefano Sabatini
b5a683eb11 Add an entry for the avfilter_next() function addition.
Originally committed as revision 20608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 00:01:14 +00:00
Stefano Sabatini
1433c4abf2 Implement avfilter_next().
Originally committed as revision 20607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 23:58:48 +00:00
Stefano Sabatini
73e2247d32 Add an entry for the avfilter_register() signature change.
Originally committed as revision 20606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 23:52:07 +00:00
Stefano Sabatini
86a60fa1ac Implement a new registration system for filters.
Create a new static array containing pointers to the AVFilter
definitions, so that the non-constant next filter in the AVFilter
struct is not anymore required and the AVFilter definitions may be
stored in shareable memory.

Also change the signature for avfilter_register(), make it return an
int since it may fail if there is not enough space in the static array
for the registered filters.

Originally committed as revision 20605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 23:47:33 +00:00
Stefano Sabatini
d0df2fcc35 Add an entry for the pixdesc.h API publication.
Originally committed as revision 20604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 23:38:20 +00:00
Stefano Sabatini
74a0059f2c Make the pixdesc API public.
Originally committed as revision 20603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 23:33:41 +00:00
Vitor Sessak
691a4232ee Make lsp2polyf() function non-static for upcoming usage in SIPR
Originally committed as revision 20602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 16:58:50 +00:00
Jason Garrett-Glaser
d2b34efe22 Update ffserver to include all basic x264 parameters in .ffm files.
Originally committed as revision 20601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 15:54:17 +00:00
Jason Garrett-Glaser
096c87f667 Add weightp support in API for libx264.
ffmpeg can encode baseline profile again.

Originally committed as revision 20600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 15:49:34 +00:00
Reimar Döffinger
f3bdc3da15 Call ff_find_hwaccel() after calling avcodec_set_dimensions().
Patch by Reimar

Originally committed as revision 20599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 15:13:47 +00:00
Måns Rullgård
8b4a6d47b2 WMA: extend exponent range to 95
Hopefully this will be enough.  Fixes issue 1565 (again).

Originally committed as revision 20598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 10:10:39 +00:00
Baptiste Coudurier
fedbfd5d44 update seek regression ref due to r20579, mp3 timestamps are adjusted
Originally committed as revision 20597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 07:29:54 +00:00
Peter Ross
c351524c9e Determine VOC block length when length field is zero, fixes issue1538.
Originally committed as revision 20596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 07:08:17 +00:00
Kostya Shishkov
d90aeeaf56 Call avcodec_set_dimensions() instead of simply setting avctx->width/height
when frame dimensions change in RV3/4.

Originally committed as revision 20595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 06:05:41 +00:00
Vitor Sessak
9401357f01 Add missing include. Fix the following compiler warnings:
twinvq.c: In function 'decode_lsp':
twinvq.c:575: warning: implicit declaration of function 'ff_sort_nearly_sorted_floats'

Originally committed as revision 20594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 22:28:45 +00:00
Måns Rullgård
168f92ffaa WMA: extend exponent table up to 75
Fixes issue 1565.

Originally committed as revision 20593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 22:22:16 +00:00
Stefano Sabatini
60fa95683d Clarify PIX_FMT_BE flag doxy. Increase consistency / pickiness.
Originally committed as revision 20592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 20:14:47 +00:00
Michael Niedermayer
4c66e8849b Use avcodec_set_dimensions()
Originally committed as revision 20591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 19:45:40 +00:00
Michael Niedermayer
e026902a62 Correct order of arguments for avcodec_check_dimensions().
Originally committed as revision 20590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 19:24:17 +00:00
Michael Niedermayer
4687f908c6 Make sure avcodec_set_dimensions() is used when rv20 changes resolution.
This should fix lowres resolution changes.

Originally committed as revision 20589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 19:22:19 +00:00
David Conrad
c261a5d927 libtheora: using the 1.0 API requires linking to both
libtheoraenc and libtheoradec; libtheora is the pre-1.0 library.
Documented at http://theora.org/doc/libtheora-1.0/
Fixes issue1564

Originally committed as revision 20588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 18:18:21 +00:00
David Conrad
b9c78bca26 MOV: cprt is another tag used for copyright
Originally committed as revision 20587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 08:47:47 +00:00
David Conrad
7382902b86 MOV: Add several iTunes metadata tags
Originally committed as revision 20586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 08:47:44 +00:00
David Conrad
620af1a17a MOV: Fix writing \251wrt metadata (r20453 only fixed the demuxer)
Originally committed as revision 20585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 08:47:40 +00:00
Vitor Sessak
419b2be813 Make sorting function used in TwinVQ a shared function
Originally committed as revision 20584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 22:25:58 +00:00
David Conrad
6c2289b52e Set colorspace for libtheora encoding
Originally committed as revision 20583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 21:08:46 +00:00
David Conrad
af89b1781f Support 4:2:2 and 4:4:4 subsampling in libtheora encoding
Originally committed as revision 20582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 21:08:43 +00:00
David Conrad
b0a6d9ca86 Add support for two pass encoding in libtheora
Originally committed as revision 20581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 21:08:40 +00:00
David Conrad
bdc8c48893 Update libtheora wrapper to use the 1.0 API
Originally committed as revision 20580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 21:08:37 +00:00
Baptiste Coudurier
9c5a9e6b48 set mp3 timebase to the lcm of all mp3 sample rates to fix frame duration
Originally committed as revision 20579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 21:04:18 +00:00
Justin Ruggles
c3988a59ce Add MP4 object type for ALS.
Originally committed as revision 20578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 18:13:22 +00:00
Måns Rullgård
79de9c83e0 Delete *.d files with make clean
Originally committed as revision 20577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 14:22:13 +00:00
Stefano Sabatini
2d64744fed Remove from the list of the supported formats the formats which are
not correctly supported.

See the thread:
"[FFmpeg-devel] [PATCH] Remove not truly supported formats support from the crop filter".

Originally committed as revision 20576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 11:51:41 +00:00
Kostya Shishkov
87ca1b8f7f When searching for AMF object field value, try to find that object first
instead of assuming it should occur right at given position.
This helps finding human-readable error descriptions in RTMP server replies.

Originally committed as revision 20575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 09:03:06 +00:00
Kostya Shishkov
fe52395878 Print error when RTMP protocol can't open connection
Originally committed as revision 20574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 08:42:55 +00:00
Kostya Shishkov
afbacb931b Pass only useful FLV metadata from RTMP stream
Originally committed as revision 20573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 08:40:55 +00:00
Kostya Shishkov
ec10d2d539 Update dimensions in AVCodecContext when RV3/4 frame dimensions change
Originally committed as revision 20572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 07:48:35 +00:00
Justin Ruggles
aca857ecd3 Do not write an extra byte in the iTunes 'hdlr' tag. The files on iTMS have an
extra byte and are not compliant with ISO 14496-12.  This causes some strict
demuxers (notably the MPEG-4 ALS reference software) to fail.  It has been
confirmed that not writing the extra byte will still allow the generated MP4
files to work with QuickTime/iTunes/iPod.

Originally committed as revision 20571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 02:07:10 +00:00
Alex Converse
4e878a1898 10l: Fix inverted if-condition from r20448. Fixes issue 1562.
Originally committed as revision 20570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-21 20:56:46 +00:00
Robert Krüger
ce34ff6b45 Factorize av_get_bit_rate (for future use outside of libavcodec).
Patch by Robert Krüger, krueger signal7 de

Originally committed as revision 20569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-21 09:58:15 +00:00
Stefano Sabatini
2cb2d6f0f7 Make show_protocols() print one protocol per line.
Originally committed as revision 20568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-21 00:22:05 +00:00
Reimar Döffinger
c7a38887c1 Do D10 AES3 audio conversion in-place instead of using a large on-stack buffer.
Originally committed as revision 20567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 23:12:55 +00:00
Michael Niedermayer
98c82d6910 Allocate pictures with enough padding for jpeg.
Ensure that jpeg does not use mbs that could require larger padding.
This might have been exploitable.

Originally committed as revision 20566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 22:14:37 +00:00
Reimar Döffinger
9fe0894210 In win32 thread implementation do not access jobnr if the thread is asked
to terminate, jobnr it does not point to a valid location in that case.

Originally committed as revision 20565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 21:08:26 +00:00
Daniel Verkamp
1b88277bd9 FLV muxer support for Flash screen codec v2
Originally committed as revision 20564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 20:02:49 +00:00
Daniel Verkamp
0aa6a518ad Add codec id for Flash screen codec v2 and hook it up in FLV demuxer
Originally committed as revision 20563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 19:16:42 +00:00
Ramiro Polla
b16569d256 Indent
Originally committed as revision 20562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 11:38:37 +00:00
Daniel Verkamp
0584b71823 Document -formats split
Originally committed as revision 20561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 10:23:40 +00:00
Kostya Shishkov
76267e4e90 Implement missing case for decoding samples with large pivot value in APE
decoder.
This fixes issue 1555

Originally committed as revision 20560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 07:49:53 +00:00
Kostya Shishkov
e4de5b0fb5 cosmetics: break some long lines and insert few spaces
Originally committed as revision 20559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 07:26:17 +00:00
Kostya Shishkov
dd562761d9 10l trocadero: ZMBV encoder used zero score to detect whether block should be
XORed with source one or not, which went wrong with new block comparing code.
So track this condition explicitly.

Originally committed as revision 20558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 07:22:41 +00:00
Baptiste Coudurier
cb893cf386 avoid integer overflow in dnxhd encoder, fixes #1557
Originally committed as revision 20557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 00:13:34 +00:00
Baptiste Coudurier
a4fcd9966b clarify why the encoder is failing
Originally committed as revision 20556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 23:28:21 +00:00
Stefano Sabatini
bf72597ef4 Fix name for PIX_FMT_NV21 PixFmtInfo entry.
Originally committed as revision 20555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 22:56:57 +00:00
Baptiste Coudurier
e26df9ebf1 use AVFormatContext in dprintf
Originally committed as revision 20554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 21:03:25 +00:00
Michael Niedermayer
8447f0bd74 Split show_formats().
Originally committed as revision 20553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 16:35:55 +00:00
Reimar Döffinger
b711aaa2d8 Disable image flipping during JPEG decoding if CODEC_FLAG_EMU_EDGE is set
instead of either aborting on the assert or crashing due to writing beyond
the array due to insufficient padding.

Originally committed as revision 20552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 11:49:03 +00:00
Baptiste Coudurier
8a724ed84d Revert r20548, it was a dream. It seems faad does not ouput the last frame
in any case.

Originally committed as revision 20551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-19 00:05:30 +00:00
Stefano Sabatini
357561e73f Clarify relations between log2_chroma_w, log2_chroma_h and comp.
Originally committed as revision 20550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 22:32:32 +00:00
Stefano Sabatini
2091b27b68 Make show_formats() print each bitstream filter on a separate line.
Improve readability of the output.

Originally committed as revision 20549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 22:27:23 +00:00
Baptiste Coudurier
bceae2936f faad needs CODEC_CAP_DELAY, otherwise you miss last frame
Originally committed as revision 20548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 21:01:42 +00:00
Diego Biurrun
bd381fd3f6 Add functions to return library license and library configuration.
Originally committed as revision 29932 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-18 17:16:02 +00:00
Diego Biurrun
c173693698 Add functions to return library license and library configuration.
Originally committed as revision 20547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 17:15:17 +00:00
Diego Biurrun
d7a0e29f31 Split avdevice.c off from alldevices.c.
alldevices.c is not a good place for avdevice_version().

Originally committed as revision 20546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 17:01:25 +00:00
Stefano Sabatini
b8873c2a8f Rename AVPixFmtDescriptor.nb_channels to nb_components, the new name
is more clear and lexically more consistent with API and
documentation.

Originally committed as revision 20545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 00:07:20 +00:00
Diego Biurrun
1f20782c04 Add missing #includes for avutil.h, required for the AV_VERSION* macros.
Originally committed as revision 20544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 18:39:26 +00:00
Ronald S. Bultje
6e44ba1550 Use get_bits_left() instead of size_in_bits - get_bits_count().
Originally committed as revision 20543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 17:42:43 +00:00
Carl Eugen Hoyos
830628e11c Cosmetics: Fix indentation.
Originally committed as revision 20542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 01:56:47 +00:00
Alex Converse
b3507d398b Pad the extradata in the AAC ADTS to AudioSpecificConfig bitstream filter.
Originally committed as revision 20541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-15 19:40:44 +00:00
Vitor Sessak
b2bf3cfe32 Implement ff_decode_pitch_lag() that is used by both AMR and SIPR.
Based on code written by Colin McQuillan during his SoC project.

Originally committed as revision 20540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-15 10:41:46 +00:00
Baptiste Coudurier
adeb907137 Search relative path according to alias record when opening mov reference files.
Based on patch by Maksym Veremeyenko, verem at m1stereo dot tv

Originally committed as revision 20539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-15 03:26:47 +00:00
Michael Niedermayer
b154ed5abe Fix indention after last commit.
Originally committed as revision 20538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-14 19:15:09 +00:00
Michael Niedermayer
edabf35926 Fix crash with av_tree_enumerate(NULL).
Originally committed as revision 20537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-14 19:14:14 +00:00
Thilo Borgmann
25c4fddadc Merge data tables from als_data.h with the decoder source to reduce
code complexity.

Originally committed as revision 20536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-14 11:49:48 +00:00
Michael Niedermayer
1bf83b9548 Make sure av_tree_enumerate() enumerates left->right.
Originally committed as revision 20535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-14 11:19:08 +00:00
Thilo Borgmann
93d38cf6b0 Add long-term prediction to the ALS decoder.
Originally committed as revision 20534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-14 06:29:19 +00:00
Justin Ruggles
7934cbb3be ac3dec: apply dynamic range compression to correct channels in dual-mono mode.
Originally committed as revision 20533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-14 00:25:48 +00:00
Michael Kostylev
03279bbea0 Add cflags filter for suncc
Patch by Michael Kostylev <gmail>.

Originally committed as revision 20532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-13 20:24:42 +00:00
Mike Scheutzow
eda4ea4e2e Reset rbsp buffer size when freeing its data buffer.
Patch by Mike Scheutzow $(name) AT alcatel 'minus' lucent com

Originally committed as revision 20531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-13 18:33:28 +00:00
Luca Abeni
103dfbe2c4 Add some "#if"s to avoid compiling the RTSP code when the RTSP demuxer
is disabled, and remove a useless "#if CONFIG_SDP_DEMUXER"

Originally committed as revision 20530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-13 10:19:42 +00:00
Stefano Sabatini
1d8041b36c Split overly long line in doxy.
Originally committed as revision 20529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 23:05:56 +00:00
Vitor Sessak
6870aefa40 Bump minor version after MPEG-4 Lossless commit
Originally committed as revision 20528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 20:21:38 +00:00
Carl Eugen Hoyos
c5c2df9423 Bump minor version after applying ALS decoder.
Originally committed as revision 20527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 20:08:17 +00:00
Luca Abeni
987131828c Split the sdp_read_packet() function out of rtsp_read_packet().
This allows to avoid compiling RTSP code when not needed.

Originally committed as revision 20526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 15:34:17 +00:00
Luca Abeni
1ced9da357 Move some some functions around, so that splitting the SDP code out of
rtsp_read_packet() is simpler.

Originally committed as revision 20525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 10:31:37 +00:00
Alex Converse
07580347b9 Mark AOT_ALS as a supported MPEG-4 audio object type.
Originally committed as revision 20524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 05:22:51 +00:00
Alex Converse
ba278391ba Debug print MP4 objectTypeIndication in hex not decimal as values are listed in
hex in all official documents.

Originally committed as revision 20523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 02:22:19 +00:00
Alex Converse
9349e5582c Cosmetics: Re-indent
Originally committed as revision 20522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 01:45:04 +00:00
Alex Converse
0bb622ba4d Fix a __warn_memset_zero_len gcc-4.4 warning.
Originally committed as revision 20521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 01:44:38 +00:00
Stefano Sabatini
0c0ccc28a8 Swap slicify / scale description positions, "scale" comes before
"slicify" in lexical order.

Originally committed as revision 20520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-12 00:07:36 +00:00
Stefano Sabatini
c3eabb7d2f Add scale filter.
Originally committed as revision 20519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 23:50:21 +00:00
Diego Biurrun
ba11257e48 Add #include for required header config.h.
Originally committed as revision 20518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 23:46:11 +00:00
Thilo Borgmann
99971952b0 Add MPEG-4 Audio Lossless Coding (ALS) decoder.
Patch by Thilo Borgmann, thilo D borgmann A googlemail

Originally committed as revision 20517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 22:36:17 +00:00
Thilo Borgmann
24026a2d49 Add the ability to parse the ALSSpecificConfig from an MPEG-4 AudioSpecificConfig. Patch by Thilo Borgmann
<com googlemail borgmann thilo> as part of GSoC 2009.

Originally committed as revision 20516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 22:16:54 +00:00
Diego Biurrun
ca02d8ec97 Add '#undef fprintf' before PRINT macro that uses fprintf.
Otherwise there may be trouble when fprintf is disabled in favor of av_log.

Originally committed as revision 20515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 21:57:50 +00:00
Alex Converse
e92ad83f54 Cosmetics: Remove the implied gap before AOT_USAC in the MPEG-4 AOT enum.
Originally committed as revision 20514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 20:36:42 +00:00
Alex Converse
01d19fbc9f AAC: Rename sect_len to sect_end. It marks the last sfb of the section, not the
length of the section.

Originally committed as revision 20513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 20:33:56 +00:00
Alex Converse
5aea268d14 Add a channels field to MPEG4AudioConfig.
Originally committed as revision 20512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 20:24:23 +00:00
Vitor Sessak
f2b7ce8ae6 Use doubles in ff_set_min_dist_lsf(). After this patch, AMR can use this
function with no change in output.

Originally committed as revision 20511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 11:00:50 +00:00
Alex Converse
4312b9367a Add Low Delay MPEG Surround to the enum of MPEG-4 Audio Object Types.
Originally committed as revision 20510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 01:04:08 +00:00
Carl Eugen Hoyos
dd6308addd Add PIX_FMT_VDPAU_MPEG4 to pixdesc.c.
Originally committed as revision 20509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 00:02:36 +00:00
Justin Ruggles
3155716677 Add CH_LAYOUT_NATIVE channel mask value to allow user to request native codec
channel order from the decoder rather than the default FFmpeg channel order.

Originally committed as revision 20508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 21:53:22 +00:00
Michael Niedermayer
67e362ca45 indent
Originally committed as revision 20507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 21:00:46 +00:00
Carl Eugen Hoyos
de9bc64df4 Cosmetics: Fix indentation after r20505.
Originally committed as revision 20506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 20:55:45 +00:00
Carl Eugen Hoyos
602dd2d359 Add .pix_fmts to H264 VDPAU decoder declaration and remove obsolete test
for codec->capabilities.

Originally committed as revision 20505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 20:55:00 +00:00
Michael Niedermayer
44be1d6478 Try to fix has_b_frame calculation for open gop files.
Fixes issue1523

Originally committed as revision 20504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 20:24:41 +00:00
Vitor Sessak
51ae2142d5 Fix palette copying in av_picture_copy(). Previous code worked only if
linesize[1] == 1, which does not make sense.

Originally committed as revision 20503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 19:36:58 +00:00
8cbcb1c732 Support VDPAU hardware accelerated decoding of MPEG-4 ASP on capable
hardware.

Original patch by NVIDIA corporation.

Originally committed as revision 29885 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-10 19:11:13 +00:00
70e0c871eb Add VDPAU hardware accelerated decoding for MPEG-4 ASP which can be used
by video players.

Original patch by NVIDIA corporation.

Originally committed as revision 20502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 18:52:39 +00:00
Måns Rullgård
00962abaa0 Fix make install when all of ffmpeg/ffplay/ffserver are disabled
Originally committed as revision 20501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 15:56:03 +00:00
Jai Menon
09bad7e3ca Handle JPEG2000 frames stored in the Quicktime container.
Fixes issue 1525.

Originally committed as revision 20500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 14:48:32 +00:00
Jai Menon
b70b158833 cosmetics : fix indentation.
Originally committed as revision 20499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 14:37:42 +00:00
Reimar Döffinger
7fc58b1eeb Remove code checking for __PIC__ or __pic__ and setting PIC from libavutil/internal.h,
configure is supposed to take care of that already.

Originally committed as revision 20498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 12:59:56 +00:00
Reimar Döffinger
5755bc88e5 Check if PIC is somehow already enabled (e.g. a compiler that enables it by default).
This in particular ensures that -DPIC is set appropriately for YASM, which avoids
linking failures on x86_64 for compilers that have PIE enabled by default
(e.g. hardened Gentoo).
It also makes the macho64 special-case hack adding -DPIC to YASMFLAGS obsolete.

Originally committed as revision 20497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 12:57:28 +00:00
Vitor Sessak
00fa73f052 Avoid variable-length array use in ff_acelp_lspd2lpc()
Originally committed as revision 20496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 04:17:18 +00:00
Michael Niedermayer
dccda293a0 Add a NULL pointer check to avcodec_close() this should prevent a segfault
when closing without open.

Originally committed as revision 20495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 02:51:47 +00:00
Måns Rullgård
7c4a001a33 configure: whitespace cosmetics
Originally committed as revision 20494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 00:23:42 +00:00
Reimar Döffinger
260dfb1a3c patcheck: check that pix_fmt etc. initializers are const
Originally committed as revision 20493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 23:12:44 +00:00
Justin Ruggles
b00803e0ae fix a rounding error in the PSNR calculation and update the many regression
test references that this change affects.

Originally committed as revision 20492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 23:09:47 +00:00
Reimar Döffinger
a7b9c8aefd Attempt to document the "enable pic" hackery for OpenBSD.
Originally committed as revision 20491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 22:52:46 +00:00
Ronald S. Bultje
c47ca25e74 Make get_bits_left() available for use in libavcodec (was previously held
private in dv.c for some reason). See "[PATCH] get_bits_left()" thread.

Originally committed as revision 20490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 22:10:43 +00:00
Ronald S. Bultje
b1ade3d182 And on the sixth day, God gave us the <= operand, which makes the loop
"for (i = 1; i < num + 1; i++)" look like "for (i = 1; i <= num; i++)".
Programmers worldwide rejoiced and used the operand, e.g. in the thread
"[PATCH] remove ugliness in cel_filters.c", and He saw that it was good.

Originally committed as revision 20489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 22:04:03 +00:00
Stefano Sabatini
5c3c0e3f2e Fix crop filter start_frame() for paletted formats different from
PAL8. Shift data[1] only if the input format is not paletted.

Originally committed as revision 20488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 21:00:38 +00:00
Stefano Sabatini
dd18b301f4 Enable linking of parseutils.o.
Originally committed as revision 20487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 18:56:51 +00:00
Reimar Döffinger
f6e8140941 Remove some BeOS/haiku hacks: -fomit-frame-pointer is used anyway,
and -DPIC makes little sense without -fPIC or similar - if -fPIC is
enabled by default, libavutil/internal.h defines PICi anyway.

Originally committed as revision 20486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 17:05:38 +00:00
Vitor Sessak
e26d131845 Do not hardcode filter order in ff_acelp_lspd2lpc()
Originally committed as revision 20485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 12:06:19 +00:00
Francesco Lavra
91cc5d3767 Move ff_reverse in libavcodec to av_reverse in libavutil.
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 20484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 09:11:35 +00:00
Carl Eugen Hoyos
66ddc150f0 Increase default value for max_analyze_duration, fixes issue 1506, a regression.
Originally committed as revision 20483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 01:10:55 +00:00
Carl Eugen Hoyos
0f87b77176 Use enum instead of integer types where appropriate.
Originally committed as revision 20482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 23:48:15 +00:00
Carl Eugen Hoyos
80454494de Use CODEC_ID_NONE instead of 0 for enum CodecID.
Originally committed as revision 20481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 23:46:32 +00:00
Carl Eugen Hoyos
adadf26bb9 Use enum FrameType as parameter to construct_perm_table().
Originally committed as revision 20480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 23:37:59 +00:00
Carl Eugen Hoyos
b411dfff4c Use enum PixelFormat instead of int for srcFormat and dstFormat.
Originally committed as revision 29857 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-08 23:31:43 +00:00
Stefano Sabatini
ac74dfa436 Fix start_frame(), which was issuing chroma artifacts with planar
formats with more than 8 bits per pixel (e.g. YUVXXXP16).

Originally committed as revision 20479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 22:47:10 +00:00
Reimar Döffinger
5f36d94d9d Set -DPREFIX for yasm simply whenever extern_prefix is set instead
of hardcoding it based on the object format.

Originally committed as revision 20478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 22:39:10 +00:00
Michael Niedermayer
a16f80f392 Remove unused variable.
1l for me if it wherent sunday and i could buy cola.

Originally committed as revision 20477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 14:54:43 +00:00
Reimar Döffinger
a34ebe60e9 Always add -DPIC to YASM flags when pic is enabled.
This covers the previous case of x86_64 and shared, but also
works with --enable-pic.
For 32 bit x86 it currently makes no difference since x86inc.asm
ignores -DPIC for non-x86_64.

Originally committed as revision 20476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 14:50:47 +00:00
Baptiste Coudurier
609d864611 move code to avoid forward declaration
Originally committed as revision 20475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 03:27:58 +00:00
Baptiste Coudurier
b3f9f7a333 Let pmt override stream info when encoutered later in the ts file.
Do not set codec id based on pes start code, this is unreliable.
Fix gazeta-20090408-1456-aa.ts

Originally committed as revision 20474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 03:17:08 +00:00
Justin Ruggles
187bc061e4 ac3dec: revert r20089. The change was just wrong. 10l for me.
Originally committed as revision 20473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 03:06:05 +00:00
Carl Eugen Hoyos
28f008a9d3 Support some LATM AAC streams (they can be decoded with MPlayer).
Originally committed as revision 20472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-07 23:44:56 +00:00
Justin Ruggles
1a15ab4920 Do not set AVCodecContext.sample_fmt in the TMV and SoX demuxers.
Originally committed as revision 20471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-07 22:35:00 +00:00
Michael Niedermayer
f3001e0dee Simpliy exp*table init, based on patch by reimar.
Originally committed as revision 20470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-07 20:10:02 +00:00
Stefano Sabatini
2e0a80a128 Document sws_freeContext().
Originally committed as revision 29844 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-07 09:23:11 +00:00
Baptiste Coudurier
a4cb56aaf4 change \0xa9enc tag metadata name to encoder to match id3v2
Originally committed as revision 20469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-06 18:59:25 +00:00
Kostya Shishkov
0d32307dd2 10l: WavPack demuxer forgot to seek back to initial position after block
contents parsing (for custom sampling rate).

Originally committed as revision 20468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-06 18:25:45 +00:00
Stefano Sabatini
3fa70a3bc8 Add pixel format descriptors for the HW-accelerated formats.
This completes the list of all descriptors in av_pix_fmt_descriptors.

Originally committed as revision 20467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 23:45:15 +00:00
Måns Rullgård
64de20d18b PPC: make inline asm xform address test work with Apple tools
Originally committed as revision 20466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 21:48:09 +00:00
Måns Rullgård
ffa3bd54da IA64: do not automatically enable hardcoded tables if explicitly disabled
Originally committed as revision 20465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 21:48:05 +00:00
Reimar Döffinger
1ffc6e8327 Add ff_init_ff_cos_tabs function and use it in rdft.c to ensure that the
necessary ff_cos_tabs tables are initialized.
Fixes issue 1507 (QDM2 broken since r20237 without hardcoded tables).

Originally committed as revision 20464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 18:29:06 +00:00
9cad7e2193 Fix a typo in rtp_h264.c:parse_h264_sdp_line(). Patch by Gordon Irlam
(gordonipub2 AT gordoni DOT com).

This fixes H.264 over RTP when the SDP contains a "framesize:" attribute
(for example, rtsp://video3.americafree.tv/AFTVCartoonsH264250.sdp )

Originally committed as revision 20463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 14:25:37 +00:00
Baptiste Coudurier
bddc2df52e 10l, typo
Originally committed as revision 20462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 08:53:05 +00:00
Kostya Shishkov
7aa2d42db6 If custom sampling rate is set in WavPack file, parse first block to find
actual value.

This fixes issue 1518.

Originally committed as revision 20461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 08:14:48 +00:00
Kostya Shishkov
aa926a480f Initialize block_parsed before reading first block header in WavPack demuxer,
it will be useful later.

Originally committed as revision 20460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 08:10:50 +00:00
Baptiste Coudurier
c2564699bf do not redundantly set stream nb_frames, it's already set in read_stts
Originally committed as revision 20459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 07:32:50 +00:00
Baptiste Coudurier
e745272196 compute dts shift with ctts value, cslg atom might be missing, fix #419
Originally committed as revision 20458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 07:30:53 +00:00
Baptiste Coudurier
fedb1eca07 check that duration is set to avoid fpe
Originally committed as revision 20457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 07:17:10 +00:00
Baptiste Coudurier
507330b9d3 warn if stream timescale is not set and set it to 1 to avoid FPE
Originally committed as revision 20456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 07:11:54 +00:00
Reynaldo H. Verdejo Pinochet
87e76ae0bd Corrects two typos
Originally committed as revision 20455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 02:04:21 +00:00
Reynaldo H. Verdejo Pinochet
a8e1cbaf18 Decrement probe score at unsuported bpp
Originally committed as revision 20454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 01:59:07 +00:00
Baptiste Coudurier
55d2e32a40 fix \0xa9wrt metadata, to composer, fix issue #1501
Originally committed as revision 20453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 01:40:13 +00:00
Reynaldo H. Verdejo Pinochet
136086523f Correct double include introduced by r20450
Originally committed as revision 20452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-05 01:10:27 +00:00
Vitor Sessak
c902340599 Reduce stack memory allocation in MP3 decoder
Originally committed as revision 20451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-04 23:33:08 +00:00
Reynaldo H. Verdejo Pinochet
0c50f8e6cc Implement ff_scale_vector_to_given_sum_of_squares()
to aid generic gain control routines. Changes
for qcelp are included. Patch Collin McQuillan.

Originally committed as revision 20450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-04 19:29:29 +00:00
Reimar Döffinger
223217746c Pad ff_cos_tabs and ff_sin_tabs so that index n points to the table for n bits.
While this "wastes" up to 2x32 bytes it makes the code slightly simpler and
less confusing.

Originally committed as revision 20449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-04 17:30:23 +00:00
Alex Converse
981b8fd777 Don't lock the channel output configuration based on the first value seen for
non extradata formats. Instead lock it only after the successful decoding of a
frame. This fixes issue 999.

Originally committed as revision 20448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:50:02 +00:00
Stefano Sabatini
cabc41b0c2 Vertical align.
Originally committed as revision 20447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:47:10 +00:00
Stefano Sabatini
198d56533e Use spaces after commas for improving readability.
Originally committed as revision 20446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:46:15 +00:00
Stefano Sabatini
bc37ec923d Add slicify video filter.
Originally committed as revision 20445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:41:38 +00:00
Stefano Sabatini
da23d42476 Make avfilter_get_video_buffer() use
avfilter_default_get_video_buffer() if the get_video_buffer() callback
is not defined in a filter.

Libavfilter filters author have to explicitely define the
get_video_buffer() callback if they want the buffer to be requested to
the filter following in the filterchain.

See the thread:
"[FFmpeg-devel] [PATCH] Make avfilter_get_video_buffer() use
default_get_video_buffer if callback not defined".

Originally committed as revision 20444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:15:52 +00:00
Stefano Sabatini
ae2abc69db Explicitely define get_video_buffer() callbacks in the format,
noformat and null filters.

Originally committed as revision 20443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:04:55 +00:00
Stefano Sabatini
dc264e77a3 Change file doxy from
"video format and noformat filters" to
"format and noformat video filters",
as suggested by Diego.

Originally committed as revision 20442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 21:59:41 +00:00
Stefano Sabatini
09da17810b Fix/clarify description of the noformat filter.
Originally committed as revision 20441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 21:57:21 +00:00
Stefano Sabatini
143e3aa031 Fix grammar / clarify documentation for the format and noformat
filters.

Originally committed as revision 20440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 20:01:06 +00:00
Andrew Wason
42022e0362 add yuvs fourcc to raw.c and isom.c, fixes samples/mov/yuvs.mov
patch by Andrew Wason

Originally committed as revision 20439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 16:17:21 +00:00
Justin Ruggles
31f8c10983 Simplify AC-3 critical band end calculation (correctly this time).
Originally committed as revision 20438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 03:26:26 +00:00
Justin Ruggles
94593c9b52 Revert r20050, which caused decoding errors with at least one valid AC-3 file.
Originally committed as revision 20437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 02:59:18 +00:00
Ramiro Polla
200267333c Indent.
Originally committed as revision 20436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-02 23:44:11 +00:00
Ramiro Polla
a75e103432 Add -fpre option to take a preset file as parameter. The -[avs]pre options no
longer accept filenames, and -fpre should be used instead.

Originally committed as revision 20435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-02 23:41:54 +00:00
Stefano Sabatini
d71ad089ef Add PIX_FMT_PAL flag to BGR8, BGR4_BYTE, RGB8, and RGB4_BYTE formats.
Originally committed as revision 20434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-02 20:23:47 +00:00
Michael Niedermayer
ad9feac9fb Avoid huge array for rgb ljpeg on the stack.
Code tested with an ljpeg i had laying around.

Originally committed as revision 20433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-02 14:12:25 +00:00
Ben Littler
e47ca4f798 map VYUY fourcc to rawcodec
fixes http://samples.mplayerhq.hu/V-codecs/ATI-VCR12/ATI/y422test.avi

Originally committed as revision 20432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-02 00:10:10 +00:00
Måns Rullgård
58b3536dd5 configure: fix 64-bit test with clang
Originally committed as revision 20431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-01 20:14:56 +00:00
Justin Ruggles
4c1645a458 Set sample format in flac_decode_init() rather than in
ff_flac_parse_streaminfo() since the latter is shared with the raw FLAC
demuxer, which should not be setting the sample format.

Originally committed as revision 20430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-01 16:48:05 +00:00
Justin Ruggles
dee34af4d6 Set the sample format for Smacker audio in the decoder rather than in the
demuxer.

Originally committed as revision 20429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-01 15:08:49 +00:00
Michael Kostylev
faa374b72c configure: remove extra backslashes from suncc DEPEND_CMD
Patch by Michael Kostylev <michael kostylev gmail>

Originally committed as revision 20428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 16:33:38 +00:00
Måns Rullgård
0645487701 configure: use here-doc for --help output
Originally committed as revision 20427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 15:59:08 +00:00
Måns Rullgård
173c983b52 configure: use here-docs instead of echo for writing config.{h,mak}
Originally committed as revision 20426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 15:59:03 +00:00
Måns Rullgård
b4f9356433 configure: simplify setting of SDL flags in config.mak
Originally committed as revision 20425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 15:58:57 +00:00
Måns Rullgård
c73f65d979 Allow disabling doc generation with --disable-doc
Originally committed as revision 20424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 15:58:49 +00:00
Måns Rullgård
ad212cc6ba configure: simplify STRIP setting in config.mak
Originally committed as revision 20423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 15:58:44 +00:00
Måns Rullgård
a48289c7b7 Makefile cosmetics
Originally committed as revision 20422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 15:58:39 +00:00
Vitor Sessak
083c5a48ec Implement AMR gain function that is used by both AMR and SIPR.
Based on AMR SoC code by Robert Swain and Colin McQuillan.

Originally committed as revision 20421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-31 02:02:30 +00:00
Baptiste Coudurier
050ba6f45e print packet duration when debugging timestamps
Originally committed as revision 20420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-30 18:17:16 +00:00
Stefano Sabatini
a520e9f235 Document slice ordering assumption done by sws_scale().
Originally committed as revision 29804 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-10-30 14:13:25 +00:00
Stefano Sabatini
c5ec0d9d4f Remove the get_video_buffer() callback.
That was never required since avfilter_get_video_buffer() already
calls itself on the next link if get_video_buffer is not defined.

Originally committed as revision 20419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-30 11:11:25 +00:00
Ramiro Polla
b94ca20803 Document that using "make -r" might be faster than plain "make" in Windows.
Originally committed as revision 20418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-30 10:38:05 +00:00
Etienne Buira
a5abfd8fd1 Issue an error when forced format cannot be honored.
Patch by Etienne Buira $name $surname lists chez free.fr

Originally committed as revision 20417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-30 09:57:34 +00:00
Michael Niedermayer
8a08175f3f Change whitespace placement a little to improve readabiliy slightly.
Thats not an attempt to emulate indent -kr behavior down to the finest
fineprint, first it would not be worth the work, second it would be less
readable, third it would  not be K&R but indent -kr then.

Originally committed as revision 20416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-29 10:58:59 +00:00
Michael Niedermayer
f92e769666 Multiple inclusion guards for synth_filter.h.
Originally committed as revision 20415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-29 10:46:29 +00:00
Francesco Lavra
e58992e41f Support demuxing teletext in DVB streams.
Original patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 20414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-29 10:46:16 +00:00
Michael Niedermayer
d886e4df10 Vertically align function arguments.
Originally committed as revision 20413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-29 10:43:56 +00:00
Måns Rullgård
de4070b520 Add generic rules for building helpers with HOSTCC
Originally committed as revision 20412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-29 00:55:35 +00:00
Reimar Döffinger
7a41027cc4 vorbis_dec: factor out duplicated code for index reading, bounds checking and
error message into a shared macro.

Originally committed as revision 20411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 22:41:45 +00:00
Måns Rullgård
e273b0389f Makefile cosmetics
Originally committed as revision 20410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 20:46:21 +00:00
Reimar Döffinger
0956bc9b83 Enable hardcoded tables for ia64 shared builds.
At least for cross-compilation with Gentoo gcc 4.4.2 it fixes the build errors
due to GPREL 22 being insufficient for the .bss size of > 4 MB without it.
Why these errors do not appear with static builds is unclear, it is not due
to PIC (shared builds with PIC disabled show the same issue).

Originally committed as revision 20409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 20:44:21 +00:00
Måns Rullgård
f0125de9d1 configure: add C99 flags to HOSTCFLAGS
Originally committed as revision 20408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 20:19:15 +00:00
Reimar Döffinger
3db0208c42 Change format string from "x" to PRIx32 to hopefully fix a warning with Cygwin gcc 4.2.4.
Originally committed as revision 20407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 20:02:40 +00:00
Måns Rullgård
785d3c97b2 Makefile cosmetics
Originally committed as revision 20406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 19:49:19 +00:00
Måns Rullgård
df4fe41df4 Generate mpegaudio tables only when CONFIG_HARDCODED_TABLES is set
Having mpegaudiodec.o unconditionally depend on mpegaudio_tables.h
forces the latter to be generated even when it will not be used.

Originally committed as revision 20405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 19:49:16 +00:00
Reimar Döffinger
52a4a07778 Fix out-of-tree builds with --enable-hardcoded-tables
Originally committed as revision 20404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 19:38:31 +00:00
Reimar Döffinger
2300b120dd Fix dependency: generated table is needed to create the mpegaudiodec.o file, not the .c one.
Originally committed as revision 20403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 19:15:42 +00:00
Reimar Döffinger
9e8fecf7ea Better formatting for 2D tables in tableprint code.
Originally committed as revision 20402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 19:05:45 +00:00
Reimar Döffinger
8abe97be92 10l, fix incorrect endif comment.
Originally committed as revision 20401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 18:52:39 +00:00
Reimar Döffinger
eadaa00c6f Add support for hardcoding the mpegaudiodec tables.
Reduces .bss size by about 194 kB.

Originally committed as revision 20400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 18:42:52 +00:00
Ramiro Polla
1a04d4c722 mingw32: The flag to work around bug 37216 in gcc is automatically passed to
MinGW since r18501. Remove a reference that suggests users should pass the
flag manually (this removal was missed in 18510).

Originally committed as revision 20399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 18:04:31 +00:00
Michael Niedermayer
d49dded591 Remove unused variable j.
Originally committed as revision 20398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 14:40:05 +00:00
Michael Kostylev
2a472e9c5d Detect Sun Studio compiler and set appropriate variables.
Add dependency generation commands compatible with Sun Studio.
patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 20397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 14:24:04 +00:00
Michael Niedermayer
4f99c31c39 Split synth filter out of dca.c.
Originally committed as revision 20396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 10:51:51 +00:00
Diego Biurrun
638783bf81 Split PAM encoder off into its own file.
Originally committed as revision 20395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 06:41:58 +00:00
Diego Biurrun
318888f808 Split the decoders from pnmen.c off into their own file.
Originally committed as revision 20394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 06:34:00 +00:00
Diego Biurrun
761f2c9048 The encoders in pnmenc.c now depend on the init/end functions in pnm.c.
Originally committed as revision 20393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-28 06:32:35 +00:00
Vitor Sessak
504eee37de Commit some functions that are used by both SIPR and AMR.
Based on AMR SoC code by Robert Swain and Colin McQuillan.

Originally committed as revision 20392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 23:53:18 +00:00
Stefano Sabatini
2be414c8de Fix doxies, use third person and phrase-ending dots.
Originally committed as revision 20391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 22:12:20 +00:00
Stefano Sabatini
fcbed3c735 Add format and noformat filters.
Originally committed as revision 20390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 21:40:43 +00:00
Stefano Sabatini
51135d1d8e Move pixdesc.{h,c} from libavcodec to libavutil.
This way pixdescs can be used without requiring a dependency on
libavcodec.

Originally committed as revision 20389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 20:56:56 +00:00
Stefano Sabatini
04a5c106f9 Consistently use third person in doxies.
Originally committed as revision 20388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 20:36:17 +00:00
Stefano Sabatini
3555d2e88e Introduce first_avfilter and use that, together with AVFilter.next,
for registering and finding filters, rather than use the struct
AVFilterList, which is removed.

Simplify the filter registration management code.

Originally committed as revision 20387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 19:52:14 +00:00
Stefano Sabatini
290d4a44f1 Add an entry for the AVFilter.next addition.
Originally committed as revision 20386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 19:46:22 +00:00
Stefano Sabatini
243110f968 Add a field 'next' to AVFilter.
Simplify the registration and iteration of all the registered filters,
consistent with what is done with formats / codecs.

Originally committed as revision 20385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 19:42:07 +00:00
Stefano Sabatini
77f66963b0 Split codec-regression.sh again and create a lavfi-regression.sh for
running the libavfilter tests.

Originally committed as revision 20384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 19:34:48 +00:00
Ben Littler
13547dd11f add 2vuy fourcc to riff.c , fixes samples/V-codecs/2vuy.avi
Originally committed as revision 20383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 17:37:41 +00:00
Diego Biurrun
8767a009a1 Move PNM init/end functions to the PNM common code.
This is done in preparation for the PNM encoder/decoder split.

Originally committed as revision 20382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 17:15:05 +00:00
Diego Biurrun
d3067047e7 whitespace cosmetics: K&R coding style, prettyprinting
Originally committed as revision 20381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 16:57:35 +00:00
Diego Biurrun
bc8964ef20 Remove crufty leftovers from the era when this file resided within libavformat.
Originally committed as revision 20380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 16:35:17 +00:00
Ben Littler
9853bbb21a add some raw codec fourccs, fixes:
samples/V-codecs/

P422.AVI
UYNV.AVI
UYNY.AVI
V422.AVI
YUNV.AVI

Originally committed as revision 20379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 15:57:28 +00:00
Benoit Fouet
ff54bb975a Fix indentation.
Originally committed as revision 20378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 15:05:24 +00:00
Benoit Fouet
25b6d0bc69 Only memset for palettes of 16 elements.
Originally committed as revision 20377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 15:04:35 +00:00
Carl Eugen Hoyos
6d7d410f8b Clarify responsibility for freeing a buffer when using vdpau.
Originally committed as revision 20376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 08:30:50 +00:00
Stefano Sabatini
b70bc02279 Add descriptions for the committed filters.
Originally committed as revision 20375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 00:43:45 +00:00
Stefano Sabatini
6b27353cfd Add a PIX_FMT_HWACCEL flag to the AVPixFmtDescriptor.flags.
It is used to mark the pixel format used for hardware acceleration
support.

Originally committed as revision 20374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-26 19:34:46 +00:00
Michael Kostylev
0600d30ae4 Avoid "-z text" diversion on SunOS x86, needed to make FATE happy.
patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 20373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-26 10:18:35 +00:00
Stefano Sabatini
8fdb01c10e Make dprintf_link() show the name of the link pixel format.
Originally committed as revision 20372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 21:06:00 +00:00
Loren Merritt
4521308363 s/movdqa/movaps/ in sse1 fft. (regression in r20293)
Originally committed as revision 20371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 03:09:53 +00:00
Luca Barbato
7549632bda rtsp_close_streams frees the auth_b64 line already
Originally committed as revision 20370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 00:41:10 +00:00
Luca Barbato
d243ba30b8 Support 3xx redirection in rtsp
All the error codes 3xx got managed the same way.
After setup/early play redirection will not be managed
REDIRECT method is yet to be supported (if somebody knows a server implementing
it please contact me)

Originally committed as revision 20369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 00:06:31 +00:00
haim alon
c5898e8623 compute codec bitrate in mov demuxer, patch by haim alon, haim dot alter at gmail dot com
Originally committed as revision 20368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 20:40:00 +00:00
Reimar Döffinger
d3ee771514 Support amdfam10 for --cpu, also avoids a warning about unknown cpu if
--cpu=host is used on AMD Phenom and newer at least.

Originally committed as revision 20367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 17:24:25 +00:00
Vitor Sessak
bd56505a7f Bump micro version after the FRWU decoder inclusion
Originally committed as revision 20366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 17:24:16 +00:00
Stefano Sabatini
8f1e4d4ffc Split codec-regression.sh, and create the lavf-regression.sh script.
Originally committed as revision 20365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 17:01:47 +00:00
Luca Barbato
921da21745 Just remove params understood by the demuxer
This should unbreak certain urls.

Originally committed as revision 20364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 16:53:06 +00:00
Luca Barbato
7541f32edd Suppress ?params in the rtsp uri
Right now rtsp demuxer receives it's ffmpeg specific params encoded in the url
That made the server receiving requests with the url ending with "?udp",
"?multicast" and "?tcp". That may or may not cause problems to servers with
overly strict or overly simple uri parsers

Patch from Armand Bendanan (name.surnameATfreeDOTfr)

Originally committed as revision 20363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 15:18:21 +00:00
Luca Barbato
224b44957b Use sdp c= line if the rtsp Transport line doesn't have a destination
Transport:destination in rtsp is optional, c= line in sdp is compulsory

Patch from Armand Bendanan (name.surnameATfreeDOTfr)

Originally committed as revision 20362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 15:10:58 +00:00
Diego Biurrun
76e6e9c330 Remove ancient redir demuxer.
HTTP supports redirection just fine without it.

Originally committed as revision 20361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 12:44:27 +00:00
Måns Rullgård
2189dbc4a6 Fix codectest
Originally committed as revision 20360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-24 12:39:38 +00:00
Stefano Sabatini
f94e56cf82 Split codec-regression.sh, put all the code which can be shared by
other regression test scripts in the regression-funcs.sh file.

Originally committed as revision 20359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-23 22:49:05 +00:00
Diego Biurrun
329c01c54f Compile LPC code when CONFIG_LPC is set.
The codec dependencies on LPC are already described in configure,
so there is no need to duplicate this in the Makefile.

Originally committed as revision 20358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-23 11:51:12 +00:00
Stefano Sabatini
54116673d8 Update the entry for the AVFilter.description field addition.
Originally committed as revision 20357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 23:08:18 +00:00
Stefano Sabatini
cccd292ae2 Move the description field of the filter from AVFilterContext to
AVFilter, where it should have had defined the first time.
+10L.

Originally committed as revision 20356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 23:03:25 +00:00
Stefano Sabatini
01537e9fa5 Add an entry for the AVFilterContext.description addition.
Originally committed as revision 20355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 22:49:49 +00:00
Stefano Sabatini
1551745c88 Add a description field to AVFilterContext.
Originally committed as revision 20354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 22:46:11 +00:00
Stefano Sabatini
29b5a3aacf Refer again to the "width" and "height" crop parameter names
which were previously mentioned, rather than to "w" and "h".

Originally committed as revision 20353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 22:29:47 +00:00
Stefano Sabatini
c38ae71f54 Add video vertical flip filter.
Originally committed as revision 20352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 22:00:33 +00:00
Stefano Sabatini
debfab4a0d Refer to the "width" and "height" crop parameter names which were
previously mentioned, rather than to "w" and "h".

Originally committed as revision 20351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 21:43:37 +00:00
David Conrad
06da694372 Add clang to detected compilers
Originally committed as revision 20350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 21:19:13 +00:00
Daniel Verkamp
b74d42ee33 Build extradata in adpcm_ms encoder.
This fixes issue #1244.

Originally committed as revision 20349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 20:43:55 +00:00
Michael Niedermayer
df84d7d9bd Fix infinite loop with size==0 && sample_size!=0 in non interleaved avis.
Untested, i do not have a sample.

Originally committed as revision 20348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 18:43:08 +00:00
Michael Niedermayer
83a4d356ef Support non interleaved avi files that have 0<size<sample_size.
(No i do not have a sample its thus also untested)
The new code is also simpler.

Originally committed as revision 20347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 18:32:27 +00:00
Samuli Valo
c671ac40f5 Fixes detection and error reporting of non-existing files in img2.c.
Patch by Samuli Valo: name surname picturall com

Originally committed as revision 20346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 16:27:01 +00:00
Daniel Verkamp
bb7d0e87ae Indicate that AdaptCoeff1 and 2 are functions of the actual coefficients.
Originally committed as revision 20345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 15:57:04 +00:00
Stefano Sabatini
415e6d2930 Sort video filter descriptions by name.
Originally committed as revision 20344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 21:19:57 +00:00
Stefano Sabatini
067180220d Make the pix_fmts var in query_formats() static const.
Originally committed as revision 20343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 21:04:53 +00:00
Stefano Sabatini
190c166960 Add video crop filter.
Originally committed as revision 20342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 20:57:30 +00:00
Stefano Sabatini
9abba21ad3 Cosmetics: prefer "pix_fmts" over "pix_fmt" for the name of the
argument of avfilter_make_format_list(), as the argument represents a
list of elements.

Originally committed as revision 20341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 20:43:43 +00:00
Stefano Sabatini
1554fed2d6 Make avfilter_make_format_list() take in input a const argument.
Originally committed as revision 20340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 20:39:05 +00:00
Stefano Sabatini
f2ed1a41e1 Fix the spelling for the project name, from "ffmpeg" to "FFmpeg".
Originally committed as revision 20339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 18:36:42 +00:00
Stefano Sabatini
dba755facc Rename vfilters.texi to libavfilter.texi, as the file is meant to
document libavfilter and not only its video filtering facilities.

Originally committed as revision 20338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 18:22:20 +00:00
Ramiro Polla
a3faf694a2 Add comment on #endif about condition that triggers it.
Originally committed as revision 20337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 01:25:39 +00:00
Daniel Verkamp
61ee504517 Seek function for TMV
Originally committed as revision 20336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-20 19:27:25 +00:00
Daniel Verkamp
0319ba5e12 Parenthesize correctly in TMV probe
Originally committed as revision 20335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-20 19:07:08 +00:00
Reimar Döffinger
2bc70a7681 Print "NOPTS" when AV_NOPTS_VALUE is encountered during seek regression tests.
This makes the output nicely aligned even in for those cases, and might
also avoid some issues with printf implementations that can not handle well
very large float values (e.g. msvcrt without MinGW wrapper IIRC).

Originally committed as revision 20334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-20 15:37:50 +00:00
tralph11@yahoo.com
711e69a730 Improve sofdec dectection to avoid false positives for MP2.
Patch by tralph11, tralph11 yahoo

Originally committed as revision 20333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-20 15:27:05 +00:00
Reimar Döffinger
558dbb8469 sin_tables.c is a generated file, so add it to CLEANFILES
Originally committed as revision 20332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-20 14:16:23 +00:00
avcoder
a0b909fbff Remove SHIFT_TEMPS from jfdct code.
Patch by avcoder: our_beloved_project AT gmail DOT com
See thread [FFmpeg-devel] Patch: remove useless SHIFT_TEMPS definition
Date: Tue, 20 Oct 2009 14:29:05 +0800

Originally committed as revision 20331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-20 11:19:54 +00:00
Benoit Fouet
08580cb05a Make url_resetbuf() assert on wrong flags passed and make it static on next
version bump.
See thread: [FFmpeg-devel] & vs. &&
Date: Mon, 12 Oct 2009 14:21:06 +0200

Originally committed as revision 20330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-20 06:40:01 +00:00
Diego Biurrun
0cd0a22488 Move function that is only used by the MP3 muxer below the corresponding #if.
This removes the dependency of the MP2 muxer on the id3v2 object file.

Originally committed as revision 20329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 23:22:23 +00:00
Diego Biurrun
2ab9be3abe Add missing dependency of the S/PDIF muxer on the AAC parser.
Fixes build with --disable-parsers.

Originally committed as revision 20328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 22:45:22 +00:00
Diego Biurrun
ff06d76acd Add '#include "libavutil/intreadwrite.h"', necessary for AV_RB32.
This fixes the build with demuxers disabled.

Originally committed as revision 20327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 22:36:57 +00:00
Diego Biurrun
cd69fa69c5 The MP2/MP3 muxer uses ff_id3v2_tags, so add the correct object dependency.
Originally committed as revision 20326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 22:32:32 +00:00
Diego Biurrun
96ff02f1b4 Get rid of some pointless '== NULL' / '!= 0' conditions in if statements.
Originally committed as revision 20325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 22:26:52 +00:00
Diego Biurrun
6f571d89c1 Remove some duplicate object dependencies for the RTSP demuxer.
They are already covered by its dependency on the SDP demuxer.

Originally committed as revision 20324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 22:10:15 +00:00
Diego Biurrun
47e9f6217d Add missing rdt.o dependency for SDP demuxer.
This fixes the build when the RTSP demuxer is disabled.

Originally committed as revision 20323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 22:03:02 +00:00
Stefano Sabatini
3a408eff35 Move up the $test variable definition, together with the other
definitions of variables defined using the positional arguments of the
script.

Should ease the split of the file.

Originally committed as revision 20322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 21:59:17 +00:00
Stefano Sabatini
dd65909a78 Give symbolic names to the positional parameters of the
codec-regression.sh script.

Originally committed as revision 20321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 21:54:37 +00:00
Stefano Sabatini
c0da46c8e0 Break over-80-chars-long line.
Originally committed as revision 20320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 19:22:08 +00:00
Baptiste Coudurier
72017ea1dc check stream index validity in av_program_add_stream_index
Originally committed as revision 20319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 18:55:27 +00:00
Baptiste Coudurier
8425cecacc request mp3 frame_size to be set in has_codec_parameters, fix issue #1314
Originally committed as revision 20318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 18:53:32 +00:00
Stefano Sabatini
b0bef34209 Add additional long names for the Flash Video decoder and encoder.
Originally committed as revision 20317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 18:45:44 +00:00
Stefano Sabatini
2917367cac Add additional long names for the Sorenson Vector Quantizer 3 decoder.
Originally committed as revision 20316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 18:44:43 +00:00
Stefano Sabatini
1c062b555c Add additional long names for the Sorenson Vector Quantizer 1 decoder
and encoder.

Originally committed as revision 20315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 18:43:28 +00:00
Reimar Döffinger
9adcccde0c mpegaudiodec, mpc and qdm2 all use the same mpa_synth window, so make
them use the same variable/global storage.
Saves 4 kB in .bss.

Originally committed as revision 20314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 17:21:02 +00:00
Diego Biurrun
8767fb4cad whitespace cosmetics: prettyprinting, K&R style
Originally committed as revision 20313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 15:51:34 +00:00
Carl Eugen Hoyos
643fc8f107 Flip (M)JPEG frames encoded by Intel JPEG library.
Fixes issues 1464 and 1468.

Originally committed as revision 20312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 15:41:28 +00:00
Diego Biurrun
11eb3cea73 Remove pointless parentheses.
Originally committed as revision 20311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 15:14:00 +00:00
Diego Biurrun
d91aac1c90 cosmetics: Remove pointless parentheses from return statement.
Originally committed as revision 20310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 12:47:52 +00:00
Reimar Döffinger
933018e249 Align the seek regression test output for better readability.
Originally committed as revision 20309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 12:40:00 +00:00
Jason Garrett-Glaser
1953898162 Update libx264.c for x264 API change
Change behavior of b-pyramid option.

Originally committed as revision 20308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 09:35:19 +00:00
Baptiste Coudurier
f2c061ec0f reindent after commit
Originally committed as revision 20307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 02:20:08 +00:00
Baptiste Coudurier
7edbcfb79e In dump_format, print streams not associated with any program.
Fixes issue #1366.

Originally committed as revision 20306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 02:12:10 +00:00
Reynaldo H. Verdejo Pinochet
cbd8a722bb Fix wrong comparison in r20304
Originally committed as revision 20305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 01:42:05 +00:00
Reynaldo H. Verdejo Pinochet
9cf6bbb993 If missing, calculate width or height from bpp and
image size lowering the probe score too.

Originally committed as revision 20304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:56:00 +00:00
Stefano Sabatini
027e85d88a Add an entry for the avfilter_make_format_list() interface change.
Originally committed as revision 20303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:45:15 +00:00
Stefano Sabatini
6b5dc050a2 Rename avfilter_make_format_list2() to avfilter_make_format_list().
Originally committed as revision 20302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:39:54 +00:00
Stefano Sabatini
e768cb7668 Remove avfilter_make_format_list(), it has been replaced by
avfilter_make_format_list2().

Originally committed as revision 20301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:35:54 +00:00
Baptiste Coudurier
c3a58c4efc fix indentation
Originally committed as revision 20300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:27:23 +00:00
Stefano Sabatini
f6a1fa850a Implement avfilter_make_format_list2(), which is going to replace
avfilter_make_format_list().

See the thread:
"[PATCH] Implement avfilter_make_format_list2(enum PixelFormat pix_fmt, ...)".

Originally committed as revision 20299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:06:52 +00:00
Stefano Sabatini
f28b385d47 Make clear in the doxy that this is a *video* filter.
Originally committed as revision 20298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:00:11 +00:00
Stefano Sabatini
f6112d7f86 Split the "Introduction" chapter in two chapters as suggested by
Diego.

Originally committed as revision 20297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 22:58:42 +00:00
Carl Eugen Hoyos
94ec3aca56 Support FourCC mjpa as MJPEG.
Fixes issue 1492.

Originally committed as revision 20296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 22:43:19 +00:00
Vitor Sessak
9dd08b4e1e Fix recursive avfilter_poll_frame(). It was doing
min = FFMIN(min, avfilter_poll_frame(link->src->inputs[i]))
which, since FFMIN is a macro, was calling itself
twice for every input, causing an exponential cost in time.

Originally committed as revision 20295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 22:33:37 +00:00
Loren Merritt
b07781b6e4 fix linking on systems with a function name prefix (10l in r20287)
Originally committed as revision 20294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 21:44:03 +00:00
Loren Merritt
29e4edbbe7 sync yasm macros to x264
Originally committed as revision 20293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 21:42:28 +00:00
Baptiste Coudurier
807e4e81a8 mux all stream types except audio as one pes packet per avpacket, issue #1374
Originally committed as revision 20292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 21:41:03 +00:00
Charles Yates
10a693b568 fix sar for dvcpro hd, patch by Charles Yates, charles dot yates at gmail dot com
Originally committed as revision 20291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 21:08:23 +00:00
Loren Merritt
e17ccf60fe huffyuv: add some const qualifiers
Originally committed as revision 20290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:47:25 +00:00
Baptiste Coudurier
7857d3ccf6 fix indentation and add braces
Originally committed as revision 20289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:25:48 +00:00
Baptiste Coudurier
45a49840f3 handle_packets takes number of packets as arg, avoid reading too much
Originally committed as revision 20288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:11:32 +00:00
Loren Merritt
2f77923d72 simd add_hfyu_left_prediction
2.2x faster than C on conroe, 3.6x on penryn.
4-6% faster huffyuv decoding if using left or plane mode and yuv

Originally committed as revision 20287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:10:10 +00:00
Baptiste Coudurier
1303d62d84 Increase max resync size, fix demuxing of dvgrab-2009.03.28_19-07-22.m2t
Print error when max resync size is reached and return EAGAIN instead of
INVALIDDATA, so user can retry if wanted.

Originally committed as revision 20286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 20:08:13 +00:00
Justin Ruggles
f4d608e344 add CONFIG_LPC to the build system for lpc dsputil functions. fixes build
problems when lpc.c is not compiled.

Originally committed as revision 20285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 19:51:18 +00:00
Måns Rullgård
4df254f1f1 WMAPRO: use some type punning in decode_coeffs()
Originally committed as revision 20284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 18:51:54 +00:00
Reynaldo H. Verdejo Pinochet
f122ef36b1 Smarten mtv's probe a bit. Check for non zero
on bpp and width|height header fields. This
change is among the ones suggested by Vitor
Sessak in his '[FFmpeg-devel] [PATCH] Improve
MTV probe' thread.

Originally committed as revision 20283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 18:02:12 +00:00
Reimar Döffinger
a828d48cfc Replace seek test error return numbers by the corresponding E* strings.
Hopefully this fixes regression tests on DOS.
It breaks alignment of the output a bit more, but this should be easy to
fix with a second patch.

Originally committed as revision 20282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 16:33:14 +00:00
Vitor Sessak
a0228397af Replace big square-root table by a call to ff_sqrt(). Based on a patch
by Reimar Döffinger.

Originally committed as revision 20281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 16:29:10 +00:00
Aurelien Jacobs
8da1d52cc1 remove old and useless debug code
It uses the old, deprecated metadata API and prints exactly the same thing
as what ffmpeg/ffplay does.

Originally committed as revision 20280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 16:13:29 +00:00
Anton Khirnov
c4d438c265 Read metadata in WavPack files.
Patch by Anton Khirnov (acronym("What You Should Know About Something"), gmail)

Originally committed as revision 20279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 15:28:53 +00:00
Onur Küçük
53bc53ae4e Fix typo that mistakenly slipped into previous commit:
CONFIG_MPEG_XVMC_DECODER was changed to CONFIG_MPEGVIDEO_XVMC_DECODER.
patch by Onur Küçük, onur delipenguen net

Originally committed as revision 20278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 14:34:45 +00:00
Anton Khirnov
2bd0758efa matroskaenc: Add support for writing chapters.
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

Originally committed as revision 20277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 12:17:01 +00:00
Diego Biurrun
15674f12be cosmetics: Break overly long lines.
Originally committed as revision 20276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 10:47:40 +00:00
Stefano Sabatini
7b018b1d7d Add the null video filter.
Originally committed as revision 20275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 09:44:33 +00:00
Stefano Sabatini
930aa45132 Use 'enum PixelFormat *' rather than 'int *' as type for the
AVFilterFormats.formats field.
Cleaner / safer.

Originally committed as revision 20274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 09:31:57 +00:00
Stefano Sabatini
c3b27a3d45 Add an entry for the avfilter_get_video_buffer() API change operated
in r20272.

Originally committed as revision 20273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 08:31:25 +00:00
Stefano Sabatini
0eb4ff9e37 Make avfilter_get_video_buffer() recursive.
When called on a link with a filter whose destination pad has not a
get_video_buffer callback defined, it will call
avfilter_get_video_buffer() on the first output link of the
destination filer, rather than use avfilter_default_get_buffer(), so
the video buffer can be allocated forward in the filterchain.

Also add the w and h parameters to avfilter_get_video_buffer(), as the
minimum width and height requested by each filter in the filterchain
may change, this allows for example a memcpy-less pad filter.

This change breaks API / ABI backward compatibility.

See the thread:
"[PATCH] Implement recusive avfilter_get_video_buffer()".

Originally committed as revision 20272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 08:16:18 +00:00
Stefano Sabatini
1f09ab5e66 Add documentation for libavfilter video filters.
Originally committed as revision 20271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 07:46:06 +00:00
Kostya Shishkov
5d660598b0 Support more than 64 channels in RTMP input
Originally committed as revision 20270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 07:01:06 +00:00
Kostya Shishkov
8f648b74c3 Accept RTMP packets with one-byte header
Originally committed as revision 20269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 06:58:00 +00:00
Kostya Shishkov
f836fa1706 Last parameter in RTMP "play" call was optional and some servers seem not to
understand it, so drop it.

Originally committed as revision 20268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 06:54:04 +00:00
Justin Ruggles
961057decd Remove unnecessary entries in ff_vorbiscomment_metadata_conv. VorbisComment
keys are case-insensitive.

Originally committed as revision 20267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 21:30:50 +00:00
Justin Ruggles
fde82ca7e4 Move autocorrelation function from flacenc.c to lpc.c. Also rename the
corresponding dsputil functions and remove their dependency on the FLAC
encoder.
Fixes Issue1486.

Originally committed as revision 20266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 21:00:39 +00:00
Vitor Sessak
a4cb675124 Avoid segfault for empty input files
Originally committed as revision 20265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 20:37:58 +00:00
Michael Niedermayer
c69b3e0dc1 Revert r20249, it seems the union trick works everywhere
Original commit message:
	Very evil missuse of svn to test if AVOption and AVOption2 are compatible.
	If this test triggers anywhere for anyone, revert this commit immedeatly.
	Ill revert this in a day or 2, its just so we know beforehand if the idea
	with the union is doable or not without breaking ABI/API.

Originally committed as revision 20264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 19:35:47 +00:00
Måns Rullgård
cf671d0543 Remove extraneous const keyword
Originally committed as revision 20263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 14:07:28 +00:00
Luca Abeni
56e6f8309e Emit the SDP lines in the correct order
Originally committed as revision 20262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 11:15:45 +00:00
Jai Menon
215dab5fee alacenc : use private compression_level value consistently.
Originally committed as revision 20261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-17 08:04:33 +00:00
Alexander Strange
f076fe4422 Remove a meaningless 'inline' from add_hfyu_left_prediction_bgr32_c().
Originally committed as revision 20260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 23:06:55 +00:00
Alexander Strange
2d4bbdecee Huffyuv: Add missing const to src pointers in dsputil functions.
Originally committed as revision 20259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 23:04:41 +00:00
Alexander Strange
8471a1873d Huffyuv: Remove unnecessary allocation in alloc_temp().
RGB only needs one temp array.

Originally committed as revision 20258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 22:55:34 +00:00
Alexander Strange
6ec8eadda4 Huffyuv: Fix a valgrind warning in get_vlc2().
The padding in bitstream_buffer wasn't initialized.

Originally committed as revision 20257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 22:52:23 +00:00
Jai Menon
a0992374ee alacenc : Move some code around for clarity.
Originally committed as revision 20256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 16:50:15 +00:00
Ramiro Polla
52ae1e869b mlp: Indent.
Originally committed as revision 20255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 16:12:04 +00:00
Ramiro Polla
7fd8806924 mlp: Only initialize VLC tables once. This caused a crash when multiple
instances of the decoder were started at different times.
Bug reported by Maxim Anisiutkin.

Originally committed as revision 20254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 16:10:00 +00:00
Reimar Döffinger
33815fa106 mlp: Use smaller CRC tables if CONFIG_SMALL.
Patch by Reimar.

Originally committed as revision 20253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 16:03:26 +00:00
Carl Eugen Hoyos
45fc24a005 Do not try to free memory that was never allocated (partial revert of r20231).
Originally committed as revision 20252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 15:16:59 +00:00
Carl Eugen Hoyos
0b7f39c9d4 Release unreleased buffers found by make test.
Originally committed as revision 20251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 14:50:08 +00:00
Carl Eugen Hoyos
bc2d2a07d5 Make AVCodecTag.id enum CodecID and use CODEC_ID_NONE instead of 0.
Originally committed as revision 20250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 14:46:06 +00:00
Michael Niedermayer
b388d5e4c6 Very evil missuse of svn to test if AVOption and AVOption2 are compatible.
If this test triggers anywhere for anyone, revert this commit immedeatly.
Ill revert this in a day or 2, its just so we know beforehand if the idea
with the union is doable or not without breaking ABI/API.

Originally committed as revision 20249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 12:35:49 +00:00
Michael Niedermayer
f1cb9858b5 Add an experimental AVOption2 that uses an union instead of double for default_val.
Originally committed as revision 20248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 12:31:32 +00:00
Justin Ruggles
68677dd8ed Log a clearer warning message when muxing FLV with Speex containing more than
8 frames per packet.

Originally committed as revision 20247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 10:04:35 +00:00
Reimar Döffinger
c76911bd65 Split parts of dvdata.h into dvdata.c, this ensures that things like
work_chunks_* and dv_idct_factor_* variables appear only once in the binary
instead of 3 times.
Saves 3264 bytes in .rodata and 312416 bytes in .bss on x86_64.

Originally committed as revision 20246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 07:55:57 +00:00
Justin Ruggles
046c400103 Add Speex support to the FLV muxer.
Originally committed as revision 20245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 03:02:25 +00:00
Reimar Döffinger
75df2edbb9 Add support for hardcoded ff_sin_* tables.
Originally committed as revision 20244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 18:04:55 +00:00
Reimar Döffinger
4ee726b670 Move/add COSTABLE/SINTABLE macros to dsputil to add extern definitions
for ff_cos_* and ff_sin_* without introducing too much code duplication.

Originally committed as revision 20243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:55:51 +00:00
Reimar Döffinger
91405541d5 Remove silly casts to the same type as we already have.
Originally committed as revision 20242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:19:07 +00:00
Reimar Döffinger
77edf86648 Add missing release_buffer at decode end for asv1 decoder.
Originally committed as revision 20241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:16:50 +00:00
Reimar Döffinger
a57afd2943 Partially revert r20233, exp2f is not available on some BSDs, DOS and AVR32.
Originally committed as revision 20240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 17:10:07 +00:00
Frank Barchard
e8b785411e Raise MAX_THREADS to 16.
Patch by Frank Barchard, fbarchard google com

Originally committed as revision 20239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 15:11:57 +00:00
Jai Menon
2e3ca1ffd0 Skip padding bytes correctly in ID3 tags.
This fixes a regression introduced in r20170.

Originally committed as revision 20238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 13:55:19 +00:00
Reimar Döffinger
aafd659518 Do not initialize ff_cos_* tables again in rdft_init, they are already
initialized by ff_fft_init and using different code can result in slightly
different values, in addition it crashes when the tables are hardcoded.
On amd64 this slightly changes qdm2 output.

Originally committed as revision 20237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 11:50:32 +00:00
Justin Ruggles
0fa0fa296a 10l: update Makefile after rename
Originally committed as revision 20236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 09:49:06 +00:00
Justin Ruggles
5855e4e0dd Rename aiff.c to aiffdec.c
Originally committed as revision 20235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 09:46:56 +00:00
Justin Ruggles
47b47bbdaf Split up the AIFF muxer and demuxer into separate files.
Originally committed as revision 20234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 09:45:16 +00:00
Reimar Döffinger
686884da9d Use cbrtf and exp2f instead of pow to calculate tables for MPEG audio decoding.
This hopefully is fast enough so that it is reasonable to use the same formula
directly instead of the table for CONFIG_SMALL.

Originally committed as revision 20233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-15 06:59:23 +00:00
Reimar Döffinger
16aec74761 Use hardcoded instead of runtime-calculated ff_cos_* tables if
--enable-hardcoded-tables was used.
Due to the size, the code for the tables is generated at compile time.

Originally committed as revision 20232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-14 21:41:24 +00:00
Kostya Shishkov
6d924b5a5f Release frame after decoding is done
Originally committed as revision 20231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-14 05:28:24 +00:00
Reimar Döffinger
ea09f69194 Print a warning message when avcodec_default_free_buffers finds unreleased
buffers, this hopefully should help detect codecs that do not release all
buffers e.g. in the decode_end function.

Originally committed as revision 20230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 20:48:51 +00:00
Reimar Döffinger
4a49ab77c6 Remove unnecessary calls to avcodec_check_dimensions, the check is already
done at a higher level.

Originally committed as revision 20229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 20:13:28 +00:00
Reimar Döffinger
0fbb0185b9 Call release_buffer on close for v210dec and v210x
Originally committed as revision 20228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 18:31:22 +00:00
Reimar Döffinger
4b5fee0205 Add missing release_buffer on close
Originally committed as revision 20227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 18:28:37 +00:00
Reimar Döffinger
d8b35b8586 Add decoder for "forward uncompressed".
Fixes issue 1467.

Originally committed as revision 20226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 18:15:57 +00:00
Reimar Döffinger
7537726f47 Implement execute2 for w32thread
Originally committed as revision 20225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 13:40:03 +00:00
Reimar Döffinger
1e6ff470b5 Fix w32thread implementation to handle job count > thread_count.
Originally committed as revision 20224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 13:03:12 +00:00
Reimar Döffinger
5bd1fc6fbd fft_dispatch array should be const
Originally committed as revision 20223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 10:30:10 +00:00
Reimar Döffinger
c522b4e94e Simplify: use FFSWAP
Originally committed as revision 20222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 08:23:00 +00:00
Reimar Döffinger
1e69999334 MXF: simply ignore tracks that are invalid due to not having a valid Sequence
part instead of failing completely.
This partly fixes issue 1470 (broken files created by BBC ingex recorder).

Originally committed as revision 20221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 08:08:10 +00:00
Justin Ruggles
8746296818 Add Speex support to the Ogg muxer.
Originally committed as revision 20220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 01:46:19 +00:00
Justin Ruggles
24c6f152c4 Do not read data past the end of the SSND chunk in the AIFF demuxer.
Fixes Issue 1455.

Originally committed as revision 20219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 00:19:34 +00:00
Carl Eugen Hoyos
dd9d5a1ef8 Support Midvid JPEG Video Codec (still flipped).
Originally committed as revision 20218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 22:00:14 +00:00
Carl Eugen Hoyos
54089ecd5a Support Intel JPEG Library Video Codec (still flipped).
Originally committed as revision 20217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 21:35:26 +00:00
Justin Ruggles
15299b3821 Calculate correct packet durations when demuxing Ogg/Speex. This involves
determining if there is any delay in the first packet and/or any truncation in
the final packet.

Originally committed as revision 20216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 21:30:03 +00:00
Sascha Sommer
933e866735 extend description of avcodec_decode_audio3:
- clarify when 0 is returned
- explain that decode_audio3 has to be called multiple times when there
  are multiple frames in a single packet

Originally committed as revision 20215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 19:50:31 +00:00
Reimar Döffinger
90aa6ace63 Merge declaration and initialization
Originally committed as revision 20214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 16:38:08 +00:00
Reimar Döffinger
098d8e0950 Simplify: use FFMIN
Originally committed as revision 20213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 16:36:48 +00:00
Reimar Döffinger
b5ca9cd36f Reindent after removing the outer for loops in the execute2 patch
Originally committed as revision 20212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 14:46:53 +00:00
Reimar Döffinger
2a1294b978 Move dnxhdenc to execute2 multithreading API.
This allows for some simplifications like removing some outer loops
and gives much better performance for thread_count > number of idle CPUs.

Originally committed as revision 20211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 14:43:57 +00:00
Reimar Döffinger
8d23a86f33 Add an execute2 function that is more flexible and allows to use parallel
processing with jobs > threads without wasting too much memory.
It also avoids needing a separate int array when the only additional data
the jobs needs is a single int running from 0 to count-1.

Originally committed as revision 20210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 11:35:35 +00:00
Daniel G. Taylor
febd1c90a6 Detect Windows Media DRM protected files and display warning if no key
was provided.

Patch by Daniel G. Taylor, dan programmer-art org

Originally committed as revision 20209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 23:09:33 +00:00
Måns Rullgård
0115b3eadb ARM: align stack in NEON h264 mc functions
A certain rotten fruit operating system doesn't provide the 8-byte stack
alignment required by the standard ARM ABI, so align it manually.

Originally committed as revision 20208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 16:16:08 +00:00
Måns Rullgård
e276d9e82d ARM: force PIC for shared libs only with ARMv6T2 and later
Originally committed as revision 20207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 14:32:18 +00:00
Carl Eugen Hoyos
b8c0db9981 Allow autodetection of E-AC3.
Originally committed as revision 20206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 11:56:53 +00:00
Reimar Döffinger
a9b0204374 Do the dnxhd_720p_rd test with -threads 4 in order to also test the threading code.
Originally committed as revision 20205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 11:50:12 +00:00
Måns Rullgård
3e6015cc18 ARM: simplify movrel definition as CONFIG_PIC is now set for shared libs
Originally committed as revision 20204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 10:15:48 +00:00
Måns Rullgård
1fce58c2fc ARM: enable PIC for shared libs
Recent versions of gcc generate movw/movt pairs, and the linkers fail
to handle the associated relocations properly.  Those responsible at
Codesourcery have refused to consider fixing this.  Blame them for
making shared libraries slower than they need to be.

Originally committed as revision 20203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 10:15:45 +00:00
Reimar Döffinger
9881d05d80 100l in avpicture_layout: width of chroma planes depends on format depth, too.
Fixes issue 1465

Originally committed as revision 20202 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 07:05:26 +00:00
Kostya Shishkov
53b04467ae Warn when WVC1 cannot be decoded
Originally committed as revision 20201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-11 05:36:59 +00:00
Carl Eugen Hoyos
0096d766b9 Allow demuxing of E-AC3 (stream type 0x84) in MPEG-TS.
Originally committed as revision 20200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-10 21:17:52 +00:00
Reimar Döffinger
3bb984987c Hack: set the coded frame PTS to the incoming PTS.
This is not correct, but libtheora does not seem to provide a way
to get the correct value, and this is necessary to make encoding
produce sensible time stamps when encoded content is variable
FPS or the time base is simply different from FPS.
Somewhat fixes issue 1197.

Originally committed as revision 20199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-10 14:43:31 +00:00
Stefano Sabatini
046703660d Document the additon of the w and h fields to AVFilterPic.
Originally committed as revision 20198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-10 10:40:36 +00:00
Reimar Döffinger
268fcbe2c8 Fix 100l incorrect bitmask check.
Originally committed as revision 20197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-10 08:49:57 +00:00
Kostya Shishkov
9e553f7acc Print error message when true interlaced VC-1 frames are encountered
to inform user why decoder produces no output.

Originally committed as revision 20196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-10 07:35:31 +00:00
Daniel Verkamp
54eb4ae0a2 Do not allow 0 sample rate in TMV demuxer
Originally committed as revision 20195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-09 18:29:19 +00:00
Daniel Verkamp
f19ae9ea4d Stricter TMV probe
Originally committed as revision 20194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-09 18:24:47 +00:00
Robert Swain
0359289d1d AAC: Fix regression introduced in r20067 where ADTS files would always be
signalled as having a channel configuration of 1 in output_configure().
Previously this didn't matter but it does now.

Originally committed as revision 20193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-09 15:38:44 +00:00
David Conrad
144fec83b3 dca and aac decoders use float_to_int16_interleave, so check for
the C version of that rather than float_to_int16.
Fixes output on ARM/VFP

Originally committed as revision 20192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-08 14:40:14 +00:00
Måns Rullgård
12bf71b691 ARM: whitespace cosmetics
Originally committed as revision 20191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-07 21:35:24 +00:00
Måns Rullgård
bef966e341 ARM: NEON avg_pixels8 and avg_h264_qpel8_mc00
Originally committed as revision 20190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-07 21:35:19 +00:00
Stefano Sabatini
46c40e4835 Add w and h fields to AVFilterPic.
See the thread:
"[FFmpeg-devel] [PATCH] Add w,h fields to AVFilterPic".

Originally committed as revision 20189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-07 18:50:00 +00:00
Justin Ruggles
9797ce58b7 Add ALAC encoding and decoding regression tests.
Originally committed as revision 20188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 22:47:33 +00:00
Stefano Sabatini
96da1c51f6 Implement trace messages logging in the filterchain processing.
It is only enabled when the DEBUG symbol is defined.

Originally committed as revision 20187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 22:07:32 +00:00
Måns Rullgård
2ad4c241c8 ARM: make function names all-lowercase
Originally committed as revision 20186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:41 +00:00
Måns Rullgård
cf57bea6fb ARM: enable ARMv4 add_pixels_clamped
Somehow this function was never used.

Originally committed as revision 20185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:37 +00:00
Måns Rullgård
153f49570f ARM: ARMv6 optimised add_pixels_clamped()
Originally committed as revision 20184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:35 +00:00
Måns Rullgård
c8315e9186 ARM: whitespace cosmetics
Originally committed as revision 20183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 21:55:30 +00:00
Daniel Verkamp
70d8c762d9 Reindent
Originally committed as revision 20182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 17:51:28 +00:00
Daniel Verkamp
811e0fc2e8 Add RF64 support to wav demuxer.
Originally committed as revision 20181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 17:50:10 +00:00
Daniel Verkamp
7ae8fb8f8f Add my GPG key fingerprint
Originally committed as revision 20180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 17:42:58 +00:00
Nathan Caldwell
73c6f59830 Move HuffYUV left prediction to dsputil.
Patch by Nathan Caldwell, saintdev gmail

Originally committed as revision 20179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 16:06:15 +00:00
Andrew Dennison
95ce961d88 Since some junk may be or may be not present before actual VC-1 extradata,
search for real extradata start instead of always skipping one byte.

Patch by Andrew Dennison gmailify(${name}d, lists)
Thread: [PATCH] Fix VC1 "Incomplete extradata" for mkv files generated by eac3to

Originally committed as revision 20178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 15:30:08 +00:00
Reimar Döffinger
01418506a2 Remove casts that are useless since the argument is void *.
Originally committed as revision 20177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 06:33:18 +00:00
Jai Menon
1c38da85e6 Allow building api-example from outside of libavcodec and also
make it more consistent with libavformat/output-example.

Originally committed as revision 20176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 06:18:57 +00:00
Anton Khirnov
7fd5aeb3e5 Only read ID3v1 tag if ID3v2 isn't present or is empty.
This prevents the demuxer from exporting multiple semantically identical but
differently named tags.

Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 20175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 21:36:56 +00:00
Justin Ruggles
9a9964c50e cosmetics: reindent and line wrap after last commit
Originally committed as revision 20174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 21:33:50 +00:00
Justin Ruggles
d6eee9f3e9 alacenc: add a fixed LPC coefficient mode as compression level 1. old
compression level 1 is now compression level 2 and is still the default.

Originally committed as revision 20173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 21:27:36 +00:00
Michael Niedermayer
1fe4abf397 Revert:
r18826 | stefano | 2009-05-14 20:50:58 +0200 (Thu, 14 May 2009) | 2 lines
	Make av_set_string3() print a message in case of unknown option.

This change led to multiple identical error messages to be printed if an option
was not found.

Originally committed as revision 20172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 20:18:16 +00:00
Anton Khirnov
41770abf86 id3v2: Export all text information frames with correct names.
Patch by Anton Khirnov <wyskas at gmail dot com>

Originally committed as revision 20171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 20:10:07 +00:00
Anton Khirnov
078d89a2b0 MP3 muxer: Write all metadata.
Patch by Anton Khirnov <wyskas at gmail dot com>

Originally committed as revision 20170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 16:06:00 +00:00
Daniel Verkamp
79c0790789 Fix pcm_read_seek () when the position it calculates is greater than 2 GB.
pcm_read_seek() puts the return value of url_fseek() in an int and then
compares < 0 to see if an error occurred; if the position is greater
than 2 GB, the 32-bit signed int result will be < 0.

Change the type of ret to int64_t to avoid the wraparound.

patch by Daniel Verkamp, daniel drv nu

Originally committed as revision 20169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 09:19:42 +00:00
Ian Caulfield
63380b5e54 Allow the combined TrueHD/AC3 tracks on Blu-Ray discs to be demuxed as two separate streams.
Patch by Ian Caulfield, ian D caulfield A gmail

Originally committed as revision 20168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-05 08:38:39 +00:00
Måns Rullgård
55c0e1e6d2 ARM: add ff_ prefix to lots of functions
Originally committed as revision 20167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:12 +00:00
Måns Rullgård
9abcc9a6f4 ARM: cosmetics
Originally committed as revision 20166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:08 +00:00
Måns Rullgård
f67e0b824f ARM: replace some #if with if()
Originally committed as revision 20165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:06 +00:00
Måns Rullgård
701c618f7d ARM: clean up file/function naming conventions
Originally committed as revision 20164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:13:02 +00:00
Måns Rullgård
84d430f85a ARM: clean up dsputil initialisation
- Move v5 and v6 initialisation to separate files.
- Move NEON IDCT selection to ff_dsputil_init_neon()

Originally committed as revision 20163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 13:12:55 +00:00
Peter Ross
384f26f428 Sun Raster RGB support
Originally committed as revision 20162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-04 08:42:23 +00:00
Carl Eugen Hoyos
e18027ac40 Add FIXME about low_delay vs has_b_frames.
Originally committed as revision 20161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 19:40:52 +00:00
Wallak
f4a4be3f4e H264 allows B frames without requiring a >=1 sized buffer.
Patch by wallak, wallak free fr

Originally committed as revision 20160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 19:30:09 +00:00
Måns Rullgård
1febba1e62 ARM: shorten some long macro names
Originally committed as revision 20159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 18:22:56 +00:00
Måns Rullgård
2e823300a6 ARM: update ldm/stm instructions to modern syntax
Originally committed as revision 20158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 18:22:52 +00:00
Måns Rullgård
abff992d36 ARM: whitespace cosmetics
Originally committed as revision 20157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 18:22:49 +00:00
Robert Swain
f640478b56 Reindent after channel layout commit from yesterday
Originally committed as revision 20156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 14:59:40 +00:00
Sascha Sommer
aac4b0a47e increase maximum compressed frame size
fixes playback of piece.wmv

Originally committed as revision 20155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 10:01:23 +00:00
Sascha Sommer
037396d099 return AVERROR_INVALIDDATA when the bitstream could not be decoded
Originally committed as revision 20154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 09:44:05 +00:00
Peter Ross
dae0d1e21c Support decoding of uncompressed PCX scanlines
Originally committed as revision 20153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-03 05:18:32 +00:00
Måns Rullgård
c61e40b728 ARM: use plain labels for pc-relative addressing
Originally committed as revision 20152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 23:11:03 +00:00
Måns Rullgård
b44c6d8edb ARM: remove unnecessary .fpu neon directives
Originally committed as revision 20151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 19:35:12 +00:00
Måns Rullgård
fd818a21c7 ARM: use undocumented .syntax directive to enable UAL syntax
Originally committed as revision 20150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 19:35:07 +00:00
Stefano Sabatini
43d160fd00 Prefer "loglevel" over "logging level number or string" as argname of
the loglevel command line option.

Make the loglevel option help message more clear, since the option
argument is shown as a single token, and make the whole message better
aligned with the other help messages.

Originally committed as revision 20149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 19:06:27 +00:00
Robert Swain
53a71e1ba4 Add vorbis channel layout support according to those defined in the Vorbis I
specification

Originally committed as revision 20148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 12:59:37 +00:00
Måns Rullgård
e654b7c29e ARM: apply extern symbol prefix where needed
Originally committed as revision 20147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 08:42:00 +00:00
Måns Rullgård
c7f7978ae3 configure: define extern symbol prefix without quotes for for asm files
Originally committed as revision 20146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 08:41:57 +00:00
Måns Rullgård
8dfa86f78a Do not use -mdynamic-no-pic if PIC is enabled
Originally committed as revision 20145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 08:41:54 +00:00
Måns Rullgård
50fa82e6d2 ARM: add -marm flag since we do not support Thumb
Originally committed as revision 20144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 08:41:52 +00:00
Reimar Döffinger
3fcb5113c6 wav demuxer: return AVERROR_EOF instead of AVERROR(EIO) when the end of
the file is reached normally, without any error.

Originally committed as revision 20143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 07:27:08 +00:00
Reimar Döffinger
e581b6288f wav: return av_get_packet errors unchanged.
Originally committed as revision 20142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 07:22:44 +00:00
Reimar Döffinger
4bd7cb8be2 Fix seek regression test: several AVERROR(EIO) correctly changed to AVERROR_EOF.
Originally committed as revision 20141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 07:19:21 +00:00
Reimar Döffinger
fbc6630168 Remove url_feof check that would be triggered only after incorrectly producing
an empty packet and also av_get_packet already handles EOF now.

Originally committed as revision 20140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 07:05:52 +00:00
Reimar Döffinger
8a62a378de Remove useless setting of pkt->size, av_get_packet already handles that.
Originally committed as revision 20139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 07:03:04 +00:00
Reimar Döffinger
a7a9dd0eb6 Return special EOF checking for aiff and au demuxers, the check was at
the wrong place, causing an empty packet to be read before EOF was
detected and the eof detection is already now handled by av_get_packet anyway.

Originally committed as revision 20138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 06:42:20 +00:00
Reimar Döffinger
c3db0bc61d Return any error return values from av_get_packet, get_buffer etc. unchanged
in the raw demuxers.
Also remove special handling of 0-size reads, if they are due to an error/eof,
these are already converted to the appropriate error by get_buffer.

Originally committed as revision 20137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 06:40:50 +00:00
Reimar Döffinger
593b50cedf Make seek regression tests fit after previous get_buffer change.
The au and aiff demuxers would always return an empty packet before
detecting EOF, this is now fixed with av_get_packet etc. returning EOF.

Originally committed as revision 20136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 06:38:56 +00:00
Reimar Döffinger
7f7686dfb1 Make get_buffer and get_partial_buffer return url_ferror or AVERROR_EOF as
appropriate if it couldn't read any data at all.
This should make handling of EOF and error simpler or make it work right without
extra code in a few place (e.g. raw demuxer).

Originally committed as revision 20135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-02 06:36:39 +00:00
David Conrad
de27f4d957 Check whether 32-bit x86 is really 64-bit
Fixes configure on OS X 10.6

Originally committed as revision 20134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:38:25 +00:00
Aurelien Jacobs
553e9f7529 matroskadec: cosmetics: indentation
Originally committed as revision 20133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:15:36 +00:00
Aurelien Jacobs
ff0d5a745e matroskadec: don't overwrite extradata already read by ff_get_wav_header()
Originally committed as revision 20132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:14:46 +00:00
Aurelien Jacobs
038146e9cf matroskadec: fix handling of A_MS/ACM track with no extradata
Originally committed as revision 20131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:14:05 +00:00
Reimar Döffinger
22a7e19b50 Make rawvideo_read_packet return partial frames.
This is consistent with other demuxers and also fixes a memleak (memory
allocated for partial frame data was leaked).

Originally committed as revision 20130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 17:32:22 +00:00
Reimar Döffinger
8cb724c5c4 Simplify: remove pointless {} and else
Originally committed as revision 20129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 17:26:20 +00:00
Reimar Döffinger
d4c1803e0e Remove pointless setting of pkt->size, av_get_packet already handles this.
Originally committed as revision 20128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 17:22:01 +00:00
Reimar Döffinger
b46c98bf66 au demuxer: pass av_get_packet error on unchanged instead of converting to
AVERROR(EIO).

Originally committed as revision 20127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 17:08:33 +00:00
Reimar Döffinger
c67031e7cf av_new_packet failing should return ENOMEM, not EIO.
Originally committed as revision 20126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 16:10:09 +00:00
Reimar Döffinger
681c180dc4 Make avcodec_open set codec_id and codec_type if they haven't been set.
This fixes the API breakage introduced by the check that avctx codec id and type
match the opened codec and should make (almost?) all applications work again.

Originally committed as revision 20125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 15:54:55 +00:00
Reimar Döffinger
43d7c6118d put_bits can only reliably write up to 31 bit bits, above it relies on
undefined shift behaviour.
Document this, fix the assert and add a put_bits32 to handle writing 32
bits and use that where necessary.

Originally committed as revision 20124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 15:40:29 +00:00
Reimar Döffinger
ec65675504 Use MANGLE in cavsdsp, the current version using "m" constraints will not
compile on e.g. OpenBSD due to running out of registers.

Originally committed as revision 20123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 15:30:27 +00:00
Diego Biurrun
f0ef7beeb6 Document -sn option.
Originally committed as revision 20122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 13:48:23 +00:00
Benoit Fouet
05ec0c0012 Fix indentation after last commit.
Originally committed as revision 20121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 12:21:54 +00:00
Anne-Laure de Smit
e23dd95dc2 Add support for TARGA images without RLE compression.
Patch by Anne-Laure de Smit: gmail_address(annelaure, desmit)

Originally committed as revision 20120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 12:20:08 +00:00
Diego Biurrun
07f77dad7a Explain the process of patch review and commit a bit.
Originally committed as revision 20119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 11:58:34 +00:00
Aurelien Jacobs
e471e3c4a5 Fix playback of strange AVI files with stray LIST.
sample: http://samples.mplayerhq.hu/avi/AV36_1.AVI
fix suggested by Michael

Originally committed as revision 20118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 10:24:02 +00:00
Diego Biurrun
2499f4e09e Fix wrongly indented block.
Originally committed as revision 20117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 09:30:08 +00:00
Diego Biurrun
081c14a318 Use "!exp" instead of "exp == NULL" in if condition.
Originally committed as revision 20116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 09:13:21 +00:00
Diego Biurrun
37a4269d70 cosmetics: K&R coding style, prettyprinting
Originally committed as revision 20115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 09:11:07 +00:00
Kostya Shishkov
a8b95021e5 Do not attempt to decode TIFF files containing fax data with uncompressed
mode allowed for there is no code to decode it (yet).

Originally committed as revision 20114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 06:31:49 +00:00
Kostya Shishkov
8355572f91 lavc MJPEG decoder is capable of decoding some extended sequential
Huffman-compressed JPEG files, so make it decode those files
(samples are welcome).
This fixes issue 1420

Originally committed as revision 20113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 05:52:38 +00:00
Kostya Shishkov
5073cca404 Make BMP decoder produce flipped picture with RLE compression.
This fixes issue 1415

Originally committed as revision 20112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 05:46:17 +00:00
Kostya Shishkov
b08de903cd Make MS RLE decoder produce both bottom-up and top-down pictures
Originally committed as revision 20111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 05:42:55 +00:00
Justin Ruggles
535497f193 Change an error to a warning to support broken AC-3 files known to exist.
Fixes Issue 1426.

Originally committed as revision 20110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 00:06:54 +00:00
David Conrad
6945c2bc4c Support constant-quant encoding for libtheora
Based on a patch by j f (gonzaz-z # operamail (d) com)

Originally committed as revision 20109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 22:25:49 +00:00
Måns Rullgård
7cee5421d6 configure: break a long line
Originally committed as revision 20108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 22:08:16 +00:00
Reimar Döffinger
e04a3c9613 Re-add check for compilation failure with ebx clobber, and only set
ebx_available if both "b" constraint and exb clobber code compile.
This is to fix compilation with Mac OSX 10.5.8's gcc 4.0.1 in 64
bit mode (-m64) which only fails for ebx/rbx clobbers but not
"b" constraints - this is probably a compiler bug.

Originally committed as revision 20107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 21:57:13 +00:00
Justin Ruggles
3fdccca091 10l: wrong operation in stereo rematrixing
Originally committed as revision 20106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 21:51:02 +00:00
Måns Rullgård
49214f61a5 configure: return result of test from check_asm
This makes it possible to use check_asm in conditionals.

Originally committed as revision 20105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 21:38:11 +00:00
Anne-Laure de Smit
2aa6e87a97 Add support for SGI images without RLE compression.
patch by Anne-Laure de Smit, annelaure.desmit gmail com

Originally committed as revision 20104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 21:23:47 +00:00
Reimar Döffinger
5200b90147 Do not needlessly add 7 to put_buts_count before dividing by 8,
flush_put_bits ensures it is divisible 8.

Originally committed as revision 20103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 20:47:59 +00:00
Reimar Döffinger
f2ad907060 10l in code reading codec_name, the first byte is the length and should not
become part of the string.

Originally committed as revision 20102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 18:27:39 +00:00
Reimar Döffinger
5baaf9adaf Use a "b" constraint instead of ebx clobber to detect if EBX is available.
The test using clobber incorrectly indicates ebx to be available with the
default compilers on OpenBSD 4.5 and Haiku.

Originally committed as revision 20101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 16:55:32 +00:00
Lasse Reinhold
391dbb54a6 Use floating point mathematics when encoding mpeg audio.
Fixes issue 975: high db peak levels when encoding mp2

Original patch by Lasse Reinhold, lassemikkelreinhold hotmail

Originally committed as revision 20100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 15:13:09 +00:00
Reimar Döffinger
5dd76bd741 Return an error when the parsed mpc chunk size is negative, otherwise we
might end up in an endless loop where the same chunk is parsed over and over.
Fixes a hang near the end for http://samples.mplayerhq.hu/A-codecs/musepack/sv8/sv8-tags.mpc

Originally committed as revision 20099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 13:35:13 +00:00
Reimar Döffinger
58f873dded Fix compilation of beosaudio.cpp, not tested if it actually works though.
Originally committed as revision 20098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 13:01:48 +00:00
Reimar Döffinger
f494213c6d Fix typo in comment.
Originally committed as revision 20097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 12:39:18 +00:00
Reimar Döffinger
75ddee0a26 Use skip_put_bytes in MJPEG encoder instead of filling all bytes with 0
with put_bits.

Originally committed as revision 20096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 10:48:14 +00:00
Reimar Döffinger
eb0d04c325 Use ff_put_string in vorbis encoder.
Originally committed as revision 20095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 10:37:37 +00:00
Reimar Döffinger
003121091e Replace several #ifdef PIC with the more obvious and correct
#if !HAVE_EBX_AVAILABLE, since all it does is avoid using ebx.

Originally committed as revision 20094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 09:49:12 +00:00
Reimar Döffinger
c9da676de4 Disable parsing for ogg streams where no ogg header was found,
if no header was found the parser was not initialized and thus will
crash when trying to use it.

Originally committed as revision 20093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 09:46:48 +00:00
Reimar Döffinger
19635234b1 Convert latin1 codec_name in mov to UTF-8, since all strings in FFmpeg
must be valid UTF-8.

Originally committed as revision 20092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 09:43:56 +00:00
Kostya Shishkov
53f9f9c91b When BitsPerSample tag is not present in TIFF, that means file is
monochrome, so initialize picture before decoding.
This fixes decoding monochrome files produced by lavc TIFF encoder.

Originally committed as revision 20091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 05:49:18 +00:00
Justin Ruggles
2ed4439658 Simplify stereo rematrixing by only using one temporary variable. It is also
about 1.8% faster on my system.

Originally committed as revision 20090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 01:25:04 +00:00
Justin Ruggles
16c91d2b23 remove unneeded assignment in inner loop. rematrixing bands are contiguous.
Originally committed as revision 20089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-30 01:09:57 +00:00
Stefano Sabatini
e935fa9e17 Prefer -vcodec rawvideo over -vcodec huffyuv for lavfi regression
tests, as the use of huffyuv may cause the auto-insertion of a scale
filter, thus masking the mis-behavior of some filter.

Originally committed as revision 20088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 21:53:36 +00:00
Diego Biurrun
a392f82a3a Remove disabled code cruft.
Originally committed as revision 20087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 21:08:33 +00:00
Michael Kostylev
0e829974f5 Fix md5 program invocation for BSD.
patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 20086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 19:49:04 +00:00
Reimar Döffinger
8f1e203a56 Use context instead of NULL for logging.
Originally committed as revision 20085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 19:18:51 +00:00
Reimar Döffinger
ebb651d5f2 Make sure that dv encoder initializes all encoded packet data.
The specification does not say which value to use for unused
parts, so fill all unused bytes with 0xff, which is consistent
with what DV usually uses for reserved or unused parts.

Originally committed as revision 20084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 19:17:18 +00:00
Diego Biurrun
8a8720c1bb cosmetics: K&R coding style, prettyprinting
Originally committed as revision 20083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 18:03:30 +00:00
Jason Garrett-Glaser
8ea08becfa Fix indentation in avcodec.h
Originally committed as revision 20082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 17:34:36 +00:00
Måns Rullgård
0e71841b05 WMA: fix loop unrolling in decode_exp_vlc()
The count can be a non-multiple of 4 after all.

Originally committed as revision 20081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 12:48:24 +00:00
Diego Biurrun
a7adcf29cf whitespace cosmetics, prettyprinting, K&R coding style
Originally committed as revision 20080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 11:43:58 +00:00
Reimar Döffinger
badce93dad Simplify r20025: use align_get_bits instead of reimplementing it.
Originally committed as revision 20079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 11:06:04 +00:00
Måns Rullgård
076a9dea1e WMA: store level_table as floats, use type punning for sign flip in decode
Originally committed as revision 20078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:38:34 +00:00
Måns Rullgård
ff00b94e9d WMA: use type punning and unroll loops in decode_exp_vlc()
GCC does stupid things if these assignments are done using floats
directly, so fill the runs using integer operations instead.  Also
unroll the loops since the length is always a multiple of 4.

Originally committed as revision 20077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:38:30 +00:00
Måns Rullgård
c0d1463da7 WMA: use a table instead of pow() in decode_exp_vlc
Originally committed as revision 20076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:38:27 +00:00
Reimar Döffinger
4b4ac5c7a8 Sync AC3 probe values with MP3 probe values, they have to avoid similar issues.
This fixes ffmpeg-generated files with -acodec ac3 being detected as raw ac3
instead of MPEG.

Originally committed as revision 20075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:23:47 +00:00
Reimar Döffinger
f6765f3f04 Extend DV autodetection to also reliably detect single-frame DVs with
a higher score that MAX/4.
It checks that there are at least 10 DIF headers and at least one per
24000 bytes, and if so considers the file reliably detected as DV.
Passes probetest, too.

Originally committed as revision 20074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 10:12:18 +00:00
Anton Khirnov
6378b06208 Add id3v2 metadata conversion table and use it in mp3 muxer.
Patch by Anton Khirnov, wyskas gmail

Originally committed as revision 20073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 07:05:03 +00:00
Kostya Shishkov
a5568f4608 Make sure all the bits are written to output in fax data decoder.
This fixes decoding TIFF images with fax compression and width being not
multiple of eight (and issue 1429).

Originally committed as revision 20072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-29 05:55:14 +00:00
Diego Biurrun
0b8e7ab059 some more linebreak and brace placement cosmetics
Originally committed as revision 20071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 21:46:22 +00:00
Diego Biurrun
5e56b30e1f brace placement and linebreak cosmetics
Originally committed as revision 20070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 21:13:47 +00:00
Robert Swain
754ff9a795 Refactor channel element configuration and mapping code into its own function
to allow reuse

Originally committed as revision 20069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 15:37:18 +00:00
Robert Swain
2309923c5c Reindent after last commit
Originally committed as revision 20068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 15:35:51 +00:00
Robert Swain
e22da6b637 AAC: Add channel layout support for channel configuration as defined in the
specification

Originally committed as revision 20067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 15:35:13 +00:00
Kostya Shishkov
d2cdf20147 cosmetics: reindent and reformat function declarations
Originally committed as revision 20066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 05:19:13 +00:00
Kostya Shishkov
8da5d3dc37 Finally distinguish TIFF_CCITT_RLE and TIFF_G3 1-D case, so both of them
will be decoded correctly.
This fixes issue 1423.

Originally committed as revision 20065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 05:17:20 +00:00
Kostya Shishkov
7c6f5238c6 Make TIFF decoder load compression options only for corresponding codec
Originally committed as revision 20064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-28 05:15:27 +00:00
Måns Rullgård
ec71a8e00b ARM: NEON optimised vector_fmul_add
Originally committed as revision 20063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:52:05 +00:00
Måns Rullgård
35de5d2412 cosmetics: fix indentation after previous commit
Originally committed as revision 20062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:52:00 +00:00
Måns Rullgård
952e872198 Drop unused args from vector_fmul_add_add, simpify code, and rename
The src3 and step arguments to vector_fmul_add_add() are always zero
and one, respectively.  This removes these arguments from the function,
simplifies the code accordingly, and renames the function to better
match the new operation.

Originally committed as revision 20061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 16:51:54 +00:00
Stefano Sabatini
7f5c14210b Remove duplicated / stray code which slipped in with r20057.
Originally committed as revision 20060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 10:29:24 +00:00
Reimar Döffinger
06d7f30a9f Get rid of "function" "keywords" in lavfilter testing code, hopefully will
make regressions tests runnable again with all shells.

Originally committed as revision 20059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 10:06:35 +00:00
Martin Storsjö
eec69b399a Do not compile ZLib data uncompressing function in TIFF decoder when ZLib is
not present.
Patch by Martin Storsjö
($firstname <at> $firstname <dot> two first letters of $lastname)

Originally committed as revision 20058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 09:43:11 +00:00
Stefano Sabatini
40e024091d Implement a lavfitest target for testing regressions in libavfilter.
The target is disabled.

See the thread: "[PATCH] libavfilter-soc: regression test for libavfilter".

Originally committed as revision 20057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 09:33:37 +00:00
Måns Rullgård
d975e5e9b7 WMAPRO: use vector_fmul_scalar from dsputil where possible
Originally committed as revision 20056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 08:16:50 +00:00
Justin Ruggles
8b11b44ea7 Rearrange loop structure for approx. 35-50% faster calc_transform_coeffs_cpl()
depending on content.

Originally committed as revision 20055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 07:16:51 +00:00
Kostya Shishkov
e96f885aa0 Looks like ZLib uncompress() cannot deal with some kinds of TIFF deflated data,
so replace it with custom code.
This fixes issue 1419.

Originally committed as revision 20054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 07:01:01 +00:00
Justin Ruggles
3b6c5ad2f6 Move variable declaration to inside of loop.
Originally committed as revision 20053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:38:57 +00:00
Justin Ruggles
025873738f Cosmetics: Rename some variables.
Originally committed as revision 20052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:38:13 +00:00
Justin Ruggles
b5f4639b13 Simplify coupling band loop.
Originally committed as revision 20051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:33:23 +00:00
Justin Ruggles
09e03847b9 Remove unneeded table lookup.
Originally committed as revision 20050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:16:49 +00:00
Justin Ruggles
444ce49a7a Cosmetics: Rename some variables to be more descriptive of their use.
Originally committed as revision 20049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:13:01 +00:00
Justin Ruggles
4e745ea83e Move some variable declarations to inside of loops.
Originally committed as revision 20048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:10:36 +00:00
Justin Ruggles
3538a2e47a Remove unneeded variable.
Originally committed as revision 20047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 06:01:32 +00:00
Justin Ruggles
84cb4bc6a2 Cosmetics: Rename some variables to be more descriptive of their use.
Originally committed as revision 20046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 05:48:03 +00:00
Justin Ruggles
8a547c25a0 Remove some unneeded variables.
Originally committed as revision 20045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 05:39:57 +00:00
Justin Ruggles
403b1543b5 Cosmetics: Rename some variables
Originally committed as revision 20044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 05:36:52 +00:00
Justin Ruggles
f805d5fc9d simplify 2 lines into 1 using FFMIN
Originally committed as revision 20043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:57:36 +00:00
Justin Ruggles
612bdf1808 Cosmetics: Do some basic pretty-printing.
Originally committed as revision 20042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:55:37 +00:00
Justin Ruggles
bf8643838b Simplify by combining increment with array access.
Originally committed as revision 20041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:47:38 +00:00
Justin Ruggles
89e6317b5b cosmetics: Rename some variables to be more descriptive of their use. Do some
pretty-printing as well.

Originally committed as revision 20040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:46:56 +00:00
Justin Ruggles
a7e7417c41 Move 2 variable declarations to inside of loop.
Originally committed as revision 20039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:41:05 +00:00
Justin Ruggles
20520421a1 simplify by combining increment with array access
Originally committed as revision 20038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:37:00 +00:00
Justin Ruggles
be5830ea7a Remove unneeded variable
Originally committed as revision 20037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:32:31 +00:00
Justin Ruggles
b05e4195d4 Hardcode AC-3 critical band tables when CONFIG_HARDCODED_TABLES is set.
Originally committed as revision 20036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-27 04:07:49 +00:00
Stefano Sabatini
7087a0f525 Add a -loglevel command line option to ffserver.
The -loglevel option makes possible to set the logging level used by
the libav* libraries.

Originally committed as revision 20035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 23:30:41 +00:00
Justin Ruggles
65935bc729 simplify format string for writing pix_fmt string.
Originally committed as revision 20034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 22:54:29 +00:00
Baptiste Coudurier
a42bf19134 100l, typo
Originally committed as revision 20033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 21:06:18 +00:00
haim alon
7b5252ce3e Export mov/mp4 major and compatible brands as metadata.
Patch by haim alon, haim dot alter at gmail dot com

Originally committed as revision 20032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 20:51:38 +00:00
Måns Rullgård
f331cec47d ARM: NEON optimised vector_clipf
Originally committed as revision 20031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 19:55:21 +00:00
Måns Rullgård
0a07e9d012 WMA: remove some unused variables
Originally committed as revision 20030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 19:23:27 +00:00
Måns Rullgård
b9b1ad9cd8 ARM: NEON optimised vector_fmul_reverse
Originally committed as revision 20029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 19:23:25 +00:00
Stefano Sabatini
13d41a194e Document the -loglevel option in the ffmpeg man page.
Originally committed as revision 20028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 17:21:22 +00:00
Stefano Sabatini
5a6d66640c Add a -loglevel command line option to ffplay.
The -loglevel option makes possible to set the logging level used by
the libav* libraries.

Originally committed as revision 20027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 17:18:02 +00:00
Reimar Döffinger
a55247e761 Specify maximum sample rate of MLP by defining the factor relative to 48000
instead of directly.
This makes clear that the code assumes the maximum sample rate to be
a multiple of 48000 and also removes the division from the MAX_BLOCKSIZE
macros, which causes an issue with the Solaris assembler where "/" is
a comment marker unless the --divide option is used.

Originally committed as revision 20026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 16:04:35 +00:00
Kostya Shishkov
a8c7a3d2c1 Fix decoding of TIFF CCITT RLE compressed data.
This fixes issue 1417.

Originally committed as revision 20025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-26 05:48:50 +00:00
Justin Ruggles
84e30ef992 Align pix_fmt list by allowing one more char for the pix_fmt name.
Originally committed as revision 20024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-25 01:31:53 +00:00
Reimar Döffinger
ef530829f8 Remove ff_realloc_static, it is no longer used and since it was declared
static there is no reason to wait for a major version bump, removing
it does not change ABI in any way, not even the non-public one.

Originally committed as revision 20023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 22:39:47 +00:00
Reimar Döffinger
1e224c5480 Reindent.
Originally committed as revision 20022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 22:37:34 +00:00
Reimar Döffinger
e518a49f34 Remove a piece of code left-over from the removed alloc'd static vlc table code.
Originally committed as revision 20021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 22:36:52 +00:00
Vitor Sessak
f49bcde63b Reindent code folowing previous commit (r20019)
Originally committed as revision 20020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 21:26:35 +00:00
Vitor Sessak
b11d40d12e Factorize duplicated code in at1_imdct_block()
Originally committed as revision 20019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 21:24:58 +00:00
Maksym Veremeyenko
fbec307f6c Allow decoding of 625/50 (PAL) with video_stype==1.
Patch by Maksym Veremeyenko, verem m1stereo tv

Originally committed as revision 20018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 19:37:41 +00:00
Carl Eugen Hoyos
486168877e Fix reading VDR files (broken since r19000).
Originally committed as revision 20017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 19:20:53 +00:00
Kostya Shishkov
a58e96be0e Support both LSB and MSB orders for TIFF CCITT G.x compressed data.
This fixes issue 1410.

Originally committed as revision 20016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 18:30:28 +00:00
Alex Converse
d38b7b80d1 Check if a git-svn revision number is available to try to get better version
information from git.

Originally committed as revision 20015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 16:54:26 +00:00
Reimar Döffinger
98422c44cf Fix possible buffer over-read in vorbis_comment, fix it double to be sure.
First, make s signed, so that comparisons against end - p will not be made as
unsigned, making the check incorrectly pass if p is beyond end.
Also ensure that p will never be > end, so the code is correct also if
buf is not padded.

Originally committed as revision 20014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 15:37:09 +00:00
Reimar Döffinger
595324e143 Completely remove INIT_VLC_USE_STATIC, it is deprecated since ages and
finally no longer used anywhere.

Originally committed as revision 20013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 15:13:34 +00:00
Reimar Döffinger
80bc3bbc2e Replace last use of INIT_VLC_USE_STATIC by INIT_VLC_USE_NEW_STATIC in svq1dec
Originally committed as revision 20012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 15:12:05 +00:00
Reimar Döffinger
2f9bbdd25c Change VLC table creation in x8_vlc_init to use INIT_VLC_USE_NEW_STATIC.
Originally committed as revision 20011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 11:04:46 +00:00
Reimar Döffinger
c05df6895f Use ff_msmpeg4_decode_init to initialize ff_msmp4_mb_i_vlc since static
VLC tables should only be initialized from one place.
This initializes/calculates more VLC tables than necessary for VC1 decoding,
but this is only done once and only a small overhead in time and space (maybe
30 kB) it seems not worth adding a separate function.

Originally committed as revision 20010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 10:49:47 +00:00
Reimar Döffinger
9c3068c80e Use INIT_VLC_STATIC where easily possible in svq1dec
Originally committed as revision 20009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 09:44:51 +00:00
Mike Melanson
0efbd068e7 Make sure that all memory allocations succeed.
Based on 28_theora_malloc_checks.patch from the Google Chrome team.

Originally committed as revision 20008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 06:33:16 +00:00
Kostya Shishkov
22da339f5d Take into account real number of colours when reading BMP palette.
This fixes issue 1408

Originally committed as revision 20007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-24 05:24:46 +00:00
Anton Khirnov
20c6837880 id3v2: Add support for UTF-16 encoding.
patch by Anton Khirnov, wyskas gmail com

Originally committed as revision 20006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 18:22:00 +00:00
Anton Khirnov
9aa1bcce51 id3v2: Use 0 instead of '\0'.
patch by Anton Khirnov, wyskas gmail com

Originally committed as revision 20005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 18:10:29 +00:00
Anton Khirnov
787f8fad00 id3v2: check for enough space to write full UTF-8 characters.
patch by Anton Khirnov, wyskas gmail com

Originally committed as revision 20004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 18:04:40 +00:00
Reimar Döffinger
c31afa5d24 Fix format string to match the types printed.
Originally committed as revision 20003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 15:30:38 +00:00
Michael Niedermayer
2a9b5c9b42 Make sure priv_data is freed and codec is set to NULL in case of failure of avcodec_open().
Originally committed as revision 20002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 15:16:36 +00:00
aedc98b0a4 Check submap indexes.
10_vorbis_submap_indexes.patch by chrome.
I am applying this even though Reimar had some comments to improve it as it fixes
a serious security issue and I do not want to leave such things unfixed.

Originally committed as revision 20001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 14:19:17 +00:00
Måns Rullgård
9bda7f3063 ARM: NEON optimised int32_to_float_fmul_scalar
Originally committed as revision 20000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:52:56 +00:00
Måns Rullgård
b418a6ca7e AAC: minor simplification in PNS decoding
Originally committed as revision 19999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:52:53 +00:00
Måns Rullgård
a27090208e configure: fix tms470 flag mapping for soft-float
Originally committed as revision 19998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:52:50 +00:00
Michael Niedermayer
0a01efd0aa Make error return sign consistent.
Originally committed as revision 19997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:18:29 +00:00
36b7e983a6 Check begin/end/partition_size.
23_vorbis_sane_partition.patch by chrome.
Also this should be better documented but i prefer not to leave potential
security issues open due to missing documentation.

Originally committed as revision 19996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 13:08:48 +00:00
310afddfe0 Fix >= vs > check of coded_fragment_list_index.
22_fix_theora_frag_fencepost.patch by chrome

Originally committed as revision 19995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:42:12 +00:00
Diego Biurrun
75bbed517f Remove unused variables, fixes the warnings:
libavcodec/wmadec.c:629: warning: unused variable `i'
libavcodec/wmadec.c:628: warning: unused variable `b'
libavcodec/wmadec.c:628: warning: unused variable `a'

Originally committed as revision 19994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:29:56 +00:00
fa6f27517b Fix init_get_bits() buffer size.
18_fix_theora_header_bit_len.patch by chrome

Originally committed as revision 19993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:27:10 +00:00
cdf1512eba Check res_setup->books.
15_more_residue_book_indexes.patch by chrome.

Originally committed as revision 19992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:24:21 +00:00
993092dcd3 Check masterbook index and subclass book index.
14_floor_masterbook_index.patch by chrome

Originally committed as revision 19991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:17:54 +00:00
e5b0cfb541 Add checks for per-packet mode indexes and per-header mode mapping indexes.
12_vorbis_mode_indexes.patch by chrome
maybe exploitable

Originally committed as revision 19990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:09:33 +00:00
79a4258141 Check classbook value.
11_vorbis_residue_book_index.patch by chrome.

Originally committed as revision 19989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 12:02:31 +00:00
Michael Niedermayer
45a014d75e Set data_size to 0 to avoid having it uninitialized.
based on 31_mp3_outlen.patch by chrome.

Originally committed as revision 19988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 11:44:30 +00:00
Michael Niedermayer
f7304e99d4 Check data_size in decode_frame_mp3on4().
Originally committed as revision 19987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 11:33:44 +00:00
Michael Niedermayer
0d31833d04 check data_size in decode_frame()
Originally committed as revision 19986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 11:29:38 +00:00
Måns Rullgård
6a0d5493b3 ARM: improve armcc detection
Apparently some versions of armcc do not identify as RVCT.  This
changes the test to a string used by all versions.

Originally committed as revision 19985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:48:58 +00:00
96651e790c Fix book_idx check.
25_vorbis_floor0_index.patch by chrome.

Originally committed as revision 19984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:45:14 +00:00
d70fa8f131 Sanity checks for magnitude and angle.
26_vorbis_mag_angle_index.patch by chrome

Originally committed as revision 19983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:40:33 +00:00
08c8742cdb = -> == typo.
27_vorbis_residue_loop_error.patch by chrome

Originally committed as revision 19982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:33:49 +00:00
Måns Rullgård
6044538b37 WMA: use DSPContext.butterflies_float
Originally committed as revision 19981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:33:13 +00:00
Carl Eugen Hoyos
14600807bb Cosmetics: Fix typo.
Originally committed as revision 19980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 10:07:29 +00:00
Michael Niedermayer
7bf3d0c44e Check num_units_in_tick/time_scale to be valid and within the range we support.
based on a patch by chrome

Originally committed as revision 19979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 09:58:44 +00:00
Reimar Döffinger
7d507ceb79 Correctly print number of remaining bytes in oggparsevorbis instead of always
with inverted sign.

Originally committed as revision 19978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 09:18:23 +00:00
Jason Garrett-Glaser
2d3beedee2 Add support for new x264 API.
Originally committed as revision 19977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 09:03:26 +00:00
Michael Niedermayer
98f7bcb119 Check dimensions against 0 too.
39_vorbis_zero_dims.patch from chrome

Originally committed as revision 19976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 08:35:29 +00:00
Michael Niedermayer
9062cd3544 Check validity of channels & samplerate.
This may be security relevant.
Based on 2 patches by chrome.

Originally committed as revision 19975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 07:46:51 +00:00
Mike Melanson
428984b041 Another micro-optimization for unpack_vlcs(): Eliminate a possible
branch and save around 45k-55k dezicycles per function run.

Originally committed as revision 19974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 05:38:12 +00:00
Michael Niedermayer
4c0dda2b3f Check codec_id and codec_type in avcodec_open(), based on 43_codec_type_mismatch.patch from chrome
This is said to be able to lead to a stack based buffer overflow.

Originally committed as revision 19973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 22:44:56 +00:00
Måns Rullgård
6e3fa35d29 Set compiler version string for supported non-gcc compilers
Originally committed as revision 19972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 20:38:03 +00:00
Måns Rullgård
275cfd1501 ARM: NEON optimised scalarproduct_float
Originally committed as revision 19971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 20:37:55 +00:00
Måns Rullgård
0cb7141282 AAC: 10l: fix PNS decoding
Originally committed as revision 19970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 19:31:01 +00:00
Benjamin Larsson
61dc238b45 Hook up the MD studio demuxer and Atrac1 decoder.
Originally committed as revision 19969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 17:28:03 +00:00
Benjamin Larsson
e704b012f2 Mention SDDS so search engines will pick it up for when someone
needs to decode the SDDS tracks found on 35 mm movies.

Originally committed as revision 19968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 17:05:19 +00:00
Benjamin Larsson
edd897b1b3 Use ff_sine_32 in atrac1.
Originally committed as revision 19967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 17:03:28 +00:00
Mike Melanson
138fe83215 Perform the DC prediction reversal immediately after decoding all of
the DC coefficients. This has a greater probability of leveraging the
coefficients while they are still cached.

When testing with the Big Buck Bunny 1080p video, I consistently saw
improvements of 500k-600k dezicycles per run (through
reverse_dc_prediction()) thanks to this move.

Originally committed as revision 19966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 15:58:08 +00:00
Diego Biurrun
71e4218054 Fix METEOR vs. BKTR typo, noticed by Steve O'Hara-Smith, steve sohara org.
Originally committed as revision 19965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 14:44:44 +00:00
Diego Biurrun
53e5462040 Replace manual gcc version check by AV_GCC_VERSION_AT_LEAST macro.
Originally committed as revision 29701 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-22 14:38:49 +00:00
Diego Biurrun
de653ba3bb Place MP3 demuxer code under appropriate #ifdefs.
Fixes compilation with --disable-optimizations --disable-demuxers.

Originally committed as revision 19964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 12:39:19 +00:00
Diego Biurrun
a3d7c19728 Improve compiler information code to print to the console on program startup.
Remove gcc-specific hacks and allow filling relevant information for non-gcc
compilers in configure.

Originally committed as revision 19963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 12:23:14 +00:00
Diego Biurrun
5c1f57ffdf Print compiler version and build date before configuration in console output.
Originally committed as revision 19962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 12:21:06 +00:00
Diego Biurrun
8f771e76fd Rearrange wav_muxer and {wav|w64}_demuxer blocks to be under proper #ifdefs.
Fixes compilation with --disable-optimizations --disable-demuxers.

Originally committed as revision 19961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 11:19:36 +00:00
Diego Biurrun
6bdaa5f46d The W64 demuxer depends on the WAV demuxer.
Originally committed as revision 19960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 11:17:29 +00:00
Diego Biurrun
738914be66 Move find_guid function and guid_data array to a globally available place.
Fixes compilation with --disable-optimizations --disable-demuxer=w64.

Originally committed as revision 19959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 10:31:29 +00:00
Alex Converse
5419da8d9c AAC: Simplify some logic from r19956. (The escape codebook is unsigned.)
Originally committed as revision 19958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 01:34:42 +00:00
Måns Rullgård
1dee3e97c6 ARM: NEON optimisations for some dsputil functions
NEON versions of the following functions are added:

  vector_fmul_scalar
  vector_fmul_sv_scalar
  sv_fmul_scalar
  butterflies_float

Originally committed as revision 19957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 00:48:48 +00:00
Måns Rullgård
42d3fbb3f4 AAC: use new dsputil functions
Originally committed as revision 19956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 00:48:45 +00:00
Måns Rullgård
53b572118e Add some dsputil functions useful for AAC decoder
Originally committed as revision 19955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 00:48:41 +00:00
Benjamin Larsson
9caab87829 Add forgotten cleanup function in atrac1.
Originally committed as revision 19954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 21:00:18 +00:00
Benjamin Larsson
78b3a12d9c Cosmetics, indentation.
Originally committed as revision 19953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 20:53:29 +00:00
Benjamin Larsson
a872e5c1f4 Cosmetics. Merge declaration and initialization.
Originally committed as revision 19952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 20:52:24 +00:00
Benjamin Larsson
b6a237025d Move the scale factor and word length indexes to the stack.
Originally committed as revision 19951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 20:49:08 +00:00
Diego Biurrun
523ef55119 Deinterleave the generation of config.h and config.mak.
As a sideeffect this moves more interesting variables to the top of config.mak.

Originally committed as revision 19950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 12:51:45 +00:00
Reimar Döffinger
40e26453c4 Use a custom radix sort implementation instead of qsort in dnxhd encoder.
This is mainly to avoid test failures due to implementation-defined
behaviour of qsort when elements are equal, giving different results
for each of FreeBSD, Linux/glibc and Solaris.
In addition it is about 35 % faster, effect on overall speed is minimal
though (< 2%).
Regression tests are unchanged (i.e. identical to Linux/glibc).

Originally committed as revision 19949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 10:28:31 +00:00
Alex Converse
f5e82fec3d aacenc: Use preprocessor constants for trellis states and stages.
Originally committed as revision 19948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 04:32:51 +00:00
Alex Converse
9072c29e40 aacenc: Split paths in the scalefactor selection trellis into a 2-D array.
Originally committed as revision 19947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 04:15:12 +00:00
Alex Converse
9d4f6f10ae aacenc: Replace cbrt() with cbrtf() when the result is destined for float
storage.

Originally committed as revision 19946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:53:39 +00:00
Alex Converse
0bd9aa449a aacenc: Multiple distortion by lambda after it's summed and not each individual
term before.

Originally committed as revision 19945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:50:59 +00:00
Alex Converse
06d6b962e5 Cosmetics: Reindent after r19943.
Originally committed as revision 19944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:42:54 +00:00
Alex Converse
a71e9b6254 aacenc: Don't make unnecessary compares to the escape value in tight loops.
Originally committed as revision 19943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:41:08 +00:00
Loren Merritt
1a918c08e4 extend ff_inverse[], and fix its documentation
Originally committed as revision 19942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 03:01:57 +00:00
Måns Rullgård
d650574e68 ARM: merge two loops in ff_mdct_calc_neon
Originally committed as revision 19941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:12 +00:00
Måns Rullgård
f7a3b6030c ARM: interleave cos/sin tables for improved NEON MDCT
Originally committed as revision 19940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:09 +00:00
Måns Rullgård
94274b82f6 Allow arch-specific mdct code to request interleaving of cos/sin tables
Originally committed as revision 19939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:56:06 +00:00
Måns Rullgård
670bd2005a regtest: do not write to /tmp/ffmpeg$$
Nothing useful was ever written to this file.  It did, however,
often cause spurious failures when the file was left behind by
another user on the system.

Originally committed as revision 19938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 02:46:09 +00:00
Måns Rullgård
b767b9cd4b configure: remove some unnecessary backslashes
Originally committed as revision 19937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 01:40:14 +00:00
Måns Rullgård
96fdb62428 Split dnxhd regression test so the parts can run in parallel
Originally committed as revision 19936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 01:40:12 +00:00
Måns Rullgård
3572b281c8 ARM: remove broken IPP support
Originally committed as revision 19935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 01:40:08 +00:00
Mike Melanson
ee3d7f5852 Modify unpack_vlcs() so that there are fewer dereferences through the
main (heavily iterated) loop.

Originally committed as revision 19934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-21 01:37:50 +00:00
Diego Biurrun
40461e54ce Add parentheses to logical expression to avoid the warning:
libavcodec/utils.c:476: warning: suggest parentheses around && within ||

Originally committed as revision 19933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 18:29:48 +00:00
Diego Biurrun
a79b4b75f7 Remove unused variable, fixes the warning:
libavcodec/atrac3.c:195: warning: unused variable ‘s’

Originally committed as revision 19932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 18:21:54 +00:00
Måns Rullgård
01b2214758 Merge FFTContext and MDCTContext
Originally committed as revision 19931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:30:20 +00:00
Diego Biurrun
ec129499b8 Fix embarassing typo in last commit: Restore mistakenly removed ','.
Originally committed as revision 19930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:18:59 +00:00
Diego Biurrun
1e1898c00f K&R coding style whitespace cosmetics
Originally committed as revision 19929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 17:16:12 +00:00
Carl Eugen Hoyos
7a38c1149c Cosmetics: Reindent after r19927.
Originally committed as revision 19928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 14:09:27 +00:00
Martin Fiedler
4410adf12e Allow encoding frames with more than 2800 lines.
Patch by Martin Fiedler, martin fiedler gmx net

Originally committed as revision 19927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 14:08:44 +00:00
Reimar Döffinger
fbc030045c Support uncompressed 16 bit sgi image format, as e.g. used by the files at
http://media.xiph.org/svt/2160p50_CgrLevels_Master_SVTdec05_/1_CrowdRun_2160p50_CgrLevels_MASTER_SVTdec05_/

Originally committed as revision 19926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 11:42:41 +00:00
Reimar Döffinger
bdb156c7b1 Simplify color_flags calculation, remove a pointless initialization
and use AV_RB16 where possible.

Originally committed as revision 19925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 11:36:51 +00:00
Reimar Döffinger
75fe5b5243 Make default_correlation array const since it is never modified.
Originally committed as revision 19924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 11:35:55 +00:00
Reimar Döffinger
3fdd82768d Use default sws_flags for dnxhd regression tests and also test the "-mbd rd"
variant of the encoder.

Originally committed as revision 19923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 10:53:23 +00:00
Reimar Döffinger
d7c2e8e3fd Update regression reference for DNxHD test update
Originally committed as revision 19922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 10:21:22 +00:00
Reimar Döffinger
6082086688 Change DNxHD regression tests to test both 720p and 1080i instead of just 1080i
for better test coverage.

Originally committed as revision 19921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 10:20:47 +00:00
Reimar Döffinger
31fe12a9fe Add missing strings.h include needed for strcasecmp.
Originally committed as revision 19920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 09:09:07 +00:00
Justin Ruggles
306a1204ff Update AC-3 channel map. 2F/2R layout only has 4 channels. This correction
does not change any current channel mapping behavior.

Originally committed as revision 19919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 04:56:22 +00:00
Benjamin Larsson
803d8488f2 Align sample output buffer in atrac1.
Originally committed as revision 19918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 01:46:03 +00:00
Benjamin Larsson
0105f49792 Fix the short block transform for atrac1.
Originally committed as revision 19917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-19 01:45:00 +00:00
Reimar Döffinger
0ae2ccff56 Change dnxhd regression tests for r19912 which fixed uninitialized data in
encoded data.

Originally committed as revision 19916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 21:29:17 +00:00
Diego Biurrun
e9b733bd89 #include correct header to fix 'make checkheaders'.
AVCodecTag is declared in riff.h, not avformat.h.

Originally committed as revision 19915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 19:51:05 +00:00
Diego Biurrun
d773d85515 Reorder functions so that encoding functions are disabled by the preprocessor.
Fixes compilation with disabled optimizations and enabled Snow decoder.

Originally committed as revision 19914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 19:45:09 +00:00
Diego Biurrun
27666c3176 Add missing stdint.h #include to fix 'make checkheaders'.
Originally committed as revision 19913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 19:41:23 +00:00
Baptiste Coudurier
301a24de52 fix uninitialized memory in dnxhd encoder
Originally committed as revision 19912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 19:03:05 +00:00
Michael Niedermayer
e9b0681610 Only use *ic_ptr when it has been initialized.
Originally committed as revision 19911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 13:19:13 +00:00
Ronald S. Bultje
ba93ea6d3e Unscrewup indentation (pointed out by Diego).
Originally committed as revision 19910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 13:18:47 +00:00
Diego Biurrun
94f3c0e52f Add probetest to TOOLS list.
Originally committed as revision 19909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 10:25:25 +00:00
Diego Biurrun
13b1c80b05 Introduce a variable for all targets in the tools subdirectory.
Originally committed as revision 19908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 10:24:47 +00:00
Diego Biurrun
9407246d7a Drop argc/argv parameters from main(), they are unused.
Originally committed as revision 19907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 10:14:46 +00:00
Diego Biurrun
497559ec90 cosmetics: K&R coding style, prettyprinting
Originally committed as revision 19906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-18 10:13:10 +00:00
Ronald S. Bultje
f933789789 RTSP basic authentication, patch originally by Philip Coombes
(philip coombes zoneminder com), see "[PATCH]RTSP Basic Authentication"
thread on mailinglist.

Originally committed as revision 19905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 21:47:11 +00:00
Baptiste Coudurier
afcdf34236 update seek regression tests due to r19902
Originally committed as revision 19904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 21:35:48 +00:00
Reimar Döffinger
ef002fa32b Update dnxhd rotozoom regression test values with more sane ones that match
the results of most FATE machines.

Originally committed as revision 19903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 19:51:27 +00:00
Niobos
9deba199fd fix pes overhead computation, patch by Niobos, niobos at dest-unreach dot be
Originally committed as revision 19902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 19:07:09 +00:00
Reimar Döffinger
bb8cd7b3cf Update dnxhd regression test to match the majority of FATE machines (which
also have a much saner stddev).

Originally committed as revision 19901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:57:22 +00:00
Benjamin Larsson
10634c037a Only use one mdct window size in atrac1.
Originally committed as revision 19900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:52:11 +00:00
Baptiste Coudurier
db46c4e14d print at debug level the score at which codec probing succedeed
Originally committed as revision 19899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:46:50 +00:00
Reimar Döffinger
5abfae79ca Improve SIFF probe by also checking the first tag is one of the expected.
Originally committed as revision 19898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:09:20 +00:00
Reimar Döffinger
3214db98ea Improve dxa probe by checking the values for width and height are reasonable.
Originally committed as revision 19897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:08:07 +00:00
Reimar Döffinger
892d7e78ef Slightly improve probe for ea format by checking that it is possible to
guess whether the file is little- or big-endian.

Originally committed as revision 19896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:07:27 +00:00
Reimar Döffinger
a5083f66c7 Add dnxhd test to regression tests.
Originally committed as revision 19895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 18:06:03 +00:00
Lars Täuber
f68c8a5039 Do not include "mp4:" prefix from RTMP URL into "app" path or second time
into playpath.

Patch by Lars Täuber
(<$name> . <$lastname with umlaut replaced with diphtong> @ <gmx> . <net>)

Originally committed as revision 19894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 05:31:02 +00:00
Kostya Shishkov
609782970c Register myself as RTMP maintainer
Originally committed as revision 19893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 05:24:42 +00:00
Kostya Shishkov
c4396c241c Remove useless code causing crash in Targa decoder
Originally committed as revision 19892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 05:01:27 +00:00
Justin Ruggles
78a9a77eac add CODEC_CAP_SUBFRAMES to the FLAC decoder capabilities. also add a FIXME
comment as a reminder that we can remove both capabilities once a parser is
implemented.

Originally committed as revision 19891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 22:57:00 +00:00
Ramiro Polla
c866c7d041 Cleanup buffer debugs in swScale().
Originally committed as revision 29686 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-16 22:34:48 +00:00
Ramiro Polla
953c821f9b Use correct buffers in vertical scaler in unscaled YV12 case.
Originally committed as revision 29685 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-16 22:31:43 +00:00
Michael Niedermayer
1bc8c36125 Print a warning if a format has been detected with a low score.
Originally committed as revision 19890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:44:26 +00:00
Michael Niedermayer
c36823fd3d Print at debug level the score with which probing succeeded.
Originally committed as revision 19889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:23:04 +00:00
Michael Niedermayer
8a6c7a5286 Fix indention after last commit.
Originally committed as revision 19888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:06:48 +00:00
Michael Niedermayer
e07b882b4d Improve amortized worst case speed of the muxers packet interleaving code
from O(packets_in_the_file) to O(num_of_streams).

Originally committed as revision 19887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 20:04:04 +00:00
Måns Rullgård
d25130eb23 ARM: do not use movw/movt for relocatable values with PIC
Originally committed as revision 19886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 19:20:48 +00:00
Kostya Shishkov
ebd3e99de9 reindent after last commit and remove unneeded empty line
Originally committed as revision 19885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 18:06:29 +00:00
Kostya Shishkov
f53c9089f6 Make MPC SV8 probe skip tags until stream header is found
Originally committed as revision 19884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 18:05:21 +00:00
Kostya Shishkov
6f24cc0b2a Monkey's Audio uses subframes too, declare that in its capabilities
Originally committed as revision 19883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 16:18:18 +00:00
Reimar Döffinger
0d6da4b831 Fix overflow check insufficiently improved in r19840.
It assumes that sizeof(vmd_frame) < 64k, otherwise an additional
check to ensure sound_buffers <= UINT_MAX / sizeof(vmd_frame) would be necessary.

Originally committed as revision 19882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 15:12:23 +00:00
Sascha Sommer
d859bb1db0 Add CODEC_CAP_SUBFRAMES for codecs that output multiple subframes
per AVPacket
No longer print "Multiple frames in a packet" error message
when CODEC_CAP_SUBFRAMES is set (wmapro, wavpack)

Originally committed as revision 19881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 15:08:26 +00:00
Sascha Sommer
9d66ef18fa fix PTS calculation for audio formats with bits per sample != 16
Originally committed as revision 19880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 12:45:24 +00:00
Peter Ross
5f14b56593 Core Audio Format demuxer
Originally committed as revision 19879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 12:26:59 +00:00
Peter Ross
2d423666c0 Make mov LPCM and AAC parsing functions public
Originally committed as revision 19878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 11:35:01 +00:00
Peter Ross
fa77dd639d perform sanity check on number of audio channels in avcodec_open()
Originally committed as revision 19877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 11:29:47 +00:00
Gwenole Beauchesne
385ae7021f Fill in new VASliceParameterBufferMPEG2.slice_horizontal_position field.
This is needed for the Intel G45 driver.

Originally committed as revision 19876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 07:50:09 +00:00
Gwenole Beauchesne
25450bb252 Move down HWAccel code path so that to fill in s->mb_x first.
Originally committed as revision 19875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 07:49:08 +00:00
Kostya Shishkov
9117213313 Enhance Musepack SV8 probing code
Originally committed as revision 19874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 04:43:33 +00:00
Michael Niedermayer
e458dd0be0 Flv should be AVFMT_VARIABLE_FPS.
Originally committed as revision 19873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 01:49:34 +00:00
Michael Niedermayer
657eca1f8b Upgrade a few important messages to AV_LOG_WARNING.
Originally committed as revision 19872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 01:47:54 +00:00
Michael Niedermayer
0355537605 Fix indention after previous commit.
Originally committed as revision 19871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 01:17:39 +00:00
Michael Niedermayer
ddce56efc5 Make packet interleaving in the muxer not scan through the whole
buffer when simply appending at the end works.
Much faster if one stream ends prematurely.
Fixes issue1379.

Originally committed as revision 19870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 00:59:15 +00:00
Michael Niedermayer
42831b46ef Also reset *_end in flush_packet_queue().
Originally committed as revision 19869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 00:56:31 +00:00
Stefano Sabatini
8cd6b388f4 Make pkgconfig_generate() fill Libs with the required linking flags
if the "shared" var has not been explicitely enabled, rather than if
it has been explicitly disabled.

This way is not necessary to explicitly disable shared libraries in
order to have a pc file usable with only static libraries.

Originally committed as revision 19868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 23:54:31 +00:00
Justin Ruggles
ea25c063c3 10l: set genre default immediately before reading genre tag
Originally committed as revision 19867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 23:40:10 +00:00
Justin Ruggles
d891cbb444 Set ID3v1 genre to 0xFF (unknown) by default instead of 0 (Blues).
Originally committed as revision 19866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 23:37:54 +00:00
Måns Rullgård
68336ea8d4 10l: fix ff_fft_init_arm() prototype
Originally committed as revision 19865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 23:14:55 +00:00
Måns Rullgård
f486321395 Move per-arch fft init bits into the corresponding subdirs
Originally committed as revision 19864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 21:14:14 +00:00
Kostya Shishkov
9155be47d1 Do not set 0 FPS in VC-1 test stream format demuxer.
Originally committed as revision 19863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 16:36:53 +00:00
Vitor Sessak
6776061b04 Add two more sizes to ff_sine_windows[] and also pad it with NULLs so
that FF_ELEMS(ff_sine_windows[x]) == 1 << x.

Fix issue 1384.

Originally committed as revision 19862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 16:18:16 +00:00
Kostya Shishkov
05db409c28 Check for explicit 32-bit FPS value so it works on 64-bit systems too
Originally committed as revision 19861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 15:28:11 +00:00
Kostya Shishkov
23218a9801 Make probing for VC1 test bitstream format stricter
Originally committed as revision 19860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 15:22:36 +00:00
Jai Menon
2370338850 Fix max_coded_frame_size computation to account for byte alignment.
Fixes issue 1386.

Originally committed as revision 19859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 15:06:04 +00:00
Michael Niedermayer
37e34df5a5 Check offset in flv_probe()
Originally committed as revision 19858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 14:56:09 +00:00
Michael Niedermayer
0535f919d5 Do not return values above AVPROBE_SCORE_MAX from probe().
Originally committed as revision 19857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 13:28:14 +00:00
Michael Niedermayer
2a3caca2b1 Make h261 and mpegvideo probe a little more robust so they dont fail with
slightly different probetest.

Originally committed as revision 19856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 13:27:13 +00:00
Martin Storsjö
ff19d438dc Init i to 0 (10l fix).
Patch by Martin Storsjö / martin von martin aus st

Originally committed as revision 19855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 13:09:34 +00:00
Michael Niedermayer
c4674a479b Make mpeg_probe() pass probetest.
Originally committed as revision 19854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 12:20:03 +00:00
Michael Niedermayer
6e7ef5ec35 Probetest, to test the demuxers probe functions against random and not so random
input.

Originally committed as revision 19853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 10:42:01 +00:00
Reimar Döffinger
3489e150d9 Slightly stricter MPEG-PES probing, fixes issue 1383.
Originally committed as revision 19852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 10:01:25 +00:00
Reimar Döffinger
5837e4ca33 Vastly improved mm_probe function, passes probetest.
Originally committed as revision 19851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 09:21:29 +00:00
Reimar Döffinger
97e078087b Improve sierravmd probe. It is still quite weak, but further improvements
are non-obvious and probably need a large (about 1kB at least) probe buffer.

Originally committed as revision 19850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 09:16:29 +00:00
Michael Niedermayer
1ac9563075 Slighty tweak mp3 probe threshold to prevent probetest from complaining.
Originally committed as revision 19849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 23:03:33 +00:00
Reimar Döffinger
6377de611a Try harder to avoid false positives for DV probe.
Require at least one signature match per provided 1MB of probe data,
and if there is only a single match, return at most MAX/4.
Fixes issue1382 but could/should probably still be improved.

Originally committed as revision 19848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 22:03:07 +00:00
Reimar Döffinger
98487a5b69 Make dnxhd probe more strict, fail if we detect values in header that would
make our decoder fail anyway.
dnxhd probe now passes probetest.

Originally committed as revision 19847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 21:50:23 +00:00
Måns Rullgård
9ecc414195 ARM: 10l: fix large FFTs
Originally committed as revision 19846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 21:37:41 +00:00
Michael Niedermayer
89c4e176f6 Rewrite h261_probe().
New code can detect h261 startcodes even when the first is damaged or not at the
begin. It also passes probetest v2 & v3.

Originally committed as revision 19845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 21:29:19 +00:00
Reimar Döffinger
05bdd33a12 Make DTS probe more robust against false positives (as e.g. probetest shows).
In particular check that the detected markers clearly indicate a specific DTS
format (a wild mixture of e.g. little- and big-endian markers is unlikely to be
a valid DTS file) and ensure the markers appear with sufficient frequency.

Originally committed as revision 19844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 20:28:10 +00:00
Reimar Döffinger
9f449d57c7 Check the index validity more thoroughly for the c93 probe function.
In particular, check that length of the first index entries is not 0 since
that is interpreted "end of file" and makes no sense in the very first entries.

Originally committed as revision 19843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 20:01:32 +00:00
Reimar Döffinger
ddbb7c9be2 Add more sanity checks for header elements, rejecting files with clearly
invalid values that wouldn't play right anyway and reduce probe score to MAX/2.
Passes probetest v2.

Originally committed as revision 19842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 19:58:51 +00:00
Michael Niedermayer
e4c01d408a Rewrite h263_probe().
The new code should detect h263 even if the first startcode is damaged or
somewhere else than the first byte. It also passes probetest v2 as just
posted on ffmpeg-dev.

Originally committed as revision 19841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 19:06:36 +00:00
Reimar Döffinger
21ab5c5827 Extend check for integer overflow for malloc argument to take into account
also the addition of "sound_buffers" not only the multiplication.

Originally committed as revision 19840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 17:15:18 +00:00
Kostya Shishkov
65d6d40350 Fix wrong logical operator which causes too relaxed checking in VC-1 test
format probe.
Spotted by Reimar Döffinger.

Originally committed as revision 19839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 17:05:13 +00:00
Reimar Döffinger
8466ab59b2 Check buffer size for idcin check, otherwise false positives are too likely for
small probe buffer sizes due to 0-padding (see probetest results).

Originally committed as revision 19838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 15:44:05 +00:00
Jason Garrett-Glaser
03354862cb Update preset files to jive somewhat better with more recent x264 API.
Originally committed as revision 19837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 09:59:32 +00:00
Baptiste Coudurier
8bb7dda2f7 ensure pes buffer is set to avoid segv
Originally committed as revision 19836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 20:08:47 +00:00
Baptiste Coudurier
8956f68014 reset pes state to skip after flushing, avoid segv with dvgrab-2009.03.28_19-07-22.m2t
Originally committed as revision 19835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 20:06:49 +00:00
Benjamin Larsson
6acd4d89d8 Do not release the AVFrame when using reget_buffer in flashsv.
Originally committed as revision 19834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 19:17:02 +00:00
Benjamin Larsson
000b8b8699 Add condition to aea demuxer probe.
Originally committed as revision 19833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 18:27:53 +00:00
Benjamin Larsson
04a6d1b0db Cosmetics. Renames, indentation and spacing.
Originally committed as revision 19832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 18:05:14 +00:00
Diego Biurrun
72cdcc0b9b Replace @node commands with @anchor to refer to specific points in the text.
This fixes the warnings
** `Developers Guide' is up for `Coding Rules', but has no menu entry for this node
** `Invocation' is up for `FFmpeg formula evaluator', but has no menu entry for this node

Originally committed as revision 19831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 16:46:28 +00:00
Reimar Döffinger
cbb5da57cd When resetting vst->pkt.data to NULL, also set vst->slices.
This avoids a crash when the next slice is not a start slice and thus
pkt->data is still NULL.
This probably only happens with broken or unsupported files like
http://samples.mplayerhq.hu/real/multirate/JustaSpa1937_64kb.rm
that need further fixes, but keeping vst state consistent is still a good idea.

Originally committed as revision 19830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 11:08:59 +00:00
Ivan Schreter
dbe0ad85c1 Use I/O buffer size as initial value for backoff for seeking sync point search.
Originally committed as revision 19829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-13 08:57:30 +00:00
Ramiro Polla
749fac310c Reset slice direction at end of each frame.
Originally committed as revision 29675 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-13 01:49:40 +00:00
Ramiro Polla
9451b59fc6 Remove ; after while(0) in macros.
Originally committed as revision 29674 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-12 20:10:22 +00:00
Ramiro Polla
e20b196da1 Remove ; after while(0) in macros.
Originally committed as revision 19828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-12 20:10:02 +00:00
Ramiro Polla
0345f36bbd eval: Check for return value of memory allocations.
Originally committed as revision 19827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-12 17:59:19 +00:00
Ramiro Polla
7ef618796a Check for return value of some context allocations.
Originally committed as revision 19826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-12 17:22:56 +00:00
Vitor Sessak
600b9c5c8c Do not do free AVStream in case of error, this is not supposed to be
done by the demuxer.

Fix issue 1378.

Originally committed as revision 19825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-12 16:23:13 +00:00
Benjamin Larsson
2dbcb03ad5 Remove table that was forgotten in the split.
Originally committed as revision 19824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 19:39:40 +00:00
Benjamin Larsson
acc69c1cab Fix doxygen comment
Originally committed as revision 19823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 19:38:26 +00:00
Sascha Sommer
bc7f96b184 reinit get_bits for every decode_packet call
Originally committed as revision 19822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 15:59:27 +00:00
Lars Täuber
6fa6c481b9 Make get_ur_golomb capable of reading 16 bit values.
Patch by Lars Täuber: firstname taeuber gmx net

Originally committed as revision 19821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 06:25:36 +00:00
Lars Täuber
6249c33e5a Fix a typo in the documentation.
Patch by Lars Täuber: firstname taeuber gmx net

Originally committed as revision 19820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 06:20:05 +00:00
Måns Rullgård
edc0f5dcba ARM: NEON optimised MDCT
Originally committed as revision 19819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:22 +00:00
Måns Rullgård
46c32e2654 Prepare for optimised forward MDCT implementations
This adds a function pointer for forward MDCT to FFTContext and
initialises it with the existing C function.  ff_calc_mdct() is
changed to an inline function calling the selected version as
done for other fft/mdct functions.

Originally committed as revision 19818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:24:19 +00:00
Måns Rullgård
750f5034cf ARM: faster NEON IMDCT
Originally committed as revision 19817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-11 02:01:18 +00:00
Benjamin Larsson
61d00297ab Cosmetics, add spaces
Originally committed as revision 19816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 19:12:13 +00:00
Benjamin Larsson
c64c0a9b76 Move get_arg to avoid future declaration of function when
new code is added.

Originally committed as revision 19815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 19:08:03 +00:00
Benjamin Larsson
7141c8594d Use reget_buffer instead of get_buffer. Fixes issue1367.
Patch by jarkko.palviainen.sesca.com.

Originally committed as revision 19814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 19:01:53 +00:00
Benjamin Larsson
223e8df136 Add ATRAC1 codec ID.
Originally committed as revision 19813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 18:49:25 +00:00
Benjamin Larsson
d0b57c6f85 Initial commit of the MD studio demuxer, not hooked up yet
Originally committed as revision 19812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 18:48:12 +00:00
Benjamin Larsson
dbb0f96f0f Initial commit of the atrac1 decoder, not hooked up yet
Originally committed as revision 19811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 18:47:02 +00:00
Benjamin Larsson
76ec34a5c3 Remove redundant code forgotten in the split
Originally committed as revision 19810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 18:39:57 +00:00
Michael Niedermayer
b52b0913c2 Check for thread_count==0.
fixed issue1333

Originally committed as revision 19809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 14:12:05 +00:00
Reimar Döffinger
19a9a49e84 Simplify: reget_buffer behaves exactly like get_buffer if the buffer was
previously released, so no extra condition is necessary.

Originally committed as revision 19808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 12:23:45 +00:00
Diego Biurrun
2205da0d11 Fix typo: '.' was used instead of '/' as directory separator.
Originally committed as revision 19807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 09:30:57 +00:00
Måns Rullgård
648d792042 ARM: NEON optimised FFT and MDCT
Vorbis and AC3 ~3x faster.

Parts by Naotoshi Nojiri, naonoj gmail

Originally committed as revision 19806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 08:50:03 +00:00
Måns Rullgård
6d9d289e76 DCA: move an aligned array from stack to context
Originally committed as revision 19805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 08:49:59 +00:00
Måns Rullgård
95e561ec3e configure: add -g to ASFLAGS when debug is enabled
Originally committed as revision 19804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-10 02:42:19 +00:00
Reimar Döffinger
f7ba16a7f4 Fix typo in configure error message.
Originally committed as revision 19803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-09 23:07:00 +00:00
shinya.tesutosan@hotmail.com
e5f58f81f7 Document padding for AVProbeData.
Patch by roundup user shinya, tesutosan hotmail

Originally committed as revision 19802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-09 22:55:10 +00:00
Michael Niedermayer
e43198af4f Check thread count as multithreaded decoding is not supported.
Fixes issue1292

Originally committed as revision 19801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-09 21:44:48 +00:00
Ramiro Polla
30715d4273 Document that slices can be bottom to top or top to bottom.
Originally committed as revision 29665 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-09 21:43:25 +00:00
Reimar Döffinger
46f3b40eb3 Add warnings to av_strlcat and av_strlcpy doxygen that the input strings
already must be properly 0-terminated strings. Unlike strncpy it
cannot be used on raw data read from a file.

Originally committed as revision 19800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-09 21:00:51 +00:00
Benjamin Larsson
76bcd87b4c Change developer doc to reflect reality
Originally committed as revision 19799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-09 17:27:30 +00:00
Maksym Veremeyenko
2c14ded386 Fix a bug with reading non-interleaved AVI if one the streams is
shorter.

Patch by Maksym Veremeyenko, verem m1stereo tv

Originally committed as revision 19798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-09 16:26:24 +00:00
Maksym Veremeyenko
b60de406a4 Factorise st->nb_index_entries check.
Patch by Maksym Veremeyenko, verem m1stereo tv

Originally committed as revision 19797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-09 16:25:12 +00:00
Benjamin Larsson
0e1baedec3 Split out common routines needed in the atrac1 decoder from atrac3.c to atrac.c.
Originally committed as revision 19796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-08 19:25:54 +00:00
Diego Biurrun
b057170f32 Remove pointless debug statement that fails to compile.
Originally committed as revision 19795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-08 09:11:56 +00:00
Reimar Döffinger
17f0c3be8e Try to clarify that anyone using get_bits must check for buffer overrun
themselves, get_bits does not do anything in that regard.

Originally committed as revision 19794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-08 08:30:56 +00:00
Baptiste Coudurier
e4bc8af1e6 check entries against field_size, potential malloc overflow in read_stsz, fix #1357
Originally committed as revision 19793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-07 22:42:51 +00:00
Baptiste Coudurier
1c4bf2ec37 add one missing check for stream existence in read_elst, fix #1364
Originally committed as revision 19792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-07 22:36:33 +00:00
Ramiro Polla
7d73d1c336 Indent.
Originally committed as revision 29654 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-07 16:29:32 +00:00
Martin Storsjö
b126dee964 Use all 32 bits of the timestamp when calculating flv duration.
At the moment, duration is mainly set from the metadata packet. If that is not
available, the fallback is checking the low 24 bits of the last packet. This is
not enough for files over 4,6 hours in length, so read all 32 bits instead.
patch by Martin Storsjö, martin martin st

Originally committed as revision 19791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-07 10:49:51 +00:00
Carl Eugen Hoyos
35c433d671 Cosmetics: Fix typo.
Originally committed as revision 19790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 18:24:25 +00:00
Reimar Döffinger
2ba8301769 Mark all pix_fmts and supported_framerates compound literals as const.
Makes no difference for gcc but at least icc can put them in .rodata then.

Originally committed as revision 19789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 16:09:21 +00:00
Ivan Schreter
af8aae3fa3 disable new seeking code in mpeg-ts per #ifdef (use old read_seek by default)
Originally committed as revision 19788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 15:59:32 +00:00
Reimar Döffinger
b5f09d31c2 Make sample_fmts and channel_layouts compound literals const to reduce size of
.data section.

Originally committed as revision 19787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 09:15:07 +00:00
Reimar Döffinger
88e70e1b0a ff_rm_metadata is const.
Originally committed as revision 19786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:57:19 +00:00
Reimar Döffinger
c55e5b5fee ff_sine_windows table contains only constant data, too.
Originally committed as revision 19785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:56:10 +00:00
Reimar Döffinger
faca56191c The ff_cos_tabs table itself is constant, too, so mark it as such.
Originally committed as revision 19784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:53:14 +00:00
Reimar Döffinger
f470fff323 The pointers in ff_sin_tabs themselves are constant, so mark them accordingly.
Originally committed as revision 19783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:50:20 +00:00
Reimar Döffinger
7eb1c36431 ff_swb_offset_* tables should be const.
Originally committed as revision 19782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:48:45 +00:00
Reimar Döffinger
ed034f6c59 ff_id3v1_genre_str table should be const.
Originally committed as revision 19781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:39:41 +00:00
Reimar Döffinger
4d2a4dfd88 100l, all avlanguage tables should be both static and const.
Originally committed as revision 19780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:36:25 +00:00
Reimar Döffinger
b8791583e7 compatible_frame array can be static const, too.
Originally committed as revision 19779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:27:23 +00:00
Sascha Sommer
5f28b5e750 do not decode more than one audio frame in a decode packet call
Originally committed as revision 19778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 08:16:26 +00:00
Sascha Sommer
7dca334da2 avoid extra memcpy during scale factor decoding
Originally committed as revision 19777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 06:56:25 +00:00
Ramiro Polla
d31dbec374 Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
parameters.

Originally committed as revision 19776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 00:08:19 +00:00
Ramiro Polla
9cf484d06e Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
parameters.

Originally committed as revision 29652 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-06 00:07:35 +00:00
Ramiro Polla
c2613a3137 Indent.
Originally committed as revision 29651 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-05 23:35:59 +00:00
Lars Täuber
35f6c15405 Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
Patch by Lars Täuber <lars <dot> taeuber <at> gmx <dot> net>.

Originally committed as revision 19775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 23:33:25 +00:00
Lars Täuber
991e579cae Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
Patch by Lars Täuber <lars <dot> taeuber <at> gmx <dot> net>.

Originally committed as revision 29650 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-05 23:33:11 +00:00
Reimar Döffinger
5333450ce6 Use memcpy to copy till end of line in one go instead of copying pixel by pixel
in xan_wc3_output_pixel_run and xan_wc3_copy_pixel_run

Originally committed as revision 19774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 19:35:59 +00:00
Ivan Schreter
7a656933c9 cosmetic changes (indentation, doxygen comments, braces, put structures for API to header, ...)
Originally committed as revision 19773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 19:31:01 +00:00
Reimar Döffinger
64b8e620cb Slightly simplify detection of end of compressed data in xan_unpack
Originally committed as revision 19772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 19:14:44 +00:00
Reimar Döffinger
bb99108775 Make vp3 arrays static const where possible.
Originally committed as revision 19771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 17:28:20 +00:00
Reimar Döffinger
8444059fb3 Remove useless ulti_decode_end function.
Originally committed as revision 19770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 16:41:20 +00:00
Reimar Döffinger
61e8efd35e Search for ipmovie signature beyond the start of the file.
This allows to play directly files that combine player and movie into
a single executable like http://samples.mplayerhq.hu/game-formats/interplay-mve/DES3S.EXE

Originally committed as revision 19769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 15:41:32 +00:00
Reimar Döffinger
78bfe6c3c1 Extend ipmovie signature to match exactly one place in mve files that have a
player binary prepended.

Originally committed as revision 19768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 11:30:55 +00:00
Diego Biurrun
d87d5025aa prettyprinting cosmetics
Originally committed as revision 19767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 11:22:36 +00:00
Sascha Sommer
bbb0bdd533 fix handling of packet loss when the output buffer is full
Originally committed as revision 19766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 10:59:09 +00:00
Sascha Sommer
9244370a7c reindent
Originally committed as revision 19765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 10:18:23 +00:00
Sascha Sommer
42ea968188 remove no longer needed debug output
Originally committed as revision 19764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 10:11:04 +00:00
Sascha Sommer
7551a55948 reduce output buffer needs
(fixes playback of some multichannel files)

Originally committed as revision 19763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 10:07:55 +00:00
Sascha Sommer
2016932472 store packet GetBitContext in the decoder context
Originally committed as revision 19762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-05 09:56:06 +00:00
Justin Ruggles
d2a47a578e Remove fake Speex header creation from FLV demuxer. Having it there was not the
correct solution to the problem.  A better solution might be possible later once
Speex is supported in muxers.

Originally committed as revision 19761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 21:43:41 +00:00
Justin Ruggles
1d07029fea Add frame_size as a codec parameter requirement for Speex in
av_find_stream_info().  It forces decoding of a packet when there is no
Speex header in order to determine the correct frame size.

Originally committed as revision 19760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 21:38:45 +00:00
Diego Biurrun
83614f2df9 Reduce pointless verbosity after seeks in the MP3 decoder.
Originally committed as revision 19759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 19:04:12 +00:00
Ramiro Polla
5ce6934e0a Add a newline in error message in CHECKED_ALLOC(Z).
Originally committed as revision 19758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 16:59:28 +00:00
Ramiro Polla
315fa33f29 Indent.
Originally committed as revision 19757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 16:32:06 +00:00
Ramiro Polla
a9decf0041 Use if(0){} instead of #if 0 to prevent debug code to rot.
Originally committed as revision 19756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 16:31:21 +00:00
Justin Ruggles
d6ee035d7a libspeex: Do not set AVCodecContext.frame_size in decoder init if there is no
header in extradata since the default value will be incorrect for multiple
frames per packet.

Originally committed as revision 19755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-04 00:57:20 +00:00
Måns Rullgård
e69bb386a2 configure: fix check for x264
libx264 recently started mangling the name of x264_encoder_open() to
prevent version mismatches, breaking our test.  Checking for another
function instead makes it work again.

Originally committed as revision 19754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-02 22:53:31 +00:00
Diego Biurrun
e0b1d6605b cosmetics: indentation and other prettyprinting fixes
Originally committed as revision 19753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-02 18:03:13 +00:00
Sascha Sommer
c1061cc7f7 add missing wmapro decoder parts
Originally committed as revision 19752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-02 16:41:49 +00:00
Diego Biurrun
ee1550116b whitespace cosmetics, prettyprinting
Originally committed as revision 19751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-01 16:00:45 +00:00
Diego Biurrun
f4258b1391 Update ffv1 codec long name in the documentation as well.
Originally committed as revision 19750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-31 05:48:17 +00:00
Lars Täuber
7c6208d4c0 Use "FFmpeg video codec #1" instead of "FFmpeg codec #1" as codec long name.
patch by  Lars Täuber, lars.taeuber gmx net

Originally committed as revision 19749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 21:19:37 +00:00
Josh Harris
f2086fb50e Fix incorrect display of ASF/WMV duration after r12926.
Patch by Josh Harris, qt tateu net

Originally committed as revision 19748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 18:14:22 +00:00
Thilo Borgmann
c6dbbc4576 Add function to compute ceil(log2(x)).
Patch by Thilo Borgmann <thilo.borgmann _at_ googlemail.com>

Originally committed as revision 19747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 15:50:03 +00:00
Kostya Shishkov
1369582777 Convert ZERO8x2 macro into inline function
Originally committed as revision 19746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 10:54:16 +00:00
Reimar Döffinger
23638d8778 Remove unused variable.
Originally committed as revision 19745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 08:29:11 +00:00
Kostya Shishkov
b7eb7ef6b5 Zeroing pic->motion_val in RV3/4 causes alignment problems on some 64-bit
architectures since stride is multiple of 4 and not of 8, so split
fill_rectangle() calls to operate on 32-bit words instead of 64-bit ones.

Originally committed as revision 19744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 06:30:53 +00:00
Kostya Shishkov
20622c4a8a Adjust r->avail_cache[] indexes to avoid alignment issues when zeroing block
inside it.

Originally committed as revision 19743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 06:16:33 +00:00
Ramiro Polla
67c2c5bb2e Curly brackets cosmetics for previous commit.
Originally committed as revision 29587 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 23:08:32 +00:00
Ramiro Polla
1ddb5747df Check for return value of initFilter().
Originally committed as revision 29586 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 23:06:22 +00:00
Ramiro Polla
dd653355fa Revert mistakenly commited hunk.
Originally committed as revision 29585 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 23:03:14 +00:00
Ramiro Polla
7248797c03 swscale: Check for return values of malloc.
Originally committed as revision 29584 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 23:02:01 +00:00
Ramiro Polla
e48a0966ca Add CHECKED_ALLOC macro.
It works the same as CHECKED_ALLOCZ except that it does not zero the allocated
memory.

Originally committed as revision 19742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 22:38:48 +00:00
Justin Ruggles
6833385d30 Store the frame size in the LibSpeexContext in case the header does not exist.
Originally committed as revision 19741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 21:04:18 +00:00
Måns Rullgård
e78516c6d8 One declaration of mm_flags is enough
Originally committed as revision 19740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:55 +00:00
Måns Rullgård
4e36a5b46f Move declarations of some mmx functions to dsputil_mmx.h
Originally committed as revision 19739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:50 +00:00
Måns Rullgård
5b1b014761 Move DECLARE_ALIGNED_8 definition next to DECLARE_ALIGNED_16
Originally committed as revision 19738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-29 16:55:46 +00:00
Ramiro Polla
111641a97a swscale-example: Free memory used by input data.
Originally committed as revision 29583 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 03:36:09 +00:00
Ramiro Polla
0607b09069 Restore comment that was partially removed.
Originally committed as revision 29582 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 02:44:03 +00:00
Måns Rullgård
c4d6d318cf Make DECLARE_ALIGNED_8 align to 8 bytes, never to 16
The DECLARE_ALIGNED_8 macro is defined to align to 16 bytes instead
the 8 suggested by the name on some CPUs.  None of the uses of this
macro ever need 16-byte alignment, cases which once did having been
changed to always specify 16 bytes explicitly.

Originally committed as revision 19737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-28 23:39:02 +00:00
Justin Ruggles
5c3b5e3053 Use the output data type to determine the maximum number of samples that can be
decoded.

Originally committed as revision 19736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-28 00:57:00 +00:00
Justin Ruggles
13db8750bb Add myself as maintainer for libspeexdec.c
Originally committed as revision 19735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-28 00:46:19 +00:00
Justin Ruggles
eb5f3c5434 Modify the Ogg/Speex demuxer and the libspeex decoder so that they always treat
a packet of Speex frames as a single frame.

Originally committed as revision 19734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-28 00:44:54 +00:00
Alex Converse
dd0e43e4bb Re-add search_for_ms to the coefficients encoders to silence warnings
Originally committed as revision 19733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 17:46:13 +00:00
Vitor Sessak
bf8202f352 Formatting K&R fixes
Originally committed as revision 19732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 16:38:57 +00:00
Vitor Sessak
9263a05aab Mark "i" parameter of vector_clipf_sse() as early-clobber
Originally committed as revision 19731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:52:44 +00:00
Vitor Sessak
d3b60aa685 100l, revision 19728 added a bug that broke twinvq decoding. I forgot to
multiply the buffer size by the number of channels.

Originally committed as revision 19730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:49:05 +00:00
Vitor Sessak
50e23ae9d3 Mark parameter src of vector_clipf() as const
Originally committed as revision 19729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 15:38:59 +00:00
Vitor Sessak
0a68cd876e SSE optimized vector_clipf(). 10% faster TwinVQ decoding.
Originally committed as revision 19728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 14:49:36 +00:00
Loren Merritt
8fc9376c59 indent
Originally committed as revision 19727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 13:41:29 +00:00
Loren Merritt
2f17f9c10c 1.5x faster ff_vorbis_floor1_render_list, 5% faster vorbis decoding on Core2.
1.3x and 3% on G4.
Though I think only part of this speedup is due to my optimizations per se;
some of it is that I got a better roll on the GCC random code generator.
Trivial reorderings of this function have a disproportionate effect on speed.

Originally committed as revision 19726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-27 13:41:11 +00:00
Diego Biurrun
ae9253151f whitespace cosmetics
Originally committed as revision 19725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 23:12:41 +00:00
Måns Rullgård
21c6a0258c Remove useless alignment from MpegEncContext.intra_scantable
The first member of struct ScanTable is a simple pointer, extra alignment
of which serves no purpose.  The alignment specifier was added along with
some Altivec optimisations also adding a 16-byte-aligned array at the end
of struct ScanTable.  Presumably the redundant, outer alignment was added
by mistake.  The inner one is clearly sufficient.

Originally committed as revision 19724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 23:07:07 +00:00
Ivan Schreter
608be2acef Cosmetic changes in read_seek* routines.
Originally committed as revision 19723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 22:33:48 +00:00
Christian Schmidt
5dd3707b8d Decoder for LPCM as used in Bluray discs.
Patch by Christian Schmidt, schmidt digadd de

Originally committed as revision 19722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 22:10:35 +00:00
Lars Täuber
2fee538a16 Fix comments after switching from CABAC to range coder in r3658.
Patch by Lars Täuber, lars D taeuber A gmx D net

Originally committed as revision 19720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 21:25:43 +00:00
Sascha Sommer
85fecafe49 add decode_coeffs()
Originally committed as revision 19719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 21:23:21 +00:00
Sascha Sommer
f53e96ed41 merge 2-channel M/S stereo decoding code with the multichannel version
Originally committed as revision 19718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 21:18:54 +00:00
Måns Rullgård
b97e0d7fa2 4xm: provide 16-byte alignment where required
Originally committed as revision 19717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 15:22:15 +00:00
Måns Rullgård
95d36bdbc3 dsputil: declare some arrays 16-byte aligned
These arrays are passed to functions for which we promise 16-byte
alignment, so make sure we fulfil that promise.

Originally committed as revision 19716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 13:17:06 +00:00
Måns Rullgård
20e7c8ae0a Remove some unnecessary alignment specifiers
None of these arrays are used in ways requiring extra alignment.

Originally committed as revision 19715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 12:12:40 +00:00
Stephen Backway
4a3178b012 Always allocate a buffer of AVPALETTE_SIZE for palette in the
Bluray subtitle decoder instead of as small as possible.
This avoids completely unnecessary issues with e.g. libswscale.
(See r19673)

Patch by Stephen Backway, stev391 A exemail D com D au

Originally committed as revision 19714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 11:31:37 +00:00
Reimar Döffinger
7f4fca038d Increase maximum encoded subtitle size from 64 kB to 1 MB.
Fixes "dvd_subtitle too big" errors when encoding HD video subtitles
to DVD format.

Originally committed as revision 19713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 10:22:27 +00:00
Reimar Döffinger
63a78ef131 100l typo, xsub encoder printed end time hours where minutes should have been.
Originally committed as revision 19712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 10:08:00 +00:00
Reimar Döffinger
64e657fd2c 100l, inv_zigzag_direct16 must be aligned to 16 bytes for dct_quantize_SSE2
(which uses movdqa to xmm1 on inv_zigzag_direct16).

Originally committed as revision 19711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 09:10:51 +00:00
Reimar Döffinger
8b03c014f0 Make sure that start_display_time is 0 by moving its value onto pts.
If it was not 0, subtitle encoding would fail.

Originally committed as revision 19710 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 08:43:11 +00:00
Reimar Döffinger
44ed34b790 Check for seek failures in avi_load_index, otherwise if the index offset
is invalid (e.g. truncated file) we might end up reading the whole file
since trying to seek beyond the end of file does not set EOF.

Originally committed as revision 19709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 08:38:44 +00:00
Reimar Döffinger
d5a30f86d4 Reindent.
Originally committed as revision 19708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 01:29:10 +00:00
Reimar Döffinger
c7d28f4388 Remove now dead code.
Originally committed as revision 19707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 01:28:41 +00:00
Reimar Döffinger
b02316146b Apply r19642 also pgssubdec:
Make sure AVSubtitle is initialized, memset it to 0.

Originally committed as revision 19706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-26 01:27:58 +00:00
Måns Rullgård
a13e687034 mdec: remove unused members from struct MDECContext
Originally committed as revision 19705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 23:28:33 +00:00
Måns Rullgård
dd36b88b46 Remove explicit init to zero of static inv_zigzag_direct16
Originally committed as revision 19704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 23:28:30 +00:00
Diego Biurrun
b979e4a289 whitespace cosmetics
Originally committed as revision 19703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 20:02:30 +00:00
Baptiste Coudurier
6aa333471c return AVERROR(ENOMEM) if stream could not be allocated
Originally committed as revision 19702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 19:59:38 +00:00
Kent Mein
b01c7b756e check av_new_stream return value, patch by Kent Mein, mein at cs dot umn dot edu
Originally committed as revision 19701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 19:58:21 +00:00
Maksym Veremeyenko
7305d97f04 Do not read index chunks as audio/video data; closes issue 1336.
patch by Maksym Veremeyenko, verem m1stereo tv

Originally committed as revision 19700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 09:46:16 +00:00
Stephen Backway
c58b82a29b Add Bluray Subtitle Support
Patch by Stephen Backway, stev391 A exemail D com D au

Originally committed as revision 19699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 08:47:39 +00:00
Reimar Döffinger
49056037a8 Mark video from .mtv files correctly as upside-down.
Originally committed as revision 19698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-25 07:47:34 +00:00
Måns Rullgård
cf5ec60740 mpegts: change variable-length array to fixed length
The difference between 188 and 204 is not worth worrying about.

Originally committed as revision 19697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 21:42:25 +00:00
Måns Rullgård
afe08a728a PPC: remove unnecessary alignment on local variables
Storing a single element from a vector where all elements have the same
value does not require an aligned destination.  Which element is stored
depends on the alignment of the destination address, but since they all
have the same value, the result is the same regardless of the alignment.

Originally committed as revision 19696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 21:42:22 +00:00
Vitor Sessak
ce78113d5a Cosmetics: add some whitespace around operators
Originally committed as revision 19695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 17:35:47 +00:00
Aurelien Jacobs
429eeecd5a matroskadec: add correct extradata offset for V_MS/VFW/FOURCC tracks
Originally committed as revision 19694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 13:43:33 +00:00
Aurelien Jacobs
e26444079c matroskadec: factorize some code
Originally committed as revision 19693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 13:40:30 +00:00
Diego Biurrun
deb1b2b699 Add necessary #include for config.h.
Originally committed as revision 19692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 10:59:14 +00:00
Måns Rullgård
b662e8395b PPC: simplify loading some values into altivec registers
Instead of filling a local array with the desired value and loading it,
load a single element and vec_splat() it to fill the vector.

Originally committed as revision 19691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 10:36:13 +00:00
Diego Biurrun
1feec476aa Add missing header to fix 'make checkheaders'.
Originally committed as revision 19690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 10:06:26 +00:00
Ramiro Polla
89fb9516af swscale-example: Rename src->ref so as to not confuse with src being used in doTest().
Originally committed as revision 29548 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-23 20:31:38 +00:00
Ramiro Polla
7da35acdab swscale-example: Use SWS_BILINEAR instead of hardcoded value.
Originally committed as revision 29547 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-23 20:29:49 +00:00
Måns Rullgård
d98fe8ecf5 Add myself as maintainer for AVR32 and MIPS
Originally committed as revision 19689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 15:39:42 +00:00
Måns Rullgård
98ef60791d configure: fix filter() function when matching multiple patterns
This makes comma-separated patters to --disable-decoder and friends
work correctly with POSIX-compliant shells.

Originally committed as revision 19688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 15:39:39 +00:00
Måns Rullgård
bce7b696a2 Add PIC flags early so tests they affect give correct results
This is mainly the checks for ebx on x86, but possibly others too.

Originally committed as revision 19687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 13:46:07 +00:00
Måns Rullgård
c7312933ce Include required headers in {mips,ppc}/mathops.h
Originally committed as revision 19686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 11:02:41 +00:00
Måns Rullgård
95f2c769c3 Skip headers requiring external libs not present in checkheaders
Originally committed as revision 19685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 11:02:37 +00:00
Måns Rullgård
566ae9fbc2 configure: simplify directory creation for out of tree builds
Originally committed as revision 19684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 11:02:35 +00:00
Måns Rullgård
b7c10b2a2b Fix dependency generation for yasm assembler files
Originally committed as revision 19683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 11:02:32 +00:00
Vitor Sessak
7bd4733588 TwinVQ decoder
Originally committed as revision 19682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-23 01:55:54 +00:00
Ramiro Polla
a48ce2c3a7 Fix inconsistent indentation.
Originally committed as revision 29545 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-22 19:30:19 +00:00
Ivan Schreter
a8dd8dc6e9 Use generic multi-stream key frame finding routine to implement read_seek2 and map
read_seek to read_seek2.

Originally committed as revision 19681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-22 16:07:50 +00:00
Ivan Schreter
101036adb9 Support for generic multi-stream key frame finding for new seek API.
Originally committed as revision 19680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-22 16:05:43 +00:00
Loren Merritt
50b1785a57 bring back some randomness in fft-test. (regression in r18070)
Originally committed as revision 19679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-22 15:56:06 +00:00
Sascha Sommer
31c57185c5 Add some more wmapro decoder hunks
Originally committed as revision 19678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-21 16:54:42 +00:00
Diego Biurrun
7056883be9 Replace redundant GNUC_PREREQ macro by AV_GCC_VERSION_AT_LEAST from libavutil.
Originally committed as revision 19677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-21 10:10:42 +00:00
Reimar Döffinger
f2d702e109 Replace #ifdef PIC checks with the more appropriate HAVE_EBX_AVAILABLE/HAVE_7REGS.
Originally committed as revision 19676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-21 09:54:28 +00:00
Diego Biurrun
da47f0eecb Add missing #includes to pass 'make checkheaders'.
Originally committed as revision 19675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-21 08:46:49 +00:00
Bartlomiej Wolowiec
ab1eff9c5c Add support for S/PDIF encapsulation.
Originally committed as revision 19674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-21 08:34:19 +00:00
Reimar Döffinger
29d7eef7dc Always allocate a buffer of AVPALETTE_SIZE for palette in the subtitle
decoders instead of as small as possible.
This avoids completely unnecessary issues with e.g. libswscale.

Originally committed as revision 19673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-20 18:54:50 +00:00
Ramiro Polla
1b03a9d607 Check return values of sws_allocVec() and sws_getConstVec().
Originally committed as revision 29543 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-20 01:55:45 +00:00
Måns Rullgård
8a3c86277b configure: add --enable-pic flag
Using this flag enables position-independent code even when not strictly
required.  It is impossible to use --disable-pic to forcibly disable PIC
when other properties mandate it.

Originally committed as revision 19672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-20 01:06:18 +00:00
Måns Rullgård
90d43b52e1 Get rid of large stack array in rd8x8_c()
Originally committed as revision 19671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-19 21:59:44 +00:00
Måns Rullgård
0314dead4e eval: replace variable-length array with av_malloc/free
There is a theoretical possibility to pass a very long string to ff_parse,
which could crash if allocated from the stack.  This allows the allocation
to be checked properly.

Originally committed as revision 19670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-19 21:59:40 +00:00
Måns Rullgård
8313e17976 flacdec: change variable-length array to fixed length
pred_order can never exceed 32, so always allocating that amount is safe
and not very wasteful.

Originally committed as revision 19669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-19 21:59:36 +00:00
Reimar Döffinger
64d39b7c76 Free initial swscale context, too. Avoids a valgrind warning.
Originally committed as revision 29538 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-19 08:21:55 +00:00
Reimar Döffinger
7b67bd92f4 Remove useless casts of malloc return value.
Originally committed as revision 29537 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-19 08:18:53 +00:00
Diego Biurrun
386eaeb43f Remove disabled code cruft.
Originally committed as revision 19668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-19 08:15:32 +00:00
Ramiro Polla
1aff375d41 Introduce and use sws_allocVec().
Originally committed as revision 29536 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-19 01:33:17 +00:00
Ramiro Polla
20484b90ec Reuse sws_getConstVec() where possible.
Originally committed as revision 29535 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-19 01:32:06 +00:00
Måns Rullgård
b7904f78c1 AVR32: optimised mathops.h
44% faster MP3 decoding

Originally committed as revision 19667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 02:23:53 +00:00
Ramiro Polla
6b052ba88f swscale-example: Make selection of dstW, dstH, and flags more clear.
Originally committed as revision 29527 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-17 02:06:00 +00:00
Alex Converse
0cc4701a3a Use the AOT enum instead of integer literals for setting and comparing audio
object types.

Originally committed as revision 19666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:17:58 +00:00
Måns Rullgård
d691da9508 AVR32: optimisations for intreadwrite.h
Originally committed as revision 19665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:15:53 +00:00
Måns Rullgård
e482c2e2fb AVR32: inline asm for bswap.h
Originally committed as revision 19664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:15:51 +00:00
Måns Rullgård
fdcd782dd9 configure: add AVR32 names for --cpu flag
Recognise AVR32 processor names as well as the generic "ap" and "uc"
family names as values for --cpu.  Also define two subtypes, avr32_ap
and avr32_uc.

Originally committed as revision 19663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:15:48 +00:00
Alex Converse
8ba939d702 Mark the AOT escape value as supported.
Originally committed as revision 19662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:15:02 +00:00
Alex Converse
08dac48d61 Add USAC and SAOC AOTs to the AudioObjectType enum.
Originally committed as revision 19661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-17 00:14:10 +00:00
Ramiro Polla
c255994b29 More indentation changes leftover from r29522:
- Align asm code to the column 4 spaces after the call to __asm__();
- Align cases in switch statements to the same column as "switch".

Originally committed as revision 29524 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 21:37:07 +00:00
Ramiro Polla
dd68318cee Cosmetics:
- Place curly brackets in the same line as while/for/if/switch/else/do;
- Place curly brackets at column 0 in the next line starting a function.

Originally committed as revision 29523 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 21:11:28 +00:00
Måns Rullgård
9dc6bb7b9f MIPS: 100L: fix AV_[RW]N64 on MIPS64
Originally committed as revision 19660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16 18:43:36 +00:00
Måns Rullgård
4a051891f6 cosmetics: reformat intreadwrite.h
Originally committed as revision 19659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16 18:06:25 +00:00
Måns Rullgård
63826ceb32 intreadwrite: ensure arch-specific versions are always used if defined
The per-arch headers can define any combination of B/L/N variants.
This ensures that whatever is defined in an arch header gets used
for all equivalents not defined there.  E.g. on a little-endian
machine, AV_RN and AV_RL should give the same code.

Originally committed as revision 19658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16 15:51:55 +00:00
Måns Rullgård
57c36bdcea intreadwrite: allow arch-specific 24-bit access macros
Originally committed as revision 19657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16 15:51:52 +00:00
Måns Rullgård
e6956a6e48 ARM: first value loaded in AV_RN64 needs to be early-clobber
Originally committed as revision 19656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16 15:51:50 +00:00
Måns Rullgård
7f6d9b3089 version.sh: use standard sed syntax
Originally committed as revision 19655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-16 15:51:47 +00:00
Ramiro Polla
9b734d44ab Indent libswscale:
- Use 4 spaces throughout for indentation;
- Fix inconsistent indentation;
- Indent function calls and declarations aligning arguments on multiple lines
  to the column after the opening parentheses;
- Align asm code to the column 4 spaces after the call to __asm__();
- Align cases in switch statements to the same column as "switch".

Originally committed as revision 29522 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 00:32:04 +00:00
Diego Biurrun
2513b2b436 Use pkg-config to generate the linker flags for libdirac.
We do the same for libschroedinger and already use pkg-config to generate
the CFLAGS for libdirac anyway, so there is no new dependency.
Thanks to Kovensky for reporting breakage on IRC.

Originally committed as revision 19654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 12:35:15 +00:00
Anuradha Suraparaju
d15f2e00c5 Fix bug caused by difference in stride and picture width.
When a frame is allocated using libschroedinger routines, the frame data size
does not match the actual frame size if the width is not a multiple of 16. So
we cannot do a straightforward memcpy of the frame returned by libschroedinger
into the FFmpeg picture as the stride differs from the width.

Fix this bug by allocating for the libschroedinger frame with the dimensions
in AVCodecContext within libavcodec and passing the frame to libschroedinger.

patch by Anuradha Suraparaju, anuradha rd.bbc.co uk

Originally committed as revision 19653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 11:59:53 +00:00
Diego Biurrun
0ebe3b8e2b cosmetics: indentation, prettyprinting, K&R coding style
Originally committed as revision 19652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 11:42:15 +00:00
Diego Biurrun
c64380009d Drop some more useless braces around if/for constructs.
Originally committed as revision 19651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 11:32:11 +00:00
Diego Biurrun
e6cb49bfa9 Simplify another 'if' condition: Replace 'exp == 0' by '!exp'.
Originally committed as revision 19650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 11:31:42 +00:00
Colin McQuillan
bb937155ec Add a function that can apply an order 2 rational transfer function in-place.
This function will be used in the upcoming AMR-NB floating point decoder for
high-pass filtering.

Patch by Colin McQuillan ( m.niloc googlemail com )

Originally committed as revision 19649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 11:22:55 +00:00
Diego Biurrun
735a38045a Remove useless braces around if/for/while expressions.
Originally committed as revision 19648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 11:12:47 +00:00
Diego Biurrun
7c809dc3e2 Simplify 'if' condition statements.
Drop useless '!= 0' from 'exp != 0', replace 'exp == 0' by '!exp'.

Originally committed as revision 19647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 11:02:50 +00:00
Reimar Döffinger
cea0b5272d Fix start_display_time/end_display_time to be relative to packet pts in xsub decoder.
Makes no difference for the sample AVI files since they all have no packet pts values.

Originally committed as revision 19646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 09:12:58 +00:00
Ramiro Polla
ebe5dec22b Indent.
Originally committed as revision 29518 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-15 02:35:55 +00:00
Reimar Döffinger
4a3190ed40 Reindent.
Originally committed as revision 19645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 00:58:26 +00:00
Reimar Döffinger
fd35d6d097 Remove code that is now dead.
Originally committed as revision 19644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 00:57:24 +00:00
Reimar Döffinger
90ea6fce1e Simplify initialization of AVSubtitle by using memset.
Originally committed as revision 19643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 00:52:41 +00:00
Reimar Döffinger
df47d24501 Make sure AVSubtitle is initialized, memset it to 0.
Originally committed as revision 19642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 00:46:33 +00:00
Reimar Döffinger
266649a52f 100l, error out if subtitle encoder failed instead of writing an AVPacket
with ridiculous size and thus crashing.

Originally committed as revision 19641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 00:37:31 +00:00
Reimar Döffinger
ffbe087b58 Fix cmd_pos bounds check to avoid the overflow case.
Originally committed as revision 19640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-15 00:02:42 +00:00
Carl Eugen Hoyos
84c1b149b2 Fix typo.
Originally committed as revision 19639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-14 16:41:21 +00:00
Ramiro Polla
52154148f4 Vertical yuv -> yuv16 scaler.
Originally committed as revision 29517 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-14 15:52:40 +00:00
Peter Schlaile
562f685307 BGR32 MMX special convertor.
Patch by Peter Schlaile < peter at schlaile dot de >

Originally committed as revision 29515 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-14 02:15:28 +00:00
Måns Rullgård
9ae443f420 10L: remove instruction left over from debugging
Originally committed as revision 19638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-14 01:05:48 +00:00
Måns Rullgård
e814015d69 ARM: NEON optimised vorbis_inverse_coupling
12% faster Vorbis decoding on Cortex-A8.

Originally committed as revision 19637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-14 01:02:06 +00:00
Ramiro Polla
737cbcde08 Indent.
Originally committed as revision 29512 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 19:03:14 +00:00
Ramiro Polla
f51fb686de Introduce av_clip_uint16().
Originally committed as revision 19636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-13 18:47:13 +00:00
Ramiro Polla
d426ea20c9 swscale-example: Don't check for chroma planes in mono formats.
Originally committed as revision 29511 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:39:39 +00:00
Ramiro Polla
48f4c61252 MMX2 horizontal scaler: Determine code size at runtime.
Originally committed as revision 29510 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:31:07 +00:00
Ramiro Polla
0728778885 Protect mmx2 filter code buffers so they are not executable and writeable at
the same time (only mmap for now).

Originally committed as revision 29509 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:29:54 +00:00
Ramiro Polla
b0e1343b85 Remove duplicate define (it is the same in the lum code).
Originally committed as revision 29508 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:28:55 +00:00
Ramiro Polla
bcdedf675f Rename "funny" code to "mmx2 filter" code.
Originally committed as revision 29507 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:28:17 +00:00
Ramiro Polla
475f361308 Indent.
Originally committed as revision 29506 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 13:18:59 +00:00
Ramiro Polla
e55ed689a2 swscale-example: Remove hack to end loop by setting variables to break.
Originally committed as revision 29505 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 11:48:06 +00:00
Ramiro Polla
d7cf0a6ff7 swscale-example: Don't return random value from main().
Originally committed as revision 29504 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 11:34:27 +00:00
Ramiro Polla
f5a9c4ee50 swscale-example: Check for Gray formats.
Originally committed as revision 29503 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 11:33:18 +00:00
Colin McQuillan
d4d6ae1603 Add ff_celp_circ_addf() function to be used for sparse vector circular
convolution in the upcoming AMR-NB floating point decoder. The function scales
and adds a vector, that is lagged by some offset, to another vector with the
same number of elements.

Patch by Colin McQuillan ( m.niloc googlemail com )

Originally committed as revision 19634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-12 19:54:28 +00:00
Shehzad Salim
51fdb6f08d Fix a memleak with win32 threads: the handle returned by _beginthreadex
must be closed (this differs from _beginthread).
Patch by Shehzad Salim (shehzadsalim gmail com)

Originally committed as revision 19633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-12 13:25:37 +00:00
Peter Ross
c0b88f1920 Moves the display of metadata to dump_format()
Originally committed as revision 19632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-12 13:17:39 +00:00
Matti Hamalainen
5f71844e78 Parse ID3 tags in Musepack SV7 files
Patch by Matti Hamalainen (mhamalai@students.oamk.+358)
Thread: [PATCH] 6/6 Add parsing of ID3v2 tags in Musepack SV7 demuxer

Originally committed as revision 19631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-11 17:28:56 +00:00
Matti Hamalainen
311f96a8cc Parse APE metadata tags in Musepack SV7 files
Patch by Matti Hamalainen (to get his mail address remove common endings from
 "mhamalainen@studentsnen.oamknen.finen")
Thread: [PATCH]5/6 Add APE tag metadata reading support in Musepack SV7 demuxer

Originally committed as revision 19630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-11 17:18:10 +00:00
Kostya Shishkov
191e34cd67 Move APE tag parsing into separate module.
Based on patch by Matti Hamalainen (mhamalai<mot>students<punkt>oamk<punkt>)

Originally committed as revision 19629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-11 17:08:09 +00:00
Matti Hamalainen
6984380c61 Do not use internals of ByteIOContext during APE tags parsing.
Patch by Matti Hamalainen, mail = reverse("if.kmao.stneduts@ialamahm")
Thread: [PATCH] 2/6 Fix broken APE tag key handling

Originally committed as revision 19628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-11 16:55:49 +00:00
Matti Hamalainen
22667e40be Remove incorrect APE tag size adjustment based on flags.
Patch by Matti Hamalainen (mhamalai <luona> students <piste> oamk <piste> fi)
Thread: [PATCH] 1/6 Remove incorrect APE tag size adjustment based on flags

Originally committed as revision 19627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-11 16:43:44 +00:00
Alexis Ballier
ffd38d8b64 Use RGB5x5LE, RGB5x5BE, BGR5x5LE and BGR5x5BE instead of their native
endian counterparts.

Patch by Alexis Ballier, alexis D ballier gmail

Originally committed as revision 19626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-11 16:18:55 +00:00
Loren Merritt
d094052c8e fix a crash in SVQ1 with cmp!=sad
Originally committed as revision 19625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-11 07:04:33 +00:00
Aurelien Jacobs
7a9c86e9f8 avidec: simplify, using av_rescale_q() instead of av_rescale()
Originally committed as revision 19624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 20:53:32 +00:00
Aurelien Jacobs
2bf74f4955 actually define AVSEEK_FLAG_FRAME as described in avformat_seek_file() doc
Originally committed as revision 19623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 20:48:05 +00:00
Aurelien Jacobs
8306be9c3b matroskadec: disable h264 parser as long as it totally mess up frame type
Originally committed as revision 19622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 18:12:02 +00:00
Aurelien Jacobs
194d4b494b matroskadec: correctly parse flags for simpleblock frames
Originally committed as revision 19621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 18:06:14 +00:00
Måns Rullgård
aef6bd1bdd Fix dependency generation with ccache/gcc
When running behind ccache, the output from -MMD is corrupted unless
we also use the -MF and -MT flags.

Since ccache is difficult to detect and gcc 2.x doesn't support the
-MF and -MT flags, we always use the old dependency generation method
when gcc 2.x is detected.

Originally committed as revision 19620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 17:25:46 +00:00
Måns Rullgård
8f0c157aaa configure: fix gcc detection for v2.95
Originally committed as revision 19619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 17:25:42 +00:00
Diego Biurrun
c5e86106fb cosmetics: whitespace, prettyprinting, coding style fixes
Originally committed as revision 19618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 16:35:36 +00:00
Daniel Verkamp
740e89cf83 Sony Wave64 demuxer
patch by Daniel Verkamp, daniel drv nu

Originally committed as revision 19617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 16:27:33 +00:00
Diego Biurrun
3d7b15e450 Remove disabled code cruft.
Originally committed as revision 19616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 13:42:16 +00:00
Diego Biurrun
10f840bd57 Remove pointless #ifdefs from conditionally used files.
Originally committed as revision 19615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 12:34:36 +00:00
Diego Biurrun
9bb3f3edfe Remove disabled debug code.
Originally committed as revision 29485 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-10 10:53:32 +00:00
Alexander Strange
2704bd1a09 Fix the EBX available configure check on Darwin/i386.
-mdynamic-no-pic is required for it, but it was only
added to CFLAGS and the check only used ASFLAGS.

Originally committed as revision 19614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 08:18:05 +00:00
Måns Rullgård
87a920c6bf eval: include libavutil/mathematics.h for NAN and M_PI
Originally committed as revision 19613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 01:27:33 +00:00
Måns Rullgård
9a88c1dfa8 eval: include our headers after system headers
Originally committed as revision 19612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 01:27:30 +00:00
Måns Rullgård
bd41c06f18 Define INFINITIY and NAN in mathematics.h if missing
Originally committed as revision 19611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 01:27:27 +00:00
Ramiro Polla
184410e60b Put some altivec code under COMPILE_ALTIVEC, and not HAVE_ALTIVEC.
Originally committed as revision 29484 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-09 15:34:57 +00:00
Kostya Shishkov
df226e6369 Remove 'offset' argument from PUTRGB* macros since it's unneeded and caused
pixel swapping during some YUV2RGB conversions.

Originally committed as revision 29483 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-09 15:04:17 +00:00
William R. Zwicky
5a8597a00a Document the output of ffmpeg -formats.
Patch by William R. Zwicky, wrzwicky pobox com

Originally committed as revision 19610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-09 10:42:38 +00:00
Måns Rullgård
07dec06e6a Generate dependencies while compiling if supported by compiler
Originally committed as revision 19609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-08 18:27:27 +00:00
Måns Rullgård
c1c3933a98 Generate dependencies when object files are built
Originally committed as revision 19608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-08 18:27:22 +00:00
Diego Biurrun
0bf18ed32d Remove disabled crufty code.
Originally committed as revision 29482 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-08 15:18:48 +00:00
Aurelien Jacobs
188842ef7a fix riff subtitle timebase
Originally committed as revision 19607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-07 23:57:52 +00:00
Diego Biurrun
966116b9f7 Remove some hunks of unused and disabled code cruft.
Originally committed as revision 19606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-07 14:53:31 +00:00
Diego Biurrun
547d205545 Remove commented-out cruft.
Originally committed as revision 19605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-06 15:48:19 +00:00
Måns Rullgård
8b93ddc340 configure: allow comma-separated list in --enable/disable-thing=name
The argument to these options is now a comma-separated list of shell
patterns, e.g. --disable-decoder='indeo*,rv*'

Originally committed as revision 19604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-06 15:45:25 +00:00
Måns Rullgård
be8f2501dd configure: allow wildcards in --enable/disable-thing=name
The name can now be a standard shell pattern.  For example,
--disable-encoder=* disables all encoders.

Originally committed as revision 19603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-06 15:45:22 +00:00
Måns Rullgård
d22c13a8df configure: support --cpu=host to tune for the host system
This requires a gcc version with -march=native or -mcpu=native support,
which is somewhat random for non-x86.

Originally committed as revision 19602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-06 15:45:19 +00:00
Diego Biurrun
1746e2a936 Make WMV2 encoder depend on H.263 encoder in configure.
Originally committed as revision 19601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-06 15:04:59 +00:00
Diego Biurrun
c37de5e194 Make MPEG-4 encoder depend on H.263 encoder in configure.
Originally committed as revision 19600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-06 13:04:48 +00:00
Diego Biurrun
665507aac2 Make WMV1 encoder depend on H.263 encoder in configure.
Originally committed as revision 19599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-06 12:56:25 +00:00
Diego Biurrun
0bd485300e Do not check for both CONFIG_H263_ENCODER and CONFIG_FLV_ENCODER.
The latter can never be enabled without the former.

Originally committed as revision 19598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 15:27:22 +00:00
Diego Biurrun
4d4b4bd149 Make FLV encoder depend on H.263 encoder in configure.
Originally committed as revision 19597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 15:26:54 +00:00
Diego Biurrun
965424dad1 Do not check for both CONFIG_H263_ENCODER and CONFIG_H263P_ENCODER.
The latter can never be enabled without the former.

Originally committed as revision 19596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 15:22:16 +00:00
Diego Biurrun
fe629c2d2c Make H.263+ (H263P) encoder depend on H.263 encoder in configure.
Originally committed as revision 19595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 15:21:36 +00:00
Diego Biurrun
4e169d89f3 Declare the dependencies of the MSMPEG4v1/MSMPEG4v2/MSMPEG4v3 encoders on the
H.263 encoder in configure.

Originally committed as revision 19594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 13:02:04 +00:00
Diego Biurrun
735e36a3e4 Do not redundantly check for preprocessor definitions of CONFIG_RV10_ENCODER or
CONFIG_RV20_ENCODER when also checking for CONFIG_H263_ENCODER.
The RV10/RV20 encoders depend on the H.263 encoder.

Originally committed as revision 19593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 10:46:43 +00:00
Diego Biurrun
b2bf38b446 Declare the dependency of RV10/RV20 encoder on the H.263 encoder in configure.
Originally committed as revision 19592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 10:44:12 +00:00
Benoit Fouet
3106f48981 Add a Changelog entry for noX handling for OPT_BOOL X.
Originally committed as revision 19591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 06:14:39 +00:00
Justin Ruggles
bb5b99a789 cosmetics: move fixed_coeffs into the aligned arrays comment group
Originally committed as revision 19590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 02:37:49 +00:00
Justin Ruggles
a521aadfe8 cosmetics: reindent after last commit
Originally committed as revision 19589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 02:31:13 +00:00
Justin Ruggles
25dcd1823c ac3dec: simplify zero-bit mantissa dithering by calculating it
conditionally during mantissa decoding, then only removing it from the
coupling range for coupled channels which do not use dithering.

Originally committed as revision 19588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 02:30:34 +00:00
Justin Ruggles
b972c06a8f cosmetics: indentation and line wrap
Originally committed as revision 19587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:58:28 +00:00
Justin Ruggles
c36ea0600c cosmetics after last commit
Originally committed as revision 19586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:14:28 +00:00
Justin Ruggles
3f93716809 Modify decode_band_structure() so that the actual band structure is only
used within the function.  This removes the need to have the coupling band
structure stored in the AC3DecodeContext.

Originally committed as revision 19585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:13:42 +00:00
Justin Ruggles
603139022d Use coupling band sizes instead of coupling band structure when
calculating coupling transform coefficients.

Originally committed as revision 19584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-05 01:00:41 +00:00
Ronald S. Bultje
faccfeec0e Parse frame size code, see "svq3.c: parse frame size" thread on ML.
Originally committed as revision 19583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-04 21:55:47 +00:00
Ronald S. Bultje
73f04f5e7d Make me maintainer of rtp_asf.*
Originally committed as revision 19582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-04 21:43:53 +00:00
Benoit Fouet
98ae6acfee Make 'stats' a bool option again.
To disable stats, use -nostats option.

Originally committed as revision 19581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-04 09:26:33 +00:00
John Adcock
3f87f39cb8 Update x264 asm code to latest to add support for 64-bit Windows.
Use the new x86inc features to support 64-bit Windows on all non-x264 nasm
assembly code as well.
Patch by John Adcock, dscaler.johnad AT googlemail DOT com.
Win64 changes originally by Anton Mitrofanov.
x86util changes mostly by Holger Lubitz.

Originally committed as revision 19580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-04 07:42:55 +00:00
Diego Biurrun
d8c2f8f71f Split RV10 encoder off into its own file.
Originally committed as revision 19579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 23:22:46 +00:00
Diego Biurrun
b6767d6d9b Split RV20 encoder into its own file.
Originally committed as revision 19578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 23:07:08 +00:00
Justin Ruggles
eb98cdfa8d cosmetics: add more detailed information to the documentation for
decode_band_structure().

Originally committed as revision 19577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 22:05:31 +00:00
Jeff Downs
81b44c42d5 Cosmetic: Reindent after last commit
Originally committed as revision 19576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 17:55:02 +00:00
Jeff Downs
ca6493ab40 Revert r18344. Fixes at least issue 1218, 1221, and 1187), see master
issue 1221 for details.
Briefly, out of bounds field mvs in field pictures would cause a crash.

Originally committed as revision 19575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 17:54:11 +00:00
Colin McQuillan
d5652f38fb Correct the sign of the arithmetic in ff_celp_lp_zero_synthesis_filterf()
Patch by Colin McQuillan ( m.niloc googlemail com )

Originally committed as revision 19574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 17:15:01 +00:00
Diego Biurrun
f7e1353523 Move AVCodec declarations for RV10/20 from mpegvideo_enc.c to rv10.c.
It is better to keep the declarations in conditionally compiled places.

Originally committed as revision 19573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 15:23:53 +00:00
Benoit Fouet
b1d6e5e8ad Handle noX for OPT_BOOL X.
Originally committed as revision 19572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 09:24:39 +00:00
Colin McQuillan
33ae681f5c Expose QCELP's floating-point LSP-to-LPC function
qcelp_lsp exported a single function, ff_acelp_lspd2lpc, which was not
specific to qcelp. It can be kept with its fixed-point version
ff_acelp_lsp2lpc in lpc.c.

Patch by Colin McQuillan ( m.niloc googlemail com )

Originally committed as revision 19571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 08:37:02 +00:00
Colin McQuillan
1e1e02eacd Make the LSP naming more consistent
Use the convention from lsp.c: an LSF is a frequency, an LSP is the
cosine of an LSF, and LSP functions should have an ff_acelp prefix.
Use a "d" suffix to specify doubles.

Patch by Colin McQuillan ( m.niloc googlemail com )

Originally committed as revision 19570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 08:31:20 +00:00
Justin Ruggles
b5fe06abf0 Replace 5 with AOT_SBR when referring to the MPEG-4 audio object type.
Originally committed as revision 19569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-03 02:09:23 +00:00
Ramiro Polla
c15508dc93 Use enums instead of int.
Originally committed as revision 19568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 17:42:40 +00:00
Diego Biurrun
c959c6ee3d vfwcap: Move vfw_read_close to avoid forward declaration.
Patch by Diego.

Originally committed as revision 19567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 17:39:10 +00:00
Diego Biurrun
e4d65ba590 Remove commented-out cruft.
Originally committed as revision 19566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 15:10:03 +00:00
Diego Biurrun
4d8eecf475 Make XVMC mpegvideo decoder depend on mpegvideo decoder.
It makes no sense to enable the former without the latter.

Originally committed as revision 19565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 14:47:26 +00:00
Diego Biurrun
b25a881851 cosmetics: K&R coding style, prettyprinting
Originally committed as revision 19564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 13:35:42 +00:00
Sascha Sommer
da136c7e05 add approved hunks of the wmapro decoder
Originally committed as revision 19563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 12:57:07 +00:00
Diego Biurrun
577d383b0c cosmetics: K&R coding style
Originally committed as revision 19562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 10:50:59 +00:00
Diego Biurrun
954489244e cosmetics: K&R coding style
Originally committed as revision 19561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 10:34:30 +00:00
Baptiste Coudurier
6b620372a8 cosmetics, reindent
Originally committed as revision 19560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 08:47:02 +00:00
Baptiste Coudurier
ee5b26f5ff cosmetics, reindent
Originally committed as revision 19559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 08:46:43 +00:00
Baptiste Coudurier
4546bf4116 fix jpeg parser when PARSER_FLAG_COMPLETE_FRAMES is set
Originally committed as revision 19558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-02 08:46:11 +00:00
Guennadi Liakhovetski
062394e07c Fix regression when converting to nv12/nv21.
Patch by Guennadi Liakhovetski,  g D liakhovetski A gmx D de

Originally committed as revision 29464 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-01 21:30:36 +00:00
Måns Rullgård
cbf298899d RTMP needs tcp_protocol
Originally committed as revision 19557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-31 07:40:35 +00:00
Kostya Shishkov
9fd6b84360 RTMP protocol support (as a client)
Originally committed as revision 19556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-31 06:49:36 +00:00
Jeff Downs
abbe30ad89 Make av_always_inline a no-op when --disable-optimizations is supplied to
configure

Originally committed as revision 19555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 22:41:05 +00:00
Baptiste Coudurier
9ebdf3ec93 Increase audio queue size in FFplay so files with big audio/video delay
like mov can play nicely.

Originally committed as revision 19554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 22:19:45 +00:00
Diego Biurrun
75af07495a Revert addition of '#undef av_always_inline' to config.h in the small case.
Instead, #include config.h at the top of common.h so that av_always_inline
does not get doubly defined.

Originally committed as revision 19553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 21:58:43 +00:00
Baptiste Coudurier
1e1a0b1845 Display stats by default in FFplay and increase refresh time.
Change -stats cli option to take int, so stats can be disabled.

Originally committed as revision 19552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 21:54:50 +00:00
Diego Biurrun
8b4e7c28fb Mark conditionally used variable T2 as av_unused; avoids the warning:
libavutil/sha.c:183: warning: unused variable `T2'

Originally committed as revision 19551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 21:21:30 +00:00
Diego Biurrun
8b44de14d1 Change av_log() calls surrounded by '#ifdef DEBUG' into dprintf macros.
Originally committed as revision 19550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 21:00:08 +00:00
Diego Biurrun
7881793dd0 Remove unused debug av_log() calls.
Originally committed as revision 19549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 20:57:41 +00:00
Jeff Downs
e12e2848a3 Undefine av_always_inline before setting it to an empty value.
This avoids a ton of redefinition warnings.
patch by Jeff Downs, heydowns borg com

Originally committed as revision 19548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 20:28:07 +00:00
Baptiste Coudurier
46c9eb57d0 cosmetics, remove spaces after '(' and before ')'
Originally committed as revision 19547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 19:14:57 +00:00
Baptiste Coudurier
0fd7cf116b init pes dts and pts to AV_NOPTS_VALUE, fix issue #1297
Originally committed as revision 19546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 18:29:06 +00:00
Ramiro Polla
155b0f00d4 vfwcap: Indent.
Originally committed as revision 19545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 17:31:28 +00:00
Ramiro Polla
1c0b9215ac vfwcap: Support compressed streams.
Originally committed as revision 19544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 17:29:24 +00:00
Ramiro Polla
42477de59e vfwcap: Reorder some code to simplify next patch.
Originally committed as revision 19543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 17:25:15 +00:00
Ramiro Polla
d40b45e8b0 vfwcap: Return PIX_FMT_NONE instead of -1 on error.
Originally committed as revision 19542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 16:18:33 +00:00
Ramiro Polla
189230ad67 vfwcap: Update error message:
- Verbose debug information is at max -v 9 now;
- Add an empty space for readability.

Originally committed as revision 19541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 16:16:43 +00:00
Ronald S. Bultje
7a4a64e7ab Remove old_flags variable, which is a duplicate of the flags variable.
Originally committed as revision 19540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 15:05:33 +00:00
Ronald S. Bultje
34bddc39b4 Don't use a pointer-to-flags/timestamp in ff_rm_parse_packet(); the function
used to return packet data, which might update the flags/timestamp to be
used for the next packet data returned by the demuxer. However, that was
separated out into a new function, and the flags/timestamp are thus never
updated within ff_rm_parse_packet() anymore, and thus do not need to be
a pointer.

Originally committed as revision 19539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 15:04:19 +00:00
Baptiste Coudurier
e4b8d05d47 return EOF in image2 demuxer
Originally committed as revision 19538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 08:21:11 +00:00
Diego Biurrun
07fd17823f Remove unused variable intra_count.
Originally committed as revision 19537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 07:33:16 +00:00
Måns Rullgård
b6ec1f47c7 PPC: fix asm operand constraints in AV_RL64
The target register of first word loaded must be marked early-clobber.

Originally committed as revision 19536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 19:06:55 +00:00
Diego Biurrun
18b55f639a Remove pointless '#ifdef DEBUG' around dprintf macro.
Originally committed as revision 19535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 17:12:47 +00:00
Diego Biurrun
700363afe7 Only enable WMV3 decoder when it has been turned on in the build system.
Originally committed as revision 19534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 11:31:52 +00:00
Diego Biurrun
9be6f0d2f8 Do not check for both CONFIG_VC1_DECODER and CONFIG_WMV3_DECODER,
the former depends upon the latter.

Originally committed as revision 19533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 09:54:49 +00:00
Diego Biurrun
e0f58e39c4 Do not check for both CONFIG_VC1_VDPAU_DECODER and CONFIG_WMV3_VDPAU_DECODER,
the former depends upon the latter.

Originally committed as revision 19532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 09:54:00 +00:00
Diego Biurrun
fe3608d577 Do not check for CONFIG_VC1_VAAPI_HWACCEL, the file is only
compiled if that condition is true.

Originally committed as revision 19531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 09:51:51 +00:00
Baptiste Coudurier
d46c84ea31 Stop parsing in read_header only after finding pmt, and
do not close pat filter so further pmt can be parsed.
Fix issue #1294.

Originally committed as revision 19530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-29 02:17:08 +00:00
Niobos
1aae34890c rename freq to period which is more correct, patch by Niobos, niobos dot be at gmail dot com
Originally committed as revision 19529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 17:51:12 +00:00
Diego Biurrun
ff736f84e2 Use dprintf() instead of '#ifdef DEBUG' and av_log().
Originally committed as revision 19528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 12:50:32 +00:00
Måns Rullgård
bea81a52c9 Replace BUILD_{SHARED,STATIC} with CONFIG_ counterparts
Originally committed as revision 19527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 08:58:48 +00:00
Måns Rullgård
cd78208bd6 Enable PIC unconditionally on OpenBSD
Originally committed as revision 19526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 08:58:42 +00:00
Måns Rullgård
ac0bed5491 configure: always write PIC flags to config.mak
Originally committed as revision 19525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 08:58:36 +00:00
Måns Rullgård
a15b0af815 configure: enable PIC in per-arch section instead of separately
Originally committed as revision 19524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 08:58:33 +00:00
Martin Storsjö
9d3f4f5070 Fix typo in MinGWCE support in configure.
Patch by Martin Storsjö and Måns.

Originally committed as revision 19523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 08:50:58 +00:00
Ramiro Polla
469fd9b0e1 MMX2 scaler: Remove {} block leftover from factorization in initMMX2Scaler().
Merge variable declarations to previous {} block and indent.

Originally committed as revision 29454 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:45:47 +00:00
Ramiro Polla
f1c6dfa371 MMX2 scaler: factorize initMMX2Scaler().
Originally committed as revision 29453 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:42:46 +00:00
Ramiro Polla
901775c714 MMX2 scaler: add variable to ease factorization of initMMX2Scaler().
Originally committed as revision 29452 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:41:22 +00:00
Ramiro Polla
cbdc08d5a6 Indent.
Originally committed as revision 29451 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:14:47 +00:00
Ramiro Polla
fb91df397a Remove duplicate horizontal scaling when there aren't enough lines in a slice
to output the dstY line.

Originally committed as revision 29450 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:13:36 +00:00
Ramiro Polla
571d9587cf Remove useless code.
flags can never be any other kind of scaling algorithm inside this if().

Originally committed as revision 29449 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 04:46:39 +00:00
Måns Rullgård
341f394f0d ARM: cleaner selection of ELF-spefic assembler directives
Originally committed as revision 19522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 22:55:55 +00:00
Martin Storsjö
1aa71e258d MinGWCE support in configure; networking is disabled for now.
patch by Martin Storsjö, martin martin st and Ismail Dönmez, ismail namtrac org

Originally committed as revision 19521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 16:14:57 +00:00
Diego Biurrun
ce6636b1c1 Remove disabled function get_num().
It is small and has been disabled and unused for more than four years.

Originally committed as revision 19520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 16:10:38 +00:00
Ronald S. Bultje
acfe8faf29 Cosmetics: remove spaces between function name and arguments in declaration,
and put return type ("static void") on the same line as function name.

Originally committed as revision 19519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 14:32:54 +00:00
Colin McQuillan
202a6697ba Use named initializers and use new/free_context() instead of extradata()
for context allocators. Patch by Colin McQuillan m niloc googlemail com.

Originally committed as revision 19518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 14:29:06 +00:00
Ronald S. Bultje
fccb1770e6 Implement support for EOS as used by WMS and other RTSP servers that do not
implement RTCP/bye. See "[PATCH] rtsp.c: EOS support" thread from a few
months back.

Originally committed as revision 19517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 14:03:53 +00:00
Ronald S. Bultje
c2f3eec445 Implement RTSP-MS/ASF packet parsing - this completes RTSP-MS support. See
discussion in "[PATCH] RTSP-MS 14/15: ASF packet parsing" thread on mailinglist.

Originally committed as revision 19516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 14:00:10 +00:00
Martin Storsjö
e9a832e508 Change type of received_sigterm variable from sig_atomic_t to int,
which is more portable (works on Windows CE).
patch by Martin Storsjö, martin martin st

Originally committed as revision 19515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 13:01:44 +00:00
Martin Storsjö
e21a892163 Conditionally compile ELF-specific ARM assembly bits that fail on Windows CE.
patch by Martin Storsjö, martin martin st

Originally committed as revision 19514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 12:53:44 +00:00
Martin Storsjö
fbf7e805b0 Only consider -1 as an error return value for open().
This is:
 - what Posix says (-1 on error, >=0 on success)
 - fixing a bug on winCE (<0 sometimes)

Patch by Martin Storsjö: martin martin st

Originally committed as revision 19513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 12:36:22 +00:00
Ramiro Polla
94daf2e94c Do not misuse HAVE_ defines. Introduce COMPILE_TEMPLATE_ defines and use them
instead.

Originally committed as revision 29446 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-27 06:47:41 +00:00
Ramiro Polla
18c61752fd Factorize x86 fast_bilinear assembly.
Originally committed as revision 29445 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-27 06:22:00 +00:00
Ramiro Polla
6d08d7f3c8 Fix assembly comments for x86 fast_bilinear so they match the C code.
Originally committed as revision 29444 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-27 06:20:17 +00:00
Janne Grunau
6dc13ccbcc Set subtitle type in DVD and XSUB subtitle decoders.
Patch by Janne Grunau <ja?ne-f?mpeg jannau net>.

Originally committed as revision 19512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 23:08:04 +00:00
Diego Biurrun
7e4ceabe7c Remove unnecessary mpeg12data.o entries from OBJS- variables.
Originally committed as revision 19511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 21:22:57 +00:00
Diego Biurrun
81a65673a5 Remove duplicated mpeg12data.o entries.
Originally committed as revision 19510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 21:04:12 +00:00
Ronald S. Bultje
2078ca16ee Add handling of EAGAIN at packet boundaries. See "[PATCH] RTSP-MS 14/15:
ASF packet parsing" thread for discussion / reasoning.

Originally committed as revision 19509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 19:09:35 +00:00
Måns Rullgård
a898cdc995 Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
Originally committed as revision 29439 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-26 12:26:32 +00:00
Måns Rullgård
63613fe615 Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
Originally committed as revision 19508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-26 12:20:04 +00:00
Aurelien Jacobs
84c04e2519 fix various compilation dependencies
Originally committed as revision 19507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-24 21:28:44 +00:00
Aurelien Jacobs
23251d751b fix compilation of cavsvideo demuxer
Originally committed as revision 19506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-24 21:28:03 +00:00
Martin Storsjö
a2f4324bb6 Check for HAVE_ISATTY.
Patch by Martin Storsjö <martin at martin dot st>

Originally committed as revision 19505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-24 00:13:59 +00:00
Martin Storsjö
abfc8d056e Check for the isatty function.
Patch by Martin Storsjö <martin at martin dot st>

Originally committed as revision 19504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-24 00:12:55 +00:00
Måns Rullgård
b6f3d925ca configure: some small simplifications
Originally committed as revision 19503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-23 23:30:54 +00:00
Måns Rullgård
e45391bb32 configure: add some blank lines to improve readability
Originally committed as revision 19502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-23 23:30:50 +00:00
Måns Rullgård
78d01adaa7 Remove unnecessary #include <unistd.h>
Originally committed as revision 29437 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-23 15:23:03 +00:00
Diego Biurrun
d15153244f refactoring: properly separate AC-3 and E-AC-3 code
Originally committed as revision 19501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-23 02:33:25 +00:00
Diego Biurrun
89547cfb36 Make sure that eac3_decoder only gets enabled when CONFIG_EAC3_DECODER is set.
Originally committed as revision 19500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-23 00:15:23 +00:00
Måns Rullgård
3aab27b459 Remove useless #include <unistd.h> from many files
Originally committed as revision 19499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 23:37:53 +00:00
Diego Biurrun
7f4e15e2f4 cosmetics: Reorder some tables/lines to make future diffs smaller.
Originally committed as revision 19498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 23:33:58 +00:00
Diego Biurrun
84ef7e7fc3 #include just the required stdint.h instead of libavutil/common.h.
Originally committed as revision 19497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:57:17 +00:00
Diego Biurrun
4c4b50530e cosmetics: small typo fixes
Originally committed as revision 19496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:43:43 +00:00
Diego Biurrun
7d90972c84 cosmetics: reindent/prettyprint after last commit
Originally committed as revision 19495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:38:26 +00:00
Diego Biurrun
31cf61b447 Only compile in NEON optimizations for H.264 when the H.264 decoder is enabled.
Originally committed as revision 19494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:33:33 +00:00
Måns Rullgård
adcb219081 Move output redirection of deps generation from make rule to DEPEND_CMD
Originally committed as revision 19493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:30:20 +00:00
Diego Biurrun
99e5a9d1ea Do not redundantly check for both CONFIG_THEORA_DECODER and CONFIG_VP3_DECODER.
The Theora decoder depends on the VP3 decoder.

Originally committed as revision 19492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 22:27:10 +00:00
Diego Biurrun
4eef77c1a3 Make Theora decoder depend on the VP3 decoder.
Practically all the code is shared.

Originally committed as revision 19491 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 21:36:50 +00:00
Måns Rullgård
df5e397839 configure: group tests for compiler characteristics together
Originally committed as revision 19490 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 20:41:41 +00:00
Måns Rullgård
a036c1b537 configure: set -mdynamic-no-pic flag in main darwin section
Originally committed as revision 19489 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 20:41:39 +00:00
Måns Rullgård
d90330dc20 configure: remove special flags for XLC on Darwin
Rationale:
- Current versions of XLC accept gcc flags
- XLC can't compile FFmpeg

Originally committed as revision 19488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 20:41:35 +00:00
Måns Rullgård
55b290c690 configure: remove some darwin-related cruft
Originally committed as revision 19487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 20:41:31 +00:00
Måns Rullgård
2dfa305438 Fix building of tools/*
Fixes issue 1282

Originally committed as revision 19486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 16:14:59 +00:00
Måns Rullgård
fa0912fe50 configure: group all cpu-specific tests together
Originally committed as revision 19485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 16:05:24 +00:00
Diego Biurrun
b06da1725a Add missing stdint.h #include to fix 'make checkheaders'.
Originally committed as revision 19484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 15:11:00 +00:00
Carl Eugen Hoyos
6c2a778d38 Remove unused global variable.
Originally committed as revision 19483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 08:28:58 +00:00
Carl Eugen Hoyos
9276b8f0cc Calculate gradient from parameter instead of using a global variable.
Originally committed as revision 19482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 08:26:17 +00:00
Alex Converse
04e257fa84 Revert unintended portion of last commit. (Setting the default coder to
twoloop.)

Originally committed as revision 19481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 03:56:08 +00:00
Alex Converse
a62d6cfeff Be sure to increment our position in the coefficient array when skipping a zero
band in the twoloop scalefactor search.

Originally committed as revision 19480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-22 03:53:30 +00:00
Ramiro Polla
804db4466d Remove unused variables.
Originally committed as revision 29435 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-21 20:17:15 +00:00
Måns Rullgård
62a0525d3b x11grab: remove unnecessary #includes and senseless #define
Originally committed as revision 19479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-21 14:32:05 +00:00
Carl Eugen Hoyos
07874f2298 Due to a typo in videogen.c, the regression test videos were not as
complex as originally planned.
Typo fixed (the background moves less linear now) and regression test
results updated.

Originally committed as revision 19478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-21 10:37:23 +00:00
Diego Biurrun
baf91bb9a3 Make E-AC-3 decoder depend on the AC-3 decoder.
It is impossible to build E-AC-3 without AC-3.

Originally committed as revision 19477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-21 09:03:45 +00:00
Kostya Shishkov
b31ac3c8dd Register some additional AMF types in libavformat/flv.h
Originally committed as revision 19476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-21 07:18:14 +00:00
Måns Rullgård
0a8958c849 ARM: handle VFP register arguments in ff_vector_fmul_window_neon()
Originally committed as revision 19475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 22:30:27 +00:00
Måns Rullgård
ce742de22c ARM: check for VFP register arguments
Originally committed as revision 19474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 22:30:24 +00:00
Alex Converse
5cf20d07ad Remove an unused field from the BandCodingPath struct.
Originally committed as revision 19473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 21:52:03 +00:00
Alex Converse
0193992252 Actually use all the codebooks we are iterating over in the two-loop scalefactor search.
Originally committed as revision 19472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 20:32:27 +00:00
Måns Rullgård
89f2932baf configure: make --extra-cflags cumulative again
Originally committed as revision 19471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 19:00:59 +00:00
Alex Converse
932e6a5a4c Fix an integer overflow in the AAC encoder.
Originally committed as revision 19470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 18:27:17 +00:00
Diego Biurrun
87a844316c Merge AMR and OpenCORE documentation sections.
Originally committed as revision 19469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 10:45:03 +00:00
Diego Biurrun
e82dc4c91e Make VP6A/VP6F decoders depend on the VP6 decoder.
They share so much code that enabling one without the other is pointless.

Originally committed as revision 19468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-20 09:24:59 +00:00
Diego Biurrun
6410134000 Remove two more lines related to the WMV3 decoder.
They are now enabled by the VC-1 decoder.

Originally committed as revision 19467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-19 11:14:43 +00:00
Diego Biurrun
015f8ee009 Make WMV3 decoders depend on their VC-1 counterparts.
They share so much code that enabling one without the other is pointless.

Originally committed as revision 19466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-19 11:07:10 +00:00
Måns Rullgård
6fec122af7 Support building with TI TMS470 compiler
Originally committed as revision 19465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-19 10:52:35 +00:00
Diego Biurrun
5e567aae48 Consistently lowercase all HTML tags.
Originally committed as revision 19464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-19 10:44:36 +00:00
Diego Biurrun
63d72fdaf2 If any input/output devices are enabled then indevs/outdevs should
get enabled, not demuxers/muxers.

Originally committed as revision 19463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-19 10:40:28 +00:00
Stefano Sabatini
58ad770f92 Use globally consistent include guard names.
Originally committed as revision 19462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-19 09:38:58 +00:00
Stefano Sabatini
8beb41783a Replace two occurrences of 'vfwcap_demuxer' with 'vfwcap_indev', I
missed them in r19293. Re-enable version check on w32api.h if the
vfwcap input device has been selected.

Originally committed as revision 19461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-18 10:38:53 +00:00
Carl Eugen Hoyos
0e57fe17eb Allow enabling alsa and jack devices.
Originally committed as revision 19460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-18 09:32:26 +00:00
Alex Converse
3d51be014c Replace pow(x, 0.75) with sqrtf(x * sqrtf(x)) for a 33% speedup.
Originally committed as revision 19459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 14:21:49 +00:00
Diego Biurrun
4e67aedd6a Make sure that tests/seek_test.o gets deleted on 'make clean'.
Closes issue 1273.

Originally committed as revision 19458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 14:08:06 +00:00
Alex Converse
c369e83608 Dead code removal in the AAC encoder.
Originally committed as revision 19457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 14:06:53 +00:00
Måns Rullgård
24524f36a1 configure: improve detection of out-of-tree builds
Originally committed as revision 19456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 13:10:26 +00:00
Måns Rullgård
980a75c5a5 configure: remove some useless comments
Originally committed as revision 19455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 13:10:23 +00:00
Carl Eugen Hoyos
36904c4c9f Icc 11.1 still does not align the stack pointer, disable some x264 functions.
Originally committed as revision 19454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 09:07:38 +00:00
Måns Rullgård
e7ea5e3d8d Check for __attribute__((packed)) support
Not all compilers claiming to be gcc support this attribute.

Originally committed as revision 19453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 08:21:43 +00:00
Måns Rullgård
df5cdc24b9 configure: handle --cpu before running compiler
It is possible that the compiler requires flags set by the --cpu
option, so we should not attempt to run it before those flags have
been added.

Originally committed as revision 19452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 08:21:41 +00:00
Måns Rullgård
a915980acd configure: simplify --cpu handling slightly
Originally committed as revision 19451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 08:21:37 +00:00
Kostya Shishkov
87d718aefc cosmetics: reindent after last commit
Originally committed as revision 19450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 04:30:49 +00:00
Kostya Shishkov
aa5a99ae0c Add SHA-2 hashing
Originally committed as revision 19449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-17 04:30:06 +00:00
Alex Converse
6bb17c5155 Add iirfilter to the TESTPROGS variable (and target)
Originally committed as revision 19448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:39:50 +00:00
Lou Logan
64cd805071 Rename invalid option name "gop" to "g" in opt_target(), so that
-target *-dvd works correctly.

Patch by Lou Logan <$firstname@fakeoutdoorsman com>.

Originally committed as revision 19447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:32:41 +00:00
Måns Rullgård
b0f0c43051 Use CPPFLAGS when building tests
Originally committed as revision 19446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:29:17 +00:00
Måns Rullgård
88ec6ac9e4 configure: do not warn about mismatching altivec/cpu selection
We do not issue similar warnings for other architectures, and we
generally assume users know what they want.

Originally committed as revision 19445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:29:15 +00:00
Alex Converse
a5762c9b59 When calculating AAC quantized band cost, don't leave garbage in the bit count
for the 0 codebook.

Originally committed as revision 19444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:20:17 +00:00
Alex Converse
ca0f1e5092 IIR filter test program.
Originally committed as revision 19443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 22:17:20 +00:00
Diego Biurrun
359a9979ad cosmetics: Move some code blocks to reduce the number of #ifdefs.
Originally committed as revision 19442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 21:37:58 +00:00
Martin Storsjö
1eb0811e8d Update project URL for OpenCORE AMR.
patch by Martin Storsjö, martin martin st

Originally committed as revision 19441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 16:12:57 +00:00
Martin Storsjö
2b2c2a8179 Fix check_func_headers. The reference to the function under test was being
optimized out by gcc when the headers lied about the function existing,
rendering the test useless in that situation.
This new test throws a warning in mingw-w64, but that should not be a problem.
Patch by Martin Storsjö <martin at martin dot st>

Originally committed as revision 19440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-16 16:02:50 +00:00
Måns Rullgård
973859f523 Disable gcc auto-vectorisation
The auto-vectoriser in gcc is enabled by default at -O3 since version
4.3.  However, it provides no speed benefit, but does produce incorrect
code on many targets.  Disabling it for gcc should give more reliable
builds.

If the adventurous want it back, they can edit the makefile themselves.

Originally committed as revision 19439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 19:02:07 +00:00
Måns Rullgård
89e053f83d Require aligned memory for everything that needs it
Altivec, NEON, and SSE require more alignment than standard malloc()
guarantees, whereas MMX does not.  Update checks to reflect this.

Originally committed as revision 19438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 18:33:12 +00:00
Diego Biurrun
bd20afc401 Skip the check for SSE aligned memory allocators when SSE is disabled.
Fixes issue 1269.

Originally committed as revision 19437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 12:23:38 +00:00
Art Clarke
ebb82604b0 Only free '*ic_ptr' when a caller has pre-allocated a context and passed it in
(wherein av_open_input_file assumes memory ownership).
Patch by Art Clarke a<surname> xuggle com

Originally committed as revision 19436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 10:00:16 +00:00
Frank Barchard
65b875d8fc print atom info during parsing, patch by Frank Barchard, fbarchard at google dot com
Originally committed as revision 19435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 08:57:27 +00:00
Måns Rullgård
ad420e25e2 Use normal check_func test for math functions
Originally committed as revision 19434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 08:22:06 +00:00
Martin Storsjö
73c1326809 Use ff_neterrno instead of errno in tcp.c.
If ff_neterrno() is checked instead of errno, that's probably what should be
used in the return value.
As a sideeffect, this gives better compatibility with Windows (CE), where
network errors aren't visible in errno.)
patch by Martin Storsjö, martin martin st

Originally committed as revision 19433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-15 05:52:49 +00:00
Janne Grunau
d6a1611cc2 Set subtitle type in DVB subtitle decoder.
Patch by Janne Grunau <j?nne-f?mpeg@jannau?net>.

Originally committed as revision 19432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-14 23:12:43 +00:00
Martin Storsjö
f4c1387249 Improve linker check for Winsock library name.
On Windows CE, the Winsock library name is ws2, not ws2_32.
patch by Martin Storsjö, martin martin st

Originally committed as revision 19431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-14 14:02:09 +00:00
Diego Biurrun
1764e4bc5a Remove unnecessary rtsp.h #include.
Nothing from the header was used and it caused trouble on Windows CE.

Originally committed as revision 19430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-14 13:50:05 +00:00
Alex Converse
2876a9dbaf Use cutoff frequency to adjust bandwidth in the generic psymodel preprocess.
Originally committed as revision 19429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-14 05:22:23 +00:00
Måns Rullgård
19b4c62883 Set default flag filters before compiler detection
This allows use of the add_*flags functions in the compiler detection
section.

Originally committed as revision 19428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-13 22:46:10 +00:00
Martin Storsjö
b9349ff4ca Install the mingw import libraries, too.
Patch by Martin Storsjö <martin at martin dot st>

Originally committed as revision 19427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-13 21:59:26 +00:00
Martin Storsjö
336cc1b0ee Enable creation of microsoft-style import libraries on arm.
Patch by Martin Storsjö <martin at martin dot st>

Originally committed as revision 19426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-13 19:08:27 +00:00
İsmail Dönmez
b504ce57ed Only #define lseek to _lseeki64 on MinGW, not MinGW CE.
This fixes compilation on WinCE, which does not support _lseeki64.
patch by Ismail Dönmez, ismail namtrac org

Originally committed as revision 19425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-13 17:16:36 +00:00
David Conrad
3e962f315b Fix "warning: assignment discards qualifiers from pointer target type"
Originally committed as revision 19424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-13 01:59:48 +00:00
Art Clarke
870ee6f715 Fix memory leak in libtheora encoder
Patch by Art Clarke [aclark , xuggle . com]

Originally committed as revision 19423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-13 01:59:45 +00:00
Måns Rullgård
38a9c529e2 Use add_*flags only after compiler-specific configuration
Originally committed as revision 19422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 23:03:08 +00:00
Måns Rullgård
caf458dda4 Allow filtering of flags passed to compiler and assembler
This can be used to map gcc-type flags to equivalents with other
compilers.

Originally committed as revision 19421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 22:44:05 +00:00
Diego Biurrun
647c2356a6 Make (de)muxers for format variants select the main format (de)muxer.
It makes little sense to enable the variant without the main format.

Originally committed as revision 19420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 22:31:05 +00:00
Måns Rullgård
d8059267bc Place flags for dependency generation in DEPFLAGS
This avoids duplicating the full DEPEND_CMD line only to change some
flags.

Originally committed as revision 19419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 22:28:24 +00:00
Måns Rullgård
ce40e3470c Set CPPFLAGS in config.mak using normal assignment
Setting this value using ?= caused some trouble if it was already
defined in the environment.

Originally committed as revision 19418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 21:14:00 +00:00
Måns Rullgård
8c6d2da5be Protect config.mak against multiple inclusion
Some of the values set here are modified by the main makefiles
and should not be reset when config.mak is included again.

Originally committed as revision 19417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 21:13:57 +00:00
Stefano Sabatini
04a803bef4 Append the user CPPFLAGS value to the CPPFLAGS used for compilation,
rather than prepend it.

This way there is the guarantee that the included headers are those in
the FFmpeg sources, rather than pre-installed headers referenced by
the user CPPFLAGS.

Originally committed as revision 19416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 15:50:25 +00:00
Måns Rullgård
0115927eae Use CFLAGS in default DEPEND_CMD
Originally committed as revision 19415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 14:13:34 +00:00
Måns Rullgård
9e7f32775c Use CFLAGS in check_cpp
Originally committed as revision 19414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 14:13:32 +00:00
Måns Rullgård
75bafbac7b Set as_default after compiler detection, allowing compiler-specific defaults
Originally committed as revision 19413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:55 +00:00
Måns Rullgård
2f2e6c7ce1 Pass ASFLAGS to assembler instead of CFLAGS
Originally committed as revision 19412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:53 +00:00
Måns Rullgård
7f32f40c89 Add flags from --extra-cflags after compiler detection
Originally committed as revision 19411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:51 +00:00
Måns Rullgård
997f3ba4ef Set CPU selection flags in $cpuflags, add to cflags outside case block
Originally committed as revision 19410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:48 +00:00
Måns Rullgård
7e6c86e65d Allow unusual ways of specifying compiler output file
Some compilers do not use the typical -c -o foo.o style.
This allows compiler-specific equivalents to be set by the
configure script.

Originally committed as revision 19409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:46 +00:00
Måns Rullgård
50567afa5a Use DEPCC to find dependencies, default to same as CC
Originally committed as revision 19408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:43 +00:00
Måns Rullgård
684b28e09c Use LD for linking, default to same as CC
Originally committed as revision 19407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:40 +00:00
Måns Rullgård
3198f6187a Set CFLAGS directly in config.mak instead of using OPTFLAGS
Originally committed as revision 19406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:38 +00:00
Måns Rullgård
467256f248 Add --sysroot flag to CPPFLAGS, not CFLAGS
Originally committed as revision 19405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:35 +00:00
Måns Rullgård
50a334e426 Separate C preprocessor flags into CPPFLAGS variable
Originally committed as revision 19404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:29:32 +00:00
Diego Biurrun
95a61cfc24 Make VAAPI/VDPAU variant of decoder foo depend on decoder foo.
The VAAPI/VDPAU variants of foo require almost all of the code of foo.
Thus it makes little sense to enable just the accelerated variant.
This allows refactoring some object dependencies in the Makefiles.

Originally committed as revision 19403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 13:22:01 +00:00
Stefano Sabatini
68485d2728 Remove useless definition of struct AVCLASS.
Originally committed as revision 19402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 11:30:42 +00:00
Måns Rullgård
fed5d54b56 configure: allow bulk-disabled things to be re-enabled by dependents
Originally committed as revision 19401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-12 00:17:42 +00:00
Alex Converse
36f517736f Cosmetics: reindent after last commit
Originally committed as revision 19400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 21:54:06 +00:00
Alex Converse
6308765cb5 Ignore subsequent channel configurations after the first in an AAC file. The
current code doesn't handle them properly, and they are a dubious construction
at best.

Originally committed as revision 19399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 21:53:04 +00:00
Alex Converse
c8ec2f1cb8 Mark iir filter init and free functions av_cold.
Originally committed as revision 19398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 20:55:15 +00:00
Alex Converse
47f49f98ca Fix "iirfilter.c:55: warning: unused variable ‘size’"
Originally committed as revision 19397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 20:51:22 +00:00
Alex Converse
e187d87d7d Eliminate use of complex.h from iirfilter.c
Originally committed as revision 19396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 20:45:13 +00:00
Alex Converse
291fd18a6e Add a log2 replacement for systems that haven't quite caught up with the C99
standard library.

Originally committed as revision 19395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 19:20:06 +00:00
Kostya Shishkov
451ae25724 Prepare SHA code to handle SHA-2 as well. For now rename files and functions
and leave av_sha1_* functions for compatibility until next major bump.

Originally committed as revision 19394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 15:50:49 +00:00
Ramiro Polla
71ecc16b09 cygwin documentation: diffutils is part of the Utils packages.
Originally committed as revision 19393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-10 00:16:20 +00:00
Alex Converse
6892931b0b Add myself as AAC encoder maintainer
Originally committed as revision 19392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 17:35:56 +00:00
Alex Converse
988c170547 Change fminf/fmaxf to FFMIN/FFMAX to fix the build on broken operating systems.
Originally committed as revision 19391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 17:22:59 +00:00
Måns Rullgård
181b336304 Fix declarations of complex numbers
Complex numbers must be declared using a base type of float, double,
or long double.

Originally committed as revision 19390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 10:16:00 +00:00
Kostya Shishkov
0d73abb86a Rename function to sha1_transform so it won't be confused with SHA-2 transform
when it's added.

Originally committed as revision 19389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 07:29:03 +00:00
Kostya Shishkov
2c6361e009 Use pointer to hash transform function to make adding SHA-2 support easier.
Originally committed as revision 19388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 07:23:43 +00:00
Kostya Shishkov
3a7c65077d cosmetics: vertical align AVSHA1 members
Originally committed as revision 19387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 07:15:30 +00:00
Kostya Shishkov
01cc628845 Extend AVSHA1 so it can be used in future SHA-2 code as well
Originally committed as revision 19386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 07:14:07 +00:00
Kostya Shishkov
4364fc9a0d Document SHA-1 functions and structures
Originally committed as revision 19385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 07:07:01 +00:00
Ramiro Polla
71ed6c8f06 Remove dependency from swscale_internal.h to lavu/internal.h, it is no longer
needed for DECLARE_ALIGNED.
Remove dependency from swscale-example.c to swscale_internal.h by duplicating
the necessary code. The duplicated code is a hack and should be removed once a
cleaner pixel format information system exists. swscale-example.c is example
code on how to use the library and therefore shouldn't rely on internal
headers.

Originally committed as revision 29415 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-09 02:27:39 +00:00
Ramiro Polla
16c2e21488 Move DECLARE_ALIGNED and DECLARE_ASM_CONST back from lavu/internal.h to
lavu/mem.h.

Originally committed as revision 19384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 02:20:29 +00:00
Ramiro Polla
4b2be143cd Do not throw compiler error if asm code needs alignment, but we do not know
how to do it for this compiler. This removes a dependency of config.h on the
DECLARE_* macros.

Originally committed as revision 19383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-09 02:18:29 +00:00
Alex Converse
f11bfe3065 Reindent after last commit
Originally committed as revision 19382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:14:47 +00:00
Alex Converse
48d20c11ba Prevent AAC frame size overflows.
Originally committed as revision 19381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:12:53 +00:00
Alex Converse
5962f6b0da Refactor windowing and early psy from bitstream writing parts of the AAC encoder.
Originally committed as revision 19380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:10:13 +00:00
Alex Converse
7a4eebcdce Turn on AAC rate control.
Originally committed as revision 19379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 23:04:22 +00:00
Diego Biurrun
c8f47d8b79 cosmetics: Remove unnecessary {} around if/for blocks;
move statements after if/for to the next line.

Originally committed as revision 19378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 21:36:33 +00:00
Diego Biurrun
99d61d340c cosmetics: prettyprinting, K&R style, break overly long lines
Originally committed as revision 19377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 21:16:06 +00:00
Alex Converse
fd257dc4c0 Cosmetics: Pretty print the AAC encoder.
Originally committed as revision 19376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 20:36:45 +00:00
Alex Converse
78e65cd772 Merge the AAC encoder from SoC svn. It is still considered experimental.
Originally committed as revision 19375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 20:01:31 +00:00
Reimar Döffinger
5e039e1b4c Add extra validation checks to ff_vorbis_len2vlc.
They should not be necessary, but it seems like a reasonable precaution.

Originally committed as revision 19374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 19:39:23 +00:00
Reimar Döffinger
1de4ba7155 Make sure that values generated for ff_vorbis_len2vlc in
vorbis_parse_setup_hdr_codebooks are in the valid range (<=32).

Originally committed as revision 19373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 19:31:04 +00:00
Alexis Ballier
287fff266f Add PIX_FMT_ARGB encoding to qtrle.
Patch by Alexis Ballier, alexis ballier gmail

Originally committed as revision 19372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 14:58:16 +00:00
Phil Rutschman
5a1e202b87 Add block_align to sox input.
Patch by Phil Rutschman: name.surname modsystems com

Originally committed as revision 19371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 08:52:56 +00:00
Art Clarke
56c6cf287b Fix mem leak when user preallocates an AVFormatContext, passes it to
av_open_input_file(), but the file does not exist.
Patch by Art Clarke a$(surname) xuggle com

Originally committed as revision 19370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-08 08:26:57 +00:00
Diego Biurrun
5c56e74697 Baptiste will maintain qt-faststart from now on.
Originally committed as revision 19369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-07 22:00:13 +00:00
Diego Biurrun
0a4a0aa708 Mention removal of libamr support in the changelog.
Originally committed as revision 19368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-07 21:39:49 +00:00
Diego Biurrun
6ae5c1f0fb whitespace cosmetics: Realign colums after last commit.
Originally committed as revision 19367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-07 09:33:53 +00:00
Diego Biurrun
36b38500b6 Check for CONFIG_LIBFOO_DECODER/CONFIG_LIBFOO_ENCODER instead of just
CONFIG_LIBFOO in the external libraries section.
This is more consistent with the rest of the Makefiles, it makes clearer what
is actually implemented and should be advantageous if we implement an external
library encoder where we previously just had the decoder and vice versa.

Originally committed as revision 19366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-07 09:33:08 +00:00
Diego Biurrun
fc1206a4d9 Remove support for nonfree libamr library for AMR-NB/WB decoding/encoding.
libopencore can now be used as a replacement except for AMR-WB encoding.

Originally committed as revision 19365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-07 00:28:16 +00:00
Aurelien Jacobs
df2bd71aeb flvdec: expose metadata through the generic metadata API
original patch from Art Clarke  aclarke _at_ xuggle _dot_ com

Originally committed as revision 19364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 21:54:37 +00:00
Aurelien Jacobs
09e54e1ff8 flvdec: re-enable metadata parsing
duration and videodatarate values are actually useful
original patch from Art Clarke  aclarke _at_ xuggle _dot_ com

Originally committed as revision 19363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 21:49:33 +00:00
Aurelien Jacobs
8caa0f0651 flvdec: don't set format and codec context from metadata values
This has proven to be useless and even harmfull since r18460 (expect
for duration and videodatarate).
original patch from Art Clarke  aclarke _at_ xuggle _dot_ com

Originally committed as revision 19362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 21:46:37 +00:00
Reimar Döffinger
96f0731a26 Check for packet_length 0, it is already treated as invalid by the padding check,
but that resulted in a confusing/wrong error message.

Originally committed as revision 19361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 17:08:32 +00:00
Reimar Döffinger
4f76697b3e Change av_free to av_freep
Originally committed as revision 19360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 16:49:36 +00:00
Reimar Döffinger
16c8318513 Reallocate internal buffer when coded frame size changes.
Fixes out-of-bounds reads and writes with i32/smclocki32.avi.1.0 from issue 1240.

Originally committed as revision 19359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 16:48:23 +00:00
Reimar Döffinger
28bcc76ab7 Change iv_decode_frame to get AVCodecContext as argument, so that
avcodec_check_dimensions can be called with a proper context instead of NULL.

Originally committed as revision 19358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 16:45:12 +00:00
Reimar Döffinger
c79c960ade Remove useless ret variable added in last revision again.
Originally committed as revision 19357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 10:28:58 +00:00
Reimar Döffinger
7cda815044 100l, theora_decode_init must pass on errors from vp3_decode_init
Originally committed as revision 19356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 09:35:00 +00:00
Reimar Döffinger
c4b7b8bf9c Make decode_init fail if the huffman tables are invalid and thus init_vlc fails.
Otherwise this will crash during decoding because the vlc tables are NULL.
Partially fixes ogv/smclock.ogv.1.101.ogv from issue 1240.

Originally committed as revision 19355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 09:22:39 +00:00
Frank Barchard
31457d7a2e Do not fail if 'uuid' atom is encountered before 'moov'.
Patch by Frank Barchard, fbarchard at google dot com.

Originally committed as revision 19354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 05:36:14 +00:00
Diego Biurrun
d03936e5aa libfaac no longer claims to be LGPL.
Originally committed as revision 19353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-06 05:22:50 +00:00
Diego Biurrun
29ce043374 The AltiVec code in libswscale no longer is under GPL.
Remove one erroneous preprocessor check for CONFIG_GPL in the AltiVec code.

Originally committed as revision 29412 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-05 20:10:59 +00:00
Reimar Döffinger
e13cca4b14 Ensure that the filter limit values do not exceed the maximum allowed value of 127.
Originally committed as revision 19351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 18:27:39 +00:00
Reimar Döffinger
7fa5f9990b Extend init_loop_filter to work for filter limit values up to 127 instead
of only up to 64. 127 is the maximum value allowed by the theora specification.

Originally committed as revision 19350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 18:25:58 +00:00
Reimar Döffinger
ad92108694 Add a check to vp6_parse_coeff_huffman to ensure it does not overread the input buffer.
Originally committed as revision 19349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 16:01:51 +00:00
Aurelien Jacobs
7576516a7e vp56dec: ensure range coder won't read past the end of input buffer
Originally committed as revision 19348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 15:23:42 +00:00
Reimar Döffinger
5be5daf1e5 Check that palctrl is available on init instead of crashing when trying to use
it on decode.
Fixes mpeg2/smclockmpeg2.avi.2.1 from issue 1240.

Originally committed as revision 19347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-05 12:14:05 +00:00
Loren Merritt
e30004fa73 fix a buffer overrun on corrupt huffyuv streams
Originally committed as revision 19346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 23:59:10 +00:00
David Conrad
2483298ae2 ARM: NEON VP3 IDCT
15% faster VP3/Theora, 10% faster VP6

Originally committed as revision 19345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 20:41:11 +00:00
Reimar Döffinger
82c9182fe3 If the end of the input buffer is reached while decoding MJPEG and at least
a valid SOF was found, emulate an EOI.
This allows e.g. to at least decode the available part of incomplete MJPEG frames.

Originally committed as revision 19344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 18:24:43 +00:00
Reimar Döffinger
1496b04c28 Make the MJPEG decoder return -1 when no image was decoded so that decode
errors are actually recognizable as such.

Originally committed as revision 19343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 18:22:33 +00:00
Reimar Döffinger
643fd8a198 Add a got_picture flag to MJpegDecodeContext which indicates if its picture
element is valid. Skip the code handling SOS and EOI if not, since it can not
work without a valid AVPicture.
This fixes a crash with mjpeg/smclockmjpeg.avi.1.0 from issue 1240 where the
decoder returned an invalid AVPicture.

Originally committed as revision 19342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 18:20:35 +00:00
Reimar Döffinger
b27bf2a7b4 mjpegdec: check that the coded dc_index and ac_index have a valid associated VLC table.
Removes some disabled dc_index/ac_index checking code that seems to have had
some undocumented issues and should not really be necessary anymore now.
Fixes from issue 1240 the files mjpeg/smclockmjpeg.avi.1.10 and mjpeg/smclockmjpeg.avi.1.171.

Originally committed as revision 19341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 12:54:36 +00:00
Carl Eugen Hoyos
340e230392 Use enum CodecID instead of int.
Fixes the following icc warning:
warning #188: enumerated type mixed with another type

Originally committed as revision 19340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 08:18:03 +00:00
Baptiste Coudurier
4eba9cdd07 fix and simplify long gop mpeg codec ul computation
Originally committed as revision 19339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 08:02:01 +00:00
Baptiste Coudurier
df1550f081 set index duration to 0 for cbr, specifying whole container coverage
Originally committed as revision 19338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 07:56:58 +00:00
Baptiste Coudurier
76b092e207 use ber4 length for descriptors preferred by specs
Originally committed as revision 19337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 07:52:28 +00:00
Baptiste Coudurier
6a43aab01b write profile and level local tag in mpeg descriptor
Originally committed as revision 19336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 07:49:12 +00:00
Alexander Strange
e5f61b94a1 H.264: Check the return value of decode_vui_parameters()
Files with invalid VUI are now rejected like
other invalid SPS are.

Fixes issue1231.

Originally committed as revision 19335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-04 07:46:58 +00:00
Reimar Döffinger
11d058b7b3 Replace invalid Theora frame rate by 25 FPS.
Avoids division by 0 due to e.g. time_base denominator being 0.

Originally committed as revision 19334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 11:31:09 +00:00
Reimar Döffinger
3dcddf82ed Check for failed extradata malloc, fixes a crash in out-of-memory conditions
or with extremely large extradata.

Originally committed as revision 19333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 11:27:52 +00:00
Reimar Döffinger
5a4a4d7839 Check size of "strf" header against size of enclosing "LIST" if there is one.
Originally committed as revision 19332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 11:26:14 +00:00
Reimar Döffinger
b098b30905 Fix indentation
Originally committed as revision 19331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 11:18:56 +00:00
Reimar Döffinger
68a10b40bc Avoid divisions by 0 in the ASF demuxer if packet_size is not valid.
Originally committed as revision 19330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 11:18:07 +00:00
Alexander Strange
0410ee8f86 H.264: Don't set data_partitioning for invalid NAL_DPA.
Before, the decoder could interpret a corrupt frame
as a NAL_DPA and NAL_DPC, and then start decoding
even if decode_slice_header() returned an error.
This frequently caused crashes.

Fixes issue1228, issue1229, and partially issue1238.

Originally committed as revision 19328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-03 05:52:00 +00:00
Art Clarke
bda1ad1e73 Cleanup properly at the end of MPEG Audio parsing.
Patch by Art Clarke (aclarke AT xuggle com)

Originally committed as revision 19327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-02 13:13:20 +00:00
Michael Niedermayer
e7e5d1e990 If either of num or den is 0 make both 0 in av_set_pts_info().
Originally committed as revision 19326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-02 12:47:58 +00:00
Michael Niedermayer
d218a86a0d Make sure av_set_pts_info() does not set the fields of a timebase to
negative values.

Originally committed as revision 19325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 20:52:48 +00:00
Baptiste Coudurier
6be8b20466 Revert r19317, "simplify slice_end, return size of output frame".
It returns non decodable B-frames.

Originally committed as revision 19324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 20:35:28 +00:00
Michael Niedermayer
fb6ecd7285 indent
Originally committed as revision 19323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 20:34:16 +00:00
Michael Niedermayer
37458d7e1b Make sure we dont read over the end.
Fixes issue1237.

Originally committed as revision 19322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 20:30:37 +00:00
Stefano Sabatini
edb501c45b Add an explanation and complete the metadata usage example.
Originally committed as revision 19320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 20:11:53 +00:00
Michael Niedermayer
dec14949a6 Make arguments of av_set_pts_info() unsigned.
Fixes issue1240/mpeg1/smclockmpeg1.avi.3.1

Originally committed as revision 19319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 18:50:31 +00:00
Måns Rullgård
ec62d942ea Fix potentially unaligned accesses in ff_copy_bits()
A pointer should never be assigned a value which may have less than the
required alignment of the target type.  Compilers may assume pointer
values have the required alignment, and emit normal load/store instructions.

Unaligned pointers should use a character type or compiler-specific
type modifiers.

Originally committed as revision 19318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 17:48:22 +00:00
Baptiste Coudurier
f7f1eb6cc9 simplify slice_end, return size of output frame
Originally committed as revision 19317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 17:29:52 +00:00
Kostya Shishkov
39c601b5e7 RV3/4 intra types array causes alignment issues (at least on ARM5), thus change
its stride and offset to always have align 4.

Originally committed as revision 19316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 15:08:02 +00:00
Frank Barchard
06a497afab Use slightly more appropriate format strings for printing decimal values.
patch by Frank Barchard, fbarchard google com

Originally committed as revision 19315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 13:46:26 +00:00
Måns Rullgård
b4b9170234 Use enum PixelFormat in sws_format_name() prototype
Originally committed as revision 29409 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-01 12:40:28 +00:00
Måns Rullgård
4a30fff60d Fix argument type mismatches for av_picture_crop and av_picture_fill
Originally committed as revision 19314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 10:36:18 +00:00
Baptiste Coudurier
fb0a835ff4 add missing \n to error message
Originally committed as revision 19313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 06:48:27 +00:00
Måns Rullgård
6816f8b8e4 ADPCM: remove unreachable break statement after return
Originally committed as revision 19312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 00:55:17 +00:00
Måns Rullgård
300ad6c16e ARM: use gcc inline asm in bswap.h only when available
Originally committed as revision 19311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 00:55:15 +00:00
Jason Garrett-Glaser
fe022ce2f8 Fix libx264.c to not drop SEI userdata from x264 encoder.
Most muxers in ffmpeg ignore the SEI if it is placed in extradata, so instead
it has to be catted to the front of the first video frame.

Originally committed as revision 19310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 23:45:01 +00:00
Frank Barchard
cb28f95454 Use more portable 'PRId64' instead of 'llx' as conversion/length specifier.
patch by Frank Barchard, fbarchard google com

Originally committed as revision 19309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 15:11:51 +00:00
Måns Rullgård
d6ced96317 ARM: enable fast_unaligned when --cpu=armv[67] is specified
Originally committed as revision 19308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 12:46:09 +00:00
Reimar Döffinger
8d8409ca9f Fix nalsize check to avoid an integer overflow that made the check
incorrect for nalsize > INT_MAX - buf_index

Originally committed as revision 19307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 12:11:29 +00:00
Michael Niedermayer
0444a8c534 Update seek regression checksums due to:
r19300
  Rewrite mp3 parser. New code is much simpler and does not drop
  stuff at random.

Originally committed as revision 19306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 11:28:53 +00:00
Baptiste Coudurier
b399b932b7 cosmetics, change case and comments alignment
Originally committed as revision 19305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 07:43:32 +00:00
Baptiste Coudurier
61f9e3c16a correctly compute frame flags with closed gop
Originally committed as revision 19304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 07:41:40 +00:00
Stefan Gehrer
470de55aa1 fix slice header checking
Originally committed as revision 19303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 06:44:32 +00:00
Michael Niedermayer
822d0a6e0c Drop code that attempts to decode frames that are prefixed by junk.
Too often it ends up decoding random data into noise without detecting
it (for example after seeking of some MP3 data with oddly often occurring
startcode emulation).
Fixes issue1154.

Originally committed as revision 19302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 03:57:27 +00:00
Kostya Shishkov
f3ac96e4d8 Support RGB48 PNG decoding
Originally committed as revision 19301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 03:37:20 +00:00
Michael Niedermayer
2073fc84ff Rewrite mp3 parser. New code is much simpler and does not drop
stuff at random.

Originally committed as revision 19300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-30 03:12:50 +00:00
Alex Converse
ad92558754 Use av_log_missing_feature in the ADTS encoder. (Pseudo reverts r19173).
Originally committed as revision 19299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 22:48:07 +00:00
Måns Rullgård
07a8eef699 Fix build on Net/OpenBSD
The renaming in r19293 missed a few things.

Originally committed as revision 19298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 20:45:49 +00:00
Stefano Sabatini
4e622deaab Cosmetics: group together indev/outdev dependencies.
Originally committed as revision 19297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 20:00:58 +00:00
Ronald S. Bultje
684aa30251 Add doxy to av_log_missing_feature() etc. stating that the function is
primarily intended for internal use in lavc/lavf, not for use in apps.

Originally committed as revision 19296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 19:17:03 +00:00
Ronald S. Bultje
4811f89bc6 Move av_log_missing_feature() from the internal.h to the public avcodec.h
header file.

Originally committed as revision 19295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 19:11:53 +00:00
Ronald S. Bultje
ce863d7f36 Rename ff_log_missing_feature() to av_log_missing_feature().
Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 19:07:04 +00:00
Stefano Sabatini
38e54a75ab Make the configure script select the input/output devices using
--enable-indev, --enable-outdev rather than --enable-demuxer,
--enable-muxer as before, same for disabling them.

Originally committed as revision 19293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 18:49:15 +00:00
Michael Niedermayer
d004179e19 indent
Originally committed as revision 19292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 18:37:29 +00:00
Michael Niedermayer
3fd5a75b07 id3v2.4.0 uses syncsafe integers for sizes of frames.
Fixes issue1234
Fixes regression introduced in r19275

Originally committed as revision 19291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 18:36:49 +00:00
David Conrad
29024501b7 Revert r19149 "Disable native Vorbis encoder"
Originally committed as revision 19290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 09:02:07 +00:00
Stefano Sabatini
2b75bde648 Remove inconsistent use of a @brief command in av_write_trailer()
doxy.

Originally committed as revision 19289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-28 21:05:46 +00:00
Stefano Sabatini
d1b9adf252 Use consistently the third person in doxy, as recommended by the
javadoc specs.

Originally committed as revision 19288 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-28 21:01:51 +00:00
Stefano Sabatini
5227bd63a6 Fix braino.
Originally committed as revision 19287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-28 20:25:08 +00:00
Carl Eugen Hoyos
a3a55b7848 Icc does not support attribute flatten, do not try to use it.
Originally committed as revision 19286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-28 18:28:27 +00:00
Stefano Sabatini
39a4f14643 Update ffmpeg documentation regarding metadata setting. -title,
-author, -copyright, -track, -album, and -year options have been
dropped in favor of -metadata.

Originally committed as revision 19285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-27 13:26:35 +00:00
Carl Eugen Hoyos
da4c2dab17 Remove superfluous const.
Originally committed as revision 19284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-27 10:26:27 +00:00
Carl Eugen Hoyos
a10de6dc4b Replace an occurence of -1 by PIX_FMT_NONE, fixes icc warning #188:
enumerated type mixed with another type

Originally committed as revision 19283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-27 08:39:56 +00:00
Carl Eugen Hoyos
06be9d9d8e Icc 11.1 does not support attributes force_align_arg_pointer, alloc_size and cold.
Originally committed as revision 19282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-27 08:34:04 +00:00
Vladimir Voroshilov
d266709055 Pitch delay decoding
Originally committed as revision 19281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-26 17:43:05 +00:00
Vladimir Voroshilov
2b0691349f Replace pitch_delay_int array with single variable.
Originally committed as revision 19280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-26 17:42:25 +00:00
Jason Garrett-Glaser
01a3c821a2 Handle variable input stream pixfmts using the same framework introduced
by the variable frame size patch.  Fixes at least issue 1165.

Originally committed as revision 19279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-26 01:08:26 +00:00
Stefano Sabatini
c2b3565e4a Only link against alsa if enabled.
Originally committed as revision 19278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 23:21:40 +00:00
Adrian Stutz
30b1fff69c Only checks for jack if it is enabled and hence only links to jack if
it is not disabled.

Patch by Adrian Stutz $firsname@sttz ch.

Originally committed as revision 19277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 22:48:49 +00:00
Diego Biurrun
8b1a644177 AltiVec code and runtime cpudetect do not require CONFIG_GPL.
Make sure the latter is only checked for x86 optimizations, which are GPL.

Originally committed as revision 29390 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-25 20:06:03 +00:00
Michael Niedermayer
1cd4422163 Fix id3v2.2 frame size parsing.
Fixes issue1202.

Originally committed as revision 19276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 19:44:44 +00:00
Michael Niedermayer
47f42aec38 Fix id3v2.3/4 tag size parsing.
Fixes issue1106

Originally committed as revision 19275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 19:26:39 +00:00
Baptiste Coudurier
57011a13d6 use AVFormatContext->probesize in av_find_stream_info and raise default to 5M
Originally committed as revision 19274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 19:10:27 +00:00
Baptiste Coudurier
d23612efe1 Only set CODEC_ID_PROBE when a packet from a stream having a PES header
is read.

Originally committed as revision 19273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 19:01:16 +00:00
Baptiste Coudurier
af122d6a80 limit raw packet buffer size used for codec probing
Originally committed as revision 19272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 18:48:57 +00:00
Diego Biurrun
57f6d52a22 The AltiVec optimizations of libswscale are no longer under GPL.
Originally committed as revision 29389 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-25 11:27:36 +00:00
Diego Biurrun
e912c13ad7 PPC: Make sure that COMPILE_C is not deactivated if RUNTIME_CPUDETECT is set.
Originally committed as revision 29388 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-25 10:14:05 +00:00
Baptiste Coudurier
d862fce758 only set par if it does not indicates a rotation, ex iphone 3GS
Originally committed as revision 19271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-25 00:17:47 +00:00
Ronald S. Bultje
91d19d471b Remove any reference to ASFContext.packet_size and replace it with
AVFormatContext.packet_size. See "[PATCH] asf*.c/h: use
AVFormatContext->packet_size instead of own copy" thread on ML.

Originally committed as revision 19270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 23:04:05 +00:00
Diego Biurrun
a752069dba Split developer documentation off from general documentation.
Originally committed as revision 19269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 22:58:58 +00:00
Stefano Sabatini
d171a651db Rewrite doxy for av_strtod().
Originally committed as revision 19268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 22:35:11 +00:00
Justin Ruggles
c1c206b343 flvdec: Build a Speex header during FLV demuxing using required and
default values. This is needed because FLV files with Speex do not
contain a Speex header, which is necessary for stream copy.

Originally committed as revision 19267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 22:10:53 +00:00
Haruhiko Yamagata
c173a0881f Improve wording: s/reseted/reset
Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 12:10:20 +00:00
Reimar Döffinger
e1c1b0ff09 Reindent after last patch.
Originally committed as revision 19265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 09:40:00 +00:00
Reimar Döffinger
3fe4d5d4e6 mov demuxer: Track the current position also for streams that have AVDISCARD_ALL set.
This allows for seamless switching of e.g. audio streams, with the previous code
playback started always from the beginning when removing AVDISCARD_ALL.

Originally committed as revision 19264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 09:38:42 +00:00
Reimar Döffinger
5dc5c43bda mov_read_packet: extract code that searches for the stream/sample to demux next
into a separate function.

Originally committed as revision 19263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 08:57:53 +00:00
Reimar Döffinger
a2f3851166 mov_read_packet: if dv_get_packet fails, return exactly its error value
instead of always -1 (makes no real difference currently since dv_get_packet
always returns -1 so far).

Originally committed as revision 19262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 08:50:46 +00:00
Reimar Döffinger
69fc436cbc In mov_read_packet remember the AVStream we want to demux next instead of the
MOVStreamContext. We need the AVStream anyway and it is easier to get the
MOVStreamContext from the AVStream than the other way around.

Originally committed as revision 19261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 08:23:40 +00:00
Vladimir Voroshilov
3c70902bf5 LSF (Line Spectral Frequencies) decoding routine.
Originally committed as revision 19260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 04:38:48 +00:00
Baptiste Coudurier
6a63ff19b6 check stream existence before assignment, fix #1222
Originally committed as revision 19259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-24 03:38:47 +00:00
Haruhiko Yamagata
2722c3a30d Fix H.264 picture reordering, 2nd try.
First, reverted one was r19239.

Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-23 21:03:35 +00:00
Brian Crowell
ce9dd8f509 Make documentation better match the code. Now AVCodecContext.sample_fmt
is used.

Patch by Brian Crowell <($firstname)@fluggo.com>

Originally committed as revision 19257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-23 18:17:15 +00:00
Peter Holik
7995ed8e69 Add support for "chunked" data blocks. Patch by Peter Holik (peter holik at).
Originally committed as revision 19256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-23 15:38:53 +00:00
Kostya Shishkov
74a30595b2 Edge emulation should be used in B-frame MC in mspel mode with
mv_x < 1 or mv_y < 1.

Originally committed as revision 19255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-23 07:41:38 +00:00
Daniel Verkamp
1a40491ef2 Add ff_ prefixes to exported symbols in libavformat/riff.h.
patch by Daniel Verkamp, aniel drv nu

Originally committed as revision 19254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 23:09:34 +00:00
Stefano Sabatini
2795e3573d Consistently rename variables denoting regression reference file(s)
using the _REFFILE(S) postfix, and regression result file(s) using the
_RESFILE(S) postfix.
Improve legibility.

Originally committed as revision 19253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 22:56:18 +00:00
Stefano Sabatini
1c2744d139 Export av_strtod() to eval.h.
Originally committed as revision 19252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 22:22:40 +00:00
Ronald S. Bultje
b394438e8a Document making AVFormatContext.packet_size unsigned API change.
Originally committed as revision 19251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 16:54:17 +00:00
Ronald S. Bultje
92400be255 Change packet_size from signed to unsigned, since it never has a negative
value. Currently, this is only used in qcp.c and mpegenc.c, and they are
practically unaffected by this change.

See "[PATCH] make packet_size in AVFormatContext unsigned" thread on ML.

Originally committed as revision 19250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 16:52:02 +00:00
Stefano Sabatini
e877eaacf3 Cosmetics: rename 'name' av_strtod() param to 'numstr'. The new name
is more expressive.

Originally committed as revision 19249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 21:37:05 +00:00
Justin Ruggles
87b4dd3b96 oggenc: Change error log text. An error here does not necessarily mean
corrupted data.

Originally committed as revision 19248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:18:29 +00:00
Justin Ruggles
3f2eadf4fe oggenc: return error value from ogg_build_flac_headers()
Originally committed as revision 19247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:16:48 +00:00
Justin Ruggles
4315aa8b05 cosmetics: spacing and comments
Originally committed as revision 19246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:14:58 +00:00
Justin Ruggles
e9a32230c3 oggenc: check for failed av_mallocz()
Originally committed as revision 19245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 20:13:54 +00:00
Baptiste Coudurier
b27758bc02 Fetch timestamp for the first frame of field only if frame_offset and
next_frame_offset are not set, because second field has next frame offset set
but not frame_offset, otherwise this wrongly fetch timestamp for the
second field.

Originally committed as revision 19244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 03:50:26 +00:00
Baptiste Coudurier
f356fc5799 clarify encoder and decoder opening error messages
Originally committed as revision 19243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-21 01:59:05 +00:00
Carl Eugen Hoyos
a481293f13 Revert unintended hunk of r19241.
Originally committed as revision 19242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 14:51:03 +00:00
Carl Eugen Hoyos
df028e8c6a Revert r19239: It broke four conformance tests.
Originally committed as revision 19241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 14:47:38 +00:00
Vladimir Voroshilov
630c97ff4b Convertion of LSF values to coefficients of linear prediction filter
Originally committed as revision 19240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:36:21 +00:00
Haruhiko Yamagata
6ee0eb38c0 Fix H.264 picture reordering.
Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:16:07 +00:00
Carl Eugen Hoyos
1efe9fd5c0 Fix indentation after last commit.
Originally committed as revision 19238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:10:17 +00:00
Yoshihisa Uchida
d8b2d83473 Fix yamaha adpcm stereo (issue 1117).
Patch by Yoshihisa Uchida, yoshihisa D uchida A gmail

Originally committed as revision 19237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 13:07:21 +00:00
Yoshihisa Uchida
3f3f3ba799 Fix onMetaData property count in flv files (issue 1206).
Patch by Yoshihisa Uchida, yoshihisa D uchida A gmail

Originally committed as revision 19236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 12:52:48 +00:00
Sascha Sommer
4c7615c40e Make remaining run level decode comments doxygen comments
Originally committed as revision 19235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 11:22:25 +00:00
Sascha Sommer
4df8bdeef3 Simplify run level decoding:
- remove unneeded vlc code < 0 check
- reorder vlc code handling so that the unlikely escape decoding
  part comes last
- move overflow check out of the decode loop
- branchless sign conversion

Originally committed as revision 19234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 11:06:48 +00:00
Sascha Sommer
4d67e067e2 Fix indentation after the previous commit
Originally committed as revision 19233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 10:33:18 +00:00
Sascha Sommer
891bd2e5aa Add support for escape coded wmapro run level coefficients
Originally committed as revision 19232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 10:28:55 +00:00
Sascha Sommer
9970c61b4b Introduce WMACoef typedef for decoded coefficients
and change default type to float so that the run level
decoding functionality can be shared with wmapro

Originally committed as revision 19231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 09:05:28 +00:00
Jai Menon
9ed3afcb7f Print meaningful error messages when url_fopen fails.
Originally committed as revision 19230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 09:00:12 +00:00
Wolfram Gloger
896f2b3212 add 0-termination in table, patch by Wolfram Gloger, wmglo at dent dot med dot uni-muenchen dot de
Originally committed as revision 19229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-20 06:09:30 +00:00
Brian Brice
8a4ea200e1 fix dvcprohd 720p channels 3 and 4 audio timestamps, patch by Brian Brice, bbrice at gmail dot com
Originally committed as revision 19228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 21:36:21 +00:00
Michael Kostylev
28c9f06959 Disable network support if required headers cannot be found.
patch by Michael Kostylev, michael.kostylev gmail com

Originally committed as revision 19227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 17:21:13 +00:00
Eric Buehl
352666c17c Support varying frame sizes in a single file.
patch by Eric Buehl, eric.buehl gmail com

Originally committed as revision 19226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 14:43:36 +00:00
Patrick Dehne
d52b90bdb4 Add support for id3 tag parsing for ADTS AAC streams
Patch by Patrick Dehne ( patrick mysonicweb com )

Originally committed as revision 19225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 14:36:47 +00:00
Patrick Dehne
50fcd5be36 Move id3v1/id3v2 handling code from mp3.c to id3v[12].c.
patch by Patrick Dehne, patrick mysonicweb com

Originally committed as revision 19224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 14:03:35 +00:00
Reimar Döffinger
2a04d6e772 Add support for muxing XSUB subtitles to AVI muxer.
Originally committed as revision 19223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 13:26:10 +00:00
Reimar Döffinger
a4276ba2ac Add support for encoding XSUB subtitles. Muxing support is still missing.
Based on code by DivX, Inc., heavily changed by Björn Axelsson [gecko acc.umu.se] and me.

Originally committed as revision 19222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 09:56:35 +00:00
Reimar Döffinger
4bbe788ab7 Add pts field to AVSubtitle, for use by future XSUB encoder (and XSUB decoder
should use it, too).

Originally committed as revision 19221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-19 08:28:07 +00:00
Stefano Sabatini
97668ac7f3 Rename tests/ffmpeg.regression.ref to tests/vsynth.regression.ref,
since that is the name of the corresponding test.

Originally committed as revision 19220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-18 23:44:05 +00:00
Jason Garrett-Glaser
bc7ea1e5cf Add fourcc 0x10000004, seems to actually be MPEG4. Fixes a problematic AVI file.
Originally committed as revision 19219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-18 19:31:12 +00:00
Vladimir Voroshilov
17dbe25438 G.729 decoding routine (skeleton, including parameters decoding).
Originally committed as revision 19218 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-18 18:14:38 +00:00
Michael Niedermayer
71ee651559 Print why av_find_stream_info() failed, this is a rather common question
during debugging ...

Originally committed as revision 19217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-18 00:22:08 +00:00
Måns Rullgård
2da4e5e3e1 ARM: slightly faster NEON H264 horizontal loop filter
Originally committed as revision 19216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-17 22:33:04 +00:00
Ronald S. Bultje
f4ca612fbd Set restrictions on packet_size, as per ISO-11172 / H-222 specifications
(max packet size should fit in 13 bits as a kB value, so 1<<23, plus the
header which is 10 bytes), and as per mpegenc.c internal assumptions
(min packet size is 20 bytes). See "[PATCH] make packet_size in
AVFormatContext unsigned" thread.

Originally committed as revision 19215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-17 19:04:02 +00:00
Vitor Sessak
fa8c408b26 Do not call rgb2rgbWrapper() for rgb48*, there is no special converter
yet for those formats

Originally committed as revision 29371 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-17 18:40:19 +00:00
Benoit Fouet
61ac77f1af Remove a test on an always false condition.
Originally committed as revision 19214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-17 07:05:17 +00:00
Jason Garrett-Glaser
351653a51e VC-1/WMV: Remove redundant ff_init_block_index() calls.
These are only supposed to be called once per row, not once per macroblock.
~1.5% faster according to oprofile.

Originally committed as revision 19213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-17 05:54:42 +00:00
Alexander Strange
0b389aee4d Add '.mp1' for MP1 audio in MOV/CAF.
Tested with streamcopy of 'mp1-sample.mp1' in incoming.

Originally committed as revision 19212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-17 00:37:06 +00:00
Jason Garrett-Glaser
b46f18e5d2 Add ".mp2" as a fourcc for mp2 audio in MOV. Fixes a problematic MOV file.
Originally committed as revision 19211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 23:50:02 +00:00
Art Clarke
e1d8d7bb4b Downgrade message log level (from AV_LOG_ERROR to AV_LOG_DEBUG) about
skipped metadata packet in FLV demuxer.

Patch by Art Clarke a${surname} At xuggle - com.

Originally committed as revision 19210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 23:14:59 +00:00
Stefano Sabatini
4c97a6fafa Move opt_loglevel() from ffmpeg.c to cmdutils.c.
Originally committed as revision 19209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 23:09:03 +00:00
Ramiro Polla
77ddf4df94 Make ffmpeg able to set the loglevel option using strings
corresponding to the various log levels.

Patch by Ramiro.

Originally committed as revision 19208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 23:02:53 +00:00
Alexander Strange
d2d5e06735 H.264: Fix memory leaks with multithreading.
The threads' contexts and rbsp_buffers were not freed at the end
of decoding.

Fixes issue 1581

Originally committed as revision 19207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 21:50:36 +00:00
Jason Garrett-Glaser
73b02e2460 SSE version of clear_blocks
Originally committed as revision 19206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 17:33:57 +00:00
Jason Garrett-Glaser
010f98f96a VC-1/WMV3 decoding: don't clear blocks unless they're actually used.
~8% faster VC-1 decoding.
Possible future optimization: clear blocks after use instead of before, and for
DC-only blocks, only clear the DC coefficient.

Originally committed as revision 19205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 09:09:03 +00:00
Jason Garrett-Glaser
4f717c69ed idct_dc for VC-1/WMV3 decoder; ~11% faster decoding overall.
Includes mmx2 asm for the various functions.
Note that the actual idct still does not have an x86 SIMD implemtation.
For wmv3 files using regular idct, the decoder just falls back to simple_idct,
since simple_idct_dc doesn't exist (yet).

Originally committed as revision 19204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 09:00:55 +00:00
Jason Garrett-Glaser
41faa87886 Fix typo in vc1.c, make capitalization in warning/error messages more consistent.
Originally committed as revision 19203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-16 00:48:07 +00:00
Måns Rullgård
0c3b2d6586 Add "config" make target to rerun configure with old options
Originally committed as revision 19202 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-15 22:12:23 +00:00
Måns Rullgård
b04251c5d0 configure: properly quote configure options stored in config.*
Originally committed as revision 19201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-15 22:12:21 +00:00
Ramiro Polla
7cc8d616aa Fix unaligned accesses by doing bytewise access until aligned, then
continuing in 32-bit quantities.
Fixes crash observed on sparc during FATE mlp test.
Patch by Ramiro.

Originally committed as revision 19200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-15 14:38:30 +00:00
Patrick Dehne
d9982edfed The AAC demuxer now depends on id3v1.o.
patch by Patrick Dehne, patrick mysonicweb com

Originally committed as revision 19199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-15 08:38:11 +00:00
Baptiste Coudurier
53e099de8b check atom size against edit_count to avoid very long loop
Originally committed as revision 19198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-15 02:07:41 +00:00
Baptiste Coudurier
7060667580 fix probing and demuxing of pond.dv, issue #887
Originally committed as revision 19197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-15 01:41:59 +00:00
Baptiste Coudurier
d310d56a36 do not use av_parser_change for h264 which uses bitstream filter, fix #1027
Originally committed as revision 19196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 23:55:25 +00:00
Måns Rullgård
a4ddf509fe regtest: print commands also for image format tests
Originally committed as revision 19195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 23:14:56 +00:00
Måns Rullgård
50f3fabc48 Print error message when output buffer allocation fails
Originally committed as revision 19194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 23:14:54 +00:00
Baptiste Coudurier
2c608fed3a print error when dv frame profile cannot be found
Originally committed as revision 19193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 22:41:30 +00:00
Baptiste Coudurier
d509c743b7 check if frame size matches old sys and assumes corrupted input, fixes #1192
Originally committed as revision 19192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 22:34:28 +00:00
Diego Biurrun
90b4f09177 Merge FreeBSD and DragonFlyBSD OS detection sections.
Apparently DragonFlyBSD does not need memalign either.

Originally committed as revision 19191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 14:49:46 +00:00
Adam Hoka
d6dcfc7f5b Add DragonFlyBSD to the list of supported OSes.
patch by Adam Hoka, ahoka NetBSD org

Originally committed as revision 19190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 13:18:10 +00:00
Peter Ross
7d58228055 Initialise MAD decode_block_intra() loop iterator to zero.
Originally committed as revision 19189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 09:55:28 +00:00
Vladimir Voroshilov
94994d8d9a G.729 decoder initialization routine (skeleton)
Originally committed as revision 19188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 02:31:06 +00:00
Vladimir Voroshilov
730c1e4a06 Replace MAX_SUBFRAME_SIZE and ctx->subframe_size with SUBFRAME_SIZE,
since subframe length is the same in all G.729 modes.

Originally committed as revision 19187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-14 02:29:39 +00:00
Justin Ruggles
d7bb185f99 Add a VorbisComment metadata conversion table and use it in the FLAC and
Ogg demuxers.

Originally committed as revision 19186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 22:45:58 +00:00
Justin Ruggles
7ca1295985 Do not guess the channel layout when getting its string value.
Originally committed as revision 19185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 22:33:13 +00:00
Aurelien Jacobs
4f909c7675 matroskadec: prepend TargetType to metadata key name
Originally committed as revision 19184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 22:29:38 +00:00
Justin Ruggles
0fb6a8b339 Remove the 3-front-channel layout from the list of channel layout
aliases.  Calling this "surround" is confusing and questionable.

Originally committed as revision 19183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 18:57:54 +00:00
Kostya Shishkov
0d5390b062 Correct reading bits in MPC SV8 base codes (when we have to read 0 or >16 bits).
Originally committed as revision 19182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 06:41:51 +00:00
Kostya Shishkov
8c1ff0abae Allocate a bit more memory for MPC SV8 seek table, so bitreader won't read
beyond allocated block.

Originally committed as revision 19181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 06:39:01 +00:00
Jason Garrett-Glaser
67fe508916 Analysis of logs show that there are in fact some files with m1v1 too (not just m2v2),
which is documented to be MPEG-1 video.  Adding fourcc to isom.c.

Originally committed as revision 19180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 03:02:16 +00:00
Peter Ross
eacfe8581d Electronic Arts demuxer: support Madcow video tag
Originally committed as revision 19179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 02:20:54 +00:00
Peter Ross
c63ea92bf2 Electronic Arts Madcow decoder
Originally committed as revision 19178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 02:19:41 +00:00
David Conrad
86b61d4241 Also accept TS as a prefix for wav twoccs (used by Flip4Mac) instead of
adding entries to codec_movaudio_tags.
This ensures ADPCM_IMA_WAV uses the standard ms prefix when muxing to mov
rather than TS.

Originally committed as revision 19177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 00:50:57 +00:00
Jason Garrett-Glaser
761cb87173 Add "0x11005354" as a fourcc for MOV audio; fixes audio detection in a problematic MOV file.
The audio is actually adpcm_ima_wav.

Originally committed as revision 19176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 00:16:39 +00:00
Alex Converse
d4eeef0c19 Cosmetics: Re-indent after last commit
Originally committed as revision 19175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 21:16:33 +00:00
Alex Converse
85e9296f41 Move TNS and swb_offset tables from aacdectab.h to aactab.c so that they can be
shared with the AAC encoder.

Originally committed as revision 19174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 21:14:45 +00:00
Alex Converse
70f99f8dd2 Do not include libavcodec/internal.h in the ADTS muxer.
Originally committed as revision 19173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 19:49:46 +00:00
Jason Garrett-Glaser
fc3fc0293d Add new FOURCC (0x0003) for raw DIB video, set flip flag accordingly.
Fixes a few AVI files from what is probably a mobile phone video camera.

Originally committed as revision 19172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 17:39:56 +00:00
Sascha Sommer
c0e9b2e84f Move run level decode functionality to ff_wma_run_level_decode
so that it can be reused for wmapro

Originally committed as revision 19171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 16:00:26 +00:00
Sascha Sommer
e8c7f81cf2 cosmetics: Add brackets between if/else
Originally committed as revision 19170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 15:48:41 +00:00
Sascha Sommer
523c09ca44 Add additional sample rates to the frame len bits calculation code
Originally committed as revision 19169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 15:38:11 +00:00
Sascha Sommer
eff9011d17 Fix placment of the DPCM Xan comment
Originally committed as revision 19168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 15:27:10 +00:00
Sascha Sommer
cee4bb894d Move frame len bits calculation to ff_wma_get_frame_len_bits
so that it can be reused for wmapro

Originally committed as revision 19167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 15:21:43 +00:00
Jai Menon
8e6e9bacc4 Associate the 0x6c75 TwoCC used in certain Kodak cameras
to the PCM Mu-law decoder.
Fixes Issue 1178.

Originally committed as revision 19166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 13:21:01 +00:00
Diego Biurrun
ae1374ce10 cosmetics: Prettyprint and reformat wma.c closer to K&R style.
Originally committed as revision 19165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 13:12:13 +00:00
Baptiste Coudurier
761c8c923e Fail and print correct error message when video stream pixel format
is unknown.

Originally committed as revision 19164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 08:15:37 +00:00
Jimmy Christensen
94d3d6a468 DPX (Digital Picture Exchange) image decoder
patch by Jimmy Christensen, jimmy ghost dk

Originally committed as revision 19163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 05:29:29 +00:00
David Conrad
34edd9948d Add sac3 to mp4 fourccs for mov+h264+aac-sac3+mp4s+ETERNAL_cut.mp4
Originally committed as revision 19162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 05:26:40 +00:00
Jason Garrett-Glaser
14ed2d9983 Add "m2v1" to fourccs for MPEG-2 video; fixes some MOV files.
Originally committed as revision 19161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 02:20:26 +00:00
Jeff Downs
d468ff0fdf Fix cast of byte buffer to uint32 that was disregarding alignment
requirements.
Now calculates crc byte at a time until aligned, then continues with uint32
optimized calculation.
This fixes crashes during mlp decoding on sparc (at least, maybe others).

Originally committed as revision 19160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 02:13:12 +00:00
Jason Garrett-Glaser
be43ae6651 Add alternate fourcc for QCELP audio (qclq). Fixes a problematic MOV file.
Originally committed as revision 19159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-12 01:09:49 +00:00
Diego Biurrun
1d4b1bf2f6 cosmetics: Prettyprint one more line to have columns line up.
Originally committed as revision 19158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 20:45:35 +00:00
Diego Biurrun
477ffff218 The internal header libavutil/internal.h should not be used outside libavutil.
Originally committed as revision 19157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 20:18:29 +00:00
Ramiro Polla
fdf70cc5c9 Kill warnings of possibly unused variables by using av_unused.
Originally committed as revision 29355 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-11 17:10:54 +00:00
Diego Biurrun
7d7b8c32c9 cosmetics: Reformat to K&R and prettyprint newly created files.
Originally committed as revision 19156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 15:35:23 +00:00
Patrick Dehne
7541118286 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
patch by Patrick Dehne, patrick mysonicweb com

Originally committed as revision 19155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 15:26:57 +00:00
Diego Biurrun
dc8229015c Fix compilation: #undef standard library functions that are
forbidden within FFmpeg, but allowed in example code.

Originally committed as revision 29354 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-11 15:15:43 +00:00
Diego Biurrun
02163b799d Add libavutil/internal.h #include, required for the DECLARE_ALIGNED macro.
This fixes swscale-example compilation.

Originally committed as revision 29353 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-11 10:19:04 +00:00
Diego Biurrun
0ef37cd52e cosmetics: Reformat file to K&R style upon Kostya's request.
Originally committed as revision 19154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 10:16:51 +00:00
Diego Biurrun
233816820d 10l: Add vc1dec.o to the list of WMV3 objects, same as for VC-1.
Even after the split into shared and decoder-specific code, WMV3
continues to have the same dependencies as VC-1.

Originally committed as revision 19153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 09:40:24 +00:00
Diego Biurrun
b761659bef Split decoder-specific code off from vc1.c into vc1dec.c and keep code
shared between decoder and parser in vc1.c.

Originally committed as revision 19152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 09:31:31 +00:00
Baptiste Coudurier
844d17fb14 Add const in cast. Removes warning:
libavcodec/resample.c:215: warning: assignment discards qualifiers from pointer target type

Originally committed as revision 19151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 08:16:08 +00:00
Baptiste Coudurier
89bc05d1ea give s->resample_context to avoid segfault, avclass was moved
Originally committed as revision 19150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 08:14:50 +00:00
David Conrad
77fc598d98 Disable native Vorbis encoder; quality is much worse than libvorbis and
there really isn't a reason to use it on purpose unless you're improving it.

Originally committed as revision 19149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 06:28:06 +00:00
Baptiste Coudurier
bbe46bc4c2 Remove time_rate, we cannot compute exactly when fragments are
used and we cannot determine if fragments are present or not in
streamed mode.

Originally committed as revision 19148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 05:13:23 +00:00
Baptiste Coudurier
818062f2f3 if b frames are parsed, set codec->has_b_frames
Originally committed as revision 19147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 04:30:05 +00:00
Baptiste Coudurier
aa9b754ffc Remove even condition on pad and crop.
Odd padding or cropping is needed when encoders only support
even resolution.

Originally committed as revision 19146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-11 04:07:29 +00:00
Diego Biurrun
17492d5e40 Add code to enable and disable all VAAPI and VDPAU parts.
As a positive sideeffect, VAAPI/VDPAU objects need no longer be listed
for all VAAPI/VDPAU-related decoders.

Originally committed as revision 19145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-10 20:50:53 +00:00
Diego Biurrun
9da1115877 Remove Mans as MPEG-TS maintainer, he never intended to maintain MPEG-TS.
Originally committed as revision 19144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-10 19:36:18 +00:00
Luca Barbato
ec606b36b4 Support seeking as defined by the rfc
a PLAY with Range alone while in PLAY status should be interpreted
as an enqueue
a PAUSE followed by a PLAY with Range is the proper way to ask to
seek to a point.

See rfc2326

Originally committed as revision 19143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-10 15:08:02 +00:00
Luca Barbato
4db819bc7f Make sure buffer end remains constant within the loop
otherwise ff_find_start_code could read over the buffer size

Originally committed as revision 19142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-10 14:56:50 +00:00
Haruhiko Yamagata
b19d493f2b Add field prev_interlaced_frame to H264Context to be able to flag soft telecine
progressive.

Patch by Haruhiko Yamagata, h D yamagata A nifty D com

Originally committed as revision 19141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 21:16:40 +00:00
Ronald S. Bultje
277a28e8fc Make asf_get_packet() and asf_parse_packet() static. See "[PATCH] asfdec.c:
make get/parse_packet static" thread from 2 months ago.

Originally committed as revision 19140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 20:58:32 +00:00
Diego Biurrun
28b80940ff Express the H.264 parser dependency on the golomb code in configure instead of
in the Makefile as it is done for all other parts that depend on golomb.

Originally committed as revision 19139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 20:29:52 +00:00
Diego Biurrun
ef434a4b24 Add missing dependencies for H.264 and VC-1 parsers.
Originally committed as revision 19138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 20:07:01 +00:00
Jai Menon
3dfadf7b1e Add additional dependencies for sdp and rtsp demuxers.
This fixes compilation when the rtsp muxer is disabled.

Originally committed as revision 19137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 18:30:15 +00:00
Luca Abeni
747069e254 Properly initialize AVFrames to default values in the MPEG decoder (fixes
the AVFrame pts when decoding MPEG 1 and 2 video)

Originally committed as revision 19136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 10:06:25 +00:00
Diego Biurrun
9d58d4717a cosmetics: Add missing ending backslash to installed header list.
Originally committed as revision 19135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-09 07:18:58 +00:00
Michael Niedermayer
f1b99cc63b Clarify (re)get_buffer() and CODEC_CAP_DR1 relation.
Originally committed as revision 19132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-07 19:30:54 +00:00
Diego Biurrun
1e15e5366f Remove comments that refer to fixed-point AMR implementations.
Originally committed as revision 19130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-07 15:15:45 +00:00
Baptiste Coudurier
ae8d21fb45 clarify avcodec_decode_audio3 and avcodec_decode_video2 doxygen
Originally committed as revision 19128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 20:16:53 +00:00
Vladimir Voroshilov
d4a9255699 K&R formatting of already submitted G.729 code
Originally committed as revision 19127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 17:40:33 +00:00
Peter Holik
a52dc730cf Cosmetics : Use dprintf instead of printf.
Patch by Peter Holik < $firstname @ $lastname . at >

Originally committed as revision 19126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 17:32:59 +00:00
Jai Menon
2b01a52031 Cosmetics : Fix indentation after last commit.
Originally committed as revision 19125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 16:46:40 +00:00
Peter Holik
682d49f4ea Introduce http_get_line and modify http_connect to use http_get_line.
Patch by Peter Holik <$firstname @ $lastname . at>

Originally committed as revision 19124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 16:44:21 +00:00
Vladimir Voroshilov
3bbc46102b Convert structure names to FFmpeg style
Originally committed as revision 19123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 12:42:11 +00:00
Stefano Sabatini
532ec28360 Remove '\p' doxygen markup, as it should improve plain text doxy
readability.

Originally committed as revision 29351 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-06 09:37:46 +00:00
Stefano Sabatini
bf7e799c9e Remove '\p', '\c' and '\e' doxygen markup from doxy, as it should
improve plain text doxy readability.

See the thread: "[RFC] Should we use doxygen markup?".

Originally committed as revision 19122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 09:35:15 +00:00
Kostya Shishkov
10ae4bb477 Get new buffer during frame decoding in VB video decoder, not only once
during decoder initialization.

Originally committed as revision 19121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 08:46:08 +00:00
Vladimir Voroshilov
e72c65f583 Internal routine should not use name of standard function.
Use g729_prng instead.

Originally committed as revision 19120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 05:38:09 +00:00
David Conrad
12d7c0793b Ensure that the extradata buffer is padded appripriately in the ogg demuxer.
Spotted by valgrind.

Originally committed as revision 19119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 23:39:11 +00:00
Vladimir Voroshilov
8dbd0a95ee Remove ff_g729_ and g729_ prefixes from static routines.
Originally committed as revision 19118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 17:11:46 +00:00
Diego Biurrun
0b175caac8 Add support for external OpenCORE libraries for AMR-NB/WB support.
Originally committed as revision 19117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 12:32:40 +00:00
Diego Biurrun
9cad0e4ed8 Add configure option to upgrade (L)GPL to version 3.
Originally committed as revision 19116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 11:04:03 +00:00
Diego Biurrun
4656c375bc Move around one paragraph, add headings for greater clarity.
Originally committed as revision 19115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 10:58:48 +00:00
Diego Biurrun
ecc1330a6d Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGPLv2.1.
This is in preparation for the (L)GPL license upgrade code that will add
version 3 of these licenses.

Originally committed as revision 19114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 09:51:31 +00:00
Baptiste Coudurier
f3908a82bc vmware video decoder uses reget_buffer, set CODEC_CAP_DR1
Originally committed as revision 19113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 09:05:17 +00:00
Baptiste Coudurier
6d3530ce2b zmbv decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 09:02:14 +00:00
Baptiste Coudurier
35b2c65756 vc1 and wmv3 decoders use MPV_frame_start which uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:53:39 +00:00
Baptiste Coudurier
c0bd35c70c renderware txd image decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:48:34 +00:00
Baptiste Coudurier
fa27733cea tmv decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:47:39 +00:00
Baptiste Coudurier
a08e67e70d tiff image decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:46:04 +00:00
Baptiste Coudurier
7f57905d55 vp3 and theora decoders use get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:44:26 +00:00
Baptiste Coudurier
89978e35a2 targa image decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:42:32 +00:00
Baptiste Coudurier
da04a14889 sun rasterfile image decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:41:19 +00:00
Baptiste Coudurier
2b2b7f41de snow decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:40:31 +00:00
Baptiste Coudurier
d65c1feead smacker video decoder uses reget_buffer, set CODEC_CAP_DR1
Originally committed as revision 19103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:37:55 +00:00
Baptiste Coudurier
c7af8b4e07 kmvc decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:36:26 +00:00
Baptiste Coudurier
80e8e25ef2 ptx image decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:35:36 +00:00
Baptiste Coudurier
f4499c955a libopenjpeg wrapper uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:33:58 +00:00
Baptiste Coudurier
d0a7936710 png decoder use get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:32:41 +00:00
Baptiste Coudurier
f1cdd863a5 pcx decoder use get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:29:29 +00:00
Baptiste Coudurier
5f27348bd3 pgm, pgmyuv, ppm, pbm and pam decoders use get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:29:05 +00:00
Baptiste Coudurier
0cf0c5bfa8 dxa decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:21:54 +00:00
Baptiste Coudurier
1ea9dbbb92 bfi decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:20:51 +00:00
Baptiste Coudurier
4a89072833 bmp decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:19:33 +00:00
Baptiste Coudurier
94c014c455 amv decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:18:17 +00:00
Baptiste Coudurier
be7e793261 bethesda vid decoder uses reget_buffer, set CODEC_CAP_DR1
Originally committed as revision 19092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:17:36 +00:00
Baptiste Coudurier
53e67085b2 4xm decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:12:14 +00:00
Baptiste Coudurier
7bbf3f2ca4 indeo3 decoder uses get_buffer, set CODEC_CAP_DR1
Originally committed as revision 19090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-05 08:08:49 +00:00
Ramiro Polla
74a841af8b Replace more uses of __attribute__((aligned)) by DECLARE_ALIGNED.
Originally committed as revision 19089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-04 23:25:09 +00:00
Ramiro Polla
c0cf20a24a Use DECLARE_ALIGNED macro instead of __attribute__((aligned)) for ppc code.
Originally committed as revision 29350 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-04 22:50:38 +00:00
Ramiro Polla
934626a9f9 Replace more uses of __attribute__((aligned)) by DECLARE_ALIGNED.
Originally committed as revision 29349 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-04 22:10:52 +00:00
Pavel Pavlov
92db623584 Use DECLARE_ALIGNED macro instead of gcc __attribute__.
Patch by Pavel Pavlov <pavel at summit-tech dot ca>

Originally committed as revision 29348 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-04 21:55:52 +00:00
Diego Biurrun
51222d1041 cosmetics: K&R style reformatting
Originally committed as revision 19088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-04 10:37:29 +00:00
Kostya Shishkov
0e848977ce Move function for reading whole specified amount of data from RTSP
demuxer into more common place.

Originally committed as revision 19087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-04 06:25:53 +00:00
Ramiro Polla
989b7181ac Use fewer macros in x86-optimized mlpdsp.
Fixes compilation on 32-bit llvm which didn't allow a cast in an m operand.

Originally committed as revision 19086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 23:48:28 +00:00
Alex Converse
007c47e8b9 Add the .adts file extension to the ADTS muxer.
Originally committed as revision 19085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 23:34:35 +00:00
Baptiste Coudurier
281551131d broken stsd length might be < 16, fix elst-assert.mp4
Originally committed as revision 19084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 23:13:53 +00:00
Baptiste Coudurier
502d6c0a23 Change find_tag return type to int64_t, fix a bug
where size is negative and url_fseek then seek backward
causing infinite loop. This also support 4gb unsigned size.

Originally committed as revision 19083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 22:36:59 +00:00
Michael Niedermayer
f4ebb334be Fix sei_ct_type check so it does not mistreat ct_type= unknown.
Originally committed as revision 19082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 19:24:51 +00:00
Michael Niedermayer
4d95ae1882 Print ct_type and pic_struct.
Originally committed as revision 19081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 19:23:34 +00:00
Alex Converse
ad5caf3ab7 AAC ADTS to AudioSpecificConfig bitstream filter
Originally committed as revision 19080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 18:50:46 +00:00
Reimar Döffinger
10f9ff9bf6 Set AV_PKT_FLAG_KEY in avcodec_decode_video.
This fixes decoding of MPNG, which currently is incorrectly decoded as
CorePNG delta frames.
CorePNG can not be correctly decoded via this old API either way.

Originally committed as revision 19079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 11:23:16 +00:00
Reimar Döffinger
8f3f2e0676 Add AV_PKT_FLAG_KEY and deprecate PKT_FLAG_KEY.
Originally committed as revision 19078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 11:20:35 +00:00
Michael Niedermayer
da45d5b9c6 Clarify the input AVPacket for avcodec_decode*()
Originally committed as revision 19077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 10:25:21 +00:00
Kostya Shishkov
5d5a8813fc Testing RGB48 variants requires bigger stride in swscale-example.c
Originally committed as revision 29343 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-02 15:35:58 +00:00
Kostya Shishkov
9706d1c766 Check combined depth and number of components in TIFF decoder, thus eliminating
additional checks for each depth (like 48-bit gray vs. 48-bit RGB)

Originally committed as revision 19076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-02 15:31:51 +00:00
Kostya Shishkov
68e7f4828d YUV into RGB48 BE/LE conversion support
Originally committed as revision 29342 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-02 12:30:11 +00:00
Kostya Shishkov
e8417235d0 Partial (low bits ignored, no direct transcoding into other RGB formats) support
for inputting RGB48BE/LE.

Originally committed as revision 29341 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-02 12:28:49 +00:00
Baptiste Coudurier
b2984add80 do not parse full header for private streams
Originally committed as revision 19075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-02 07:53:44 +00:00
Baptiste Coudurier
617c461625 correctly handle maximum streams limit
Originally committed as revision 19074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-02 07:30:19 +00:00
Baptiste Coudurier
1c4df2ab24 export data from private streams
Originally committed as revision 19073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-02 07:26:58 +00:00
Stefano Sabatini
0802356cfc Remove the const qualifier for the name field of AVFilterInOut, since
it is meant to be freed.
Fix warnings.

Originally committed as revision 19072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-01 16:07:48 +00:00
Ramiro Polla
9e1cc5984c indent
Originally committed as revision 19071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 20:19:16 +00:00
Ramiro Polla
851218584e Remove useless if(), leftover from the vhook removal.
Originally committed as revision 19070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 20:17:58 +00:00
Reimar Döffinger
24dd21fa41 add #if CONFIG_ZLIB_DECODER around zlib_decomp function.
Fixes compilation when zlib is not available.

Originally committed as revision 19069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 19:51:21 +00:00
Reimar Döffinger
79183d3c3e mszh decompression: add a special case for an all-0 mask, i.e. 32 uncompressed
bytes in a row.
About 15% faster mszh_decomp on an Atom N270 for
http://samples.mplayerhq.hu/V-codecs/mszh-zlib/avimzsh_sample.avi

Originally committed as revision 19068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 18:17:33 +00:00
Reimar Döffinger
a7bfbe4e13 lcldec: ensure that the offset for av_memcpy_backptr is valid.
Originally committed as revision 19067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 17:44:35 +00:00
Stefano Sabatini
4ec42240ca Implement avfilter_graph_config_links().
Originally committed as revision 19066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 16:30:12 +00:00
Reimar Döffinger
c70ac8e7f5 I will take care of the lcl de-/encoder while Roberto is unavailable.
Originally committed as revision 19065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:50:30 +00:00
Reimar Döffinger
bbf306742c Fix memleak due to c->decomp_buf never being freed.
Originally committed as revision 19064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:47:52 +00:00
Reimar Döffinger
908425c758 Only call inflateEnd when we were actually using the zlib code.
Originally committed as revision 19063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:42:50 +00:00
Reimar Döffinger
4ad3df9da2 avctx->priv_data is initialized to 0, get rid of useless extra initialization.
Originally committed as revision 19062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:41:49 +00:00
Reimar Döffinger
7ffc844742 Merge variable declaration and initialization.
Originally committed as revision 19061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:35:20 +00:00
Reimar Döffinger
7c20421661 Use int-size types instead of char where it makes no difference.
Originally committed as revision 19060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:34:19 +00:00
Reimar Döffinger
7a15b25827 Take advantage of available input padding to optimize mszh_decomp
Originally committed as revision 19059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 11:32:03 +00:00
Reimar Döffinger
a5d2745d8e Change maskbit variable to contain (1 << maskbit)
Originally committed as revision 19058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:58:20 +00:00
Reimar Döffinger
e0b3af9059 Remove check that thanks to padding is no longer necessary.
Originally committed as revision 19057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:53:47 +00:00
Reimar Döffinger
0b99764459 100l, the compression field in lcl extradata must be interpreted as
int8_t, not uint8_t to allow -1 for "no compression".
The original code worked, but only when char was signed.

Originally committed as revision 19056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:50:54 +00:00
Reimar Döffinger
e4f141ad60 One more use for FFMIN.
Originally committed as revision 19055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:44:42 +00:00
Reimar Döffinger
0d48e6ec7f Pad the decompression buffer and use av_memcpy_backptr for the mszh decompression.
Originally committed as revision 19054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:42:26 +00:00
Reimar Döffinger
974ce78544 Mark srcptr as const in mszh_decomp
Originally committed as revision 19053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:38:17 +00:00
Reimar Döffinger
6065dcea37 Remove unnecessary put_bits/get_bits includes.
Originally committed as revision 19052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:37:05 +00:00
Reimar Döffinger
2bee59083d Use bytestream_get_le16 to simplify offset/count calculation for mszh decompression.
Originally committed as revision 19051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:35:39 +00:00
Reimar Döffinger
5a18221ba8 Remove useless & 0x1f
Originally committed as revision 19050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:31:37 +00:00
Reimar Döffinger
7b151a98b0 Document padding requirements of mszh_decomp srcptr buffer
Originally committed as revision 19049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:28:40 +00:00
Reimar Döffinger
5e5fe7dab5 Use srcptr_end variable to avoid having to update both srcptr and srclen.
Originally committed as revision 19048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:26:58 +00:00
Reimar Döffinger
dbc53ffc7c Change buffer size checks to avoid the undefined overflow case.
Originally committed as revision 19047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:23:38 +00:00
Reimar Döffinger
2fddb91e94 Simply use memcpy instead of AV_RN32/AV_WN32 combination.
Originally committed as revision 19046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:16:28 +00:00
Reimar Döffinger
661cb0d4a9 Fix decoding of multithread-encoded lcl files on big-endian.
Originally committed as revision 19045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:14:27 +00:00
Reimar Döffinger
ce22c7d075 Remove another useless ()
Originally committed as revision 19044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:05:21 +00:00
Reimar Döffinger
21bf2f51d7 Correct calculation of compressed input length.
Originally committed as revision 19043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 10:01:26 +00:00
Reimar Döffinger
46adcc27a2 Add sanity check for mthread_inlen, avoids crashes due to invalid reads.
Originally committed as revision 19042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:59:46 +00:00
Reimar Döffinger
1207c84adb Use FFMIN
Originally committed as revision 19041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:57:42 +00:00
Reimar Döffinger
c2c0c1c023 Factor out zlib decompression code to avoid massive code duplication,
particularly due to error checks.

Originally committed as revision 19040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:51:46 +00:00
Reimar Döffinger
f005808bf2 Use FFALIGN
Originally committed as revision 19039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:28:29 +00:00
Reimar Döffinger
46c02b1b50 Move variable into block where it is used, avoiding a unused variable
warning if the zlib decoder is disabled.

Originally committed as revision 19038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:27:07 +00:00
Reimar Döffinger
2b550f816a Make lcldec less annoyingly verbose, move messages from AV_LOG_INFO to AV_LOG_DEBUG.
Originally committed as revision 19037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:23:54 +00:00
Reimar Döffinger
75f6d6c7e6 Get rid of unreachable code: avctx->codec_id == CODEC_ID_ZLIB is not possible
here when the zlib decoder is disabled and libavcodec is used correctly.

Originally committed as revision 19036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:19:21 +00:00
Reimar Döffinger
56b44694bd lcldec.c: change #if CONFIG_ZLIB to #if CONFIG_ZLIB_DECODER.
The zlib related code should not be compiled in when the decoder is disabled
and it thus will never be used, even if we have zlib available.

Originally committed as revision 19035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:16:06 +00:00
Reimar Döffinger
445e0ab539 Get rid of extradata casts, it already has the right uint8_t * type
Originally committed as revision 19034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:12:17 +00:00
Reimar Döffinger
8c18e490c4 Make lcldec produce YUV output when the input file is coded like that, instead
of having it do its own inefficient fixed-point YUV to RGB conversion.

Originally committed as revision 19033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 09:09:32 +00:00
Reimar Döffinger
55619690e8 Remove now unused elements from LclEncContext
Originally committed as revision 19032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 08:54:41 +00:00
Reimar Döffinger
3b855101b4 Remove useless casts, extradata is already "uint8_t *"
Originally committed as revision 19031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 08:51:30 +00:00
Reimar Döffinger
e786d3cf80 lclenc.c: compress directly into output buffer instead of using a pointless
temporary buffer and then using put_bits to copy the data over.

Originally committed as revision 19030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 08:49:27 +00:00
Baptiste Coudurier
4a01b3c714 initialize pes state to skip
Originally committed as revision 19029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 08:47:40 +00:00
Reimar Döffinger
32b3ab9b60 Remove superfluous () from lclenc.c
Originally committed as revision 19028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 08:41:11 +00:00
Reimar Döffinger
8f033e3e03 Cosmetics: fix indentation in lclenc.c
Originally committed as revision 19027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 08:38:51 +00:00
Reimar Döffinger
7ff7ac60e1 Remove "#if CONFIG_ZLIB" checks from lclenc.c, the file is never compiled
if zlib is not available.

Originally committed as revision 19026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 08:36:44 +00:00
Andreas Öman
f988ce6cad Add a lock manager API to libavcodec.
Allows an application to register a callback that manages mutexes
on behalf of FFmpeg.
With this callback registered FFmpeg is fully thread safe.

Originally committed as revision 19025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 06:51:18 +00:00
Baptiste Coudurier
b8df8d0d1c remove cast and use put_sbits, fix assertion in put_bits
Originally committed as revision 19024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 06:33:58 +00:00
Larbi Joubala
15c315b7f1 fix 3gp metadata, write strings in UTF8, patch by Larbi Joubala, larbi dot joubala at resonate-mp4 dot com
Originally committed as revision 19023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 05:24:16 +00:00
Baptiste Coudurier
135c8c2c16 add myself as maintainer for mpegts*
Originally committed as revision 19022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 05:14:09 +00:00
Baptiste Coudurier
1f07654330 print reg desc in a more friendly way
Originally committed as revision 19021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:47:30 +00:00
Baptiste Coudurier
ad183ff4e2 give context to dprintf
Originally committed as revision 19020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:45:51 +00:00
Baptiste Coudurier
fc72ad1990 print registration descriptor in debug
Originally committed as revision 19019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:41:47 +00:00
Baptiste Coudurier
7e69621f56 split audio chunks in mov demuxer
Originally committed as revision 19018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:36:26 +00:00
Baptiste Coudurier
84c7d45e02 0x7a is E-AC3 descriptor
Originally committed as revision 19017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:35:05 +00:00
Baptiste Coudurier
67c9cd696a fix compilation with DEBUG defined
Originally committed as revision 19016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:32:45 +00:00
Baptiste Coudurier
19c0563ac2 fix compilation with DEBUG defined
Originally committed as revision 19015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:26:22 +00:00
Baptiste Coudurier
e695906ec7 use dts codec probing
Originally committed as revision 19014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:13:25 +00:00
Baptiste Coudurier
7103a77b4d set codec_tag to stream type, so user can deal with it
Originally committed as revision 19013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:10:15 +00:00
Baptiste Coudurier
5b3c4c8ac6 set codec_tag to registration descriptor if present
Originally committed as revision 19012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 04:04:20 +00:00
Baptiste Coudurier
ffdbada6c1 add streams even if they are not present in PMT, fix #1092 and #835
Originally committed as revision 19011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:55:23 +00:00
Baptiste Coudurier
e6eb74d84c remove no longer needed fake dvbsub stream type
Originally committed as revision 19010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:46:24 +00:00
Baptiste Coudurier
f2c357d95d reindent
Originally committed as revision 19009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:45:45 +00:00
Baptiste Coudurier
ed68efad8b remove no longer needed init
Originally committed as revision 19008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:44:03 +00:00
Baptiste Coudurier
6a2a50f81f factorize
Originally committed as revision 19007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:40:36 +00:00
Baptiste Coudurier
f42d1d824e simplify and merge
Originally committed as revision 19006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:35:29 +00:00
Baptiste Coudurier
08f94e989f move new_pes_av_stream to avoid forward declaration
Originally committed as revision 19005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:12:25 +00:00
Baptiste Coudurier
2fef7b5374 remove defines
Originally committed as revision 19004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 03:02:12 +00:00
Baptiste Coudurier
8430f3ecb8 rework stream type and codec identification
Originally committed as revision 19003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 02:56:15 +00:00
Baptiste Coudurier
40b0872a56 cosmetics, reindent, remove useless braces, whitespaces
Originally committed as revision 19002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 00:33:37 +00:00
Baptiste Coudurier
64ab5fa3df export all streams in ts demuxer
Originally committed as revision 19001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 00:31:47 +00:00
Baptiste Coudurier
86cb7e33cc fix codec probing, stop after MAX_PROBE_PACKETS and return all packets
Originally committed as revision 19000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 00:24:06 +00:00
Alexander Strange
2b9969a945 H264: Fix out of bounds reads in SSSE3 MC
Reading above src[-2] isn't safe, so move loads and palignr ahead
3 pixels to load starting at the first pixel actually used.

Fixes issue941.

Originally committed as revision 18999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 22:19:14 +00:00
Daniel Verkamp
cbfe5bee2e Implement SoX native format muxer and demuxer.
Patch by Daniel Verkamp $firstname@drv DOT nu.

Originally committed as revision 18998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 18:51:15 +00:00
Reimar Döffinger
bb79016851 Use memcpy instead of per-pixel copy loop for rgb lcl format
Originally committed as revision 18997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 11:20:07 +00:00
Michael Niedermayer
ff8c65f482 Make sure offsets of mjpeg b are within the buffer.
Fixes issue1132

Originally committed as revision 18996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 10:04:09 +00:00
Reimar Döffinger
c40f366372 Remove useless () from lcldec for more consistency with "normal" FFmpeg coding style.
Originally committed as revision 18995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 09:07:10 +00:00
Reimar Döffinger
b157e3e56b Add casts to v210x decoder to avoid warnings.
Originally committed as revision 18994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 09:05:24 +00:00
Baptiste Coudurier
9291fdf7bc return AVERROR_EOF
Originally committed as revision 18993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 06:16:44 +00:00
Baptiste Coudurier
350f2c2cef return AVERROR_EOF
Originally committed as revision 18992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 06:15:27 +00:00
Baptiste Coudurier
db5dc02bd7 cast size to int64_t to avoid overflow
Originally committed as revision 18991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 04:08:43 +00:00
Baptiste Coudurier
3bbcd0bb8a The GIF decoder uses get_buffer, so set DR1.
Originally committed as revision 18990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 04:07:14 +00:00
Baptiste Coudurier
54e28a852c remove commented code using real_pict_num
Originally committed as revision 18989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 02:48:47 +00:00
Baptiste Coudurier
87e302bfd8 remove unused hack which set AVCodecContext frame_number to pic timestamp
Originally committed as revision 18988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 00:24:20 +00:00
Baptiste Coudurier
2d05bc8641 set pict_type in VC-1 parser, fix some timestamps problems
Originally committed as revision 18987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-30 00:09:00 +00:00
David Conrad
f2264fa531 Support block-level quantization in Theora
Originally committed as revision 18986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 21:43:22 +00:00
Reimar Döffinger
abeee5ccb8 Use av_clip_uint8 instead of equivalent but unoptimzed code,
Originally committed as revision 18985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 20:15:38 +00:00
Luca Abeni
6f62e2c72d Correctly set the "AU size" field in the payload header for
fragmented AAC frames

Originally committed as revision 18984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 13:46:46 +00:00
Aurelien Jacobs
8c57662001 matroska.c was split to matroskadec.c which I'm also maintainer of
Originally committed as revision 18983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 12:44:44 +00:00
Aurelien Jacobs
25c3c36597 add myself as metadata subsystem maintainer
Originally committed as revision 18982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 12:42:58 +00:00
Dave Yeo
8e8a67faec Move *.map from LIBSUFFIXES to CLEANSUFFIXES, executables on OS/2 have
generated map files as well, so map files need to be removed in all
places where executables are removed.
patch by Dave Yeo, daveryeo telus net

Originally committed as revision 18981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-29 11:56:54 +00:00
Måns Rullgård
530456bf31 MIPS: inline asm for intreadwrite.h
Originally committed as revision 18980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 23:19:35 +00:00
Måns Rullgård
9d48e28f00 MIPS: add MIPS64 and Loongson asm for MAC64/MLS64
Originally committed as revision 18979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 23:19:32 +00:00
Måns Rullgård
85dd97adff configure: detect Loongson MIPS extensions
Originally committed as revision 18978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 23:19:29 +00:00
Måns Rullgård
b716a79215 blackfin: disable broken dsputil functions
Originally committed as revision 18977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 22:36:06 +00:00
Måns Rullgård
2ba73ce8c6 blackfin: add missing const in function prototypes
Originally committed as revision 18976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 22:36:02 +00:00
Måns Rullgård
b195a73d47 blackfin: use optimised (I)DCT only when ctx->(i)dct_algo is auto
Originally committed as revision 18975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 22:35:58 +00:00
Måns Rullgård
08ec1397f6 blackfin: use DCT function pointer in dct_quantize_bfin()
Originally committed as revision 18974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 22:35:56 +00:00
Dave Yeo
2b7a351eb9 Remove $(CLEANSUFFIXES) and $(DISTCLEANSUFFIXES) on clean/distclean
in the root directory as well as in subdirectories.
patch by Dave Yeo, daveryeo telus net

Originally committed as revision 18973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 22:13:17 +00:00
Måns Rullgård
c9311a12d5 ARM: add some PLD in NEON IDCT
Originally committed as revision 18972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-28 17:19:28 +00:00
Stefano Sabatini
a330317890 Document match_ext().
Originally committed as revision 18971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 22:43:52 +00:00
Baptiste Coudurier
2ed16f308a msrle uncompressed decoding, fix #1074 and many other samples under /RLE
Originally committed as revision 18970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 21:45:25 +00:00
Baptiste Coudurier
c0601d705c remove apparently unused real_pict_num from AVCodecContext
Originally committed as revision 18969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 21:40:10 +00:00
Baptiste Coudurier
a4a750d3b2 Rename alloc_picture to ff_alloc_picture and move its definition
in mpegvideo.h to avoid including mpegvideo_common.h in mpeg12.c,
because it contains motion code.

Originally committed as revision 18968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 19:55:35 +00:00
Jeff Downs
50352827f6 Use AV_R/WN32 instead of direct integer copying.
Fixes decoding on at least Sparc/Solaris where unaligned accesses cause
crashes.
ML thread: http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/91414

Originally committed as revision 18967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 18:59:24 +00:00
Baptiste Coudurier
6125d86597 technically mp2 in pva needs AVSTREAM_PARSE_FULL
Originally committed as revision 18966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 06:58:22 +00:00
Baptiste Coudurier
25178da302 do not print false error if eof follows eol
Originally committed as revision 18965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 06:43:51 +00:00
Baptiste Coudurier
6c7c2f7bb3 support AVDISCARD_ALL in mpegts demuxer
Originally committed as revision 18964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 01:29:55 +00:00
Baptiste Coudurier
bdfa98249a return error in mpegts_push_data and propagate it
Originally committed as revision 18963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 00:56:31 +00:00
Baptiste Coudurier
64d882155d 10l, forgot ';', fix compilation
Originally committed as revision 18962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 00:48:39 +00:00
Baptiste Coudurier
a5685be502 check that len is not negative
Originally committed as revision 18961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 00:46:20 +00:00
Baptiste Coudurier
0c1375575a demux whole PES packets from TS
Originally committed as revision 18960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 00:44:00 +00:00
Wolfram Gloger
ed1dc74e18 Fix off by one offset with fetch_timestamps, pts_parser_problem.mpg.
Patch by Wolfram Gloger, wmglo at dentm dot med dot uni-muenchen dot de.

Originally committed as revision 18959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-27 00:14:32 +00:00
Baptiste Coudurier
6645e8ca2f do not reference remainder packets in the parser, fix timestamps fetching
Originally committed as revision 18958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 23:58:30 +00:00
Alex Converse
401a995085 In the event of a mismatch, do not follow the sample rate index in an AAC PCE.
This matches the behavior the reference decoder and fixes issue 1072.

Originally committed as revision 18957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 21:34:56 +00:00
Baptiste Coudurier
e9859317eb move DEBUG define before include to get dprintf
Originally committed as revision 18956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 20:13:03 +00:00
Jai Menon
cd840656c2 Add lowres support to the libopenjpeg wrapper.
Fixes issue 1097.

Originally committed as revision 18955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 17:04:28 +00:00
Jai Menon
d95545166c Use dimensions stored in AVCodecContext instead of local variables.
Originally committed as revision 18954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 16:59:05 +00:00
Reimar Döffinger
34d11b875f Change HAVE_PPC64 to ARCH_PPC64.
As a side-effect this also gives it the correct value on e.g. PPC970FX-based
PPC64 systems, thus fixing "make test" (mp2/mp3 decoding).

Originally committed as revision 18953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 05:00:51 +00:00
Michael Niedermayer
71b0654cc6 Support YVU9 AVI 4cc.
Fixes issue1068.

Originally committed as revision 18952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 03:51:00 +00:00
Ben Littler
f9928b7e80 map dvh1 fourcc to dv, fixes incoming/dvh1_sample
Originally committed as revision 18951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-26 01:14:10 +00:00
Stefano Sabatini
3bf28f9d7f Factorize initial "printf(" and ");" in show_license().
Originally committed as revision 18950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 22:22:51 +00:00
David Conrad
454403ba55 Altivec VP3 IDCT
Originally committed as revision 18949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 22:19:35 +00:00
Stefano Sabatini
597b4b3f03 Define struct URLContext and typedef it to URLContext in one step.
Originally committed as revision 18948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 22:17:27 +00:00
Stefano Sabatini
819174fa1b Remove \p and \e doxygen markup.
Originally committed as revision 18947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 22:05:43 +00:00
Diego Biurrun
57f8df050f dv1394 is disabled by default, do not redundantly disable it on Hurd.
Originally committed as revision 18946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 20:18:33 +00:00
Diego Biurrun
cc013a7423 The MLP optimizations do not depend on HAVE_MMX, but on ARCH_X86.
Build them when ARCH_X86 is enabled. Fixes linking with MMX disabled.

Originally committed as revision 18945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 19:02:35 +00:00
Ramiro Polla
07116be05a NEON-OBJS should also be cleared for each subdir.
Originally committed as revision 18944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 18:46:47 +00:00
Ramiro Polla
f9f36b4a4c cosmetics: tabs->spaces
Originally committed as revision 18943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 18:37:16 +00:00
Michael Niedermayer
8c68f25b20 Workaround broken AVI files from DC-XZ6.
Fixes issue897.

Originally committed as revision 18942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 18:28:26 +00:00
Kostya Shishkov
80704c47c4 Move colorspace conversion functions implemented in pure C from template
into swscale.c

Originally committed as revision 29320 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-25 16:42:54 +00:00
Justin Ruggles
724b8f6ac7 eac3dec: get rid of unnecessary left shifts in 16-bit * 24-bit
multiplication in GAQ mantissa ramapping.

Originally committed as revision 18941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 16:12:51 +00:00
Reimar Döffinger
4cab1e491b Move a DECLARE_ALIGNED_16 variable in the Nellymoser encoder from the stack
into the context to avoid issues when stack variables can not be aligned
reliably.

Originally committed as revision 18940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 12:17:02 +00:00
Andres Mejia
34e82167f3 Add Hurd to OS list and disable dv1394 in the Hurd case.
patch by Andres Mejia, mcitadel gmail com

Originally committed as revision 18938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 05:39:58 +00:00
Baptiste Coudurier
47b5b0e8b6 honor restart interval in mjpeg, fix #861, SpectralFan.mov still decodes correctly
Originally committed as revision 18937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 02:34:31 +00:00
Ramiro Polla
cbd7836e88 mlp: Re-enable x86-optimized DSP functions.
Originally committed as revision 18936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 01:53:43 +00:00
Ramiro Polla
7c4c60e520 mlp: Use LABEL_MANGLE() to export label symbols from inside asm block.
Originally committed as revision 18935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 01:52:05 +00:00
Ramiro Polla
7d9beec775 Add LABEL_MANGLE() to export label symbols from inside asm blocks.
Originally committed as revision 18934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 01:50:37 +00:00
Ben Littler
e9356be524 CorePNG can be decoded since 18421
Originally committed as revision 18933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-25 00:31:52 +00:00
Baptiste Coudurier
c13b250bad move DEBUG define before include to get dprintf and change printf to dprintf
Originally committed as revision 18932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 22:59:25 +00:00
Vitor Sessak
09d1208cdb Fix unaligned dsputil call.
Should fix FATE corepng test on Solaris/Sparc.

Originally committed as revision 18930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 12:44:54 +00:00
Baptiste Coudurier
46b4019bfa fix get_str16_nolen with odd len, fix #1065
Originally committed as revision 18929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 10:26:41 +00:00
Baptiste Coudurier
c9d7cd6dca move DEBUG define before include to get dprintf and move guidcmp before print_guid, fix compilation with DEBUG
Originally committed as revision 18928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 09:59:53 +00:00
Reimar Döffinger
1eda87ce63 eatqi: move "block" variable into context to ensure sufficient alignment for
idct_put for compilers/architectures that can not align stack variables that much.
This is also consistent with similar code in eatgq.c

Originally committed as revision 18927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 09:14:19 +00:00
Reimar Döffinger
77336b6127 Distinguish between non-coded blocks and decode errors in rtjpeg's get_block
Originally committed as revision 18926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 09:06:06 +00:00
Reimar Döffinger
8d857c5434 Add a few size checks when decoding rtjpeg blocks.
Might avoid crashes in unlikely cases, but mostly avoids ugly artefacts
for partial frames.

Originally committed as revision 18925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 09:03:45 +00:00
Reimar Döffinger
0766291a66 Move "block" variable in rtjpeg decoder to context to ensure sufficient alignment
for idct_put on architectures/compilers that have problems aligning on the stack.

Originally committed as revision 18924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 08:36:52 +00:00
Haruhiko Yamagata
86b0e9948b H264: Don't deblock if alpha or beta is 0.
This ensures that the MMX loop filter is always bitexact with the C version.
Patch by Haruhiko Yamagata <h.yamagata _a_ nifty com>

Originally committed as revision 18923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-24 03:39:20 +00:00
Stefano Sabatini
a7e6312b1e Remove duplicated RGB_TO_[YUV]_CCIR macros, directly use those defined
in libavcodec/colorspace.h.

Originally committed as revision 18922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 23:32:29 +00:00
Michael Niedermayer
77bc343a40 indent
Originally committed as revision 18921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 23:02:33 +00:00
Michael Niedermayer
216fb60dff Fix lowres with rv20.
Fixes issue1102.

Originally committed as revision 18920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 22:59:35 +00:00
Jeff Downs
fdb699de62 Fix passing of unaligned addresses to dsputil diff_bytes() by
changeing calls to sub_left_prediction such that
the source frame data pointers are no longer offset to skip the initial
elements. This keeps them properly aligned for the subsequent call to diff_bytes.
Changes encoding offset to compensate.

Mailing list thread:
https://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-May/069952.html

Originally committed as revision 18919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 19:37:01 +00:00
Jeff Downs
aa5cfdfb4f Add offset argument to encode_422_bitstream() to control where
in the source data array to start encoding.
Change all calls to pass zero for this new argument for equivalent behavior.

This is a restructure to support a forthcoming bug fix.

Originally committed as revision 18918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 19:30:35 +00:00
David Conrad
548a99742c ARM: actually add VP3 loop filter
Originally committed as revision 18917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 18:47:26 +00:00
David Conrad
6db8697a39 ARM: NEON VP3 Loop Filter
Originally committed as revision 18916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 18:36:20 +00:00
Baptiste Coudurier
45e5feda68 Fix regression tests, diff was due to a patch to mpeg-2 parser timestamp fetching, pending,
current ref is technically more correct though.

Originally committed as revision 18912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 09:28:45 +00:00
Larbi Joubala
606d48cee1 fix hdlr descr in mp4 which use c string, patch by Larbi Joubala, larbi dot joubala at resonate-mp4 dot com
Originally committed as revision 18911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 07:17:17 +00:00
Baptiste Coudurier
84df78b476 simplify pes timestamps fetching, based on a patch by corp186, chasedouglas at gmail dot com
Originally committed as revision 18910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 06:25:44 +00:00
corp186
c69d224102 compute total bitrate more accurately, patch by corp186, chasedouglas at gmail dot com
Originally committed as revision 18909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 06:09:16 +00:00
Baptiste Coudurier
9867a14f6c fix qtrle encoding when previous frame linesize differs, fix #998
Originally committed as revision 18908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 05:55:29 +00:00
Baptiste Coudurier
b10d7e4e3a pad last audio frame when encoding
Originally committed as revision 18907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 04:07:25 +00:00
Baptiste Coudurier
c43accabd3 remove useless include
Originally committed as revision 18906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 03:05:56 +00:00
Baptiste Coudurier
01bc48f4d5 Set progressive_sequence before MPV_common_init which cares about it when
setting mb_height for interlaced mpeg-2 encoding.

Originally committed as revision 18905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 01:22:43 +00:00
Ramiro Polla
364f4a3620 Revert part of r18903:
MLP DSP functions x86-optimized.
12.59% overall speedup in x86_32
 9.98% overall speedup in x86_64
compared to gcc 4.3.3

It breaks on x86_64 with PIC because the MANGLE macro appends (%%rip), which
is not wanted for labels.

Originally committed as revision 18904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 01:20:42 +00:00
Ramiro Polla
5624766d18 MLP DSP functions x86-optimized.
12.59% overall speedup in x86_32
 9.98% overall speedup in x86_64
compared to gcc 4.3.3

Originally committed as revision 18903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 00:23:30 +00:00
Baptiste Coudurier
c2b4c859a6 fix mouse seeking when start time is not set, fix #1083
Originally committed as revision 18902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 23:08:07 +00:00
Stefano Sabatini
ecfe3929da Remove duplicated RGB_TO_[YUV] macros, use those included in
libavcodec/colorspace.h.

Originally committed as revision 18901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 22:51:46 +00:00
Stefano Sabatini
62c58bcc65 Fix grammar for avfilter_graph_parse() doxy.
Originally committed as revision 18900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 22:38:41 +00:00
David Conrad
cc0aae4343 Fix libtheora encoding for non-mod16 sizes
Originally committed as revision 18899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 22:01:50 +00:00
David Conrad
ef516f7377 Move ALIGN macro to libavutil/common.h and use it in various places
Originally committed as revision 18898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 21:32:13 +00:00
Baptiste Coudurier
4969cc0bd8 fail if stream fifo could not be allocated
Originally committed as revision 18897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 19:11:56 +00:00
Reimar Döffinger
f2a875db87 Move eatgq blocks array from the stack to the codec context and make sure
it is aligned as necessary for DSPContext's idct_put.
Just aligning it on the stack would have been possible but less reliable
and without any real benefit.

Originally committed as revision 18896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 18:39:00 +00:00
David Conrad
533c3c84e7 Set speex frame_size in ogg demuxer
Originally committed as revision 18895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 18:34:01 +00:00
Diego Biurrun
607694c77b cosmetics: Fix some typos.
Originally committed as revision 18894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 17:14:22 +00:00
Diego Biurrun
ba7a703947 Print out more verbose licensing information.
Originally committed as revision 18893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 10:10:02 +00:00
Baptiste Coudurier
ec6b02b6fd check av_fifo_alloc return
Originally committed as revision 18892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 23:12:41 +00:00
Baptiste Coudurier
24dc7776ff correctly check for audio streams in mpeg ps muxer, fix multiple audio tracks
Originally committed as revision 18891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 22:33:17 +00:00
Justin Ruggles
cab4e4e84d 10l: typing mistake in r18888
Originally committed as revision 18890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:28:23 +00:00
Justin Ruggles
37a1cc4834 eac3dec: fix bug in GAQ dequantization. large mantissas should only be
decoded when the gain value is 2 or 4.

Originally committed as revision 18889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:15:44 +00:00
Justin Ruggles
9907c7804a eac3dec: make GAQ dequantization 24-bit
Originally committed as revision 18888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:15:03 +00:00
Justin Ruggles
ae04de316f eac3dec: revert commit r18860. keep the AHT IDCT 24-bit. will make AHT GAQ
dequantization 24-bit in a separate commit.

Originally committed as revision 18887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-21 00:09:23 +00:00
Måns Rullgård
e20a4f53a0 mathops: sort arch-specific #include lines
Originally committed as revision 18886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 18:49:55 +00:00
Måns Rullgård
26f6a57467 mathops: whitespace cosmetics
Originally committed as revision 18885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 18:49:52 +00:00
Måns Rullgård
d349685bb9 Create shared libs correctly, fix mingw build
Originally committed as revision 18884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 18:37:34 +00:00
Kenan Gillet
cdce0fb845 Add QCP demuxer.
Originally committed as revision 18883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 17:19:39 +00:00
Diego Biurrun
de08ebe381 Mention LGPL AC-3 decoder in the changelog.
Originally committed as revision 18882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 16:30:56 +00:00
Måns Rullgård
b4c80b649e Fix building from within subdirs
Originally committed as revision 18881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 10:24:59 +00:00
Martin Storsjö
a2ce9a9914 Use IF1 frame sizes in AMR-WB.
Patch by Martin Storsjö: martin (remove that) at martin (oh and this too) st

Originally committed as revision 18880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 08:57:32 +00:00
Siarhei Siamashka
373177949f Use iMDCT output scaling to simplify ffvorbis and make it slightly faster.
Originally committed as revision 18879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 07:26:09 +00:00
Siarhei Siamashka
7dfed8e1dc Fix for a problem with inverted sign of output data from ffvorbis decoder.
Now the sign of audio samples in ffvorbis output is the same as in original
uncompressed audio file and this also allows the use of tiny_psnr to compare
ffvorbis with libvorbis/tremor.

Originally committed as revision 18878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 07:24:38 +00:00
Siarhei Siamashka
34aecf1c87 Support for testing (i)MDCT output scale factor in fft-test tool.
Originally committed as revision 18877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-20 07:23:09 +00:00
Diego Biurrun
1754fe4d30 The AC-3 decoder is now LGPL. Exchange the license header and change references
in the build system and documentation that mark it as GPL.

Originally committed as revision 18876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 22:58:09 +00:00
Jason Garrett-Glaser
d869a460db LGPL version of ac3_decode_transform_coeffs_ch, ~12.4% faster.
Originally committed as revision 18875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 21:29:21 +00:00
Måns Rullgård
bae3abb02c Define ARCH_MIPS64 when building for MIPS64
Originally committed as revision 18874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 19:40:24 +00:00
Måns Rullgård
08a85a59d6 Define HAVE_BIGENDIAN as 0 or 1 according to CPU type
This should replace the inconsistently named and defined
WORDS_BIGENDIAN.

Originally committed as revision 18873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 19:40:22 +00:00
Måns Rullgård
5b34250da0 configure: add some MIPS CPUs
Originally committed as revision 18872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 19:38:44 +00:00
Alex Converse
6c6dac1dc1 Add missing libavformat dependencies on mpeg4audio.o
Originally committed as revision 18871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 18:02:06 +00:00
Kostya Shishkov
5b21719ea2 Let SwScaler know that RGB48 BE/LE is 16-bits per component format.
Originally committed as revision 29317 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-19 17:37:58 +00:00
Diego Biurrun
6532cd55b1 Move AMR-WB-specific code to the AMR-WB section of the file.
Fixes compilation when AMR-NB #includes are not available on the system.

Originally committed as revision 18870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 17:31:56 +00:00
Diego Biurrun
4e1424fdc7 cosmetics: Move AMR-WB-specific code to the AMR-WB part of the file.
Originally committed as revision 18869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-19 17:30:27 +00:00
Kostya Shishkov
075ec82c54 Make SwScaler recognize RGB48 BE/LE colourspaces (not support though).
Originally committed as revision 29316 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-19 17:26:22 +00:00
Stefano Sabatini
cec8e5f76a Log with level AV_LOG_ERROR if av_parse_color() cannot recognize a
color.

Originally committed as revision 18868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-18 17:59:03 +00:00
Diego Biurrun
76499b9ff1 Remove useless casts of vec_ld() parameters.
Gets rid of 'cast discards qualifiers from pointer target type' warnings.

Originally committed as revision 18867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-18 08:21:50 +00:00
Benjamin Larsson
7dd5568924 Indent
Originally committed as revision 18866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 16:13:03 +00:00
Benjamin Larsson
031b1cbeeb Change from INIT_VLC_USE_STATIC to INIT_VLC_USE_NEW_STATIC in atrac3
Originally committed as revision 18865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 16:12:07 +00:00
Benjamin Larsson
fbf4d03a7c Indent
Originally committed as revision 18864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 10:31:16 +00:00
Benjamin Larsson
8d9f12657c Switch from INIT_VLC_USE_STATIC to INIT_VLC_USE_NEW_STATIC in qdm2.
Originally committed as revision 18863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 10:29:40 +00:00
Vitor Sessak
a2c4b2cc9a Make TMV decoder check packet sizes before reading from it.
FATE test 295 might need updating.

Originally committed as revision 18862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 09:48:12 +00:00
Reimar Döffinger
936bb4a9bc Add a forward declaration of mpeg1_decode_block_intra to fix compilation
broken by r18859 for e.g. all gcc 4 compilers.

Originally committed as revision 18861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 09:09:07 +00:00
Justin Ruggles
9a7a71ed4c eac3dec: use 16-bit pre-mantissas instead of 24-bit in AHT decoding. it is
simpler and also fixes a bug in GAQ dequantization.

Originally committed as revision 18860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 06:53:24 +00:00
Måns Rullgård
db2f209352 mpeg12: fix non-standard use of "extern inline"
Rename ff_mpeg1_decode_block_intra to mpeg1_decode_block_intra and
make it static.  Add ff_mpeg1_decode_block_intra as plain extern
function calling mpeg1_decode_block_intra.

Originally committed as revision 18859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-17 00:54:29 +00:00
Yao Peter
eb853afb8a Fix the M bit for multi-packet NALs.
Patch by Yao Peter (peter AT yuvad DOT com)

Originally committed as revision 18858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 17:11:47 +00:00
Justin Ruggles
1ac7d1ac50 ac3dec: fix coupling range check. the start subband must be less than
the end subband.

Originally committed as revision 18857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 17:02:44 +00:00
Måns Rullgård
78ad664a7e oma: fix build if memcmp() is a macro
Any C library function may be a macro, so compound literals
passed to memcmp() must be surrounded by parens to avoid being
split on commas.

Originally committed as revision 18856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 15:09:30 +00:00
Siarhei Siamashka
7d485f165f Support for getting (i)MDCT output multiplied by a constant scaling factor.
Scaling (i)MDCT output has no runtime overhead and can be used to improve
performance of audio codecs. All the changes are only needed in
'ff_mdct_init' function and slow down initialization a bit.

Originally committed as revision 18855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 14:17:08 +00:00
Martin Storsjö
3ac56e28b0 Move img_convert_ctx to VideoState and free it in stream_close().
Patch by Martin Storsjö, martin martin st

Originally committed as revision 18854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 10:29:55 +00:00
Martin Storsjö
7c5ab14540 Add missing frees to stream_close() and do_exit().
Patch by Martin Storsjö, martin martin st

Originally committed as revision 18853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 10:26:41 +00:00
Kostya Shishkov
b3867c93d1 Fix off-by-one error in MS RLE decoder which may result into writing past
picture buffer.

Originally committed as revision 18852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 06:39:08 +00:00
Baptiste Coudurier
2d5fabc87a move increment after debug print
Originally committed as revision 18851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-16 04:08:34 +00:00
Diego Biurrun
d8ed5bae6f cosmetics: K&R coding style, indent correctly, break overly long lines
Originally committed as revision 18850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 22:46:29 +00:00
Diego Biurrun
e0c1e12a62 Replace 'x == 0' if conditions with '!x'.
Originally committed as revision 18849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 22:41:26 +00:00
Diego Biurrun
76b58f9f94 cosmetics: Remove pointless {}.
Originally committed as revision 18848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 20:12:45 +00:00
Diego Biurrun
e09989be45 Surround AMR_WB encoding code by appropriate #ifdefs.
This will help support the opencore AMR library.

Originally committed as revision 18847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 19:03:45 +00:00
Diego Biurrun
9c0ef69af7 cosmetics: Move some more code around to avoid #ifdeffery.
Originally committed as revision 18846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 18:54:36 +00:00
Diego Biurrun
c005a3ba59 cosmetics: Move functions around so that encoding and decoding functions are
grouped together. This will save some #ifdefs.

Originally committed as revision 18845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 17:34:26 +00:00
Diego Biurrun
4d7d5ede5d Remove redundant #if condition. Two CONFIG_LIBAMR_NB blocks were right after
each other so that the second check was pointless.

Originally committed as revision 18844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 17:22:41 +00:00
Diego Biurrun
d2dfde0811 Add av_cold attribute to amr_nb decoding/encoding initialization functions.
Originally committed as revision 18843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 17:15:12 +00:00
Benjamin Larsson
e5cd2d3dca Bugfix for bug introduced in the multichannel cook patchset.
Originally committed as revision 18842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 16:25:54 +00:00
Ramiro Polla
13bd2044d3 mlp: Simplify adressing of state and coeffs arrays for both filters by making
the arrays sequential.

Originally committed as revision 18841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 15:34:22 +00:00
Ramiro Polla
42e64bf874 mlp: include mlp.h and use MAX_CHANNELS instead of hardcoding value 8.
Originally committed as revision 18840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 15:30:43 +00:00
David Conrad
ebcf3b742b Ensure that we don't read from invalid memory with B-frame qpel
Originally committed as revision 18839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 07:49:59 +00:00
Baptiste Coudurier
e1316b19ea write 'stps' for mpeg-2 open gop in .mov
Originally committed as revision 18838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 06:11:53 +00:00
Baptiste Coudurier
9d9a623925 decode mpeg-2 closed gop first b frames, fix issue #824
Originally committed as revision 18837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 05:39:44 +00:00
Baptiste Coudurier
8be080aebb free Track and unset priv_data to avoid double free, fix memleak
Originally committed as revision 18836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 05:33:05 +00:00
Baptiste Coudurier
df099252bb reindent
Originally committed as revision 18835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 04:44:37 +00:00
Baptiste Coudurier
58a830239d remove unneeded length checks
Originally committed as revision 18834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 04:43:44 +00:00
Baptiste Coudurier
357ec71f09 change pic type to Picture* and remove casts
Originally committed as revision 18833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 02:01:53 +00:00
Stefano Sabatini
c1ec75b576 Implement av_set_options_string().
Originally committed as revision 18832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 22:57:08 +00:00
Baptiste Coudurier
ab4752e382 use flags field and remove key_frame field
Originally committed as revision 18831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 21:05:52 +00:00
Baptiste Coudurier
fe335ff530 change cts type to int, save some space
Originally committed as revision 18830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 20:54:19 +00:00
Stefano Sabatini
644f8c7670 Document av_set_string3() returned error codes.
Originally committed as revision 18829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 19:03:22 +00:00
Stefano Sabatini
3d3bd64db8 Add support in av_parse_color() to a "random" color name, which will
result in a randomly choosen random color, as it is with the
"bikeshed" color.

Originally committed as revision 18828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:58:06 +00:00
Stefano Sabatini
b69b622c22 Make case insensitive the match for the color name in
av_parse_color().

Originally committed as revision 18827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:54:25 +00:00
Stefano Sabatini
be1fb76fa1 Make av_set_string3() print a message in case of unknown option.
Originally committed as revision 18826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:50:58 +00:00
Stefano Sabatini
50f68bdebf Provide a context to av_log() calls in av_set_number2() and
av_set_string3().

Originally committed as revision 18825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:43:43 +00:00
Stefano Sabatini
38efe76877 Use a single space after an ending period and the beginning of the
next sentence, consistent with the FFmpeg documentation style.

Originally committed as revision 18824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:19:42 +00:00
Stefano Sabatini
c5c6f62668 Apply documentation fixes: use third person, fix grammar and remove
inconsistent '\p'.

Originally committed as revision 18823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:13:17 +00:00
Andres Mejia
83993c1c76 Add gnu/kfreebsd to list of recognized operating systems.
patch by Andres Mejia, mcitadel gmail com

Originally committed as revision 18822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 11:45:41 +00:00
Siarhei Siamashka
460c0abfbb Fix for issue #829 ("ffvorbis outputs crackling sound, libvorbis plays fine")
This was off-by-one bug which affects floor0 encoded files. Tracked down
by valgrind (was reported as the use of uninitialized memory).

With this patch applied, tiny_psnr now reports the following when ffvorbis
is compared to libvorbis-1.0beta4 output for 'lsp-test.ogg' sample:
stddev:    0.76 PSNR: 98.69 bytes:  3498380/  3498452

Output from libvorbis-1.2 is substantially different:
stddev:  132.57 PSNR: 53.87 bytes:  3498424/  3498496

Originally committed as revision 18821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 06:38:49 +00:00
Michael Niedermayer
4601e76a43 Fix VBV delay for mpeg1/2 CBR.
Originally committed as revision 18820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 03:37:58 +00:00
David Conrad
0a8dedc9e1 Use skip_bits_long() for large skips
This fixes ogg/theora on ARM (more generally the A32 bitstream reader)

Originally committed as revision 18819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 00:02:07 +00:00
Alex Converse
97d4318347 Add PCE support to the ADTS muxer.
Originally committed as revision 18818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 22:59:58 +00:00
Alex Converse
107815de42 Subroutine to copy an AAC Program Config Element (PCE)
Originally committed as revision 18817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 22:57:30 +00:00
Alex Converse
f2e5c8b96a Cosmetics after last commit
Originally committed as revision 18816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 17:59:46 +00:00
Alex Converse
90350d73f8 Allow parsing and decoding of ADTS AAC files with channel config = 0
Originally committed as revision 18815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 17:57:58 +00:00
Alex Converse
ee373ddffd Move the ADTS header size to the parser's header file.
Originally committed as revision 18814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 14:11:11 +00:00
Baptiste Coudurier
171a353159 parse 'stps' atom to set keyframe, partial sync sample for mpeg-2 open gop
Originally committed as revision 18813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 08:31:22 +00:00
Baptiste Coudurier
1a11c0aa8a align and update doxygen
Originally committed as revision 18812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 08:01:33 +00:00
Baptiste Coudurier
41e6499996 remove comment
Originally committed as revision 18811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 07:57:08 +00:00
Baptiste Coudurier
4b29ed399f Parse 'cslg' atom to retrieve dts shift when 'ctts' duration is negative.
We have now dts <= pts, note that for some B frames dts+1 == pts can happen
if a crappy timebase is used instead of correct /1001.

Originally committed as revision 18810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 07:55:03 +00:00
Alex Converse
ec21c21563 Add a quick description to the H.264 BSF
Originally committed as revision 18809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 06:06:59 +00:00
Baptiste Coudurier
3a86d3f646 factorize av_set_pts_info
Originally committed as revision 18808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 04:22:53 +00:00
Baptiste Coudurier
1fbbedff85 cosmetics, alignment
Originally committed as revision 18807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 04:20:23 +00:00
Baptiste Coudurier
520ca5032a add casts to silence gcc warnings
Originally committed as revision 18806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 00:32:46 +00:00
Baptiste Coudurier
03e4f1ed7f add casts to silence gcc warnings
Originally committed as revision 18805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 00:27:11 +00:00
Diego Biurrun
e19f995263 Fix bandwith vs. bandwiDth typo.
Originally committed as revision 18804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-12 23:40:22 +00:00
Baptiste Coudurier
e131922e48 v210 mov fourcc
Originally committed as revision 18803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-12 20:00:11 +00:00
Baptiste Coudurier
9c4e266c1c v210 avi fourcc, v210_720p.avi
Originally committed as revision 18802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-12 19:58:13 +00:00
Baptiste Coudurier
ca0bb1c49c V210 Uncompressed 4:2:2 10-bit encoder and decoder
Originally committed as revision 18801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-12 19:56:48 +00:00
Cyril Comparon
5f1ac36dd2 Per-stream language-tags extraction in asfdec.
Patch by Cyril Comparon: gmail(name, surname);
Original thread: Suggestion for a centralized language-tag facility in libavformat
Date: 04/10/2009 07:33 PM

Originally committed as revision 18800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-12 12:35:46 +00:00
David Conrad
de96180137 Copy input codec's chroma_sample_location to output codec when transcoding.
Currently only used by yuv4mpeg.

Originally committed as revision 18799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-12 00:47:19 +00:00
Alexander Chemeris
c67d725589 Support 16K samplerate in Nellymoser.
patch by Alexander Chemeris, ipse.ffmpeg gmail.com

Originally committed as revision 18798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 19:21:49 +00:00
David Conrad
325aef38da Update regression tests for y4m after r18796
The default changed from 420mpeg2 to 420jpeg

Originally committed as revision 18797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 08:45:20 +00:00
David Conrad
56bb72dc3b Use chroma_sample_location in reading/writing yuv4mpeg
Originally committed as revision 18796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 04:35:15 +00:00
David Conrad
580a7465fb Add a chroma_sample_location field to define positioning of chroma samples
Originally committed as revision 18795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 04:34:23 +00:00
Måns Rullgård
014b7ecb66 PPC: 32-bit asm for MAC64 and MLS64
GCC makes a mess of these operations, so give it a hand.

55% faster MP3 decoding on G4.

Originally committed as revision 18794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 02:41:50 +00:00
Baptiste Coudurier
24ac50525a move free data in the video case
Originally committed as revision 18793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 02:36:57 +00:00
Baptiste Coudurier
e4358e70f8 write a single pes for video frames, some proprietary player needs it
Originally committed as revision 18792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 02:30:29 +00:00
Baptiste Coudurier
61a4fd8e64 sgi encoder does not support pal8
Originally committed as revision 18791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 22:36:16 +00:00
Baptiste Coudurier
f65aad9587 rgb555le, rgb565le, rgb565be, bgr24 in .mov muxing
Originally committed as revision 18790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:41:01 +00:00
Baptiste Coudurier
5b50b8f57f bgra in .mov muxing
Originally committed as revision 18789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:14:42 +00:00
Baptiste Coudurier
dfb0471fce correct pixfmt for argb
Originally committed as revision 18788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:12:36 +00:00
Baptiste Coudurier
ed88074a32 rgba in .mov muxing
Originally committed as revision 18787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:11:11 +00:00
Baptiste Coudurier
30853173b8 reindent
Originally committed as revision 18786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 19:11:06 +00:00
Baptiste Coudurier
a7e562291d check for palette presence, fix crash with QT-BMP.mov, issue #1074
Originally committed as revision 18785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 19:10:37 +00:00
Benjamin Larsson
841b45e55d Remove dead nested assignment found by CSA
Originally committed as revision 18784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 14:44:09 +00:00
Benjamin Larsson
0871e65cf6 Remove unused code found by CSA
Originally committed as revision 18783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 14:33:40 +00:00
Diego Biurrun
0020c54cb8 Add const qualifier to param argument of sws_getContext() and
sws_getCachedContext().  Fixes the warning:
swscale.c:3408: warning: assignment discards qualifiers from pointer target type

Originally committed as revision 29288 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-10 14:00:00 +00:00
Diego Biurrun
465477e1fb Move preprocessor condition before variable declaration, fixes the warning:
libswscale/swscale.c:1795: warning: unused variable 'flags'

Originally committed as revision 29287 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-10 11:37:04 +00:00
Baptiste Coudurier
b69017af87 ensure first pts is set, according to specs
Originally committed as revision 18781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:57:21 +00:00
Baptiste Coudurier
1e8857882b remove useless max_payload_size variable
Originally committed as revision 18780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:41:35 +00:00
Baptiste Coudurier
8f14cdee73 do not write dts if pts is not set
Originally committed as revision 18779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:37:58 +00:00
Baptiste Coudurier
31df40a130 fix total bitrate computation, based on patch by corp186, chasedouglas at gmail dot com
Originally committed as revision 18778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:02:18 +00:00
Baptiste Coudurier
7574dc4c37 update comment for rgb 16 bit in .mov
Originally committed as revision 18777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 00:53:02 +00:00
Stefano Sabatini
7a79e51cd6 Add @code/@endcode commands to markup C code in av_tree_insert() doxy.
Originally committed as revision 18776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-09 23:02:20 +00:00
Stefano Sabatini
9c5a4ea28c Add missing '*' to av_tree_insert() doxy.
Originally committed as revision 18775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-09 23:00:46 +00:00
Diego Biurrun
f8c0692d8e Add necessary header for CONFIG_RUNTIME_CPUDETECT preprocessor definition.
Originally committed as revision 18774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-09 12:26:05 +00:00
Diego Biurrun
f1933e436c Add missing const qualifiers to AltiVec function parameters where appropriate.
Fixes a couple of 'discards qualifiers from pointer target type' warnings.

Originally committed as revision 29281 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-09 10:56:37 +00:00
Daniel Verkamp
10ce919561 data parameter of dnxhd_encode_picture() should not be const.
Fixes "dnxhdenc.c:805: warning: initialization from incompatible pointer type".
patch by Daniel Verkamp, daniel drv nu

Originally committed as revision 18773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-08 19:41:21 +00:00
Vitor Sessak
b755a754d1 "[" is a terminating char for the filter name. This fixes the parsing of
things like

[in] vflip [out];

Originally committed as revision 18772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-08 19:14:21 +00:00
Michael Niedermayer
9a3eaeebad Correct x/ymin to avoid segfault due to out of picture reads.
Originally committed as revision 18771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-08 15:14:36 +00:00
Vitor Sessak
5f9ae1983d Fix sliced yuv410 -> yuv420 conversion
Originally committed as revision 29272 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-07 20:41:04 +00:00
Daniel Verkamp
fc430e8fab Warning fix: Make ogg_stream.codec const
This matches the return value of ogg_find_codec and fixes
"libavformat/oggdec.c:333: warning: assignment discards qualifiers from
pointer target type"

Patch by Daniel Verkamp (daniel - drv . nu)

Originally committed as revision 18769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 23:02:26 +00:00
Daniel Verkamp
cf6bae6883 Change codec_id type to enum CodecID, fix warning.
Patch by Daniel Verkamp daniel @ drv @ nu.

Originally committed as revision 18768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 22:38:21 +00:00
Daniel Verkamp
f0b19bd3db Update docs after the 8088flex TMV demuxer and decoder addition.
Patch by Daniel Verkamp daniel AT drv + nu.

Originally committed as revision 18767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 22:06:19 +00:00
Daniel Verkamp
7c7d3e09f6 Add 8088flex TMV file demuxer.
Patch by Daniel Verkamp daniel|at|drv|nu.

Originally committed as revision 18766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 22:01:54 +00:00
Daniel Verkamp
a1fd2bc350 Add 8088flex TMV video decoder.
Patch by Daniel Verkamp name at drv ... nu.

Originally committed as revision 18765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 21:57:20 +00:00
Daniel Verkamp
89cb5cd25d Add CGA and palette data for 8088flex TMV decoder.
Patch by Daniel Verkamp  daniel _AT_ drv DOT nu.

Originally committed as revision 18764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 21:51:58 +00:00
Ramiro Polla
e282272667 mlpdec: Fix possible writing out of array bounds introduced by being
under-paranoid in r18651.

Originally committed as revision 18763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 16:01:28 +00:00
Ramiro Polla
e8d341ce19 mlpdec: Split sync word error and MLP sync word check.
The previous code would print the wrong error message for MLP streams with
TrueHD noise type.

Originally committed as revision 18762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 15:46:10 +00:00
Ramiro Polla
aff42ee0ff mlpdec: Fix indentation that got mangled from copy&paste.
Originally committed as revision 18761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 15:37:25 +00:00
Ramiro Polla
4fa61d1e98 Accept "bikeshed" as a random color.
Originally committed as revision 18758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 15:25:30 +00:00
Kostya Shishkov
512cfd9d54 Add 32-bit RGB support to TIFF decoder and extend a bit 'unsupported format' message
Originally committed as revision 18755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 06:49:04 +00:00
Laurent Aimar
992f7db060 Add floating point audio decoding to WavPack decoder.
Patch by Laurent Aimar (fenrir at `antonym of 'audio'+antonym of 'WAN'` dot org)

Originally committed as revision 18754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 05:40:43 +00:00
Laurent Aimar
cabb81113a Prepare WavPack decoder to support floating point output.
Patch by Laurent Aimar (f-e-n-r-i-r .@.t. v=i=d=e=o=l=a=n .d.o.t. o=r=g)

Originally committed as revision 18753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 05:28:06 +00:00
Justin Ruggles
778bc09bbe cosmetics: line wrap and vertical alignment
Originally committed as revision 18752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 01:48:14 +00:00
Justin Ruggles
396b73c7f7 ac3dec: Remove unneeded context variable, num_cpl_subbands. It is also
not needed for spectral extension or enhanced coupling since it is
redundant information, so I am removing it from decode_band_structure()
as well.

Originally committed as revision 18751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 01:47:34 +00:00
Justin Ruggles
52dc3fc83d cosmetics: indentation after last commit
Originally committed as revision 18750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 23:39:10 +00:00
Justin Ruggles
13ec942869 ac3dec: move channel remapping to outside of block loop
Originally committed as revision 18749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 23:38:12 +00:00
Stefano Sabatini
a3015225c7 Implement av_parse_color().
Originally committed as revision 18748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 22:10:06 +00:00
Michael Niedermayer
9c24cd7236 Extract colorspace fields from MPEG1/2.
Originally committed as revision 18747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 19:53:49 +00:00
Måns Rullgård
1e24f1b25d mpegaudio: enclose SUM8() macro args in parens when used
Originally committed as revision 18746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 18:44:13 +00:00
Måns Rullgård
bf030c887f mpegaudio: avoid unnecessary copy in high-precision mode
Originally committed as revision 18745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 18:44:10 +00:00
Måns Rullgård
adb206c238 mpegaudio: use av_clip()
Originally committed as revision 18744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 18:44:07 +00:00
Michael Niedermayer
4ee6a5c161 Add colorspace fields to AVCodecContext.
Originally committed as revision 18743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 18:25:20 +00:00
Carl Eugen Hoyos
ee273f98e8 Cosmetics: Fix indentation after r18741.
Originally committed as revision 18742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 15:48:04 +00:00
Michael Niedermayer
266c1d901f Do not discard mp3 frames in the parser after a broken frame.
Fixes issue1044.
This may cause regressions with broken streams, if you find any, please report!

Originally committed as revision 18741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 13:46:50 +00:00
Laurent Aimar
3cb088868c Factorize out integer sample value decoding for WavPack.
This is slightly modified patch by Laurent Aimar.

Originally committed as revision 18740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 06:10:59 +00:00
Baptiste Coudurier
c20a305bca dvh1 avi fourcc, dvh1_sample_truncated.avi, issue #1034
Originally committed as revision 18739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 04:30:08 +00:00
Baptiste Coudurier
c239a65b70 more dvcprohd .mov fourcc, see #1034
Originally committed as revision 18738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 04:27:24 +00:00
Michael Niedermayer
9507d91150 Change VOFW for x86 to 5120, it allows larger images to be scaled and was
not slower. Other archs are not changed as the larger VOFW was slower on PPC.

Originally committed as revision 29256 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-05 01:34:16 +00:00
Måns Rullgård
3737dd1cd3 PPC: implement MULH() in assembler
Left to its own devices, gcc calculates the full 64-bit product only to
discard the low 32 bits.  This forces it to do the right thing.

20% faster MP3 decoding on G4.

Originally committed as revision 18737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-04 17:31:15 +00:00
Zdenek Kabelac
e2fa5cf4c9 Do not scan for MP3 header after the given buffer and return skipped
bytes along with consumed bytes on successful decoding.
patch by Zdenek Kabelac, zdenek.kabelac gmail com

Originally committed as revision 18736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-04 14:23:48 +00:00
Diego Biurrun
c7279693ae Add note about nonfree license of libfaac.
Originally committed as revision 18735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-04 11:37:25 +00:00
Kenan Gillet
5b05059d2d Properly handle SILENCE frame. Patch by Kenan Gillet.
Originally committed as revision 18734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-04 03:25:57 +00:00
Benjamin Larsson
6b71ed1678 Remove dead assignments found by CSA
Originally committed as revision 18733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-03 09:32:40 +00:00
Laurent Aimar
66311f86d4 Check whether extra bits block has enough data.
Patch by Laurent Aimar "f\145nr\151r >at< vide\157lan <dot> o\162g"

Originally committed as revision 18732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-03 05:42:51 +00:00
Benjamin Larsson
241f5eab32 Remove dead assignments found by CSA
Originally committed as revision 18731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-02 09:12:03 +00:00
Benjamin Larsson
10c773c12f Remove dead assignments found by CSA
Originally committed as revision 18730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-02 09:08:40 +00:00
Cédric Schieli
f267119786 Fix chroma shift when scaling from ARGB on LE and BGRA on BE
Originally committed as revision 29242 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-02 08:40:53 +00:00
Laurent Aimar
418f77ec6e Decode extended bitstream for high-precision WavPack files.
Patch by Laurent Aimar [(wolf, son of Loki) <at> (videolan) <dot> (org)]

Originally committed as revision 18729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-02 05:17:20 +00:00
Zdenek Kabelac
92147b6bec Use new packet reading API, fixes a memory leak.
patch by Zdenek Kabelac, zdenek.kabelac gmail com

Originally committed as revision 18728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 21:39:53 +00:00
Stefano Sabatini
2e032b32df Prefer (void) over () in function prototype.
Originally committed as revision 18727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 21:35:01 +00:00
Stefano Sabatini
dd04911c4e Make graphparser.c use av_get_token().
This also avoids the need for '\=' escaping.

Originally committed as revision 18726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 18:17:59 +00:00
Michael Niedermayer
d11dbf092c av_get_token()
based on a patch by Stefano Sabatini

Originally committed as revision 18725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 14:38:07 +00:00
Michael Niedermayer
714127812c Ignore first entry of intra matrixes if it is invalid.
Fixes pink.mpg / issue1046.

Originally committed as revision 18724 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 12:31:19 +00:00
Michael Niedermayer
45ccc61a06 Factorize quantization matrix loading code out.
Originally committed as revision 18723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 12:17:25 +00:00
Ramiro Polla
da00b52578 Don't #if a function declaration and properly indent it.
Originally committed as revision 18722 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 21:34:56 +00:00
Ramiro Polla
bf4f19dc65 mlpdec: Move MLP's filter_channel() to dsputils.
Originally committed as revision 18721 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 12:30:05 +00:00
Ramiro Polla
52bcc8e13c Document change in r18719.
Originally committed as revision 18720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 12:08:35 +00:00
Ramiro Polla
ce1d9c851c Export av_free_packet().
Originally committed as revision 18719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 12:06:34 +00:00
Diego Biurrun
f0a75e66b9 Add missing return statement to out-of-memory condition. Fixes the warning:
libavcodec/motionpixels.c:302: warning: statement with no effect

Originally committed as revision 18718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-30 10:21:22 +00:00
Måns Rullgård
4c27207c12 configure: fix licence check function
Originally committed as revision 18717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 16:14:33 +00:00
Diego Biurrun
a068a7f1f0 Drop unused libamr-nb fixed-point glue code.
Originally committed as revision 18716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 15:43:57 +00:00
Diego Biurrun
2f7ae63ba1 Require --enable-nonfree for turning on libfaac support.
libfaac lies about being LGPL, when it really is not.

Originally committed as revision 18715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 15:40:25 +00:00
Diego Biurrun
2184c6f7af Factorize GPL and nonfree license checks into a common function.
Originally committed as revision 18714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 15:32:40 +00:00
David Conrad
d647ed789f ARM: Use fewer register in NEON put_pixels _y2 and _xy2
Approved by Mans on IRC

Originally committed as revision 18713 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 11:38:09 +00:00
David Conrad
428bf2ac88 ARM: NEON put_pixels_clamped
Originally committed as revision 18712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-29 11:31:43 +00:00
Stefano Sabatini
4b11e833b8 Convert names to the FFmpeg style.
Originally committed as revision 18711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-28 19:51:50 +00:00
Michael Niedermayer
e45aeb38a6 Reset eof state on seeking.
Fixes issue1005.

Originally committed as revision 18710 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-28 18:02:21 +00:00
Stefano Sabatini
5efccce2a9 Implement av_get_bits_per_pixel().
Originally committed as revision 18709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 23:20:30 +00:00
Vitor Sessak
859471565a Revert r18700, documentation of deprecated functions might be useful for
people trying to update to the new API.

Log of r18700:
Remove documentation from deprecated fields, they should not be used,
thus there is no sense in documenting them.

Originally committed as revision 18708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 18:35:54 +00:00
Vitor Sessak
6cf92f6d26 Check if there is enough bytes before reading the buffer in the EA ADPCM
decoder. Fix issue 990.

Originally committed as revision 18707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 16:06:01 +00:00
Vitor Sessak
8a06cb14f9 Skip 0x0000 frame footer in EA ADPCM decoder.
Originally committed as revision 18706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 16:04:43 +00:00
Cédric Schieli
b78c8e2103 Remove useless duplicated code in yuv2rgb_c_32, yuva2rgba_c and yuva2argb_c
Originally committed as revision 29240 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-27 14:25:44 +00:00
Michael Niedermayer
859f9c0b47 Remove useless and outright wrong chatter from avcodec_encode_video().
Originally committed as revision 18705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 12:41:41 +00:00
Michael Niedermayer
aa04b9204e Remove redundant chatter from avcodec_encode_audio()
Originally committed as revision 18704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 12:39:30 +00:00
Michael Niedermayer
1885c76acf Negative is error not -1, corrected in the doxy for avcodec_decode_subtitle2().
Originally committed as revision 18703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 12:38:14 +00:00
Michael Niedermayer
4d24c24fcb Add multiframe note to avcodec_decode_video() too.
Originally committed as revision 18702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 12:36:23 +00:00
Michael Niedermayer
e5776422b4 Cleanup first paragraph of doxy of avcodec_decode_audio3().
Originally committed as revision 18701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 12:34:25 +00:00
Michael Niedermayer
3784411100 Remove documentation from deprecated fields, they should not be used,
thus there is no sense in documenting them.

Originally committed as revision 18700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 12:28:56 +00:00
Michael Niedermayer
ed57ef39e6 Remove confusing and redundant engrish chatter from avcodec_decode_video2().
Originally committed as revision 18699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 12:25:36 +00:00
Cyril Comparon
276f8e2b9b Add avlanguage helpers in libavformat.
Patch by Cyril Comparon: standard_gmail_full_name_address
Original thread: Suggestion for a centralized language-tag facility in libavformat
Date: 04/10/2009 07:33 PM

Originally committed as revision 18698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 07:27:39 +00:00
Benoit Fouet
80b9d6366f Make function pointer assignments consistent in option handling.
Originally committed as revision 18697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 07:13:50 +00:00
Kostya Shishkov
9c4b5eb8ce Revert changing VLC initialization type for RV3/4 decoder.
While using large static table is not good (especially for embedded devices and
CPUs with small cache), other alternatives are not very good either.

Originally committed as revision 18696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 05:30:22 +00:00
Ramiro Polla
77b12f809b mlpdec: Simplify filtering code by using only one counter variable.
Originally committed as revision 18695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-26 20:37:40 +00:00
Laurent Aimar
60294c593e Correctly update output sample format in wavpack decoder.
Patch by Laurent Aimar (at 'fenrir (cons 'videolan 'org))

Originally committed as revision 18694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-26 04:23:29 +00:00
Benjamin Larsson
bdb8d99613 Proper subpacket size check for cook multichannel files.
Originally committed as revision 18693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 20:09:34 +00:00
Benjamin Larsson
bb1135c8a3 Remove parentheses
Originally committed as revision 18692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 19:47:18 +00:00
Benjamin Larsson
fcc01e646b Set the type of size in COOKSubpacket to unsigned
Originally committed as revision 18691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 18:43:30 +00:00
Stefano Sabatini
75801da580 Add pixdescs definitions for planar YUV pixfmts with 16 bits per
component.

Originally committed as revision 18690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 18:29:31 +00:00
Benjamin Larsson
ec32cfd2cc Make sure we only parse max amount of subpackets (5) in the cook decoder.
Originally committed as revision 18689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 17:46:27 +00:00
Benjamin Larsson
da75426b26 Indent
Originally committed as revision 18688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 17:35:21 +00:00
Benjamin Larsson
0a704b5f21 Remove redundant code
Originally committed as revision 18687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 17:33:36 +00:00
Benjamin Larsson
9189d7eba6 Add Changelog for Cook multi channel support
Originally committed as revision 18686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 10:47:24 +00:00
Benjamin Larsson
67da31826f Support cook multichannel files.
Originally committed as revision 18685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 10:46:07 +00:00
Benjamin Larsson
7204850ea9 Fix the COOKDEBUG code
Originally committed as revision 18684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 10:25:14 +00:00
Benjamin Larsson
4a291c90fe Factor out COOKSubpacket, in preparation for multichannel support.
Originally committed as revision 18683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 10:20:48 +00:00
Stefano Sabatini
10151b138a Add missing pixel format descriptor definitions.
Originally committed as revision 18682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 07:53:55 +00:00
Kostya Shishkov
3df18b3ed1 Get rid of monstrous static table and initialize VLCs for RV3/4 dynamically.
Originally committed as revision 18681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 05:47:38 +00:00
Kostya Shishkov
1c86db80a9 Remove useless assignment during initialization for some decoders
Originally committed as revision 18680 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 14:09:24 +00:00
Michael Niedermayer
f83c57735e indent
Originally committed as revision 18679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 13:38:28 +00:00
Wolfram Gloger
4eac2e8901 Change return type of opt_loglevel() from void to int.
Patch by Wolfram Gloger: wmglo (your at here) dent med uni (minus) muenchen de

Originally committed as revision 18678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 11:56:23 +00:00
Reimar Döffinger
96c5bc46d2 TrueMotion 2 uses its own YUV-like colourspace, so convert output to proper RGB.
Patch by Reimar Döffinger <latinize($name) at (MN's favourite mail provider).de>

Originally committed as revision 18677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 06:44:16 +00:00
Kostya Shishkov
120ac2620d cosmetics: remove extra space indentation
Originally committed as revision 18676 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 05:52:53 +00:00
Kostya Shishkov
29ee635503 Merge decoding functions for all bitdepths in WavPack decoder
Originally committed as revision 18675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 05:50:19 +00:00
Michael Niedermayer
68f8d33bec Support >8bit per component YUV in FFV1.
decoding becomes slower, encoding becomes faster, with gcc on duron.
some inlining overrides like av_flatten are added to keep inlining similar
to before.

Originally committed as revision 18674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 04:10:32 +00:00
Michael Niedermayer
217d34e307 Force speed irrelevant calls to get/put_symbol() to be noinline.
We need to change decode_line to always_inline because gcc decided not to inline
it anymore once we force some calls to get/put_symbol() to be non inlined and
this decision of gcc would lead to a 10% overall speed loss.
100k smaller object file, no speed change

Originally committed as revision 18673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 01:50:09 +00:00
Michael Niedermayer
3788e661f1 Optimize sign handling in get_symbol().
Originally committed as revision 18672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-24 00:26:49 +00:00
Michael Niedermayer
a39b76ea7d Don't loose bits_per_raw_sample when transcoding.
Originally committed as revision 18671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 23:30:16 +00:00
Stefano Sabatini
2e418f5ed8 Make avcodec_thread_init() set the thread count, even in the case when
threads support is not enabled. This should avoid the need for
thread_count explicit setting in applications.

Originally committed as revision 18670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 23:14:26 +00:00
Carl Eugen Hoyos
8e86dd1241 Make reset_ptr() void.
Originally committed as revision 29229 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-23 22:19:53 +00:00
Ivo van Poorten
896873b564 avoid possibly uninitialized return value
(found by clang static analyzer)

Originally committed as revision 18669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 18:44:03 +00:00
Kostya Shishkov
6e0f746d3e Handle WavPack INT32INFO chunks with nonzero post shift
Originally committed as revision 18668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 18:21:16 +00:00
Kostya Shishkov
0638c2ae3c Add functions for decoding >16 bits WavPack files.
Based on patches by Laurent Aimar (fenrir >whirlpool< videolan >dit< org)

Originally committed as revision 18667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 17:27:04 +00:00
Laurent Aimar
760db32a0c Shift 9-15 bit samples to use full 16-bit range.
Patch by Laurent Aimar <fenrir at VLCsite>
Thread: [PATCH] Fixed wavpack 9-15 bits support

Originally committed as revision 18666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 07:44:04 +00:00
Kostya Shishkov
b750fb6945 Display dimensions should not affect the real size of coded frame, thus set
only avctx->{width,height} and don't touch coded_{width,height} when parsing
them. This fixes the case when coded and display dimensions differ by more
than one macroblock.

Originally committed as revision 18665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 07:14:02 +00:00
Michael Niedermayer
e1b3d27272 Remove 2 useless FFMIN().
Originally committed as revision 18664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 22:05:34 +00:00
Michael Niedermayer
7bdf2eb8c4 Remove apparently redundant code.
Originally committed as revision 18663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 21:44:41 +00:00
Jai Menon
4fabb60ddb NSV : Add TOC2 parsing and seeking support.
Originally committed as revision 18662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 19:37:57 +00:00
Benjamin Larsson
6c73a7d06c Remove redundant code, found by CSA
Originally committed as revision 18661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 13:52:33 +00:00
Måns Rullgård
e4ddc8edfa configure: support Blackfin CPU names with --cpu
Originally committed as revision 18660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 09:27:36 +00:00
Andreas Öman
0e1ccdeb11 It should be #if, not #ifdef
Originally committed as revision 18659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 08:39:46 +00:00
Kostya Shishkov
21fce71fd1 Switch VLC tables in WMV3/VC-1 decoder to new static init method
Originally committed as revision 18658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 05:20:31 +00:00
Michael Niedermayer
f9f2ab8229 Require 4 instead of 3 frames for detecting mp3,
fixes misdetection of mpegps_mp3_unrecognized_format.mpg (issue997)

Originally committed as revision 18657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 02:58:20 +00:00
Michael Niedermayer
0ee51c556e Fix 10l typo (usage of PIX_FMT_NE()).
Should fix FATE, i forgot to commit this.

Originally committed as revision 18656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 02:29:11 +00:00
Michael Niedermayer
445f0a8b66 Update safety check as the maximum pixel size is no longer 4.
New max size is 16bit * 4 samples (RGBA).

Originally committed as revision 18655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 01:54:05 +00:00
Michael Niedermayer
97f9214342 Support reading packed YUV422 10bit samples from Sveriges Television AB (SVT)
which have AFAIK been created for the jvt:
ftp://vqeg.its.bldrdoc.gov/HDTV/SVT_exports/SVT_YUV10_Exports_/NewMobCal_YUV10_720p5994_/
I have called the format v210x due to its similarity to v210, note though I have
not confirmed that v210x is different from actual v210 samples it just is
different from the description of v210 I am aware of.

Originally committed as revision 18654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 01:50:15 +00:00
Stefano Sabatini
297b5a3f99 Make read_line() do not depend on put_bits.h and speed up it.
Originally committed as revision 18653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-22 00:04:17 +00:00
Ramiro Polla
9145021d68 Add raw MLP muxer.
Originally committed as revision 18652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 23:23:15 +00:00
Ramiro Polla
420df93037 mlpdec: Don't overallocate buffers.
Now that max channels and primitive matrices are properly validated, there is
no need to be paranoid that random data will be overwritten.
As a bonus this makes matrix_coeff 16-byte aligned between matrices.

Originally committed as revision 18651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 22:53:46 +00:00
Ramiro Polla
309616b249 mlpdec: Validate num_primitive_matrices.
Originally committed as revision 18650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 22:32:50 +00:00
Ramiro Polla
868170c4da mlpdec: Validate max_channel and max_matrix_channel.
Originally committed as revision 18649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 22:12:30 +00:00
Ramiro Polla
46958efe97 mlpdec: Restart header sync must be 0x31ea for MLP.
Originally committed as revision 18648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 21:57:23 +00:00
Stefano Sabatini
5499a31322 Add missing header inclusion guard.
Originally committed as revision 18647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 21:51:01 +00:00
Stefano Sabatini
9401d18fa5 Implement a write_line() function.
Originally committed as revision 18646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 19:15:21 +00:00
Stefano Sabatini
fd548e5bd6 Remove consume_whitespace() and replace it with direct calls to
strspn().

Originally committed as revision 18645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 19:08:49 +00:00
Jai Menon
3d10a8904d Read extended channel configuration when extended AOT is BSAC.
Originally committed as revision 18644 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 17:52:52 +00:00
Kostya Shishkov
0cfa85dd9f Make VLC tables in DCA decoder use INIT_VLC_USE_NEW_STATIC
Originally committed as revision 18643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 17:37:03 +00:00
Kostya Shishkov
a456df258e 100l: VLC table array should not be const
Originally committed as revision 18642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 17:35:30 +00:00
Robert Swain
7bbd2fb126 Remove redundant assignment. err is assigned in every switch case anyway. Issue
found by CSA.

Originally committed as revision 18641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 12:29:36 +00:00
Michael Niedermayer
223d996aaf Fix a possibly exploitable buffer overflow.
Originally committed as revision 18640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 12:00:39 +00:00
Kostya Shishkov
f7cf12b209 Set flag after VC-1 VLCs are initialized to avoid race condition
Originally committed as revision 18639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 05:42:22 +00:00
Kostya Shishkov
346802aa99 Remove some useless assignments and variables found by Clang
Originally committed as revision 18638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 05:24:50 +00:00
Kostya Shishkov
547b6a4cc7 Make RV3/4 VLC tables use new static initialization method
Originally committed as revision 18637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 04:42:27 +00:00
Michael Niedermayer
de1275d5e8 Planar 16bit 420 422 444 YUV support (output is only supported in some
unscaled convertions).
This, like gray16 converts down to 8bit, which is a big FIXME & patch welcome,
we should preserve more bits.

Originally committed as revision 29217 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-21 01:08:03 +00:00
Michael Niedermayer
6c2a860875 Add 420,422 and 444 planar 16bit per component pix formats.
Originally committed as revision 18636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 01:02:48 +00:00
Michael Niedermayer
61a3f379e0 Merge gray->gray converters into planarCopy(), this should also make planarCopy()
useable for other 16bit formats once we support them.

Originally committed as revision 29216 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-21 00:08:06 +00:00
Michael Niedermayer
714f32bf15 Add macro to check for 16bit per sample.
Originally committed as revision 29215 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-21 00:03:00 +00:00
Michael Niedermayer
b87fae9f56 Make sure src/dst are NULL when they arent used, some code uses this to
simpify checks.

Originally committed as revision 29214 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-21 00:01:59 +00:00
Michael Niedermayer
081aa41db9 Use generic BE check instead of checking for gray16LE.
Originally committed as revision 29213 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-20 21:05:32 +00:00
Michael Niedermayer
c3dc6c5a6b add isBE()
Originally committed as revision 29212 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-20 21:04:55 +00:00
Luca Abeni
46ff7a5f4a Fix crash when receiving from SDP
Originally committed as revision 18635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-20 20:06:55 +00:00
Kostya Shishkov
0a044f0f06 Make rv40 decoder use new static VLC initialization method
Originally committed as revision 18634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-20 17:13:21 +00:00
Kostya Shishkov
4003971717 Compact and make constant two tables used by Musepack decoders
Originally committed as revision 18633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-20 15:36:27 +00:00
Diego Biurrun
9292bd7725 Remove example programs with a wildcard expression.
Originally committed as revision 18632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-20 11:14:19 +00:00
Justin Ruggles
be1efe5993 ac3enc: log a warning message if the channel layout is not specified at
the time of codec initialization.

Originally committed as revision 18631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-20 00:34:08 +00:00
Michael Niedermayer
26534fe847 indent
Originally committed as revision 18630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 21:44:25 +00:00
Michael Niedermayer
9dc4176702 Only insert null packets into the video que if there is a video stream.
Fixes memleak and should fix issue791.

Originally committed as revision 18629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 21:44:03 +00:00
Michael Niedermayer
5aef84623a Add zygo fourcc.
Originally committed as revision 18628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 21:24:36 +00:00
Michael Niedermayer
34365443fd Indent
Originally committed as revision 18627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 20:41:26 +00:00
Michael Niedermayer
012e4f5a18 Do not discard truncated packets.
Based on a patch by Maksym Veremeyenko verem DOT m1stereo AT tv

Originally committed as revision 18626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 20:40:56 +00:00
Michael Niedermayer
b40831715a Avoid 100% CPU useage at EOF.
Originally committed as revision 18625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 20:25:20 +00:00
Michael Niedermayer
75bb7b0add Make sure that video frames are flushed at EOF.
This should fix a regression.

Originally committed as revision 18624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 20:24:44 +00:00
Justin Ruggles
120b4557f3 Add channel layout support to the AC-3 encoder.
Originally committed as revision 18623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 15:06:13 +00:00
Justin Ruggles
bfeca7beb6 Add channel layout support to the AC-3 decoder and AC-3 parser.
Originally committed as revision 18622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 15:05:32 +00:00
Justin Ruggles
be233a5691 Check that channel layout is compatible with number of channels for
output audio stream.

Originally committed as revision 18621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 14:05:55 +00:00
Diego Biurrun
dc1ed61432 Mark gsize variable as av_unused, fixes the warning:
libavformat/asfdec.c:995: warning: unused variable ‘gsize’

Originally committed as revision 18620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 13:29:11 +00:00
Diego Biurrun
e0a6d2c365 Revert previous removal of gsize variable. It breaks seeking.
Originally committed as revision 18618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 11:40:03 +00:00
Robert Swain
5967e1413e Remove unnecessary assignment, found by CSA.
Originally committed as revision 18617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 00:55:46 +00:00
Kenan Gillet
d1bf60771c Add LP zero synthesis filter. Patch by Kenan Gillet.
Originally committed as revision 18616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 22:53:37 +00:00
Michael Niedermayer
b36da2c215 Remove 2 useless += at the end of rgb16to15(), found by CSA.
Originally committed as revision 29189 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-18 22:27:36 +00:00
Ramiro Polla
a256445ec3 mlpdec: Read context variable to local variable to make code cleaner.
Originally committed as revision 18615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 20:23:13 +00:00
Ramiro Polla
f95f6ab91e mlpdec: {}- and whitespace-related cosmetics.
Originally committed as revision 18614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 19:52:52 +00:00
Ramiro Polla
63ad832dd6 mlpdec: Use some context arrays with local variables in rematrix_channels().
Originally committed as revision 18613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 19:46:41 +00:00
Ramiro Polla
15e6748b72 truehd: Simplify rematrix_channels() as per Michael's original review.
Originally committed as revision 18612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 19:39:07 +00:00
Ramiro Polla
95c14b1eea mlpdec: Make read_matrix_params() take unsigned int substr for consistency.
Originally committed as revision 18611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 18:54:30 +00:00
Ramiro Polla
5d9e4eaa6d mlpdec: Check for {matrix,filter}_changed as soon as they are incremented.
Originally committed as revision 18610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 18:51:43 +00:00
Justin Ruggles
1b7bc4a245 Add 3 channel layout convenience macros.
Originally committed as revision 18609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 18:51:01 +00:00
Reimar Döffinger
f63f689e10 Avoid code duplication in xan_unpack for the final memcpy.
Originally committed as revision 18608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 17:26:00 +00:00
Diego Biurrun
7b7b19b620 Remove unused variable gsize, fixes the warning:
libavformat/asfdec.c:995: warning: unused variable 'gsize'

Originally committed as revision 18607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 15:01:20 +00:00
Måns Rullgård
cc078b5d8f PPC: check for x-form asm constraint support
Originally committed as revision 18606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 13:57:30 +00:00
Stefano Sabatini
a208350c3c Rename swscale_avoption.c to options.c.
Consistent with lavc and lavf.

Originally committed as revision 29188 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-18 13:52:00 +00:00
Stefano Sabatini
0c067dc34b Make sws_setColorspaceDetails() return -1 if the destination format is
not supported.

Originally committed as revision 29187 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-18 11:53:59 +00:00
Stefano Sabatini
2d26fa2822 Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
swscale.h.

Originally committed as revision 29186 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-18 11:45:31 +00:00
Jai Menon
a00f440f37 Cosmetics : reindent after last commit and remove redundant comment.
Originally committed as revision 18605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 08:35:46 +00:00
Jai Menon
d6ce84b8f9 Add speex tag to nsv_codec_audio_tags.
Originally committed as revision 18604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 08:34:15 +00:00
Jai Menon
67d04927f7 Change nsvf_index_data to nsvs_file_offset for increased clarity.
Originally committed as revision 18603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 05:54:47 +00:00
Måns Rullgård
9f5ff83f2a PPC asm for AV_RL*()
PPC is normally big endian but has special little endian load/store
instructions.  Using these avoids a separate byteswap.  This makes the
vorbis decoder about 5% faster.  Not much else uses little-endian
read/write extensively.

GCC generates horrible PPC code for the default AV_[RW]B64 (which uses
a packed struct), so we override it with a plain pointer cast.

Originally committed as revision 18602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 00:00:31 +00:00
Måns Rullgård
3c55ce039d ARM asm for AV_RN*()
ARMv6 and later support unaligned loads and stores for single
word/halfword but not double/multiple.  GCC is ignorant of this and
will always use bytewise accesses for unaligned data.  Casting to an
int32_t pointer is dangerous since a load/store double or multiple
instruction might be used (this happens with some code in FFmpeg).
Implementing the AV_[RW]* macros with inline asm using only supported
instructions gives fast and safe unaligned accesses.  ARM RVCT does
the right thing with generic code.

This gives an overall speedup of up to 10%.

Originally committed as revision 18601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 00:00:28 +00:00
Måns Rullgård
a6783b8961 Reorganise intreadwrite.h
This changes intreadwrite.h to support per-arch implementations of the
various macros allowing us to take advantage of special instructions
or other properties the compiler does not know about.

Originally committed as revision 18600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-18 00:00:22 +00:00
Reimar Döffinger
d7670f2827 Use sign_extend function instead of reimplementing it.
Originally committed as revision 18599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 20:05:27 +00:00
Reimar Döffinger
e62f622193 Remove a useless "& 0xF"
Originally committed as revision 18598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 20:01:45 +00:00
Reimar Döffinger
977d813447 Use / and % operators instead of reimplementing them with a loop.
Originally committed as revision 18597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:56:50 +00:00
Reimar Döffinger
b1e309865f Change buffer check to avoid an unlikely pointer arithmetic overflow.
Originally committed as revision 18596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:49:55 +00:00
Reimar Döffinger
be50938073 Simplify xan_huffman_decode by using get_bits
Originally committed as revision 18595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:48:54 +00:00
Lars Täuber
a4873f7d9d Fix indention, patch by Lars Täuber.
Originally committed as revision 18594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:29:54 +00:00
Reimar Döffinger
6000439ca4 Simplify ipvideo_decode_opcodes by using get_bits, this might be slower
but is not performance-critical anyway.

Originally committed as revision 18593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:28:36 +00:00
Reimar Döffinger
28ab90edde Remove unused code_counts array from interplavideo.c.
Originally committed as revision 18592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:21:50 +00:00
Jai Menon
b24bbbb4da Introduce codec id for MPEG-4 ALS and associate it with corresponding
AudioObjectType. Also bump libavcodec minor version.

Originally committed as revision 18591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:17:14 +00:00
Reimar Döffinger
e5986d0427 Cosmetics to improve xan_unpack readability
Originally committed as revision 18590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:14:11 +00:00
Reimar Döffinger
16cc5a738c Fix buffer size check for xan_unpack which was broken by r18586
Originally committed as revision 18589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:07:16 +00:00
Reimar Döffinger
c644665f42 Some more simplifications of xan_unpack
Originally committed as revision 18588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 19:03:43 +00:00
Reimar Döffinger
455fdd2f8c Reindent xan_unpack code
Originally committed as revision 18587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:56:47 +00:00
Reimar Döffinger
948f60fa24 Avoid some code duplication in xan_unpack
Originally committed as revision 18586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:54:17 +00:00
Michael Niedermayer
f371abe4a8 Remove useless assignments, at least one found by CSA.
Originally committed as revision 18585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:28:59 +00:00
Reimar Döffinger
59bd7f23e8 Increase buffer padding to avoid most space checks in xan_unpack
Originally committed as revision 18584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:26:24 +00:00
Michael Niedermayer
339cdf9681 Remove useless init from ff_mpeg4_set_direct_mv() found by CSA.
Originally committed as revision 18583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:24:39 +00:00
Michael Niedermayer
16a5f4caa9 Remove a useless assignment in img_get_alpha_info() found by CSA.
Originally committed as revision 18582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:22:19 +00:00
Michael Niedermayer
f8112810cf Remove redundant assignment in av_picture_copy() found by CSA.
Originally committed as revision 18581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:20:12 +00:00
Michael Niedermayer
551b41d4bf Remove useless init from aiff_read_header() found by CSA.
Originally committed as revision 18580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:18:29 +00:00
Michael Niedermayer
feda8550a9 Remove several useless writes to variables, found by CSA.
Originally committed as revision 18579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:16:36 +00:00
Michael Niedermayer
b278a1ed1c Remove useless += from ff_imdct_half_c() found by CSA.
Originally committed as revision 18578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:12:00 +00:00
Michael Niedermayer
e8c9383914 Remove 2 ++ from check_pes() that are useless, found by CSA.
Originally committed as revision 18577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:08:39 +00:00
Reimar Döffinger
4b96f43fe1 Change buffer size checks to avoid the very unlikely overflow case.
Originally committed as revision 18576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 18:03:00 +00:00
Michael Niedermayer
38a7695f67 Remove unused variable from h261_encode_block() found by CSA.
Originally committed as revision 18575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:56:16 +00:00
Reimar Döffinger
5e12701c5c Remove a pointless right-shift in xan decoder.
Originally committed as revision 18574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:54:55 +00:00
Michael Niedermayer
25ef00720b Remove 2 useless assignments from ff_rate_control_init() found by CSA.
Originally committed as revision 18573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:52:58 +00:00
Reimar Döffinger
9126aea528 Replace bytecopy with the equivalent but faster av_memcpy_backptr.
Ca. 10% faster xan_unpack on x86_64 decoding of SC_32-part.MVE

Originally committed as revision 18572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:46:10 +00:00
Michael Niedermayer
4eec260642 Remove unused variable from flv_read_metabody() found by CSA.
Originally committed as revision 18571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:42:41 +00:00
Michael Niedermayer
29322398fc Remove unused variable from slice_buffer_release() found by CSA.
Originally committed as revision 18570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:39:09 +00:00
Reimar Döffinger
44c9efcb57 Use memcpy instead of the very inefficient bytecopy where both are correct
(i.e. no overlap of src and dst is possible).

Originally committed as revision 18569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 17:20:48 +00:00
Michael Niedermayer
110baa2e99 Remove unused variable from wma_decode_block() found by CSA.
Originally committed as revision 18568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:35:32 +00:00
Michael Niedermayer
b716c6c6a6 Remove unneeded assignment from av_encode() found by CSA.
Originally committed as revision 18567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:33:45 +00:00
Michael Niedermayer
b5ee9c2334 Remove unused variable from print_report() found by CSA.
Originally committed as revision 18566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:15:25 +00:00
Michael Niedermayer
5ce73e2352 Remove nonsensical assignment from asf_read_seek() found by CSA.
Originally committed as revision 18565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:13:01 +00:00
Michael Niedermayer
87718654b1 Remove redundant assignment from avcodec_get_pix_fmt_loss() found by CSA.
Originally committed as revision 18564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:10:37 +00:00
Michael Niedermayer
956177fb1d Remove unused variable in modify_qscale() found by CSA.
Originally committed as revision 18563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:08:00 +00:00
Michael Niedermayer
505b6d1147 Remove unneeded assignment in ffmpeg.c found by CSA.
Originally committed as revision 18562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:03:51 +00:00
Michael Niedermayer
75eaa91c15 Remove unused variables from slice_buffer_load_line() found by CSA.
Originally committed as revision 18561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 15:01:58 +00:00
Michael Niedermayer
6081c30b81 Remove 2 unneeded variables from common_init() found by CSA.
Originally committed as revision 18560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:59:04 +00:00
Michael Niedermayer
d0d62cc955 Remove 2 unused variables from MPV_decode_mb_internal() found by CSA.
Originally committed as revision 18559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:51:00 +00:00
Michael Niedermayer
dd08de11f6 Remove unused assignment from j_rev_dct() found by CSA.
Originally committed as revision 18558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:43:28 +00:00
Michael Niedermayer
01d83278e9 Remove unused variable in init_mv_penalty_and_fcode() found by CSA.
Originally committed as revision 18557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:42:02 +00:00
Michael Niedermayer
b33d75fd80 Move declarations in sync() closer to where they are used.
Originally committed as revision 18556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:38:52 +00:00
Michael Niedermayer
236580b478 Remove unused variable from asf_read_header() found by CSA.
Originally committed as revision 18555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:16:37 +00:00
Kostya Shishkov
c994dae1e2 cosmetics: reindent after last commit
Originally committed as revision 18554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:10:24 +00:00
Kostya Shishkov
bd4110f99b Use new static VLC scheme in Indeo2, Musepack and WNV1 decoders
Originally committed as revision 18553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:09:56 +00:00
Ronald S. Bultje
1d0036b01f Change another AVERROR(EIO) inot AVERROR_EOF, because it really signals EOF,
not a stream error. This also fixes an infinite loop on EOS during ASF file
playback, and Michael claims he "likes the patch" (ref: [PATCH] RTSP-MS
15/15: move packet_time_start zero value assignment in asf.c" mailinglist
tread).

Originally committed as revision 18552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 14:05:57 +00:00
Michael Niedermayer
72619760f0 Remvoe useless assignment found by CSA.
Originally committed as revision 18551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 13:59:07 +00:00
Michael Niedermayer
b52b6ae489 Remove unused variable from decode_init() found by CSA.
Originally committed as revision 18550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 13:57:22 +00:00
Vitor Sessak
b0e37369a1 Remove useless assignment in generate_codebook(). Found by Clang static analyser.
Originally committed as revision 18549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 13:07:18 +00:00
Michael Niedermayer
806d5e61dc Remove unused variables from ff_mjpeg_decode_sos() found by CSA.
Originally committed as revision 18548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 13:03:56 +00:00
Michael Niedermayer
c2394854ed Remove useless assignment from h263_pred_dc() found by the clang static analyzer.
Originally committed as revision 18547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 12:57:47 +00:00
Michael Niedermayer
6e21a5b1ae Move declarations in mpeg1_encode_motion() closer to where they are needed.
Originally committed as revision 18546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 12:53:11 +00:00
Michael Niedermayer
2a47a2666d Useless assignment found by the clang static analyzer.
Originally committed as revision 18545 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 12:44:48 +00:00
Michael Niedermayer
03d5ea54c1 Get rid of an unused variable, found by the clang static analyzer.
Originally committed as revision 18544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 12:41:37 +00:00
Michael Niedermayer
d728e3cd28 Moving variable declarations in asf_build_simple_index() to clarify&prettify code.
Originally committed as revision 18543 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 12:37:39 +00:00
Justin Ruggles
95f3019a51 ac3dec: reorder output channels to SMPTE channel order
Originally committed as revision 18542 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 08:43:04 +00:00
Reimar Döffinger
8b5ec0875c Change tgq_decode_mb function arguments from using int8_t to uint8_t, this does
not really change the code (x86_64/gcc-4.3.3 results stay unchanged) but avoids
several casts and an aliasing violation that broke decoding at least on
PPC64/gcc-4.1.2.

Originally committed as revision 18541 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 08:42:08 +00:00
Justin Ruggles
a7c6e1171b ac3enc: reorder input channels to AC-3 channel order
Originally committed as revision 18540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 08:39:11 +00:00
Jai Menon
35e2e681b8 Add my public key fingerprint to MAINTAINERS.
Originally committed as revision 18539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 16:54:35 +00:00
Reimar Döffinger
c3481d18b4 Remove unused audio_pts field from ea demuxer struct
Originally committed as revision 18538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 12:46:06 +00:00
Reimar Döffinger
3f19810d9e Remove unused code from Westwood VQA/AUD demuxer.
Originally committed as revision 18537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 12:39:14 +00:00
Diego Biurrun
8bb3d6a612 Do not add -fno-common to CFLAGS on DOS, it is unneeded.
Originally committed as revision 18536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 10:34:14 +00:00
David Conrad
d8f3f340ad Add guaranteed alignment for loading dest pixels in avg_pixels16_neon
Originally committed as revision 18535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 08:39:13 +00:00
David Conrad
2d08f9ea54 VC1 loop filter uses the frame quantizer not the mb quantizer
Originally committed as revision 18534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 07:34:52 +00:00
Michael Niedermayer
74b14aacfa Support broken avc nal encapsulation.
Fixes issue987.

Originally committed as revision 18533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 04:46:44 +00:00
Justin Ruggles
0bc08ed941 flacenc: write initial blocksize to STREAMINFO header instead of current
blocksize.

Originally committed as revision 18532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 02:28:49 +00:00
Ronald S. Bultje
799a0722fc Replace AVERROR(EIO) by AVERROR_EOF on end-of-file. See mailinglist
thread "[PATCH] RTSP-MS 15/15: move packet_time_start zero value
assignment in asf.c".

Originally committed as revision 18531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-16 00:41:31 +00:00
Michael Niedermayer
7e030c4739 Clarify which exact variant of ISO 639 is used. (The ISO spec explicitly
requires this to be clear)

Originally committed as revision 18530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 20:18:02 +00:00
Reynaldo H. Verdejo Pinochet
e223a3bd38 [COSMETIC] Correct a minor nit. Should be clearer now.
Originally committed as revision 18529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 19:37:35 +00:00
Kenan Gillet
807c4c7875 Fix possibly harmful outbound addressing. Patch by Kenan Gillet.
Originally committed as revision 18528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 19:28:28 +00:00
David Conrad
c21c835b8d avg_ pixel functions need to use (dst+pix+1)>>1 to average with existing
pixels, not (dst+pix)>>1.
This makes the mmx functions bitexact with the C functions.

Originally committed as revision 18527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 19:10:16 +00:00
Martin Storsjö
29382bc1eb Check for Decoder_Interface_init() instead of Speech_Decode_Frame_init() when
trying to enable libamrnb support. The latter function is actually used.
patch by Martin Storsjö, martin martin st

Originally committed as revision 18526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 17:29:20 +00:00
Ronald S. Bultje
30e79845b4 Send dummy requests over the TCP connection (WMS wants GET_PARAMETER,
Real wants OPTIONS) while the connection is idle, otherwise it will
be aborted after a short period (usually a minute). See the thread
"[PATCH] rtsp.c: keep-alive" on the mailinglist.

Originally committed as revision 18525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 13:04:34 +00:00
Diego Biurrun
888505df22 Explain the sort order for changelog entries.
Originally committed as revision 18524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 11:51:02 +00:00
David Conrad
ddd94932fb Ensure that there's pages to read for duration calculation in the ogg demuxer
Originally committed as revision 18523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:41:08 +00:00
David Conrad
99cc7f8a02 Altivec version of avg_no_rnd_vc1_chroma_mc8
Originally committed as revision 18522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:23:40 +00:00
David Conrad
3992526b3c Split VC1 loop filter into separate functions for h/v and size
Originally committed as revision 18521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:22:17 +00:00
David Conrad
0e58865d6e Move VC1 loop filter to DSPContext
Originally committed as revision 18520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 06:20:22 +00:00
David Conrad
9bf0fdf378 VC1: extend MMX qpel MC to include MMX2 avg qpel
Originally committed as revision 18519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-15 02:25:42 +00:00
David Conrad
8013da7364 VC1: add and use avg_no_rnd chroma MC functions
Originally committed as revision 18518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:56:10 +00:00
David Conrad
c374691b28 Rename put_no_rnd_h264_chroma* to reflect its usage in VC1 only
Originally committed as revision 18517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 23:55:39 +00:00
Carl Eugen Hoyos
08982bb466 Cosmetics: Split long line.
Originally committed as revision 18516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 22:33:46 +00:00
Carl Eugen Hoyos
899f38df62 Fix two icc warnings #188: enumerated type mixed with another type.
Originally committed as revision 18515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 22:30:11 +00:00
Carl Eugen Hoyos
34bcada424 Fix icc warning #188: enumerated type mixed with another type.
Originally committed as revision 18514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 22:21:53 +00:00
Carl Eugen Hoyos
5c463aacb2 Fix icc warning #188: enumerated type mixed with another type.
Originally committed as revision 18513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 22:19:43 +00:00
Vitor Sessak
de5922f179 For every line, copy 3*width bytes instead of linesize[0] to avoid
problems with padding.

Fix issue 959

Originally committed as revision 18512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 21:03:41 +00:00
David Conrad
6cecd63005 VC1: Do qpel when needed for both MVs in a B frame
Originally committed as revision 18511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 19:26:33 +00:00
Ramiro Polla
44be8d4278 mingw32: FFmpeg now passes -fno-common automatically.
Originally committed as revision 18510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 15:25:11 +00:00
Ronald S. Bultje
e6327fba98 Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
qualification task, see "RTP/Vorbis payload implementation (GSoC qual
task)" thread on mailinglist.

Originally committed as revision 18509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 15:01:46 +00:00
Diego Biurrun
d648c720af whitespace cosmetics: Break some overly long lines.
Originally committed as revision 29180 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-14 14:39:04 +00:00
Cédric Schieli
39e5f87b1a Do not use abgrToA for both luma and alpha channel in hyscale.
This fixes RGB32 (et al.) scaling.

Originally committed as revision 29179 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-14 14:11:57 +00:00
Ronald S. Bultje
373afbaf76 Increase the SDP buffer size (again!) and also increase the temporary
buffer size of the fmtp parameter buffer. For Vorbis RT(S)P, these
contain full Vorbis headers, which can be up to 12kb each, formatted
in base64, so 16kb total. Patch required for proper Vorbis/RTP playback,
submitted as GSoC qualification task in the thread "RTP/Vorbis payload
implementation (GSoC qual task)" by Colin McQuillan m.niloc googlemail
com.

Originally committed as revision 18508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 13:22:40 +00:00
Cédric Schieli
fe479c9d63 Also copy pixel_aspect when copying the picref in avfilter_start_frame.
This avoids a division by zero in '[in]fifo,scale[out]'

Originally committed as revision 18507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 08:48:47 +00:00
Alex Converse
184fcc60b7 Mark src constant in copy_block*().
Originally committed as revision 18506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 04:07:35 +00:00
Justin Ruggles
22c4c3e059 Support audio sample formats than S16 when encoding a small last frame.
Originally committed as revision 18505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 03:48:26 +00:00
Baptiste Coudurier
7c8689ef54 set pkt duration for last smaller frame, should fix alac in m4a muxing
Originally committed as revision 18504 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 00:20:52 +00:00
Baptiste Coudurier
bee3140a88 fix indentation
Originally committed as revision 18503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 00:12:54 +00:00
Baptiste Coudurier
de481d7fed avoid strcmp NULL, fix segv on mingw
Originally committed as revision 18502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 00:12:29 +00:00
Ramiro Polla
1894e741f5 win32, dos: Work around a bug in the GNU toolchain.
The bug[1] is exposed when gcc decides to put some data in a common
section (i.e. data that will be used by more than one object). It will
suggest the data to be aligned, but binutils >= 2.19 will fail to
properly align it. Thus if the data requires any alignment greater
than 4, the application will crash.
The workaround prevents gcc from putting data in a common section,
instead putting it in a properly aligned section.

[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216

Originally committed as revision 18501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 22:54:21 +00:00
Baptiste Coudurier
c573eb85f0 fix indentation
Originally committed as revision 18500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 21:22:19 +00:00
Stefano Sabatini
ad25b95470 Fix skip_put_bits() buf_ptr increment.
Originally committed as revision 18499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 20:44:42 +00:00
Bobby Bingham
0aed5e9fb8 Skip loop iterations which are no-ops due to data1[-lag..-1] being zero.
Originally committed as revision 18498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 18:07:02 +00:00
Stefano Sabatini
fb53b4a035 Rename pbBufPtr() to put_bits_ptr().
The new name is more readable and consistent with the FFmpeg naming
style.

Originally committed as revision 18497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:59:38 +00:00
Stefano Sabatini
084c7cc54a Do not use full include path for get_bits.h, since the header is in
the same directory.
Consistent with r16260.

Originally committed as revision 18496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:47:17 +00:00
Jai Menon
437f884da6 flacenc : do not #include libavutil/lls.h since lpc code is now
separate.

Originally committed as revision 18495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:23:54 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Jai Menon
309a8bb8a1 alacenc : cosmetics : remove misleading comment
Originally committed as revision 18493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 15:11:40 +00:00
Baptiste Coudurier
b3eab9fb64 seek inside buffer when offset is exactly at the end, fix seeking with memory ByteIOContext
Originally committed as revision 18487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 04:02:51 +00:00
Baptiste Coudurier
3321cb3f6e move audio buffers declarations and free them in av_exit
Originally committed as revision 18486 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:55:26 +00:00
Baptiste Coudurier
5973490a8f move freeing code before exiting because of signal
Originally committed as revision 18485 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:47:12 +00:00
Baptiste Coudurier
3b80107596 free options contexts in av_exit, valgrind should be happy now
Originally committed as revision 18484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:43:29 +00:00
Baptiste Coudurier
1bd280f730 Set frame defaults in try_decode_frame.
Fix:
==22211== Conditional jump or move depends on uninitialised value(s)
==22211==    at 0x811E692: ff_print_debug_info (mpegvideo.c:1137)
==22211==    by 0x82E6A7B: decode_frame (h264.c:7897)
==22211==    by 0x80F2823: avcodec_decode_video2 (utils.c:564)
[...]
==22211==  Uninitialised value was created by a stack allocation
==22211==    at 0x8064AA3: try_decode_frame (utils.c:1845)

Originally committed as revision 18483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:38:55 +00:00
Baptiste Coudurier
1b66180263 fix indentation
Originally committed as revision 18482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:35:32 +00:00
Baptiste Coudurier
e44745f1a8 fix indentation and remove whitespace after return
Originally committed as revision 18481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:33:39 +00:00
Baptiste Coudurier
e472ea34c4 reindent
Originally committed as revision 18480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:32:02 +00:00
Baptiste Coudurier
8fa0ae060b Init state to -1 in h264 parser.
Fix:
==22063== Conditional jump or move depends on uninitialised value(s)
==22063==    at 0x811A4B7: ff_find_start_code (mpegvideo.c:99)
==22063==    by 0x82F5B74: parse_nal_units (h264_parser.c:132)
==22063==    by 0x82F5A68: h264_parse (h264_parser.c:261)
[...]
==22063==  Uninitialised value was created by a stack allocation
==22063==    at 0x82F5AF5: parse_nal_units (h264_parser.c:112)

Originally committed as revision 18479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 03:29:19 +00:00
Diego Biurrun
cc3a248603 Move addition of MMX-OBJS to OBJS into common.mak instead of duplicating it.
Originally committed as revision 29175 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-12 22:49:58 +00:00
Diego Biurrun
c5662879ff Move addition of MMX-OBJS to OBJS into common.mak instead of duplicating it.
Originally committed as revision 18478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 22:48:44 +00:00
Diego Biurrun
457eed7204 whitespace cosmetics: Reindent a few lines and break a few excessively long lines.
Originally committed as revision 29174 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-12 22:43:03 +00:00
Reynaldo H. Verdejo Pinochet
8bf7a510b9 Fix wrong size computation for buffer. Patch is part of
netgem's changeset.

Originally committed as revision 18477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 21:48:43 +00:00
Diego Biurrun
5137235e0c Remove gcc_fixes.h. It only contains workarounds for unsupported gcc versions.
Originally committed as revision 18476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 21:45:26 +00:00
Diego Biurrun
788cca4135 Remove AltiVec optimizations for Snow. They are hindering the development
of Snow, which is still in flux.

Originally committed as revision 18475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 21:42:55 +00:00
Michael Niedermayer
d225a1e248 Fix 2 access units in a packet mp4s.
Fixes issue944 and possibly others.

Originally committed as revision 18474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:43:52 +00:00
Michael Niedermayer
ead793358a Get rid of the non sensical idea of using the current picture for missing
reference pictures.

Originally committed as revision 18473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:40:18 +00:00
Michael Niedermayer
256299d302 Factorize field_end() out.
Originally committed as revision 18472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 20:21:23 +00:00
Michael Niedermayer
7824b129a0 Assert that the first list1 entry is a reference frame.
Originally committed as revision 18471 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 13:58:03 +00:00
Reimar Döffinger
238ef6dadd Add a av_fast_malloc function and replace several uses of av_fast_realloc,
thus avoiding potential memleaks and pointless memcpys.

Originally committed as revision 18470 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 13:17:37 +00:00
Reimar Döffinger
9bf993a5b5 Use void * instead of uint8_t * for the destination buffer for dsp.bswap_buf
where easily possible (mimic, eatqi, 4xm).
This allows to avoid a typecast.

Originally committed as revision 18469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 12:25:53 +00:00
Reimar Döffinger
0c13bbf509 av_destruct_packet_nofree deprecation explained in APIchanges
Originally committed as revision 18468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 12:03:12 +00:00
Reimar Döffinger
55775b099d Use AVERROR(ENOMEM) instead of AVERROR_NOMEM / -1 in eatqi and mimic decoders
Originally committed as revision 18467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 09:33:38 +00:00
Stefano Sabatini
53bd67ec89 Document pbBufPtr().
Originally committed as revision 18466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 09:06:17 +00:00
Baptiste Coudurier
c950c25ac0 remove useless wrapper
Originally committed as revision 18465 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 09:04:12 +00:00
Reimar Döffinger
c96495e75c Move ea demuxer messages that are irrelevant to ordinary users from
AV_LOG_INFO to AV_LOG_DEBUG.

Originally committed as revision 18464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:53:22 +00:00
Baptiste Coudurier
7b9677f6b0 remove useless wrapper
Originally committed as revision 18463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:52:16 +00:00
Reimar Döffinger
f28c4e756f Slightly improve/correct description of wc3_pal_lookup
Originally committed as revision 18462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:49:20 +00:00
Stefano Sabatini
b275500706 Split bitstream.h, put the bitstream writer stuff in the new file
put_bits.h.

Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Michael Niedermayer
77daaf6748 Disable metadata reading. Yes, I would like to know what this code is good for
and this is the easiest way to. It would be a lot of messy code we can drop
if it is useless.
As a sideeffect this fixes issue977.

Originally committed as revision 18460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 04:01:03 +00:00
Justin Ruggles
f79e331f34 Add names for 5.0 and 5.1 back speaker channel layouts.
Originally committed as revision 18459 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 03:26:20 +00:00
Baptiste Coudurier
ebcf352a25 replace DEBUG_SI with DEBUG and use dprintf
Originally committed as revision 18458 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 03:08:46 +00:00
Baptiste Coudurier
495b37664d Set stream type to ac3 if registration descriptor is present.
Based on patch by Nico Sabi, nicola dot sabbi at poste dot it

Originally committed as revision 18457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 02:39:16 +00:00
Baptiste Coudurier
4f1db48e88 simplify registration descriptor parsing with bytestream get functions
Originally committed as revision 18456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 02:32:02 +00:00
Björn Axelsson
a4d2af9b96 Ok, ts demuxer is more complicated than I thought
Revert r18454 and fix correctly #700
Stop parsing if end of buffer is reached while reading
patch by Björn Axelsson, bjorn dot axelsson at intinor dot se

Originally committed as revision 18455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 02:19:40 +00:00
Baptiste Coudurier
2b97246ec2 fix end of buffer check, fix hang_read_header.h264.ts
Originally committed as revision 18454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 01:37:34 +00:00
Baptiste Coudurier
a3d23e15fb fix 6 channels raw pcm demuxing, raw pcm now demux a fixed number of samples
Originally committed as revision 18453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 00:25:37 +00:00
Reimar Döffinger
d2e63e8b05 Simplify packet duplication code in ff_interleave_add_packet.
Behaviour only changes if pkt->destuct neither av_destruct_packet,
av_destruct_packet_nofree nor NULL, in which case the new code avoids a double free.

Originally committed as revision 18452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 22:38:00 +00:00
Thilo Borgmann
031e14ea79 Fix initialization of avpkt in output_packet().
Patch by Thilo Borgmann thilo.surname AT googlemaildotcom.

Originally committed as revision 18451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 22:04:52 +00:00
Reimar Döffinger
7ce0420983 Fix "unrecognized WC3 chunk" debug output which was broken r18444 due to sign expansion.
Originally committed as revision 18450 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 21:45:57 +00:00
John Fletcher
dae2434928 Fix documentation for avcodec_encode_audio(), in the case of PCM audio
the output buffer size may be less than FF_MIN_BUFFER_SIZE.

Patch by John Fletcher john.surname AT rd . bbc . co . uk.

Originally committed as revision 18449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 21:14:29 +00:00
Stefano Sabatini
4af615b81e Document the 'size' parameter of set_put_bits_buffer_size().
Originally committed as revision 18448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 21:04:26 +00:00
Stefano Sabatini
930cab5944 Document ff_put_string().
Originally committed as revision 18447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 21:01:30 +00:00
Reimar Döffinger
cfb9b3550b wc3movie: return partial packets if not all data can be read.
This is consistent with other demuxer's behaviour and avoids a memleak.
It also returns the error from av_get_packet instead of always AVERROR(EIO).

Originally committed as revision 18446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 20:48:56 +00:00
Reimar Döffinger
cdbe3798d2 Explain the purpose of the wc3_pal_lookup and the formula that was used to
calculate it.

Originally committed as revision 18445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 20:08:16 +00:00
Reimar Döffinger
f6a708f092 Use get_le32/get_be32 in wc3movie demuxer instead of reading everything into
a buffer first.

Originally committed as revision 18444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 18:58:55 +00:00
Stefano Sabatini
147a90a3e5 Replace deprecated FF_MM_MMXEXT flag with FF_MM_MMX2.
Originally committed as revision 18443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 18:12:23 +00:00
Stefano Sabatini
54b02ccda2 Rename the 'put_zero' parameter of ff_put_string() to
'terminate_string'.

Originally committed as revision 18442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 15:54:21 +00:00
Stefano Sabatini
980f54513e Add documentation for skip_put_bytes().
Originally committed as revision 18441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 14:49:46 +00:00
Stefano Sabatini
093364da30 Doxygenate ff_copy_bits().
Originally committed as revision 18440 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 14:47:35 +00:00
Stefano Sabatini
86755e82f7 Factorize declaration for the two variants of put_bits().
Originally committed as revision 18439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 14:19:09 +00:00
Michael Niedermayer
1b923aa44a Two INIT_VLC_USE_STATIC cases Carl missed.
Originally committed as revision 18438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 14:16:30 +00:00
Michael Niedermayer
78435e9971 get rid of INIT_VLC_USE_STATIC in h261.
Originally committed as revision 18437 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 13:58:18 +00:00
Michael Niedermayer
76ac719888 Get rid of INIT_VLC_USE_STATIC in rv10/rv20.
Originally committed as revision 18436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 13:53:34 +00:00
Michael Niedermayer
2a0241ae12 Get rid of INIT_VLC_USE_STATIC in 4xm.
Originally committed as revision 18435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 13:43:09 +00:00
Michael Niedermayer
5338bec697 Get rid of INIT_VLC_USE_STATIC in asv1.
Originally committed as revision 18434 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 13:40:39 +00:00
Michael Niedermayer
5cf4331b04 Get rid of INIT_VLC_USE_STATIC in msmpeg4
Originally committed as revision 18433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 13:29:05 +00:00
Stefano Sabatini
0a73e94fd6 Clarify documentation for put_bits_count().
Originally committed as revision 18432 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 13:04:33 +00:00
Reimar Döffinger
80d403fc19 Get rid of av_destruct_packet_nofree and use NULL instead.
It is still used in comparisons to keep ABI compatibility.

Originally committed as revision 18431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 12:42:29 +00:00
Carl Eugen Hoyos
e161e007be Use INIT_VLC_USE_STATIC and not its value "1".
Originally committed as revision 18430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 11:47:15 +00:00
Reimar Döffinger
46e97dc3c2 Reindent
Originally committed as revision 18429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 10:41:06 +00:00
Reimar Döffinger
f772b7fa7d Make electronicarts demuxer return partial frames, this is the default
behaviour of av_get_packet and should not be override without good reason.
As a side effect this fixes the memleak described in issue 956.
Also return the exact error code from av_get_packet instead of AVERROR(EIO).

Originally committed as revision 18428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-11 10:38:56 +00:00
Stefano Sabatini
facf521daa Document align_put_bits().
Originally committed as revision 18427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 22:29:56 +00:00
Stefano Sabatini
fc660a0143 Doxygenate flush_put_bits() documentation.
Originally committed as revision 18426 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 22:27:29 +00:00
Stefano Sabatini
e46ddebd14 Doxygenate put_bits_count() documentation.
Originally committed as revision 18425 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 22:14:45 +00:00
Carl Eugen Hoyos
f77dddfcc3 Fix comment: gcc 2.95.3 binaries decode ac3 fine if SSE is available and
not disabled.

Originally committed as revision 18424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 17:46:42 +00:00
Stefano Sabatini
f7a2aab7d8 Doxygenate init_put_bits().
Originally committed as revision 18423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 17:30:42 +00:00
Diego Biurrun
64bde1974b cosmetics: Rename prn variable to prng (Pseudo Random Number Generator).
Originally committed as revision 18422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 17:23:38 +00:00
Thilo Borgmann
ee30cdabad Add support to CorePNG P-frames.
Patch by Thilo Borgmann thilo DOT borgmann A googlemail com.

Originally committed as revision 18421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 17:16:19 +00:00
Diego Biurrun
cc7b62afd2 Replace rand() usage by av_lfg_get().
Originally committed as revision 18420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 17:12:36 +00:00
Diego Biurrun
a2085cccfa cosmetics: Align output columns.
Originally committed as revision 18419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 15:16:11 +00:00
Reimar Döffinger
6752dd5aee Loop up to MAX_THREADS instead of h->s.avctx->thread_count to free the thread
contexts, this avoids a crash when freeing the H.264 parser context introduced in
r18406, since h->s.avctx is NULL there.

Originally committed as revision 18418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 14:30:04 +00:00
Thilo Borgmann
ede0e47507 Use the new avcodec_decode_* API.
Patch by Thilo Borgmann th_lo.borgm_n_@goog_email.co_.

Originally committed as revision 18417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 12:53:22 +00:00
Aurelien Jacobs
ed54ae08b8 remove useless duplication of what av_new_stream() already does
Originally committed as revision 18416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 12:49:53 +00:00
Thilo Borgmann
0dccbba02c Add 'PNG1' to PNG fourcc codes.
Patch by Thilo Borgmann thilo DOT borgmann _AT_ gXXglemail.cXm.

Originally committed as revision 18415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 12:18:04 +00:00
Thilo Borgmann
bea183757b Use the new avcodec_decode_* API.
Patch by Thilo Borgmann thilo.borgmann * googlemail ! com.

Originally committed as revision 18414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 12:07:06 +00:00
Diego Biurrun
222ab26c62 Remove unused variables along with the related warnings.
Originally committed as revision 18413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:33:14 +00:00
Reimar Döffinger
cbf1eae9a5 Add forgotten void return type to ff_h264_free_context
Originally committed as revision 18411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:31:55 +00:00
Diego Biurrun
e4732ba98b Fix sigill on non-MMX2 CPUs.
Originally committed as revision 18410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:29:51 +00:00
Thilo Borgmann
4f313925ec Use the new avcodec_decode_* API.
Patch by Thilo Borgmann name.surname AT googlemail.com.

Originally committed as revision 18409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:07:52 +00:00
Thilo Borgmann
655d47c2cb Make try_decode_frame() use the new avcodec_decode_* API.
Patch by Thilo Borgmann thilo.borgmann AT g00glemail dot com.

Originally committed as revision 18408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 11:03:06 +00:00
Reimar Döffinger
b6b6676085 Make sure error resilience does not try to use unavailable reference frames.
Fixes the crash described in issue 706.

Originally committed as revision 18407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 07:17:30 +00:00
Reimar Döffinger
15861962a7 Add a ff_h264_free_context function and call it from the H.264 parser.
This ensures that the parser will no longer leak memory for all SPS/PPS it encounters.

Originally committed as revision 18406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 07:01:55 +00:00
Michael Niedermayer
c81185a183 Make sure mpeg2 has its height rounded up to 32 as that is needed
for interlaced stuff.
This might have been exploitable when emu edge was not set though
note this bug has been introduced just a few days ago.

Originally committed as revision 18405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-10 00:09:07 +00:00
Michael Niedermayer
cfe675269b Do not use SSE2 SAD for snow as it requires more alignment than can be
easily provided.
Fixes issue315.

Originally committed as revision 18404 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:53:48 +00:00
Martin Storsjö
2b12317a90 Fix documentation for the "-ps" option
Patch by Martin Storsjö (martin AT martin DOT st)

Originally committed as revision 18403 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:52:12 +00:00
Luca Abeni
9331967007 AAC packetiser cleanup: use consts instead of #defines
Originally committed as revision 18402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:48:45 +00:00
Luca Abeni
ddffcb2d3a AAC packetiser cleanup: remove check for a condition that cannot happen
Originally committed as revision 18401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:39:07 +00:00
Martin Storsjö
d2ce53b786 Fix two checks in the AAC packetiser, which were too conservative
Patch by Martin Storsjö (martin AT martin DOT st)

Originally committed as revision 18400 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:37:11 +00:00
Michael Niedermayer
cc0241283b Make sure the next used frame is released so get_buffer() wont fail.
Originally committed as revision 18399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:19:25 +00:00
Michael Niedermayer
38fd076c21 Move release_buffer() up so it is prior to a future call to it.
Originally committed as revision 18398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 21:17:53 +00:00
Michael Niedermayer
0a08b5735b Factorize release_buffer()
Originally committed as revision 18397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 20:44:18 +00:00
Michael Niedermayer
eebbb33abf Make sure spatial_decomposition_count is not too large for picture size.
this led to an infinite loop in mirror().

Originally committed as revision 18396 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 20:23:13 +00:00
Michael Niedermayer
69409ccb80 Skip non intra frames that have no reference frames.
Originally committed as revision 18395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 20:13:35 +00:00
Michael Niedermayer
440882f7be Make sure spatial_decomposition_count is >0.
Originally committed as revision 18394 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 19:45:10 +00:00
Michael Niedermayer
dc7f45a08e Make sure the block array is of the correct size.
This might have been exploitable.

Originally committed as revision 18393 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 18:47:50 +00:00
Michael Niedermayer
bc4350a333 Check spatial_decomposition_count too, fixes another crash.
Originally committed as revision 18392 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 18:37:26 +00:00
Michael Niedermayer
45d1d9794d 10l, forgot to remove old code, which broke snow.
Originally committed as revision 18391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 18:29:54 +00:00
Michael Niedermayer
158f189f82 Factorize check of read symbols.
Originally committed as revision 18390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 18:21:51 +00:00
Michael Niedermayer
a794356602 Fix spatial_decomposition_type validity check.
Fixes infinite loop (did no investigate why exactly it got stuck).

Originally committed as revision 18389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 15:33:02 +00:00
Michael Niedermayer
f0812be883 Fix crash when max_ref_frames was out of range.
This might have been exploitable.
Fixes first crash of issue840.

Originally committed as revision 18388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 15:17:03 +00:00
Diego Biurrun
985fdd534f Give liblzo benchmark conditionals more descriptive names and add convenience
definitions along with instructions for changing them.

Originally committed as revision 18387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 15:11:48 +00:00
Diego Biurrun
e467369278 Add a configure check for lzo1x_999_compress() and compile the lzo test program
in libavutil when this function is available.

Originally committed as revision 18386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 14:55:05 +00:00
Reimar Döffinger
ef12ec23fa Fix memleak in nuv demuxer: free packet already allocated packet when
returning an error in nuv_packet.

Originally committed as revision 18385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 14:16:22 +00:00
Diego Biurrun
7a709548a7 Remove unnecessary gcc_fixes.h #include.
Originally committed as revision 18384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 11:54:13 +00:00
Diego Biurrun
952f18ffe6 cosmetics: Reformat comment paragraph and fix a few typos in it.
Originally committed as revision 18383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 10:06:54 +00:00
Michael Niedermayer
cdf38a17fb Fix -ss / -t interaction with -acodec copy.
Fixes issue203

Originally committed as revision 18382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-09 00:13:59 +00:00
Michael Niedermayer
0127b86108 Fix mb_height for interlaced mpeg2.
This correctly fixes issue961, thanks to steven warren for spotting my mistake.

Originally committed as revision 18381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:48:44 +00:00
Ramiro Polla
e90f5b5ab1 configure: Add --enable-runtime-cpudetect
Originally committed as revision 18380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:26:18 +00:00
Ramiro Polla
10a7d21672 Rename RUNTIME_CPUDETECT to CONFIG_RUNTIME_CPUDETECT and always define it.
Originally committed as revision 29154 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-08 20:21:21 +00:00
Reimar Döffinger
9470511185 Correctly set packet size for partial video packets in nuv demuxer.
Originally committed as revision 18379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:20:42 +00:00
Reimar Döffinger
feb993e579 Add av_shrink_packet function for use in av_get_packet that reduces pkt->size
and ensures the following padding is correctly initialized to 0.

Originally committed as revision 18378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 20:19:12 +00:00
Zhentan Feng
c81604f862 Reduce code duplication.
Patch by Zhentan Feng, spyfeng gmail

Originally committed as revision 18377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 16:01:10 +00:00
Ronald S. Bultje
2851d2253f Document addition of new avcodec_decode_video2/audio3/subtitle2() API and
the deprecation of the old API calls.

Originally committed as revision 18376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 12:37:29 +00:00
Martin Storsjö
08e696c0b2 Add support for AMR audio in the RTP muxer
patch by Martin Storsjö (martin AT martin DOT st)

Originally committed as revision 18375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 07:16:14 +00:00
Baptiste Coudurier
17ad7b24c8 force sample for qcelp when not stored in mov, fix #968
Originally committed as revision 18374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 03:38:59 +00:00
Ronald S. Bultje
4bce3ba480 Reindent after r18372.
Originally committed as revision 18373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 03:06:08 +00:00
Ronald S. Bultje
6e9f56c127 Add waveformat-extensible support in the wav muxer.
Patch (GSoC qualfication task) by Zhentan Feng spyfeng gmail com, see
"[FFmpeg-devel] Add waveformat extensible support in wav muxer (SoC
qualification task)" thread on mailinglist.

Originally committed as revision 18372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 03:04:57 +00:00
Robert Swain
7b356d3951 Clarify which time_base the relevant members of AVPacket use
Originally committed as revision 18371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-08 01:45:44 +00:00
Baptiste Coudurier
3c8d144789 move codec tag tables near corresponding code
Originally committed as revision 18370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:34:05 +00:00
Baptiste Coudurier
08680ab8c2 cosmetics, reindent
Originally committed as revision 18369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:31:53 +00:00
Baptiste Coudurier
0872acc45c cosmetics, add empty line and remove useless braces
Originally committed as revision 18368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:31:17 +00:00
Baptiste Coudurier
b6cb99469f fix compilation, add missing parenthesis
Originally committed as revision 18367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:28:39 +00:00
Baptiste Coudurier
130ba4b17a comment the ipod subtitle check
Originally committed as revision 18366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:26:47 +00:00
Baptiste Coudurier
6452af7a33 invert condition to simplify code
Originally committed as revision 18365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:25:11 +00:00
Baptiste Coudurier
cf9ce6a3d6 remove no more needed code, tag is set by default
Originally committed as revision 18364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:23:15 +00:00
Baptiste Coudurier
2ab57c0443 cosmetics, reindent, add empty lines
Originally committed as revision 18363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:21:43 +00:00
Baptiste Coudurier
6b60028595 split mov_find_codec_tag in separate per format functions
Originally committed as revision 18362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:19:58 +00:00
Stefano Sabatini
f3370e14ea Improve grammar/comprehensibility of the lavu 50.2.0 entry.
Originally committed as revision 18361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 21:59:16 +00:00
Reimar Döffinger
b0723c8a12 Always return 0 if read_packet is successful.
Originally committed as revision 18360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 21:25:02 +00:00
Reimar Döffinger
ac2b2226ac Do not uselessly read version string into a buffer.
Originally committed as revision 18359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 21:16:11 +00:00
Reimar Döffinger
6883ebe4b9 Describe read_alloc return value and required pkt handling to avoid memleaks
Originally committed as revision 18358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 21:10:10 +00:00
Reimar Döffinger
4e5735f774 Error out also when reading nuv header returns with partial data and return
AVERROR(EIO) then.

Originally committed as revision 18357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 20:52:37 +00:00
Baptiste Coudurier
2fa6bc789f set bits_per_coded_sample for rawvideo
Originally committed as revision 18356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 20:47:56 +00:00
Baptiste Coudurier
50d2d05d34 override mov fourcc for pcm audio, this is safer when stream copying
Originally committed as revision 18355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 20:37:30 +00:00
Robert Swain
f0ed92df60 Fix second amr_nb_decode_frame() to also use the new AVPacket argument
Originally committed as revision 18354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 19:29:00 +00:00
Thilo Borgmann
cdd8930e6a Move av_packet_*() functions from libavformat/ to libavcodec/, where the
AVPacket structure now resides also.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see the mailinglist
thread "Google Summer of Code participation" for additional discussion.

Originally committed as revision 18353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 18:31:14 +00:00
Aurelien Jacobs
012f930855 fix vp5/vp6 decoding by using new prototype for decode function
Originally committed as revision 18352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 18:24:47 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Thilo Borgmann
18c915eef4 Move AVPacket up a bit, so that structs/functions that include AVPacket can
themselves be reasonably positioned.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see mailinglist thread
"[FFmpeg-devel] Google Summer of Code participation".

Originally committed as revision 18350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:37:26 +00:00
Aurelien Jacobs
b02d3aef94 use av_freep() instead of av_free() + =NULL.
Originally committed as revision 18349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 12:31:28 +00:00
Luca Abeni
0f55f341fe Fix the copyright year
Originally committed as revision 18348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 12:28:41 +00:00
Martin Storsjö
9edfaf3c6c Add support for H.263 video in the RTP muxer
patch by Martin Storsjö (martin AT martin DOT st)

Originally committed as revision 18347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 06:41:55 +00:00
Luca Abeni
215037887d Do not return payload type 34 for H.263 (it is deprecated)
Originally committed as revision 18346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 06:37:12 +00:00
Kenan Gillet
809e07c618 Move scale factor computation to its own function. Patch by Kenan
Gillet.

Originally committed as revision 18345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 01:39:17 +00:00
Michael Niedermayer
38d5647a63 Try to honor even completely invalid motion vectors as far as is
easy.
Fixes issue961.

Originally committed as revision 18344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 21:45:02 +00:00
Martin Storsjö
99f373f3a6 Only insert the SPS and PPS NALs in sprop-parameter-sets
Patch by Martin Storsjö (martin AT martin DOT st)

Originally committed as revision 18343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 21:04:26 +00:00
Stefano Sabatini
5a43bbc37d Add missing entry corresponding to r18163.
Originally committed as revision 18342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 17:44:31 +00:00
Stefano Sabatini
26f3f2914e Cosmetics: remove empty line.
Originally committed as revision 18341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 17:41:15 +00:00
Stefano Sabatini
b4656e6b0d Fix minor version for the r18116 entry: minor was not bumped in that
revision.

Originally committed as revision 18340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 17:39:39 +00:00
Justin Ruggles
8613af0a65 Add convenience macros for 5.0/5.1 back speaker configurations.
Originally committed as revision 18339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 01:07:09 +00:00
Ramiro Polla
75428fa447 mlpdec: Filters and matrices may change only once per substream per access unit.
Originally committed as revision 18338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-06 00:58:03 +00:00
Ramiro Polla
89e39be3b6 mlpdec: There must be no extraword for MLP.
Originally committed as revision 18337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-05 20:54:19 +00:00
Ramiro Polla
cc9c512638 mlpdec: Validate non-restart bit from the substream header.
Originally committed as revision 18336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-05 20:46:53 +00:00
Ramiro Polla
0091d8a164 mlpdec: matrix_out_ch must not be greater than max_matrix_channel, and not max_channel.
Originally committed as revision 18335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-05 20:11:40 +00:00
Ramiro Polla
dd4090256c swscale: Remove X86 commented out code.
Originally committed as revision 29149 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-05 19:17:53 +00:00
Michael Niedermayer
300a3d0d00 Make sure the last bits of huffyuv frames are zeroed.
Fixes issue946

Originally committed as revision 18334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-05 13:02:47 +00:00
Ramiro Polla
40fa514033 swscale: Use function pointers for swScale functions.
Originally committed as revision 29145 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-04 22:45:02 +00:00
Ramiro Polla
14d5c18c98 swscale: {}-related cosmetics.
Originally committed as revision 29144 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-04 22:43:24 +00:00
Ramiro Polla
7ac4032784 swscale: Add const to some swScale functions' parameters.
Originally committed as revision 29143 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-04 22:41:46 +00:00
David Conrad
cc2e555420 ARM: NEON optimized put_signed_pixels_clamped
Originally committed as revision 18333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-04 21:02:48 +00:00
Måns Rullgård
08e12b2240 ARM: NEON optimised add_pixels_clamped
Based on patch by David Conrad.

Originally committed as revision 18332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-04 20:18:58 +00:00
Kenan Gillet
3c00556f4b Add missing static qualifier from function declaration. Patch by Kenan
Gillet.

Originally committed as revision 18331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-04 16:27:54 +00:00
Stefano Sabatini
6b4343616c Rename FF_MM_MMXEXT to FF_MM_MMX2, for both clarity and consistency
with libswscale.

Originally committed as revision 18330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-04 13:20:53 +00:00
Stefano Sabatini
1b2120c39d Remove JACK input device addition entry.
The addition of a new component is not considered an API change.

Originally committed as revision 18329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 21:28:04 +00:00
Michael Niedermayer
634b927f82 Do not fail on zero packets.
Originally committed as revision 18328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 15:32:31 +00:00
Reimar Döffinger
0be9e73e38 Mark line_skip3 asm argument as output-only instead of using av_uninit.
Originally committed as revision 18327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 14:03:49 +00:00
Reimar Döffinger
d7460a9cac Mark put_signed_pixels_clamped_mmx output operands as early-clobber because
they are. Hopefully fixes some FATE errors, too.

Originally committed as revision 18326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 14:02:34 +00:00
Reimar Döffinger
531a3d2721 Use DECLARE_ASM_CONST for non-global ff_vector128 constant used via MANGLE
Originally committed as revision 18325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 14:01:24 +00:00
Gwenole Beauchesne
68367bdef0 Add VC-1 bitstream decoding through VA API.
Originally committed as revision 18324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 07:40:58 +00:00
Stefano Sabatini
b1516707c4 Update after the last two commits.
Originally committed as revision 18323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-03 00:06:17 +00:00
Olivier Guilyardi
80ff8a16f5 Implement JACK input device.
Patch by Olivier Guilyardi list samalyse com.
See the thread: "[FFmpeg-devel] [PATCH] libavdevice: JACK demuxer".

Originally committed as revision 18322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 23:53:47 +00:00
Olivier Guilyardi
7b09db3522 Implement av_fifo_space().
Patch by Olivier Guilyardi list et samalyse DOT c0m.

Originally committed as revision 18321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 23:22:19 +00:00
Diego Biurrun
a8f9e7f641 Fix lzo-test linking: -llzo2 should be in ELIBS, not EXTRALIBS.
Originally committed as revision 18320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 22:41:58 +00:00
Alex Converse
3dd6531208 Rewrite put_signed_pixels_clamped_mmx() to eliminate mmx.h from dsputil_mmx.c.
Originally committed as revision 18319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 21:02:42 +00:00
Stefano Sabatini
dd3bbb4903 Update after the last API change.
Originally committed as revision 18318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 20:24:15 +00:00
Thilo Borgmann
fabd2469f1 Move AVPacket declaration from avformat.h to avcodec.h.
Patch by Thilo Borgmann thilo dot borgmann at googlemail _dot_ com.

Originally committed as revision 18317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 19:53:53 +00:00
Ramiro Polla
95b5770bc7 swscale: Remove mmx2 params from h[yc]scale().
Originally committed as revision 29129 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-02 18:34:11 +00:00
Ramiro Polla
392b656764 swscale: Split h[yc]scale_fast() into their own functions.
Originally committed as revision 29128 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-02 18:32:49 +00:00
Ramiro Polla
5b7c7dd329 swscale: Execute sfence and emms depending on runtime flags.
Originally committed as revision 29127 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-02 18:31:22 +00:00
Jai Menon
3dd2f87e61 Map MOV fourcc YUV2 correctly to PIX_FMT_YUYV422.
Patch by Jai Menon

Originally committed as revision 18316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 12:15:04 +00:00
Reimar Döffinger
3dd3604197 Reindent
Originally committed as revision 18315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 11:27:14 +00:00
Reimar Döffinger
fb9ac65411 Support DVD subtitles in mov/mp4 as created by Nero.
See also http://samples.mplayerhq.hu/sub/NeroMP4/unsupported-embedded-subs-2.mp4

Originally committed as revision 18314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 11:26:46 +00:00
Gwenole Beauchesne
e103e6dbcf Register VA API HW accelerators.
Pending bits from earlier approved patches:
https://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-March/066111.html
https://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-April/066918.html

Originally committed as revision 18313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 08:53:34 +00:00
Gwenole Beauchesne
ff41873562 Add VA API deps.
Originally committed as revision 18312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 08:49:33 +00:00
Gwenole Beauchesne
5666fd731e Add hwaccel configury. This generates CONFIG_<CODEC>_<HWACCEL>_HWACCEL
from registered HW accelerated codecs with REGISTER_HWACCEL().

Originally committed as revision 18311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 08:48:06 +00:00
Diego Biurrun
82a6ef2089 Replace manual setting of the removed av_log_level variable by the
corresponding call to av_log_set_level().

Originally committed as revision 18310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 08:15:03 +00:00
Gwenole Beauchesne
da425800ee Add VA API pixfmt (only VLD is available ATM).
Originally committed as revision 18309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 08:08:45 +00:00
Diego Biurrun
d326cf7f8f Add an empty line in front of configure debug instructions.
This makes the actual error message that configure prints be more noticeable.

Originally committed as revision 18308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 08:02:32 +00:00
Gwenole Beauchesne
b4df97365f Add MPEG-4 / H.263 bitstream decoding through VA API.
Originally committed as revision 18307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 07:30:04 +00:00
Baptiste Coudurier
fcb4228c86 skip empty data packets in flv, fix input.flv
Originally committed as revision 18306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 03:52:19 +00:00
Måns Rullgård
60c703ac4b ARM: START/STOP_TIMER support for ARMv7
Originally committed as revision 18305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 22:56:26 +00:00
Måns Rullgård
439ccc4e0e Split libavutil/timer.h per architecture
Originally committed as revision 18304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 22:56:22 +00:00
Stefano Sabatini
0a47f60aa8 Extend read_line() to make it take a read_pal_component parameter.
Originally committed as revision 18303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 21:07:49 +00:00
David Conrad
710441c2f6 Add SSE4 detection support
Originally committed as revision 18302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 09:11:32 +00:00
Gwenole Beauchesne
41913a35b0 Add 16cif video frame size abbreviation. i.e. -s alias for 1408x1152.
Originally committed as revision 18301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 08:55:31 +00:00
David Conrad
828775e160 Remove unused FILTSIGN macro
Originally committed as revision 18300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 08:06:30 +00:00
Måns Rullgård
e5d0dbf558 Remove aandcttab.o from dct-test dependencies, the lib includes it
Originally committed as revision 18299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 01:22:36 +00:00
Måns Rullgård
99cc563f26 Make examples and test progs depend on libraries
Originally committed as revision 29119 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-01 00:54:23 +00:00
Måns Rullgård
33afad5451 Add $(ELIBS) to example/test app link command
Originally committed as revision 18298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 00:53:34 +00:00
Måns Rullgård
bbba084b4f Make examples and test progs depend on libraries
Originally committed as revision 18297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 00:53:31 +00:00
Måns Rullgård
92c093c1b5 Link tests/examples with -lfoo instead of libfoo.a
Originally committed as revision 18296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 00:53:28 +00:00
Måns Rullgård
bdc2cc16eb Always use -L flags for all subdirs
Originally committed as revision 18295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 00:53:25 +00:00
Måns Rullgård
3fd422ff77 Move make rules applicable only to subdirs into subdir.mak
Originally committed as revision 18294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 00:53:22 +00:00
Ben Littler
13b47b4012 add another dv fourcc CDVH
Originally committed as revision 18293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-01 00:45:28 +00:00
Stefano Sabatini
59b053508f Reindent after the last patch.
Originally committed as revision 18292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 22:53:48 +00:00
Stefano Sabatini
c95dd8d382 Add/fix support for bitstream formats reading in read_line().
Originally committed as revision 18291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 22:52:30 +00:00
Stefano Sabatini
21010f6b2a Make the step and offset fields of the component descriptor express a
number of bits for bitstreams formats.

Originally committed as revision 18290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 22:48:18 +00:00
Reimar Döffinger
8514f8427f Fix ipvideo_decode_block_opcode_0xD again.
Originally committed as revision 18289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 22:28:36 +00:00
Stefano Sabatini
9b34899ecf Document read_line().
Originally committed as revision 18286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 20:13:29 +00:00
Stefano Sabatini
f9f74ab97b Add a notice telling that the behavior of skip_put_bits() is undefined
if n is 0.

Originally committed as revision 18285 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 19:57:53 +00:00
Reimar Döffinger
dd9630e40f Cosmetics: remove some pointless {}
Originally committed as revision 18284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 19:39:47 +00:00
Reimar Döffinger
993a442315 Slightly simplify ipvideo_decode_block_opcode_0xD
Originally committed as revision 18283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 19:36:44 +00:00
Reimar Döffinger
49a20ffabc One more simplification for ipvideo_decode_block_opcode_0xA
Originally committed as revision 18282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 19:18:13 +00:00
Stefano Sabatini
bcbd9a149e Cosmetics: reorder the pixel format descriptors to make them match the
same order in pixfmt.h.

Originally committed as revision 18281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 18:52:50 +00:00
Reimar Döffinger
5e8b83ac3b Slightly simplify first part of ipvideo_decode_block_opcode_0xA,
hopefully allows for further simplifications in the future.

Originally committed as revision 18280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 18:48:31 +00:00
Stefano Sabatini
f938cbf984 Change the order of the components for RGB565LE and RGB565BE,
to make them resemble the order in the name: BGR <-> RGB.

Originally committed as revision 18279 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 18:41:39 +00:00
Stefano Sabatini
eb39fb512a Add comments specifying the name of the components in the descriptors.
Originally committed as revision 18278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 18:36:58 +00:00
Reimar Döffinger
283531a81e Make ipvideo_decode_block_opcode_0x8 a lot simpler by decoding the pixels
in a more natural order.

Originally committed as revision 18277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 18:35:19 +00:00
Reimar Döffinger
4472ad2cc4 Fix a too small CHECK_STREAM_PTR value in interplayvideo.c
Originally committed as revision 18276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 18:23:52 +00:00
Stefano Sabatini
30266c9286 Make read_line() take as parameter a const AVPixFmtDescriptor * rather than a
(non const) AVPixFmtDescriptor *.

Originally committed as revision 18275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 18:18:14 +00:00
Diego Biurrun
e7f98e4e94 Add missing $(EXESUF) to example/test program dependency declaration.
Originally committed as revision 29114 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-31 16:52:24 +00:00
Dylan Yudaken
3ba153f8da Replace MPEG group reference DCT implementation by newly rewritten version.
patch by Dylan Yudaken, dyudaken gmail com

Originally committed as revision 18274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 15:50:11 +00:00
Dylan Yudaken
41b4dbbb0e Replacement reference DCT implementation.
patch by Dylan Yudaken, dyudaken gmail com

Originally committed as revision 18273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 15:48:47 +00:00
Reimar Döffinger
f02bd7e49c Avoid the last two uses of bitmasks in interplayvideo
Originally committed as revision 18272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 14:48:14 +00:00
Reimar Döffinger
3f300d7e25 100l, fix FATE test broken by r18264
Originally committed as revision 18271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 14:44:46 +00:00
Reimar Döffinger
9aaacc246a Reindent
Originally committed as revision 18270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 14:10:45 +00:00
Reimar Döffinger
1548839e51 Deduplicate code by moving it outside the if/else
Originally committed as revision 18269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 14:06:22 +00:00
Reimar Döffinger
268a618ba6 Rearrange how the different cases are checked to reduce the number of
comparisons and allow further simplifications.

Originally committed as revision 18268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 14:04:54 +00:00
Benoit Fouet
168fffdf01 Fix warnings in tree.c test code.
Originally committed as revision 18267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 14:00:46 +00:00
Reimar Döffinger
0448b78b97 Avoid "reloading" code by using a 64 bit type for the flags and loading all at once.
Originally committed as revision 18266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 13:58:40 +00:00
Reimar Döffinger
3766b9e0a8 Remove now pointless temporary pix variables.
Originally committed as revision 18265 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 13:33:55 +00:00
Reimar Döffinger
0312b77ccd Slightly simplify part of ipvideo_decode_block_opcode_0x8
Originally committed as revision 18264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 13:30:42 +00:00
Reimar Döffinger
51e350284d Fix indentation
Originally committed as revision 18263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 13:21:41 +00:00
Reimar Döffinger
9be06a0ed1 Avoid code duplication by using ?: and array indexing instead of if..else
Originally committed as revision 18262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 13:21:10 +00:00
Reimar Döffinger
32eea24e9a Prettify some assignments
Originally committed as revision 18261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 12:57:03 +00:00
Reimar Döffinger
e3114eb1bb Get rid of some pointless bitmask/shifter variables in interplayvideo.c
Originally committed as revision 18260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 12:44:35 +00:00
Diego Biurrun
504ffed19f Mark non-exported functions in test and example programs as static.
Originally committed as revision 18259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 09:32:59 +00:00
Gwenole Beauchesne
cafe71c62d Remove inclusion of va.h, not needed anymore after r18256.
Originally committed as revision 18258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 09:18:00 +00:00
Dylan Yudaken
0de74546d7 Give better names to reference DCT functions.
patch by Dylan Yudaken, dyudaken gmail com

Originally committed as revision 18257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 08:55:22 +00:00
Gwenole Beauchesne
a3d636aff9 Improve VA API buffers allocation logic. This also reduces struct vaapi_context
down to ~60 bytes vs. a few KBs before, and gets rid of explicit VA data types.

Originally committed as revision 18256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 08:33:02 +00:00
Benoit Fouet
ccc745cdf4 Move declaration of prn before any assignment.
Originally committed as revision 18255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-31 07:37:55 +00:00
Aurelien Jacobs
b89894abb7 matroska: add support for MLP and TRUEHD codec tags
Originally committed as revision 18254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 21:37:04 +00:00
Diego Biurrun
1b4a516b94 Rename regression test result files from b-libav* to b-lavf* for consistency.
This requires updating the gxf regression checksum since the gxf muxer puts
the filename in files it creates.

Originally committed as revision 18253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 21:32:52 +00:00
Måns Rullgård
13cbe2c026 Quote stored configure arguments containing spaces
Originally committed as revision 18252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 21:12:44 +00:00
Måns Rullgård
67c447a679 Fix running regression tests on remote targets
Originally committed as revision 18251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 20:57:01 +00:00
Gwenole Beauchesne
11b9397941 Record MPEG-4 sprite trajectory points [up to num_sprite_warping_points][isY].
Originally committed as revision 18250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 20:39:08 +00:00
Diego Biurrun
7f7b04af38 Add required va/va.h header, should fix 'make checkheaders'.
Originally committed as revision 18249 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 15:36:59 +00:00
Diego Biurrun
7a8d0e9700 Skip creation of tests/data directory in individual regression test scripts.
It is already being taken care of by the Makefile.

Originally committed as revision 18248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 13:29:10 +00:00
Diego Biurrun
bbbb885626 Fix timefilter test program build without previously building libavformat.
The test program depends on symbols from this library.

Originally committed as revision 18247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 13:09:44 +00:00
Diego Biurrun
d7167f0555 Move generated file aynth1.sw to the data subdirectory. Thus it does not have
to be removed separately and there is less clutter in the tests directory.

Originally committed as revision 18246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 12:27:03 +00:00
Reimar Döffinger
4ed886430c Use correct PRId64 instead of "lld" in printf string, fixes compiler warnings.
Originally committed as revision 29107 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-30 12:23:28 +00:00
Diego Biurrun
6117ffbe90 Rename regression.sh --> codec-regression.sh. Now all regression test scripts
carry the regression test they run as prefix in their name.

Originally committed as revision 18245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 12:00:16 +00:00
Michael Niedermayer
52760ed76e The definition of rate and distortion is not conditional of lambda being
fixed (at least the current text sounded odd to me).

Originally committed as revision 18244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 10:39:20 +00:00
Diego Biurrun
767e14c380 Rename server-regression.sh --> ffserver-regression.sh for consistency.
Originally committed as revision 18243 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 10:05:00 +00:00
Diego Biurrun
996a92c04d Rename servertest target to ffservertest.
Originally committed as revision 18242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 05:24:10 +00:00
Diego Biurrun
0bb5f0fa22 cosmetics: Rename 'do_libav' function to 'do_lavf'.
Originally committed as revision 18241 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 05:22:22 +00:00
Ramiro Polla
ab79fa44f1 mlpdec: Simplify check for substream_parity_present.
Originally committed as revision 18240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:46:52 +00:00
Ramiro Polla
01aaf09274 mlpdec: Simplify no restart header seen error.
Originally committed as revision 18239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:44:20 +00:00
Ramiro Polla
d7952be311 mlpdec: Simplify substream length mismatch error.
Originally committed as revision 18238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:42:40 +00:00
Ramiro Polla
d544dcdf38 mlpdec: Prettify substream parity check.
Originally committed as revision 18237 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:37:19 +00:00
Ramiro Polla
7b18e13a7c mlpdec: Cleaner and better termination word check.
Originally committed as revision 18236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:34:15 +00:00
Ramiro Polla
125cf771f6 mlpdec: More validation for read_channel_params()
Originally committed as revision 18235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:20:01 +00:00
Ramiro Polla
06e34be88f mlpdec: whitespace cosmetics.
Originally committed as revision 18234 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:12:39 +00:00
Ramiro Polla
a44b9f9574 mlpdec: Simplify &foo[0] to foo and use index (which has just been initialized
to MAX_BLOCKSIZE) instead of MAX_BLOCKSIZE, so both copies to/from state data
look alike.

Originally committed as revision 18233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:08:55 +00:00
Ramiro Polla
e71365f427 mlpdec: Split filter_state_buffer into [fi]irbuf and fp to [fi]ir.
Originally committed as revision 18232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 03:05:38 +00:00
Ramiro Polla
0ae59bb01a mlpdec: Unroll copying filter state data and filtering for the two filters.
Originally committed as revision 18231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 02:59:45 +00:00
Ramiro Polla
0c5670a0e5 mlpdec: Max filter orders for FIR and IIR are 8 and 4 respectively.
Originally committed as revision 18230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-30 02:54:19 +00:00
Diego Biurrun
209b9d565a Rename libav.regression.ref --> lavf.regression.ref.
This matches the new name of the test target.

Originally committed as revision 18229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 21:29:46 +00:00
Diego Biurrun
f1f66d3afd Rename libav.regression.ref --> lavf.regression.ref.
This matches the new name of the test target.

Originally committed as revision 18228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 21:27:24 +00:00
Diego Biurrun
1cde611d80 Rename libavtest target to lavftest to better express what it tests.
Also rename related variables to match the new name.

Originally committed as revision 18227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 21:24:04 +00:00
Diego Biurrun
688a477367 Rename test.conf --> ffserver.conf, the new name is more meaningful.
Originally committed as revision 18226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 20:17:23 +00:00
Reimar Döffinger
aadf88119e Merge the 3 COPY_FROM_* macros with lots of duplicated code into a single
copy_from function.

Originally committed as revision 18225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 18:15:02 +00:00
Reimar Döffinger
a1f6ffd44d Change CHECK_STREAM_PTR macro to correctly handle the (extremely unlikely)
overflow case.

Originally committed as revision 18224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 17:50:46 +00:00
Reimar Döffinger
3017d8e9d7 Simplify check for leftover bytes after decoding for interplayvideo.
Originally committed as revision 18223 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 17:42:03 +00:00
Reimar Döffinger
49da3b7df2 Get rid of pointless "B" array in interplayvideo decoder.
Originally committed as revision 18222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 17:35:22 +00:00
Reimar Döffinger
03b269ddc2 Replace many tiny loops in the interplayvideo decoder by memset, memcpy
or initializers.

Originally committed as revision 18221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 17:23:40 +00:00
Diego Biurrun
62cb577e39 Rename seek_test.sh --> seek-regression.sh for greater consistency.
Originally committed as revision 18220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 17:22:07 +00:00
Reimar Döffinger
fff6077917 Make ipvideo_decode_block array constant, compile-time initialized instead
of initializing it each time the decoder is initialized.

Originally committed as revision 18219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 17:15:42 +00:00
Diego Biurrun
4b086e7f21 Generalize example target rule in common.mak so that it sets a -example$(EXESUF)
suffix for all example files instead of doing this in individual Makefiles.

Originally committed as revision 29100 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-29 14:35:38 +00:00
Diego Biurrun
43a0cb7ca2 Generalize example target rule in common.mak so that it sets a -example$(EXESUF)
suffix for all example files instead of doing this in individual Makefiles.

Originally committed as revision 18217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 14:35:20 +00:00
Diego Biurrun
7c17abaf9d Rename apiexample.c --> api-example.c to be consistent with other example files.
Originally committed as revision 18216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 14:28:56 +00:00
Diego Biurrun
009d2d74c2 Move swscale AltiVec template code to ppc subdirectory.
Originally committed as revision 29099 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-29 14:18:44 +00:00
Diego Biurrun
b2184b9c56 AltiVec optimizations in libswscale are no longer GPL.
Originally committed as revision 18215 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 13:48:43 +00:00
Diego Biurrun
4d02387f74 Relicense file to LGPL with the permission of Romain Dolbeau, the author.
Originally committed as revision 29097 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-29 13:47:30 +00:00
Ramiro Polla
4b51fb1ce0 mingw32: Restore creation of import libraries. They are still not being
installed, but they're good for creating -dev packages.

Originally committed as revision 18214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-29 03:42:32 +00:00
Ronald S. Bultje
be0395103a Don't strip the first three characters off of any metadata in ASF file.
See "[FFmpeg-devel] [PATCH] asf fix" thread. Patch contributed by
David DeHaven <dave sagetv com>.

Originally committed as revision 18213 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-28 03:54:31 +00:00
Ramiro Polla
fa937faba4 mlpdec: Remove few random dprintf()s.
Originally committed as revision 18212 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-28 00:53:52 +00:00
Ramiro Polla
b864098c16 mlpdec: Check for blocksize in proper range.
Originally committed as revision 18211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:55:38 +00:00
Ramiro Polla
8e9ee714fc mlpdec: quant_step_size can be any value from 0 to 0xF.
Originally committed as revision 18210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:48:08 +00:00
Ramiro Polla
6fae7cbd7f mlpdec: output_shift can be any value from -8 to 7.
Originally committed as revision 18209 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:47:18 +00:00
Ramiro Polla
af04802640 mlpdec: output_shift is signed
Originally committed as revision 18208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:45:52 +00:00
Ramiro Polla
43ee5fe035 mlpdec: Split read_channel_params() into its own function.
Originally committed as revision 18207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:42:22 +00:00
Ramiro Polla
f8e6293bde mlpdec: Split read_matrix_params() into its own function.
Originally committed as revision 18206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:32:32 +00:00
Ramiro Polla
17a86e87ab Add myself as mlp* maintainer.
Originally committed as revision 18205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 23:27:16 +00:00
Ramiro Polla
d5e9bc0636 Move bfin specific code to its subdir.
Originally committed as revision 29079 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-27 22:56:56 +00:00
Luca Abeni
0766c3ee98 Make rtp_write_header() fail in case of unsupported payload type
Originally committed as revision 18204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 21:36:44 +00:00
Diego Biurrun
5b00e88bb2 Move output-example dependency declaration after subdir.mak include so that it is
not the first (and thus default) target and output-example is not always built.

Originally committed as revision 18203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 17:06:39 +00:00
Kostya Shishkov
6b78a77a35 Merge some cases for reading raw data with different bit depths in BMP
Originally committed as revision 18202 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 16:31:47 +00:00
Benoit Fouet
888facff22 Fix seek test build, by undefining printf and fprintf.
Originally committed as revision 18201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 08:24:46 +00:00
Michael Niedermayer
9e793a2462 Check for INIT_VLC_USE_STATIC
Originally committed as revision 18200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 03:03:50 +00:00
Diego Biurrun
d95a0c67ae Move output_example.c --> libavformat/output-example.c.
The libavformat directory is a better place for a libavformat API example.

Originally committed as revision 18199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-27 00:01:06 +00:00
Víctor Paesa
b6fec3eb7f Make static the list of registered filters.
Originally committed as revision 18198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 21:46:45 +00:00
Diego Biurrun
3ec88c74b0 Remove unnecessary CFLAGS variable from output_example link command.
Originally committed as revision 18197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 17:16:11 +00:00
Diego Biurrun
219a7185a0 Removing example programs is already handled by the generic clean commands,
so there is no need to remove output_example individually.

Originally committed as revision 18196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 14:37:14 +00:00
Diego Biurrun
66e6aec589 Rename cs_test.c --> colorspace-test.c. This is more consistent with the names
of other test programs and more descriptive of what the program does.

Originally committed as revision 29067 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-26 14:20:15 +00:00
Benoit Fouet
e2eb0f52ec Fix a warning on an uninitialized variable.
Originally committed as revision 18195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 14:15:42 +00:00
Diego Biurrun
3344cf851c Use a wildcard match instead of a list to remove test programs.
This is robust against renames and also removes test programs not
(yet) hooked up in the main Makefiles.

Originally committed as revision 18193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 10:12:21 +00:00
Ramiro Polla
d4efacff64 Use intptr_t when casting pointers to int.
Originally committed as revision 18192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 01:34:02 +00:00
Ramiro Polla
befa8e665c Move yuv2rgb code to subdirs.
Originally committed as revision 29063 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-26 01:30:10 +00:00
Ramiro Polla
b2cfd7e360 Create swscale subdirs for out-of-tree builds.
Originally committed as revision 18191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 01:29:20 +00:00
Diego Biurrun
c04e5fa827 fft-test does not depend on fdctref.o.
Originally committed as revision 18190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 19:00:15 +00:00
Diego Biurrun
7304c2c4ce Move adding the '-test$(EXESUF)' suffix to test programs into common.mak.
Originally committed as revision 18189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 18:19:20 +00:00
Diego Biurrun
6ccf540fa5 prettyprinting cosmetics
Originally committed as revision 18188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 18:14:28 +00:00
Diego Biurrun
e43f34bd44 swscale-example is an API example, not a test program.
Originally committed as revision 29056 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-25 18:08:52 +00:00
Diego Biurrun
0a7ee3ef59 cosmetics: Group all path variables together in config.mak.
Originally committed as revision 18187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 17:46:25 +00:00
Diego Biurrun
1f30649633 typo: beomes --> becomes
Originally committed as revision 18186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 14:19:22 +00:00
Diego Biurrun
aae9c405c7 Move licensing information into a separate file called LICENSE and
rewrite it for greater clarity in the process.

Originally committed as revision 18185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 14:05:20 +00:00
Diego Biurrun
e03b461842 Clarify that our LGPL/GPL licenses come with an explicit "or later" clause.
Originally committed as revision 18184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 10:28:01 +00:00
Diego Biurrun
c8f742ca49 The Mersenne Twister PRNG was removed, mention replacement.
Originally committed as revision 18183 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 10:18:47 +00:00
Diego Biurrun
889cdae8ef cosmetics: Reformat paragraphs and other cosmetic changes.
Originally committed as revision 18182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 10:12:31 +00:00
Baptiste Coudurier
f03a081df0 set wrong_dts for iMovie created files which has huge ctts delay, fix ffmpeg_sample.m4v
Originally committed as revision 18181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 06:07:13 +00:00
Ramiro Polla
1bbeb23356 Clear some more variables that are used on subdir Makefiles.
Originally committed as revision 18180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-25 00:50:56 +00:00
Justin Ruggles
d7520f217a cosmetics: add an @return to documentation for decode_frame_header()
Originally committed as revision 18179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 22:44:12 +00:00
Diego Biurrun
6510c453ab Add _XOPEN_SOURCE #define. This is necessary for (s)random(), which are XSI
extensions of POSIX. Avoids implicit declaration warnings on some systems.

Originally committed as revision 18178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 16:28:48 +00:00
Cédric Schieli
4626ee1a8c Adds "YUYV422 to YUVA420P" and "UYVY422 to YUVA420P" unscaled convertion
Originally committed as revision 29048 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-24 07:11:35 +00:00
Cédric Schieli
08218e6d83 Fix some places where "non-alpha to YUVA420P" do not fill the alpha plane
Originally committed as revision 29047 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-24 07:10:19 +00:00
Cédric Schieli
0928f1eb53 Simpler and more elegant fix to the x86_32/OSX+PIC build failure
Originally committed as revision 29046 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-24 07:09:19 +00:00
Ronald S. Bultje
da1e126e0d strchr(string, '\0') returns non-NULL, and is thus not suited for use in
redir_isspace(char) to check if '\0' is a space or not. Therefore, we now
use memchr(), since then we can give the length of the string (i.e. the
length excluding the terminating '\0'). Fixes issue 919, see also the
follow-ups in the "[PATCH] rtsp.c small cleanups" mailinglist thread.

Originally committed as revision 18177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 03:24:59 +00:00
Robert Swain
29e455081f Update apiexample.c to use the newer avcodec_decode_audio2() API. This also
fixes compilation.

Originally committed as revision 18176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 02:26:10 +00:00
Justin Ruggles
cd98a03024 flacdec: split frame header decoding and validation into a separate
function

Originally committed as revision 18175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 01:17:55 +00:00
Stefano Sabatini
77544e5b91 Use PIX_FMT_NE() for defining the PIX_FMT_RGB32 variants macros.
Originally committed as revision 18174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 23:01:11 +00:00
Stefano Sabatini
1cee4eafa3 Make the PIX_FMT_NE() macro more generic.
Originally committed as revision 18173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 22:57:55 +00:00
Gwenole Beauchesne
3c32bac898 Add MPEG-2 bitstream decoding through VA API.
Originally committed as revision 18172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 22:09:13 +00:00
avcoder
fbf1b88589 Move declaration of 'pict' closer to where it is used and initialize it.
Patch by avcoder: gmail(ffmpeg)

Originally committed as revision 18171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 16:43:06 +00:00
Benoit Fouet
6d69a653d8 Move av_class to AVResampleContext instead of ReSampleContext.
Fixes issue 852.

Originally committed as revision 18170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 10:58:05 +00:00
Alex Converse
04964ee8bb AAC: Ignore cc_domain for independent (time domain) coupling.
Originally committed as revision 18169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-23 05:13:26 +00:00
Stefano Sabatini
620bba1653 Add pcxenc.o to the $OBJS list, it was erroneously removed from it in
r18164.
Fix compilation.

Originally committed as revision 18168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 23:42:06 +00:00
Justin Ruggles
e8b0395236 flacdec: cosmetics: white space
Originally committed as revision 18167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 23:22:44 +00:00
Justin Ruggles
fbc4d9c964 flacdec: cosmetics: separate the pure frame header parsing code from
other frame header decoding code

Originally committed as revision 18166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 23:19:49 +00:00
Diego Biurrun
9e12268c57 Rename 'tests' target to 'testprogs'. It is too easily confused with the
'test' target and a directory named tests exists.

Originally committed as revision 29039 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-22 23:15:54 +00:00
Diego Biurrun
661ce28996 Rename 'tests' target to 'testprogs'. It is too easily confused with the
'test' target and a directory named tests exists.

Originally committed as revision 18165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 23:13:21 +00:00
Diego Biurrun
f1c5438fbb Remove unnecessary CLEANFILES declaration. Test programs do not require it.
Originally committed as revision 29038 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-22 23:09:20 +00:00
Diego Biurrun
fd8e28b73e Split AVCodec declarations for PAM/PBM/PGM/PGMYUV/PPM decoders and encoders
so that they can be enabled and disabled individually.

Originally committed as revision 18164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:50:22 +00:00
Stefano Sabatini
6e08ca9c51 Make the pixel formats which were defined as macros:
PIX_FMT_ARGB
PIX_FMT_RGBA
PIX_FMT_ABGR
PIX_FMT_BGRA

defined as enum PixelFormat values, and viceversa make:
PIX_FMT_RGB32
PIX_FMT_RGB32_1
PIX_FMT_BGR32
PIX_FMT_BGR32_1

defined as macros, also resort accordingly the enum PixelFormat
list.
Also make avcodec_get_pix_fmt() recognize the "rgb32" and "bgr32"
aliases, in order to make ffmpeg pass regressions test.

This change breaks ABI backward compatibility.

Originally committed as revision 18163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:50:19 +00:00
Justin Ruggles
e7e6b06802 flacdec: allow sample rate to change mid-stream, but log a warning
message when it does

Originally committed as revision 18162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:38:06 +00:00
Diego Biurrun
6708cfc4d3 Add rule for building API example programs.
Originally committed as revision 18161 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:33:41 +00:00
Stefano Sabatini
326e9eaa20 Factorize: use the X_NE() macro in avcodec_get_pix_fmt().
Originally committed as revision 18160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:13:10 +00:00
Justin Ruggles
1448907465 flacdec: cosmetics: indentation
Originally committed as revision 18159 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:12:03 +00:00
Stefano Sabatini
8199ea3b8c Implement X_NE() macro.
Originally committed as revision 18158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:10:36 +00:00
Justin Ruggles
e2a38af96e flacdec: change frame bps validation to return an error value if bps
changes since this is not currently supported by the decoder.

Originally committed as revision 18157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 22:10:33 +00:00
Justin Ruggles
f91eaf5deb flacdec: cosmetics: add some braces to if/else statements
Originally committed as revision 18156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:53:28 +00:00
Justin Ruggles
b6fa746e39 flacdec: skip frame when allocated data size is too small
Originally committed as revision 18155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:31:23 +00:00
Justin Ruggles
492cc392fa 10l: don't check against current layout until after validating ch_mode.
should have been in last commit.

Originally committed as revision 18154 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:13:10 +00:00
Justin Ruggles
7660dc6f4f flacdec: give a more accurate error message when validating channel
layout. differentiates between invalid values and unsupported values.

Originally committed as revision 18153 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:07:43 +00:00
Stefano Sabatini
d2863e72ab Export to pixdesc.h the av_pix_fmt_descriptors array.
Originally committed as revision 18152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 21:01:08 +00:00
Justin Ruggles
02b26d2d5c flacdec: move data size check to flac_decode_frame()
Originally committed as revision 18151 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 20:19:20 +00:00
Justin Ruggles
4285c2923c flacdec: comments and white space.
move skipping of frame header to decode_frame()

Originally committed as revision 18150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 19:12:02 +00:00
Justin Ruggles
d1d9945f1a cosmetics: vertical alignment
Originally committed as revision 18149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 18:59:45 +00:00
Justin Ruggles
5c3e0340d9 flacdec: remove unneeded local variable
Originally committed as revision 18148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 18:59:00 +00:00
Justin Ruggles
3b4d96fa68 flacdec: cosmetics: rename 3 variables
Originally committed as revision 18147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 18:56:07 +00:00
Justin Ruggles
7e00bd8456 flacdec: use a local variable for GetBitContext in decode_frame()
Originally committed as revision 18146 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 18:52:15 +00:00
Aurelien Jacobs
bd51c0138a handle id3v2 'genre' tag formated as '%d'
Originally committed as revision 18145 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 16:10:37 +00:00
Ronald S. Bultje
2121b160d5 Remove alpha channel from default colorspace tables, since it is unused. See
"qtpalette.h" thread on mailinglist.

Originally committed as revision 18144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 13:05:13 +00:00
Diego Biurrun
3c3e0680b5 Use $< automatic variable to simplify some commands.
Originally committed as revision 18143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 13:00:15 +00:00
Ronald S. Bultje
e6b09f4361 Add a @todo with a comment from Kostya so we don't forget to optimize that at
some point in the future.

Originally committed as revision 18142 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 12:47:16 +00:00
Kostya Shishkov
c21fbefb9d Add AURA 1 and 2 codec IDs and register their FOURCCs
Originally committed as revision 18141 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 07:40:22 +00:00
Baptiste Coudurier
5c5776e10d allocate tracks instead of using MAX_STREAMS
Originally committed as revision 18140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 03:52:55 +00:00
Baptiste Coudurier
44dff0058e init ext sample rate to 0 if not present
Originally committed as revision 18139 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 02:53:01 +00:00
Baptiste Coudurier
08a5b4e9b5 since code now use get_bits_long, allocate padding buffer
Originally committed as revision 18138 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 02:47:35 +00:00
Baptiste Coudurier
5f01c1258f avoid creating a new stream not referenced in pmt since it cannot be associated to a program, fix issue 835
Originally committed as revision 18137 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 02:04:28 +00:00
Gwenole Beauchesne
b38d7298bd Add common VA API data structures and helpers.
Originally committed as revision 18136 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 01:32:27 +00:00
Michael Niedermayer
ff8084cf1c Enable unscaled packed422 -> planar 420 converters by default as the
imgconvert inherited quality issues should be fixed.

Originally committed as revision 29031 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-21 23:59:02 +00:00
Michael Niedermayer
3d99e069e4 10l (C code was buggy and untested)
Originally committed as revision 29030 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-21 23:52:34 +00:00
Michael Niedermayer
870a4adbb7 Average chroma of 2 lines in packed 422 -> planar 420.
Originally committed as revision 29029 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-21 23:45:20 +00:00
Gwenole Beauchesne
bb691a6da4 Add support for HW accelerated VC-1 decoding through the new
AVHWAccel infrastructure.

Originally committed as revision 18135 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 23:44:21 +00:00
Baptiste Coudurier
a0dd3c0039 reset codec width/height for h264 forcing decoder to parse extradata
Originally committed as revision 18134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 23:29:34 +00:00
Stefano Sabatini
f82674e584 Change the RGB5X5/BGR5X5 pixel format defines so that we have little
endian and big endian variants instead of native-endian ones.

This patch breaks API/ABI backward-compatibility.

Originally committed as revision 18133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 23:08:20 +00:00
Stefano Sabatini
31a79497b7 Use PIX_FMT_NE() macro.
Originally committed as revision 18132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 22:50:29 +00:00
Stefano Sabatini
a1a05abebd Implement PIX_FMT_NE() macro.
Originally committed as revision 18131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 22:48:48 +00:00
Stefano Sabatini
d89f692f0e Extend the behavior of avcodec_get_pix_fmt(), if it cannot find a
pixel format for the provided name, make it look for the native endian
variant of the name.

Originally committed as revision 18130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 22:43:46 +00:00
Stefano Sabatini
a61ec8e7ae Globally prefer enum PixelFormat over int when it makes sense.
Originally committed as revision 18129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 22:24:44 +00:00
Ronald S. Bultje
cc9aced32f Remove slash-skipping code because the function called right after that
statement (get_word_sep()) already does that all by itself. See summary in
"[PATCH] rtsp.c small cleanups" thread on mailinglist.

Originally committed as revision 18128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 21:02:08 +00:00
Ronald S. Bultje
78f731de92 Reindent something where a if () --> { <-- is on a newline rather than on the
same line as the if. See summary in "[PATCH] rtsp.c small cleanups" thread on
mailinglist.

Originally committed as revision 18127 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 21:00:51 +00:00
Ronald S. Bultje
7d09a993d1 Free metadata if already allocated; fixes a memleak if the header occurs twice
in a stream (e.g. malicious input, broken file, etc.). See summary in "[PATCH]
rtsp.c small cleanups" thread on mailinglist.

Originally committed as revision 18126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:59:59 +00:00
Ronald S. Bultje
6a8c8b36b9 Fix silly bug in hex_to_data() where it compares a string pointer for whether
it is '\0' rather than its content (char *p; if (p == '\0') instead of if
(*p == '\0')). See summary in "[PATCH] rtsp.c small cleanups" thread on
mailinglist.

Originally committed as revision 18125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:58:41 +00:00
Ronald S. Bultje
64917dd3df Remove useless comment about something that is deprecated. See summary in
"[PATCH] rtsp.c small cleanups" thread on mailinglist.

Originally committed as revision 18124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:56:57 +00:00
Ronald S. Bultje
36aa7bc27f Use skip_spaces() in the "redir" demuxer instead of "while (isspace(&p)) p++".
See summary in "[PATCH] rtsp.c small cleanups" thread on mailinglist.

Originally committed as revision 18123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:55:52 +00:00
Ronald S. Bultje
1ef36a7035 Merge functional code from get_word() and get_word_sep() into a single
function, since they both do approximately the same thing. At the same time,
remove redir_isspace() altogether since code elsewhere (including
get_word_sep()) uses strchr() for the same purpose. See summary in "[PATCH]
rtsp.c small cleanups" thread.

Originally committed as revision 18122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:54:47 +00:00
Ronald S. Bultje
7e726132c2 Allow (and parse) incoming server messages (notices) interleaved with TCP
data packets or in addition to UDP data packets, over the RTSP/TCP connection.
See discussion in [PATCH] rtsp.c: read TCP server notifications/messages"
thread on mailinglist.

Originally committed as revision 18121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:46:36 +00:00
Ronald S. Bultje
9c610b7667 Add a @todo item to use ByteIOContext instead of URLContext at some point in
the future, requested by Luca in "[PATCH] rtsp.c: read TCP server
notifications/messages" thread.

Originally committed as revision 18120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:44:46 +00:00
Ronald S. Bultje
8b9794e542 Remove index writing in RM muxer, since it is broken (multiple streams per
single index chunk) and is always empty anyway. See "[PATCH] rmenc.c: remove
index writing" thread.

Originally committed as revision 18119 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 20:34:24 +00:00
Ronald S. Bultje
83c0ba3dad Don't allow to sync on packets of zero-size length, since these are never
valid. See "[PATCH] rmdec.c: prevent zero-length packets" thread.

Originally committed as revision 18118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 19:19:09 +00:00
Ronald S. Bultje
e75e603c1a Move "- 12" statement up a bit. See "[PATCH] rmdec.c: prevent zero-length
packets" thread.

Originally committed as revision 18117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 19:18:07 +00:00
Diego Biurrun
ee6624ef4a Remove deprecated and now unused Mersenne Twister PRNG.
Originally committed as revision 18116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 17:28:38 +00:00
Kostya Shishkov
6a03a34b01 Register myself as Smacker maintainer
Originally committed as revision 18115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 17:01:56 +00:00
Diego Biurrun
9f5da4d189 When warning about forbidden pseudo random number generation functions,
suggest the correct replacement functions.

Originally committed as revision 18114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 16:16:04 +00:00
Diego Biurrun
573e0118e2 Fix reference to av_random_init where av_lfg_init was meant.
Originally committed as revision 18113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 16:14:55 +00:00
Diego Biurrun
0e4cb6cbad Fix reference to av_random where av_lfg_get was meant.
Originally committed as revision 18112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 16:14:21 +00:00
Daniel Verkamp
e1dc16ae56 Make Smacker audio decoder output audio in original bit depth
Patch by Daniel Verkamp
($firstname) at (three-letter file extension for drivers in Win 3.1) dot (nu)

Thread: [PATCH] Smacker: Output audio in original bit depth

Originally committed as revision 18111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 15:52:14 +00:00
Diego Biurrun
2bbd85719c Remove deprecated functions and structures on next version bump.
Originally committed as revision 18110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 13:51:29 +00:00
Cédric Schieli
986b6f8f73 Fix build failure on x86_32 Mac OS X with PIC enabled
Originally committed as revision 29022 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-21 12:16:32 +00:00
Baptiste Coudurier
64159a588b check if feed max file size is too small
Originally committed as revision 18109 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 10:32:43 +00:00
Baptiste Coudurier
1f611549e2 cosmetics, reindent and remove empty line
Originally committed as revision 18108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 10:29:37 +00:00
Baptiste Coudurier
861ec13aae new Truncate option which will make feeder truncate feed file
Originally committed as revision 18107 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 10:28:49 +00:00
Reimar Döffinger
899a8fa1cb Fix avpicture_get_size for non-paletted formats with a helper palette
to not include the size of that palette.
Also clarify its documentation.

Originally committed as revision 18106 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 10:25:20 +00:00
Reimar Döffinger
6f34808691 Fix planarCopy to ignore the GRAY8 "pseudo"-palette, fixes libavtest regression test.
Originally committed as revision 29021 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-21 10:20:16 +00:00
Baptiste Coudurier
31e2d5d321 update ffserver regression ref
Originally committed as revision 18105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 10:03:37 +00:00
Baptiste Coudurier
85fe4ae0d0 do not call av_find_stream_info if stream is ffm, should fix stalling
Originally committed as revision 18104 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 09:58:07 +00:00
Baptiste Coudurier
0bdd8b858f send busy reply if max connections number is exceeded
Originally committed as revision 18103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 09:56:25 +00:00
David Conrad
1a4ab332c6 Reindent
Originally committed as revision 18102 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 08:22:36 +00:00
David Conrad
6e6abd0237 Fix Speex header parsing in ogg demuxer
Originally committed as revision 18101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 08:22:09 +00:00
David Conrad
1fa9726cf6 Document ogg_codec's header function
Originally committed as revision 18100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 08:03:30 +00:00
Baptiste Coudurier
be2a6e2f82 fix compilation when DEBUG_SEEK is defined
Originally committed as revision 18099 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 07:36:25 +00:00
Baptiste Coudurier
92a0f33878 fix valid seeking range
Originally committed as revision 18098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 07:35:52 +00:00
Baptiste Coudurier
7e24aa0c13 adjust write index if not set
Originally committed as revision 18097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 06:52:55 +00:00
Baptiste Coudurier
a9c6fc7b3e update seek regression ref due to 18063
Originally committed as revision 18096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 05:03:11 +00:00
Justin Ruggles
d7687763a5 Take over sole maintainership for all FLAC-related stuff
Originally committed as revision 18095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 03:14:56 +00:00
Justin Ruggles
59f60d0554 Fix the ogg regression test, which was broken by r18092. This is an
expected change because the ogg muxer with FLAC encoder uses the maximum
frame size estimate since it cannot rewrite the real maximum frame size
at end of encoding.

Originally committed as revision 18094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 02:06:31 +00:00
Justin Ruggles
0e442b8432 add myself as maintainer for new FLAC files
Originally committed as revision 18093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:55:36 +00:00
Justin Ruggles
0fb2182d46 add a function to calculate a more accurate estimate for maximum FLAC
frame size and use the function in the FLAC decoder and FLAC encoder

Originally committed as revision 18092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:54:31 +00:00
Justin Ruggles
f5187c7f04 flacdec: account for frame and subframe header overhead when calculating
estimate for maximum frame size

Originally committed as revision 18091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:27:28 +00:00
Justin Ruggles
f121622114 revert accidental unrelated change in last commit
Originally committed as revision 18090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:20:28 +00:00
Justin Ruggles
d4df4e5088 share sample rate and blocksize tables between the FLAC encoder and FLAC
decoder

Originally committed as revision 18089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 01:16:38 +00:00
Baptiste Coudurier
b4800b8b7d protect realloc overflow
Originally committed as revision 18088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:50:51 +00:00
Justin Ruggles
b9b4fc5e07 flacenc: remove unneeded variable, 'min_encoded_framesize' and use
'min_framesize' instead

Originally committed as revision 18087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:50:19 +00:00
Justin Ruggles
29b0d168e6 seek backwards 4 bytes if 'fLaC' marker is not found
Originally committed as revision 18086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:49:14 +00:00
Justin Ruggles
d9e7fa8074 flacdec: remove unneeded variable, 'assignment'
Originally committed as revision 18085 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:48:07 +00:00
Justin Ruggles
2a34672500 flacdec: cosmetics: rename 'decorrelation' to 'ch_mode'
Originally committed as revision 18084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:47:04 +00:00
Justin Ruggles
ad52941faa flacenc: remove unneeded context variable, 'ch_code'
Originally committed as revision 18083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:45:44 +00:00
Justin Ruggles
3159780b18 share channel mode constants between the FLAC decoder and FLAC encoder
Originally committed as revision 18082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21 00:44:42 +00:00
David Conrad
c15020dd1d Hostile takeover of the ogg demuxer, agreed to by Mans on irc
Originally committed as revision 18081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 23:36:34 +00:00
Stefano Sabatini
432603e376 Remove declaration of the removed function img_convert().
Originally committed as revision 18080 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 22:29:31 +00:00
Benjamin Larsson
39b60944a8 Get rid of av_random in cook.c
Originally committed as revision 18079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 21:32:30 +00:00
Benjamin Larsson
3b0b84797e Get rid of av_random in nellymoserdec.c
Originally committed as revision 18078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 21:15:02 +00:00
Daniel Verkamp
effcedf738 PCX encoder that handles 1-, 8-, and 24-bpp pixfmts.
Patch by Daniel Verkamp, daniel drv nu

Originally committed as revision 18077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 17:23:45 +00:00
Reimar Döffinger
20ddf5a8e4 Avoid crash on planarCopy to a destination without alpha.
Makes regression tests run again, though the results are still wrong.

Originally committed as revision 29018 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 17:22:03 +00:00
Benoit Fouet
1cd98da820 Initialize pointer arrays which may be freed before being initialized.
Originally committed as revision 29017 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 16:29:47 +00:00
Reimar Döffinger
04ef1d3f7b Do _not_ use rbx on x86_64, it will fail to compile with PIC, besides it
added completely pointless code.

Originally committed as revision 29016 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 16:23:48 +00:00
Reimar Döffinger
d55ef6362f Fix swscale compilation with Altivec enabled.
Originally committed as revision 29015 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 16:12:03 +00:00
Cédric Schieli
3164d25e19 Reindent after last commit
Originally committed as revision 29014 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:44:26 +00:00
Cédric Schieli
b3b5946c12 Add a changelog entry for the alpha scaler support
Originally committed as revision 18076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 14:33:59 +00:00
Cédric Schieli
110f147a85 Also test the alpha channel in swscale-example
Originally committed as revision 29013 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:17:20 +00:00
Cédric Schieli
6268f55be5 YUVA420P is now supported as output format
Originally committed as revision 29012 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:16:24 +00:00
Cédric Schieli
6858492e6c Add alpha channel scaling
Originally committed as revision 29011 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:15:14 +00:00
Cédric Schieli
3acd545f0c Add YUVA420P -> RGBA/BGRA/ARGB/ABGR unscaled converters
Originally committed as revision 29010 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:14:28 +00:00
Cédric Schieli
a9ddb5b1a4 Add a CONFIG_SWSCALE_ALPHA option for alpha channel scaling (enabled by default)
Originally committed as revision 18075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 14:12:47 +00:00
Cédric Schieli
f6cf4ed08a Use a simpler and more general check for the gray case in the planarCopy function
Originally committed as revision 29009 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:01:51 +00:00
Ramiro Polla
9731e7f13e mlp, truehd: support non 1:1 channel mapping.
Originally committed as revision 18074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 13:07:09 +00:00
Ramiro Polla
cbf3cf19f3 Support "next parameter flags present" flag.
Originally committed as revision 18073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 13:04:14 +00:00
Ramiro Polla
932cee5d67 truehd: support up to 3 substreams.
Originally committed as revision 18072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 13:02:15 +00:00
Gwenole Beauchesne
952e2083bc Rename hwaccel_data_private to hwaccel_picture_private.
Originally committed as revision 18071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 12:04:58 +00:00
Diego Biurrun
294eaa2643 Replace random() usage in test programs by av_lfg_*().
Originally committed as revision 18070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 11:48:27 +00:00
Diego Biurrun
c7594e0764 Only build motion-test if MMX is enabled.
Originally committed as revision 18069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 11:43:58 +00:00
Diego Biurrun
578f90a8d5 Align test program output columns.
Originally committed as revision 18068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 11:40:05 +00:00
Diego Biurrun
fa7aec5ceb Remove unused libavutil/random.h #include.
Originally committed as revision 18067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 10:48:01 +00:00
Diego Biurrun
e814a59fee Use correct header for struct AVLFG.
Originally committed as revision 18066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 10:47:02 +00:00
Baptiste Coudurier
7c45723a98 resync ffm if error in stream
Originally committed as revision 18065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:44:45 +00:00
Baptiste Coudurier
21c6438f2c typo, fix eof check
Originally committed as revision 18064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:39:55 +00:00
Baptiste Coudurier
b9edbe9953 do not write ffm write index by default, detect if file is being written and return EOF
Originally committed as revision 18063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:23:33 +00:00
Ronald S. Bultje
cf16c17a69 Add byte reordering for the SIPRO audio codec. See "rmdec.c: add SIPR codec
try #2" thread. Patch originally by Vladimir Voroshilov.

Originally committed as revision 18062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:22:51 +00:00
Ronald S. Bultje
e9fce261a6 Assign the x-pf-asf payload string to be decoded by rtp_asf.c, and add a
SDP line handler that parses the streamID in the SDP so that ASF stream
data can be matched to their respective streams in the RTSP demuxer. See
"[PATCH] RTSP-MS 12/15: ASF payload support" thread on mailinglist.

Originally committed as revision 18061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:11:08 +00:00
Baptiste Coudurier
20f93c3ccf check av_find_stream_info return value
Originally committed as revision 18060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:07:22 +00:00
Baptiste Coudurier
77553ae360 uniformize log messages and add some more
Originally committed as revision 18059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:05:51 +00:00
Baptiste Coudurier
042819c520 use lfg and ff_random_get_seed instead of deprecated av_random
Originally committed as revision 18058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 01:00:53 +00:00
Baptiste Coudurier
637af098fd check if feed and stream already exist before registering new one
Originally committed as revision 18057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 00:55:00 +00:00
Diego Biurrun
7349392535 Make softfloat test program compile again: Setting the av_log_level variable
needs to be replaced by a call to av_log_set_level().

Originally committed as revision 18056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 00:23:13 +00:00
Diego Biurrun
b56e34c5e9 Make AES test program compile again: Setting the av_log_level variable
needs to be replaced by a call to av_log_set_level().

Originally committed as revision 18055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-20 00:18:46 +00:00
Diego Biurrun
54ea773614 Initialize *srcContext, *dstContext, *outContext to NULL, avoids the warnings:
libswscale/swscale-example.c:60: warning: 'outContext' may be used uninitialized in this function
libswscale/swscale-example.c:60: warning: 'dstContext' may be used uninitialized in this function
libswscale/swscale-example.c:60: warning: 'srcContext' may be used uninitialized in this function

Originally committed as revision 29008 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 23:33:35 +00:00
Matthieu Castet
e29c3f934f Remove useless casting in asm "m" operand.
Patch by Matthieu Castet, castet D matthieu A free D fr

Originally committed as revision 29007 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 23:29:19 +00:00
Matthieu Castet
ecf05a5971 Remove useless casting in asm "m" operand.
Patch by Matthieu Castet, castet D matthieu A free D fr

Originally committed as revision 18054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 23:29:11 +00:00
Stefano Sabatini
90da2b5086 Make ffmpeg fail if the argument provided to the -pix_fmt option is
invalid.

Originally committed as revision 18053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 22:29:32 +00:00
Baptiste Coudurier
876578914b set avi fsize to INT64_MAX if riff tag end is not set and file size is not available
Originally committed as revision 18052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:57:14 +00:00
Baptiste Coudurier
3a5601885b move max analyze duration check before considering new packet
Originally committed as revision 18051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:54:34 +00:00
Ramiro Polla
dd35beb29b Allocate executable memory with VirtualAlloc() in Windows.
Originally committed as revision 29006 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 21:52:44 +00:00
Ramiro Polla
7c5bfe7add Check for VirtualAlloc() so it may be used to allocate executable memory in
Windows.

Originally committed as revision 18050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:52:01 +00:00
Ramiro Polla
16a3717f8d Drop unnecessary cast and cosmetically align.
Originally committed as revision 29005 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 21:50:10 +00:00
Ramiro Polla
23d9cc4563 Support raw TrueHD files
Originally committed as revision 18049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:46:56 +00:00
Reimar Döffinger
45bae968a9 Fix indentation after r18047.
Originally committed as revision 18048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:36:59 +00:00
Reimar Döffinger
c9d6e84778 Change linesize alignment method to ensure that linesize[0] == 2*linesize[1]
for YUV420P and YUV422P always.
Fixes MPEG-2 4:2:2 encoding on PPC and ARM, and should fix mxf_d10 regression.

Originally committed as revision 18047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:34:55 +00:00
Reimar Döffinger
b435725b4c Do not set linesize for palette data, it does not make sense and creates
problems with following patch to fix linesize alignment.

Originally committed as revision 18046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:31:10 +00:00
Ramiro Polla
9ba4821d93 Split TrueHD decoder from MLP
Originally committed as revision 18045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 21:23:39 +00:00
Alex Converse
5c3d507f1a MOV: Use the AOT enum for the mp4_audio_types mapping.
Originally committed as revision 18044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 18:13:42 +00:00
Michael Niedermayer
9326d3f355 Revert
Date: Wed Mar 18 23:11:50 2009
	New Revision: 28996

	Log:
	Fix libswscale compilation on non-x86, hopefully without breaking MinGW64 again.

This change was non optimal, correct would have been to revert the offending commits
if no time was available to find a clean fix.

Originally committed as revision 29003 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 15:02:44 +00:00
Michael Niedermayer
8e3d8a82e6 typedef int x86_reg on non x86
Originally committed as revision 18043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 14:49:47 +00:00
Michael Niedermayer
72ef3dd72e Fix 10l typo.
Originally committed as revision 29002 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 14:04:14 +00:00
Diego Biurrun
2029e934d2 Nicely align output columns.
Originally committed as revision 18042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 09:53:50 +00:00
Michael Niedermayer
0411072ee3 Unscaled converters for
YUYV->YUV420P
YUYV->YUV422P
UYVY->YUV420P
UYVY->YUV422P

Originally committed as revision 28997 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 03:45:29 +00:00
Justin Ruggles
07d16e2ecf share some constants between the FLAC encoder and FLAC decoder
Originally committed as revision 18041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 03:04:21 +00:00
Diego Biurrun
bb504ac45e Fix compilation of adler32 test program: Use av_log_set_level()
instead of assigning a value to the av_log_level variable.

Originally committed as revision 18040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 01:10:30 +00:00
Diego Biurrun
23869b4af4 Fix copy and paste typo in input/output devices section.
Originally committed as revision 18039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-19 01:04:23 +00:00
Reimar Döffinger
62651fa729 Fix libswscale compilation on non-x86, hopefully without breaking MinGW64 again.
Originally committed as revision 28996 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-18 22:11:50 +00:00
Stefano Sabatini
29c6638668 Use read_yesno() in opt_output_file().
Originally committed as revision 18038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 21:38:41 +00:00
Stefano Sabatini
090b61b2d1 Implement read_yesno().
Originally committed as revision 18037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 21:35:49 +00:00
Stefano Sabatini
eab5168cd3 Flush the remaning chars in the input buffer after reading the
response to the "Overwrite ? [y/N]" question.

Fix the behaviour when the question is asked more than one time.

Originally committed as revision 18036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 21:34:19 +00:00
Stefano Sabatini
1e896640c4 Implement a name field for AVPixFmtDescriptor.
Originally committed as revision 18035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 20:10:09 +00:00
Ramiro Polla
9a034dde8b swscale-example: use LFG instead of random()
Originally committed as revision 28993 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-18 17:12:44 +00:00
Ramiro Polla
d0ce212a7a Do not assume long is same width as x86 register.
Originally committed as revision 28992 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-18 17:07:30 +00:00
Alex Converse
2b823a5299 Fix typo in AOT_ER_AAC_ELD
Originally committed as revision 18034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 14:14:56 +00:00
Alex Converse
d3487e472e Update the MPEG-4 AOT table.
Originally committed as revision 18033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 14:11:05 +00:00
Reimar Döffinger
b8b00d9429 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
(GUID is also defined, but differently, in Windows headers).

Originally committed as revision 18032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 14:03:40 +00:00
Alex Converse
f650e4d34a Move MPEG-4 AOT enum to mpeg4audio.h.
Originally committed as revision 18031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 13:52:56 +00:00
Reimar Döffinger
4d0c3dc0d5 Add a special guidcmp function to compare ASF guids, to avoid the many
duplicated sizeof(GUID).

Originally committed as revision 18030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 13:17:23 +00:00
Diego Biurrun
780daf2b09 Consistently use ff_ prefixes for internal symbols.
Originally committed as revision 28988 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-18 08:06:08 +00:00
Diego Biurrun
fa3f2a3513 Add list of supported input/output devices.
Originally committed as revision 18029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 07:55:34 +00:00
Diego Biurrun
000bbebb66 Adjust @columnfractions settings to reflect the number of columns in the table.
Originally committed as revision 18028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-18 07:49:51 +00:00
Ramiro Polla
e05c8d0682 use intptr_t to cast pointers to int in codecs maintained by benjamin larsson
Originally committed as revision 18027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 20:47:31 +00:00
Cédric Schieli
d4da3e4790 Add a fillPlane function to fill a plane with one constant value
Originally committed as revision 28986 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-17 19:53:36 +00:00
Cédric Schieli
4c01b868de Don't write outside of the picture buffer in planarCopy in the gray case
Originally committed as revision 28985 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-17 19:51:52 +00:00
Ronald S. Bultje
79ff11d78f Fix wrong @file tag.
Originally committed as revision 18026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 18:35:58 +00:00
Gwenole Beauchesne
1aea701830 Amend AVCodecContext with hwaccel_context (HW accelerator context).
This is needed for some HW accelerators that require a context that
FFmpeg can't instantiate itself. e.g. display-dependent data from
VA API and VDPAU.

Originally committed as revision 18025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 12:43:09 +00:00
Ronald S. Bultje
c4a3d03299 Reindent after r18023.
Originally committed as revision 18024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 12:35:55 +00:00
Ronald S. Bultje
1a30d5415f Add RTP/ASF header parsing, which is part of the SDP of these streams. See
patch discussion in "[PATCH] RTSP-MS 10/15: ASF header parsing" thread.

Originally committed as revision 18023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 12:34:57 +00:00
avcoder
6d050dd673 cosmetics: fix indentation, patch by avcoder, ffmpeg gmail com
Originally committed as revision 18022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 12:27:32 +00:00
Diego Biurrun
852ca0e57d Fix ff_bfin_yuv2rgb_get_func_ptr() vs. sws_ff_bfin_yuv2rgb_get_func_ptr() name
mismatch. The function is now called sws_yuv2rgb_get_func_ptr_bfin().

Originally committed as revision 28982 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-17 12:05:56 +00:00
Diego Biurrun
7f5ee4eaa9 whitespace cosmetics: Consistently format function calls without space
between name and parentheses; shorten some overly long lines.

Originally committed as revision 28981 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-17 11:52:39 +00:00
Justin Ruggles
137707e53a Add documentation about missing E-AC-3 features.
Originally committed as revision 18021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-17 01:43:01 +00:00
John Cox
9e85f9c526 Fix SEIs when splitting H264 input.
Patch by John Cox, jc A kynesim D co D uk

Originally committed as revision 18020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 22:38:27 +00:00
Reimar Döffinger
2ac736a6da Extend mov edit list support to work for a first padding entry with
time == -1 and duration. Complicated since time is relative to stream,
duration relative to container time base.

Originally committed as revision 18019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 20:49:52 +00:00
Måns Rullgård
c3df4a3bfe rmdec: fix crash at end of file
Originally committed as revision 18018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 20:22:39 +00:00
Cédric Schieli
9a10a0767c Add an alpha parameter to the YUV2RGBFUNC macro to ease the upcoming yuva2rgb patch
Originally committed as revision 28978 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-16 20:04:32 +00:00
Alex Converse
d0dab0ecd4 Cosmetics: Re-indent after last commit
Originally committed as revision 18017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 16:24:38 +00:00
Alex Converse
bd27eed6d0 MOV: Support stz2 "Compact Sample Size Box"
Originally committed as revision 18016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 16:14:36 +00:00
Alex Converse
4a39ccb403 AAC: IEEE-754 type punning for 16-bit floating point rounding.
Originally committed as revision 18015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 16:11:27 +00:00
Ronald S. Bultje
508fe07ab3 More reindent, forgotten in previous commit.
Originally committed as revision 18014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 13:23:29 +00:00
Ronald S. Bultje
2d6f301470 Parse index chunk so that seeking in modern .rm files becomes a lot faster.
Has been tested against streamed / non-seekable input and passes make
seektest. See "[PATCH] rmdec.c: parse INDX chunk" thread on mailinglist.

Originally committed as revision 18013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 13:03:23 +00:00
Benoit Fouet
aa0bd99295 Revert the alphabetical reordering which made me owner of Baptiste's line.
Originally committed as revision 18012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 13:03:08 +00:00
Ronald S. Bultje
c882927957 Reindent after r18010.
Originally committed as revision 18011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 13:01:02 +00:00
Ronald S. Bultje
55d330f913 Mark the first output audio frame as keyframe (separate patch from previous,
as requested by Kostya). See "[PATCH] rmdec.c: remove cache access
duplication".

Originally committed as revision 18010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 12:59:18 +00:00
Ronald S. Bultje
c5efef7be9 Remove packet returning in ff_rm_parse_packet() if we're using the packet
cache, since this can already be accessed through ff_rm_retrieve_cache().
See "[PATCH] rmdec.c: remove cache access duplication" thread.

Originally committed as revision 18009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 12:57:49 +00:00
Benoit Fouet
748a4312b4 Fix alphabetical order.
Originally committed as revision 18008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 12:56:22 +00:00
Ronald S. Bultje
7268f0bd8e Reindent after r18005.
Originally committed as revision 18007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 12:50:12 +00:00
Daniel Verkamp
8127c4208c Fix an assert().
Patch by Daniel Verkamp daniel drv nu

Originally committed as revision 18006 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 12:47:43 +00:00
Ronald S. Bultje
6a2d3fc30b Merge code for packet reading in "old" (.ra, audio-only) Realmedia files and
the newer (.rm, audio/video) files. See "[PATCH] rmdec.c: merge old/new
packet reading code" thread on mailinglist.

Originally committed as revision 18005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 12:47:34 +00:00
Cédric Schieli
2816ce4c91 Split YUV2RGB operands declaration into a separate macro
Originally committed as revision 28972 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-16 08:29:40 +00:00
Baptiste Coudurier
f05783c2db cosmetics, remove useless braces
Originally committed as revision 18004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 06:46:57 +00:00
Baptiste Coudurier
9bf1b2683c simplify printing
Originally committed as revision 18003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 06:46:28 +00:00
Baptiste Coudurier
f584386d54 reindent
Originally committed as revision 18002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 06:44:16 +00:00
Baptiste Coudurier
c6026e4360 fix trkn metadata parsing
Originally committed as revision 18001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 06:43:38 +00:00
Baptiste Coudurier
0fb44a4e47 move read_udta_string up to avoid forward declaration
Originally committed as revision 18000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 06:06:05 +00:00
Baptiste Coudurier
873358e5d4 more generic metadata handling
Originally committed as revision 17999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 06:03:29 +00:00
Baptiste Coudurier
2229a5c60e do not set isom if ctype is not set, happens in mov
Originally committed as revision 17998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 05:13:55 +00:00
David Conrad
170e6b14f7 Remove long unused ALTIVEC_USE_REFERENCE_C_CODE ifdef; all other references
to it were removed in r6606

Originally committed as revision 17997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 03:56:42 +00:00
Baptiste Coudurier
df8843c65f search for hdlr atom in meta, some files do not store version+flags
Originally committed as revision 17996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 23:54:53 +00:00
Ramiro Polla
06abe7f5b4 mingw32: call lib.exe instead of lib to facilitate running it through wine.
Originally committed as revision 17995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 23:15:57 +00:00
Matthieu Castet
337cee680b Disallow out-of-tree builds with config.h in the source tree.
A config.h present in the source tree takes precedence over a config.h
in the build tree, which can possibly result in an incorrect build.
patch by matthieu castet, castet.matthieu free fr

Originally committed as revision 17994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 21:32:36 +00:00
Ronald S. Bultje
7a160bca83 Fix index generation in the way that it was supposed to be used. See the
discussion in the ML thread "[PATCH] rmdec.c: merge old/new packet reading
code".

Over time, this code broke somewhat, e.g. seq was never actually written
into (and was thus always 1, therefore the seq condition was always true),
whereas it was supposed to be set to the sequence number of the video slice
in case the video frame is divided over multiple RM packets (slices). The
problem of this is that packets other than those containing the beginning
of a video frame would be indexed as well.
Secondly, flags&2 is supposed to be true for video keyframes and for these
audio packets containing the start of a block. For some codecs (e.g. AAC),
that is every single packet, whereas for others (e.g. cook), that is the
packet containing the first of a series of scrambled packets that are to be
descrambled together. Indexing any of the following would lead to incomplete
and thus useless frames. Problem here is that flags would be reset to 2 to
indicate that the first packet is ready to be returned, and in addition if
no data was left to be returned (which is always true for the first packet),
then we wouldn't actually write the index entry anyway.
All in all, the idea was good and it probably worked at some point, but that
is long ago. This patch should at the very least make it likely for this code
to be executed again at the right times, i.e. the way it was originally
intended to be used.

Originally committed as revision 17993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 20:14:25 +00:00
Benjamin Larsson
b217024706 Add cook channel count function, part of multichannel cook
Originally committed as revision 17992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 19:36:45 +00:00
Benjamin Larsson
0eec287596 Add max allowed subpackets in multichannel cook
Originally committed as revision 17991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 19:34:52 +00:00
Diego Biurrun
3cf6adaf64 Remove code that was disabled by the recent major version bump.
Originally committed as revision 17990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 17:20:24 +00:00
Stefano Sabatini
323a8230fb Fix typo: 'conjuction' -> 'conjunction'.
Originally committed as revision 17989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 16:36:36 +00:00
Benjamin Larsson
d4b3d0408f save avctx in cook decoder context and use it for av_log
Originally committed as revision 17988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 14:11:11 +00:00
Benjamin Larsson
7c119ced99 memset when category is >=7, part of cook multichannel
Originally committed as revision 17987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 14:04:25 +00:00
Reimar Döffinger
16473c1376 1 km^3 cola, timecode_frame_start is a 64 bit integer, this resulted in
complete nonsense if timecode_frame_start was used on big-endian systems.

Originally committed as revision 17986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 13:38:36 +00:00
Carl Eugen Hoyos
be2cf98a75 Force ebp_available for icc.
See discussion:
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/86209

Originally committed as revision 17985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 13:22:41 +00:00
Diego Biurrun
60a847b5db cosmetics: Remove file name from file header.
Originally committed as revision 17984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 12:46:07 +00:00
Baptiste Coudurier
3c6547bede add my gpg key fingerprint
Originally committed as revision 17983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 11:21:11 +00:00
Attila Kinali
08519772a1 add my gpg key fingerprint
Originally committed as revision 17982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 11:18:52 +00:00
Baptiste Coudurier
7c4502c8c4 typo in the mail, the 4am commit is always the worst
Originally committed as revision 17981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:53:12 +00:00
Baptiste Coudurier
4909e517fd cosmetics
Originally committed as revision 17980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:49:52 +00:00
Baptiste Coudurier
983bdd3788 add my copyright in mov de/muxer
Originally committed as revision 17979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:49:28 +00:00
Stefano Sabatini
7867978374 Expand "lsb" to "least significant bits".
Originally committed as revision 17978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:37:25 +00:00
Stefano Sabatini
e5681ba0f2 Rename the (yet not defined) macros:
PIX_FMT_RGB565_BE -> PIX_FMT_RGB565BE
PIX_FMT_RGB565_LE -> PIX_FMT_RGB565LE
for consistency with the other pixfmts macros.

Originally committed as revision 17977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:33:51 +00:00
Baptiste Coudurier
e49da8273b allocate palette in codec directly
Originally committed as revision 17976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 09:44:57 +00:00
Baptiste Coudurier
6c00a9dec2 cosmetics, add some whitespaces and empty lines
Originally committed as revision 17975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 09:06:36 +00:00
Kostya Shishkov
0304109df6 Correct MV prediction for B-frame blocks in RV4 decoder
Originally committed as revision 17974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 08:21:42 +00:00
Baptiste Coudurier
3d45a83a59 add loglevel option to set libav* logging level, -v does not set it anymore
Originally committed as revision 17973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 07:23:18 +00:00
Baptiste Coudurier
f0f2218dce do not modify sample_count, check against index entries
Originally committed as revision 17972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 07:21:22 +00:00
Baptiste Coudurier
ed6ae6a58b use utc time for timestamp and do not set it if not specified
Originally committed as revision 17971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 23:39:52 +00:00
Måns Rullgård
9bceffef3a Fix ff_random_get_seed() prototype
Originally committed as revision 17970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 23:00:57 +00:00
Baptiste Coudurier
36a12218db swf timestamps are 16 bits
Originally committed as revision 17969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 22:51:38 +00:00
Baptiste Coudurier
40a1d41fd2 remove unused fields in swf context
Originally committed as revision 17968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 22:49:01 +00:00
Baptiste Coudurier
2261a952f9 do not parse timestamp if bitexact is set, should fix regression tests
Originally committed as revision 17967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 22:43:28 +00:00
Reimar Döffinger
881dad9e76 Enable generic index creation and seeking for NUV demuxer.
Originally committed as revision 17966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 22:07:15 +00:00
Reimar Döffinger
74f5ae847d Add AVFMT_GENERIC_INDEX support also for formats that do not use a parser.
Originally committed as revision 17965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 21:46:00 +00:00
Reimar Döffinger
bd36f175ab Make pcm_read_seek treat negative time stamps as 0, this avoids incorrectly
seeking before data_offset and is more consistent with how the generic index
seeking code handles it.

Originally committed as revision 17964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 20:50:54 +00:00
Diego Biurrun
2f2cabef9c Add av_uninit to vbA[1-8], vbB[1-8] variables to work around
some 'may be used uninitialized' warnings.

Originally committed as revision 17963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 19:14:40 +00:00
Diego Biurrun
6d79971e69 prettyprinting cosmetics
Originally committed as revision 17962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 19:12:20 +00:00
Diego Biurrun
f5b2476fd3 Add av_uninit to vsrcBuc variable to work around some
'may be used uninitialized' warnings.

Originally committed as revision 17961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 19:11:56 +00:00
Diego Biurrun
b91813b6da Improve description of next_free_data_block_num struct member.
Originally committed as revision 17960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 17:20:28 +00:00
Michael Niedermayer
85b4230f68 Do not lose user flags when passing calls from the new to the old seeking API.
Originally committed as revision 17959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 16:30:51 +00:00
Michael Niedermayer
4ed29207c2 Switch ffplay to new seeking API.
Originally committed as revision 17958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 16:24:30 +00:00
Michael Niedermayer
b82744c9ae Switch regression test to the new seeking API.
Originally committed as revision 17957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 15:53:56 +00:00
Michael Niedermayer
32d885926d add avformat_seek_file()
Originally committed as revision 17956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 15:51:46 +00:00
Stefano Sabatini
c73d39965e Add an example showing how to create a video from many images.
Originally committed as revision 17955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 10:18:18 +00:00
Cédric Schieli
786dcfef48 Make the source buffer operands parametrized in the YSCALEYUV2RGB_YA macro
Originally committed as revision 28943 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-14 08:11:03 +00:00
Daniel Verkamp
5cf59463a2 Add 1bpp, 8bpp, 15bpp, and 16bpp support to BMP encoder.
Patch by Daniel Verkamp, daniel drv nu

Originally committed as revision 17954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 23:36:38 +00:00
Reimar Döffinger
7e04cfba27 Set pkt->pos correctly (to the start of header of the packet) in swfdec.
Originally committed as revision 17953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 22:26:45 +00:00
Baptiste Coudurier
4e35ffa978 fix swf seeking by fixing new stream detection
Originally committed as revision 17952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 19:37:05 +00:00
Diego Biurrun
38eb4b114d Remove 'lib' and 'swscale-error' from list of phony targets.
Both targets no longer exist.

Originally committed as revision 17951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 15:56:29 +00:00
Diego Biurrun
0cc647cbfb Mark all clean targets as phony.
Originally committed as revision 17950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 15:55:16 +00:00
Michael Niedermayer
7ed673af71 Print timing_info on -debug 1.
Originally committed as revision 17949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 14:10:49 +00:00
Reimar Döffinger
90a30ad59f Add "testclean" target to .PHONY
Originally committed as revision 17948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 13:51:52 +00:00
Kostya Shishkov
923ed9748c Fix direct and skip MB motion compensation in RV4:
two conditions were incomplete and zeroing motion
vectors was performed only on half of them.

Originally committed as revision 17947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 13:48:44 +00:00
Reimar Döffinger
abb785f19e Simplify RoQ demuxer pts calculation by using a appropriate time bases.
Originally committed as revision 17946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 13:37:35 +00:00
Reimar Döffinger
15969b55d1 Set video width/height and create audio stream in read_packet instead of
pre-parsing the file in read_header.
This avoids some code duplication and seeking, and also avoids an IO error
for small video-only files (as created during e.g. the FATE encoder test).

Originally committed as revision 17945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-12 11:47:50 +00:00
Baptiste Coudurier
fc34a08d77 remove sws_flags, seems to have no effect
Originally committed as revision 17944 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-12 03:17:36 +00:00
Alex Converse
f11c9ee996 patcheck: Replace non-POSIX echo -e with printf.
Originally committed as revision 17943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 19:13:15 +00:00
Cédric Schieli
fe91924dd7 Make MMX registers parametrized in the YSCALEYUV2PACKEDX_YA macro
Originally committed as revision 28934 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-11 14:44:22 +00:00
Cédric Schieli
c662e788ce In initMMX2HScaler, when chrDstW is not divisible by 4, the last filterPos element is initialized on the wrong index (not evenly aligned). This fixes it
Originally committed as revision 28933 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-11 14:22:53 +00:00
Gwenole Beauchesne
cd823ff950 Use av_mallocz() to initialize hwaccel_data_private.
Originally committed as revision 17942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:25:00 +00:00
Baptiste Coudurier
27ad7d3a96 stag option to force subtitle tag
Originally committed as revision 17941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:14:19 +00:00
Baptiste Coudurier
d168b3fd2d reindent
Originally committed as revision 17940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:05:18 +00:00
Baptiste Coudurier
7943a90a0d keep original tag when stream copying subs with ipod format
Originally committed as revision 17939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:04:44 +00:00
Baptiste Coudurier
c569bd0632 ipod supports both subs tags
Originally committed as revision 17938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:03:42 +00:00
Baptiste Coudurier
80357cfcfb reindent
Originally committed as revision 17937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:02:59 +00:00
Baptiste Coudurier
9f52055463 write correct atoms based on tag and not format, fixes subs stream copy
Originally committed as revision 17936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:01:39 +00:00
Baptiste Coudurier
d1df4da00b use correct codec tag list for ipod format
Originally committed as revision 17935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 07:59:38 +00:00
Baptiste Coudurier
b686d0ab4b mxf and mxf d10 regression tests
Originally committed as revision 17934 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 07:16:19 +00:00
Baptiste Coudurier
f344ae8096 again 10l, typo, put_byte instead of put_buffer
Originally committed as revision 17933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 06:48:02 +00:00
Baptiste Coudurier
cafdc1876a attempt to try to generate an random umid
Originally committed as revision 17932 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 06:15:00 +00:00
Baptiste Coudurier
00b7fbdcf5 10l, set ret to 0 when finished
Originally committed as revision 17931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 06:13:14 +00:00
Baptiste Coudurier
002c95d749 dump_format after av_write_header to print updated parameters
Originally committed as revision 17930 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 06:06:18 +00:00
Baptiste Coudurier
a2523ce2e2 fix subs track height, set track->height to codec height if not set
Originally committed as revision 17929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 06:04:56 +00:00
Ben Littler
3596f4e076 sn40 avi fourcc decodes with ffodivx
Originally committed as revision 17928 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 01:36:25 +00:00
Stefano Sabatini
8358c03479 Fix typos.
Originally committed as revision 17927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-10 21:41:31 +00:00
Vitor Sessak
e40ee25c49 Fix bug when elbg->utility_inc[elbg->numCB-1] == 1
Originally committed as revision 17926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-10 17:38:16 +00:00
Gwenole Beauchesne
eb2c24232f Add REGISTER_HWACCEL() for hardware accelerators.
Originally committed as revision 17925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-10 14:35:55 +00:00
Ronald S. Bultje
b5b9ff2a1f Correctly skip complete INDX chunks, i.e. read the 32-bit header correctly
and if the size is broken (20 bytes, header-only), calculate the expected
size and skip the index entries anyway. See "[PATCH] rmdec.c: correctly
skip indexes" thread.

Originally committed as revision 17924 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-10 12:55:29 +00:00
Diego Biurrun
5e622c401f Replace all `` by $(), the latter can be nested more easily.
Originally committed as revision 17923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 23:59:31 +00:00
Diego Biurrun
5fd89ca03f Fix MMX2 check, 'movss' is not an MMX2 instruction, use 'pmaxub' instead.
Originally committed as revision 17922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 23:33:27 +00:00
Måns Rullgård
f49568a467 Fix unaligned access in ff_copy_bits()
Originally committed as revision 17921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 23:27:38 +00:00
Måns Rullgård
75800dce2b Set AS to $CC by default, override with gcc only when CC is armcc
Originally committed as revision 17920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 22:39:49 +00:00
Ronald S. Bultje
b8cc5a9fdf Prevent (negative) overflow of rm->remaining_len. This evaluation really only
has two possible outcomes: either len and rm->remaining_len are the same, in
which case we care about the outcome and it is zero, or rm->remaining_len is
currently not in use and we don't care about the outcome. In that case, len
is positive and rm->remaining_len is zero, which leads to a negative result.
This is confusing and could eventually lead to a sign-flip if we skip a lot
of packets (unlikely, but still). Therefore, just always set it to zero.

Originally committed as revision 17919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 22:03:47 +00:00
Ronald S. Bultje
7ccefd08f6 Revert to r17908.
Originally committed as revision 17918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 22:02:06 +00:00
Reynaldo H. Verdejo Pinochet
d2af569710 Cosmetics from Kenan Gillet's 'extract and share weighted_vector_sumf'
patchset. Just a reindent.

Originally committed as revision 17917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 22:00:35 +00:00
Reynaldo H. Verdejo Pinochet
95e8325771 Functional part Kenan Gillet's 'extract and share weighted_vector_sumf'
patchset. Idea is to share this common code between the AMR and QCELP
decoders.

Originally committed as revision 17916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 21:55:24 +00:00
Ronald S. Bultje
88c4339bda Move MOVContext and related structures from mov.c to isom.h. See "[PATCH]
move MOVContext from mov.c to isom.h" thread on ML.

Originally committed as revision 17915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 21:53:00 +00:00
Reimar Döffinger
3898eed890 Reorder arguments for av_fifo_generic_read to be more logical and
consistent with av_fifo_generic_write.

Originally committed as revision 17914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 17:47:47 +00:00
Reimar Döffinger
60f75ad245 Fix seek regression test broken by r17905, seeking fails completely
for swf before and after, but it now incorrectly creates additional
streams.

Originally committed as revision 17913 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 17:44:57 +00:00
Kostya Shishkov
bcff32d1b4 Mask all unused bits for packed pixel format instead of green and alpha mask only.
That fixes the case when converting 15-bit RGB/BGR to YUV and high bit is set
for input value(s).

Originally committed as revision 28916 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-09 17:25:43 +00:00
Gwenole Beauchesne
2500d8bea6 Update VA API pixfmts documentation: struct vaapi_render_state
shall now be copied to Picture.data[3].

Originally committed as revision 17912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 15:52:45 +00:00
Reimar Döffinger
29a68cf04e Convert spurious DOS line breaks to UNIX line breaks in seek regression
test reference file.

Originally committed as revision 17911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 15:38:08 +00:00
Ronald S. Bultje
0ecf9cc900 Prevent (negative) overflow of rm->remaining_len. This evaluation really only
has two possible outcomes: either len and rm->remaining_len are the same, in
which case we care about the outcome and it is zero, or rm->remaining_len is
currently not in use and we don't care about the outcome. In that case, len
is positive and rm->remaining_len is zero, which leads to a negative result.
This is confusing and could eventually lead to a sign-flip if we skip a lot
of packets (unlikely, but still). Therefore, just always set it to zero.

Originally committed as revision 17910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 13:08:19 +00:00
Ronald S. Bultje
21b3752932 Replace separate packet parsing for "old_format" .ra files by a call to
ff_rm_parse_packet(). See "[PATCH] Make RM demuxer behave better with -an
option" thread, which sort-of turned into an aggregate of unrelated rmdec.c
cleanups.

Originally committed as revision 17909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 12:46:32 +00:00
Ronald S. Bultje
dc3685e129 Move frame discarding out of the ff_rm_parse_packet() loop, and respect
rm->audio_pkt_cnt in case multiple packets should be read before the next
syncpoint in the file, so that ffplay -an on a file containing AAC audio
works. See "[PATCH] Make RM demuxer behave better with -an option" thread
on mailinglist.

Originally committed as revision 17908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 12:42:53 +00:00
Reimar Döffinger
d71d64dcc1 Mark all packets from nuv demuxer as keyframes in order to make seeking work.
For proper seeking, they should be set correctly though.

Originally committed as revision 17907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 12:25:13 +00:00
Ronald S. Bultje
37b7dac184 Reorder alphabetically after r17902.
Originally committed as revision 17906 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 12:06:47 +00:00
Reimar Döffinger
3a4f91f5ed 100l, to start reading from the first frame we must seek to data_offset,
not 0 in av_seek_frame_generic.

Originally committed as revision 17905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 12:06:31 +00:00
Reimar Döffinger
fb2e95c97a Set AVPacket pos also for audio packets in nuv demuxer.
Originally committed as revision 17904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 11:35:59 +00:00
Diego Biurrun
082dea8e40 Remove all remaining code that was disabled through the major version bump.
Originally committed as revision 17903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 10:24:47 +00:00
Kostya Shishkov
0881748386 Add maintainers for RM muxer, demuxer and RDT protocol
Originally committed as revision 17902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 10:00:45 +00:00
Reimar Döffinger
32b936d0c3 Add av_fifo_reset function to completely reset fifo state, which makes
it easier to reuse the fifo.

Originally committed as revision 17901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 09:26:32 +00:00
Måns Rullgård
aa033b1ed7 Enable CONFIG_FASTDIV by default
Originally committed as revision 17900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 09:19:11 +00:00
Gwenole Beauchesne
68e5d5235e Add private HW accel data infrastructure.
Originally committed as revision 17899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 08:04:41 +00:00
Baptiste Coudurier
af79f1ae78 reindent
Originally committed as revision 17898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 04:17:12 +00:00
Michael Niedermayer
c900635fd9 indent
Originally committed as revision 17897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 03:39:58 +00:00
Baptiste Coudurier
6b4fab72df change path pattern to be similar to existing files, and remove useless buffer
Originally committed as revision 17896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 03:34:15 +00:00
Baptiste Coudurier
4070629dfa merge struct declaration and definition
Originally committed as revision 17895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 02:49:47 +00:00
Baptiste Coudurier
0c8f772791 write map packet every 100 packets according to specs
Originally committed as revision 17894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 02:47:32 +00:00
Baptiste Coudurier
aaa43de31a write flt packet, might need some tweaking but it works
Originally committed as revision 17893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 01:35:00 +00:00
Baptiste Coudurier
a96b1a903a correctly interleave audio and video according to specs
Originally committed as revision 17892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 01:10:28 +00:00
Baptiste Coudurier
9885e9a63a write timecode track in gxf
Originally committed as revision 17891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 00:15:29 +00:00
Baptiste Coudurier
46a7e3ec14 write timecode track in gxf
Originally committed as revision 17890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 00:14:55 +00:00
Baptiste Coudurier
33605366ee compute media info in write_header
Originally committed as revision 17889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 22:23:44 +00:00
Baptiste Coudurier
cd34fd9c8c factorize write packet
Originally committed as revision 17888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 22:14:26 +00:00
Baptiste Coudurier
990287c468 remove unneeded and empty user data
Originally committed as revision 17886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 22:12:56 +00:00
Måns Rullgård
82bb33290e Allow different executable suffix for host and target
Originally committed as revision 17885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 22:11:24 +00:00
Baptiste Coudurier
6b43d2d075 uniformize variable names and remove duplicating fields in private structs
Originally committed as revision 17884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 21:55:08 +00:00
Baptiste Coudurier
8b9c94e0bd remove useless fields
Originally committed as revision 17883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 21:08:06 +00:00
Justin Ruggles
ade29f9983 move NTT VQF demuxer to keep formats list alphabetized.
Originally committed as revision 17882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 18:33:24 +00:00
Vitor Sessak
9aa2ab4276 Use FLG pseudo-random number generator in RoQ and ELBG
Originally committed as revision 17881 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 17:43:12 +00:00
Kostya Shishkov
74e2a0784e Make Musepack decoders use LFG pseudorandom generator
Originally committed as revision 17880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 16:37:57 +00:00
Vitor Sessak
d2f532c8a0 Be more verbose in describing VQF demuxer
Originally committed as revision 17879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 16:08:18 +00:00
Reimar Döffinger
06d19718c4 Add a part explaining that API should be considered unstable after major
version changes and list dates of last major version increase.

Originally committed as revision 17878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 15:17:37 +00:00
Reimar Döffinger
22d4f236bd Preliminary summary of AVFifoBuffer changes
Originally committed as revision 17877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 15:09:11 +00:00
Reimar Döffinger
fe4032b66a Remove more functions disabled by major version bump.
Originally committed as revision 17876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 15:02:12 +00:00
Reimar Döffinger
3fb1084306 Remove/replace code disabled by major version bump.
Originally committed as revision 17875 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:51:25 +00:00
Michael Niedermayer
52a6632a2b Deprecate the Mersenne Twister.
Please use an ALFG, MLFG, LCG or KISS99 generator, MLFG&KISS99 provide higher quality
numbers and all should be faster.

Originally committed as revision 17874 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:46:10 +00:00
Reimar Döffinger
c957c85426 Replace all uses of the replaced av_fifo_read by av_fifo_generic_read
Originally committed as revision 17873 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:42:11 +00:00
Michael Niedermayer
792e467904 Remove the Mersenne Twister from the public API/ABI.
We provide better PRNGs.

Originally committed as revision 17872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:35:13 +00:00
Michael Niedermayer
49ceb58bf6 Bump major version of libavutil due to FIFO fixes.
The current API/ABI should not be considered stable yet, further ABI/API
breakage is possible without major bumps.

Originally committed as revision 17871 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:33:30 +00:00
Reimar Döffinger
cddcf8c60f Remove av_fifo_read, API is already broken and major version will be bumped soon.
Originally committed as revision 17870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:21:56 +00:00
Michael Niedermayer
41dd680dd8 Allocate AVFifoBuffer through the fifo API to reduce future API/ABI issues.
Yes this breaks ABI/API but ive already broken it and will bump avutil major
soon.

Originally committed as revision 17869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:16:55 +00:00
Baptiste Coudurier
48d58e592a add ff_random_get_seed to be used in conjunction with random functions
Originally committed as revision 17868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 01:28:14 +00:00
Michael Niedermayer
a936475949 Comments to indicate where memory barriers may be needed.
Originally committed as revision 17867 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 00:45:45 +00:00
Vitor Sessak
616e899c43 VQF demuxer
Originally committed as revision 17866 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-07 22:42:09 +00:00
Michael Niedermayer
0a71e78ce4 Try to fix the 1 byte cannot be used issue.
Originally committed as revision 17865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-07 21:02:08 +00:00
Diego Biurrun
5add54b4f9 cosmetics: fix indentation
Originally committed as revision 17864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-07 19:56:21 +00:00
Luca Abeni
3cac2f1301 Fix AVFMT_FLAG_NONBLOCK in alsa
Originally committed as revision 17863 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-07 18:17:13 +00:00
Ronald S. Bultje
743b389074 rtpmap is case-insensitive, see comment from Luca in "[PATCH] rtsp.c:
keep-alive" thread.

Originally committed as revision 17862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-07 15:20:55 +00:00
Cédric Schieli
6208d67664 Let the 4th plane reach the swScale function
Originally committed as revision 28868 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-07 09:39:48 +00:00
Cédric Schieli
9621f2f540 YUVA420P is a planar YUV format
Originally committed as revision 28867 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-07 09:37:25 +00:00
Alex Converse
7d87e2ceac Re-indent after last commit.
Originally committed as revision 17861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 22:37:21 +00:00
Alex Converse
51741a82c3 If we get an error from ff_aac_parse_header() we should not trust the header info that it provides.
Originally committed as revision 17860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 22:36:24 +00:00
Alex Converse
496dcbbc86 ADTS: Increased protection against writing illegal/nonsense files.
Originally committed as revision 17859 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 21:19:16 +00:00
Michael Niedermayer
8507bde0f3 Add my name to copyright & author as requested by the original author.
Originally committed as revision 17858 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 20:51:50 +00:00
Michael Niedermayer
8b2fa9659a Add code to the self test to print jitter & drift.
Originally committed as revision 17857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 20:48:31 +00:00
Alex Converse
bb5c0988ea Fix the channel allocation bug/assumption (issue 800).
Approved by Rob on IRC.

Originally committed as revision 17856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 19:47:01 +00:00
Diego Biurrun
711dae776f Get rid of redundant vdpau option, decoders can still be disabled individually.
Originally committed as revision 17855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 10:18:39 +00:00
49caac2413 Fix H.264 bitstream field log2_max_pic_order_cnt_lsb_minus4
if sps.poc_type == 0.

Patch by Stephen Warren, swarren nvidia com

Originally committed as revision 17854 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 08:03:26 +00:00
Ronald S. Bultje
57f94f54c4 Oops, very silly typo.
Originally committed as revision 17853 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 03:12:33 +00:00
Justin Ruggles
f48b9304cd flacdec: Parse the metadata header in the raw FLAC demuxer.
Originally committed as revision 17852 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 01:31:10 +00:00
Justin Ruggles
5b63d33d7d flacdec: Add a shared function for parsing a FLAC metadata block header.
Originally committed as revision 17851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 01:25:11 +00:00
Diego Biurrun
e0c98063e7 Add '#undef rand' to fix test program build.
Originally committed as revision 17850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:57:26 +00:00
Diego Biurrun
6d16718e5d cosmetics: Fix test program warnings.
Originally committed as revision 17849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:55:50 +00:00
Justin Ruggles
5a92cc663c pnm: Add missing 'else'. Fixes decoding for 16-bit pgm.
Originally committed as revision 17848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:54:49 +00:00
Michael Niedermayer
bc3057f499 Vertical align.
Originally committed as revision 17847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:48:02 +00:00
Michael Niedermayer
2e51dedd24 Better name for integrator2_state.
Originally committed as revision 17846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:47:16 +00:00
Michael Niedermayer
3228491027 Add clock_period parameter, this should make the code easier to use.
Originally committed as revision 17845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:44:12 +00:00
Michael Niedermayer
1b85ec1ea2 Selftest code.
Originally committed as revision 17844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:26:51 +00:00
Michael Niedermayer
8537591abc Fix bug with time==0 being special.
Originally committed as revision 17843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:23:52 +00:00
Michael Niedermayer
494065ca36 Adapt first factor.
Originally committed as revision 17842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:20:55 +00:00
Michael Niedermayer
55b5859867 Merge ff_timefilter_read() and ff_timefilter_update(), this simplifies API and
avoids calling them in the wrong order.

Originally committed as revision 17841 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:14:44 +00:00
Michael Niedermayer
08ffd3708b Allow timespans to vary.
No change in performance if they do not vary.

Originally committed as revision 17840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-06 00:09:14 +00:00
Michael Niedermayer
28e947e458 Reorder operations, 20% improved performance, 1 variable less.
Originally committed as revision 17839 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:57:42 +00:00
Michael Niedermayer
f982c6d87a Timefilter code by Olivier Guilyardi o list O samalyse o com
Originally committed as revision 17838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:45:18 +00:00
Diego Biurrun
1b0f4920b8 Mark variables "j" and "structure" in execute_ref_pic_marking() as av_uninit
to work around false positive 'may be used uninitialized' warnings.

Originally committed as revision 17837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:38:52 +00:00
Diego Biurrun
de2c2b5a98 Directly read the version number from a VERSION file; useful for releases.
Originally committed as revision 17836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:17:11 +00:00
Alex Converse
cfd937b081 AAC: hoist dependent gain lookup out of the loop
Originally committed as revision 17835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 23:10:22 +00:00
Diego Biurrun
6a7d2c3d3a cosmetics: Zip Blocks Motion Video --> Zip Motion Blocks Video
Originally committed as revision 17834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 22:59:23 +00:00
Diego Biurrun
108ab268f6 cosmetics: Order changelog entries chronologically.
Originally committed as revision 17833 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 22:58:19 +00:00
Diego Biurrun
27127202d6 Remove duplicated MUL16 macro definition, fixes the warning:
libavcodec/ac3enc.c:119:1: warning: "MUL16" redefined

Originally committed as revision 17832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 22:17:12 +00:00
Måns Rullgård
35690321a7 ARM: disable inline asm for armcc
Originally committed as revision 17831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 21:20:13 +00:00
Måns Rullgård
1e65f62e2b ARM: armcc versions of bswap_16/32
Originally committed as revision 17830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 21:20:10 +00:00
Måns Rullgård
03e3776293 ARM: detect armcc compiler and enable gcc mode
Originally committed as revision 17829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 21:20:08 +00:00
Måns Rullgård
f65883c812 configure: check asm support using $as
Originally committed as revision 17828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 21:20:04 +00:00
Måns Rullgård
313c46a610 Compile .S files with $(AS), set it in configure
Assembler files using the GNU syntax need to be processed by gcc,
whichever compiler is used for C files.

Originally committed as revision 17827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 21:20:01 +00:00
Cédric Schieli
a3398feb26 Fix bug introduced by me in r28756
Originally committed as revision 28825 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-05 21:02:33 +00:00
Diego Biurrun
e658657528 Mark pos_min and pos_max variables as av_uninit to work around false
positive uninitialized variable warnings.

Originally committed as revision 17826 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 19:15:14 +00:00
Diego Biurrun
1aeb55a1de Mark dvdaudio_substream_type variable as av_uninit to work around false
positive uninitialized variable warning.

Originally committed as revision 17825 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 19:13:12 +00:00
Ivan Schreter
61c23c155c Pass packet position to the parser, so frame's AVPacket.pos is computed correctly.
Originally committed as revision 17824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 07:36:16 +00:00
Ivan Schreter
b283ba26ce Add handling of frame position in the parser.
Originally committed as revision 17823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 07:35:06 +00:00
Justin Ruggles
8d1e885fc2 flacdec: cosmetics: Add a comment with the data of the smallest FLAC
frame for future reference.

Originally committed as revision 17822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 04:40:42 +00:00
Justin Ruggles
629fb5c46a flacdec: There is an even smaller FLAC frame size possibility.
Originally committed as revision 17821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 02:36:17 +00:00
Justin Ruggles
5756bc7b02 flacdec: 10l to me. I miscalculated the smallest FLAC frame. It is 16
bytes, not 24.

Originally committed as revision 17820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 02:21:35 +00:00
Justin Ruggles
bf1d7e285c flacdec: cosmetics: move 2 statements to immediately after frame
decoding.

Originally committed as revision 17819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 01:23:53 +00:00
Justin Ruggles
fd6fd470ce flacdec: Simplify frame sync by not using the bitstream reader.
Originally committed as revision 17818 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 01:15:38 +00:00
Justin Ruggles
a8ec12bc2e flacdec: Split the metadata_parse() function into 2 separate functions,
parse_streaminfo() and get_metadata_size().

Originally committed as revision 17817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 00:56:09 +00:00
Justin Ruggles
5ef4fa87b3 flacdec: Add a check for small buffer size. This ensures reading as
much of the frame header as possible without excluding the smallest
possible FLAC frame.  It also fixes a false positive warning message
that was being emitted at the end of decoding.

Originally committed as revision 17816 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:55:10 +00:00
Justin Ruggles
c51997297a flacdec: cosmetics: Use a more descriptive variable name for the number
of bytes read, instead of reusing 'i'.

Originally committed as revision 17815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:24:44 +00:00
Justin Ruggles
549bccdbe4 flacdec: Handle 32 bps data when checking allocated size.
Originally committed as revision 17814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:16:30 +00:00
Justin Ruggles
a3d2379bdd flacdec: Check curr_bps after wasted bits are subtracted.
Originally committed as revision 17813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 23:10:40 +00:00
Stefano Sabatini
d3f766124a Fix typo: "i" -> "in".
Originally committed as revision 17812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 21:50:10 +00:00
Ivan Schreter
70e01da3bf Add support for ct_type to correctly detect interlaced flag
Originally committed as revision 17811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 19:37:19 +00:00
Cédric Schieli
a284d03093 Rewrite of rgb15to32 and rgb16to32 using fewer asm instructions and setting alpha channel to 0xFF
Originally committed as revision 28808 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-04 19:12:49 +00:00
Michael Niedermayer
3444c91441 Add "deprecated old scaler removed"
Originally committed as revision 17810 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 18:43:20 +00:00
Reimar Döffinger
15ef402663 Remove the swscale dummy option, most (all?) FATE configs should be updated
to work without it.

Originally committed as revision 17809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 18:41:47 +00:00
Reimar Döffinger
6d08f6c911 100l, interplayvideo uses 8x8 blocks, so call the 8x8 put_pixels_tab function
instead of the 16x16 one. Seems to fix decoding on PPC.

Originally committed as revision 17808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 18:18:49 +00:00
Reimar Döffinger
5133816627 Set AVFrame.reference correctly for nuv decoder.
Originally committed as revision 17807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 17:12:58 +00:00
Vitor Sessak
a66430c0d0 Add more correct bound checking in filter_mb().
Should fix decoding of CVMAPAQP3_Sony_E.jsv in MinGW

Originally committed as revision 17806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 16:56:55 +00:00
Gwenole Beauchesne
34e46c44da Add frame buffer allocators. aka simplify calls to
AVCodecContext.{get,release}_buffer().

Originally committed as revision 17804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 08:47:29 +00:00
Alex Converse
63581eb183 MOV: fix demuxing fragmented files
Originally committed as revision 17803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 07:57:09 +00:00
Mike Melanson
e584914acd Fix a condition that causes an infinite loop, but only when compiled with
gcc 4.2.4 on x86_32. Thanks to Vitor for hunting this down.

Originally committed as revision 17802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 05:40:53 +00:00
Mike Melanson
45e5f85777 excellent first pass at a description; now it's time for the Ministry of
English Composition to tear it apart and rebuild it, stronger than before

Originally committed as revision 17801 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 05:24:59 +00:00
Reynaldo H. Verdejo Pinochet
87574416f7 Part 2 of 2 of Kenan Gillet's 'make ff_qcelp_lspf2lpc
more general' changeset. This one relocates the QCELP
especific code to the qcelpdec.* files.

Originally committed as revision 17800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 01:33:56 +00:00
Reynaldo H. Verdejo Pinochet
77bd18e117 Part 1 of 2 of Kenan Gillet's 'make ff_qcelp_lspf2lpc
more general' changeset. This one splits ff_qcelp_lspf2lpc
into the QCELP-especific ff_qcelp_lspf2lpc + the more general
ff_qcelp_lspf2lpc.

Originally committed as revision 17799 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 01:28:07 +00:00
Justin Ruggles
e1374c06d6 flacdec: When there is not enough data to read the next header block,
reset the bitstream reader instead of skipping backwards.

Originally committed as revision 17798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 01:08:26 +00:00
Ronald S. Bultje
29b9f58b37 Split rtsp_send_cmd() into two functions, one for the actual sending of the
command and a second, new function to read the reply to this command. This
will make it possible to read server notices that are not in response to a
command in future versions, such as EOS or interrupt notices. See "[PATCH]
rtsp.c: split rtsp_send_cmd() in a send- and a receive-function" thread.

Originally committed as revision 17797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:57:37 +00:00
Justin Ruggles
6a85fb34c9 cosmetics: indentation after last commit
Originally committed as revision 17796 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:53:04 +00:00
Justin Ruggles
55a727383b flacdec: Check for an inline header before calling metadata_parse().
Originally committed as revision 17795 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:52:18 +00:00
Justin Ruggles
239b961fbf flacdec: Allocate buffers right after STREAMINFO is parsed.
Originally committed as revision 17794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:21:46 +00:00
Måns Rullgård
03754fcd6f Alpha: use -g3 with ccc to allow optimisation with debugging symbols
Originally committed as revision 17793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:53:29 +00:00
Stefano Sabatini
9d9de444e3 Fix syntax for the libfaad_decoder definition.
Fix compilation (when libfaad is enabled).

Originally committed as revision 17792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:52:31 +00:00
Justin Ruggles
184bc53db4 cosmetics: indentation after last commit
Originally committed as revision 17791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:50:21 +00:00
Justin Ruggles
7d0303587d flacdec: Avoid parsing the STREAMINFO multiple times.
Originally committed as revision 17790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:49:36 +00:00
Stefano Sabatini
636f1c4cd0 Rename avctx_opts to avcodec_opts.
The new name is more meaningful and consistent with avformat_opts
and sws_opts.

Originally committed as revision 17789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:32:10 +00:00
Måns Rullgård
511b3667d6 Allow --enable-swscale until FATE is updated
Originally committed as revision 17788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 23:07:12 +00:00
Michael Niedermayer
6d4f53cbac Remove old scaler.
Originally committed as revision 17786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 22:51:30 +00:00
Michael Niedermayer
1ad1eaadd6 Enable AVFMT_FLAG_NONBLOCK.
Originally committed as revision 17785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 20:25:21 +00:00
Michael Niedermayer
d61f30a7a0 Do usleep(10000) when all demuxers returned EAGAIN.
Originally committed as revision 17784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 20:24:58 +00:00
Michael Niedermayer
ded0149948 Replace two 'return AVERROR(EAGAIN);' by continue. The latter are nicer
and the EAGAIN were just added as example not because they made sense.

Originally committed as revision 17783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 20:24:17 +00:00
Michael Niedermayer
545465ecaa If a demuxer returns EAGAIN, try another demuxer.
Originally committed as revision 17782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 19:50:04 +00:00
Jindřich Makovička
57f9a56051 remove the rest of x86 asm from LGPL build
Originally committed as revision 28804 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-03 19:47:23 +00:00
Alex Converse
fefe43ff2c MOV: fix crash when 'meta' occurs before first 'trak'
Originally committed as revision 17781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 18:19:44 +00:00
Ronald S. Bultje
bc8763cda9 Rename "fd1" variable ro "fd". There were previously two variables (fd1 and
fd2) and one was just removed, so naming the other "fd1" is counter-intuitive.
See "[RFC] rtsp.c EOF support" thread.

Originally committed as revision 17780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 17:06:18 +00:00
Ronald S. Bultje
f0a8039464 Add url_get_file_handle(), which is used to get the file descriptor
associated with the I/O handle (e.g. the fd returned by open()). See
"[RFC] rtsp.c EOF support" thread.

There were previously some URI-specific implementations of the same idea,
e.g. rtp_get_file_handles() and udp_get_file_handle(). All of these are
deprecated by this patch and will be removed at the next major API bump.

Originally committed as revision 17779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 17:04:51 +00:00
Ronald S. Bultje
2fea965070 Reindent after r17777.
Originally committed as revision 17778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:53:04 +00:00
Ronald S. Bultje
f830c9a487 Make RTSP-MS-over-UDP negotiation work. See "[PATCH] RTSP-MS 8/15: fix
RTSP-MS UDP" thread on mailinglist.

Basically, UDP setup needs to be done in a particular order (first rtx
on two UDP ports (one for RTP, one for RTCP), then the other streams over
one, single port for all of them together). Not doing this correctly results
in a "461" error (invalid transport) during setup.

Originally committed as revision 17777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:52:35 +00:00
Ronald S. Bultje
090438cc81 Recognize the "application" data type, which is required for WMS/UDP
sessions.

This type is used in RTP/ASF (served by WMS servers), and is required to
make UDP sessions work, but breaks TCP sessions. Therefore, we disable setup
for application streams in TCP/WMS streams.

See discussion in "[PATCH] RTSP-MS 8/15: fix RTSP-MS UDP" thread.

Originally committed as revision 17776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:48:56 +00:00
Benoit Fouet
9aaa2077e5 Add a context to av_log() calls.
Originally committed as revision 17775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:19:37 +00:00
Michael Niedermayer
c36264a353 A quick description of Rate distortion theory.
Originally committed as revision 17774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:09:19 +00:00
Diego Biurrun
59701aeb46 Do not use a macro to generate a single AVCodec declaration.
Originally committed as revision 17773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 15:48:52 +00:00
Michael Niedermayer
dc7d978a05 Quick description of the Viterbi algorithm so I do not have to repeat it
over and over again on the ML.

Originally committed as revision 17772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 15:35:20 +00:00
Panagiotis Issaris
a0f8005079 When a H.264 stream references a PPS or SPS id which doesn't exist, instead of
just saying that a non-existing id is referenced, show the value of the id.

Originally committed as revision 17771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 14:32:24 +00:00
Diego Biurrun
b11163c8e4 Add vhook removal to the changelog.
Originally committed as revision 17770 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 14:12:41 +00:00
Diego Biurrun
fdf119062e Remove deprecated vhook subsystem.
Originally committed as revision 17769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 14:09:10 +00:00
Ronald S. Bultje
f989d39752 Remove size_t cast in setting s->priv_data directly to the (integer) file
descriptor returned by open(). This removes some dubious doublecasts such
as priv_data = (void *) (size_t) some_integer, and is always safe on systems
we care about because sizeof(int)<=sizeof(void*). See comments from Mans and
Michael in "[RFC] rtsp.c EOF support" thread.

Originally committed as revision 17768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:57:09 +00:00
Ronald S. Bultje
eafb17d140 Don't let finalize_packet() touch pkt->stream_index. Instead, let individual
payload handlers take care of that themselves at their own option. What this
patch really does is "fix" a bug in MS-RTSP protocol where incoming packets
are always coming in over the connection (UDP) or interleave-id (TCP) of
the stream-id of the first ASF packet in the RTP packet. However, RTP packets
may contain multiple ASF packets (and usually do, from what I can see), and
therefore this leads to playback bugs. The intended stream-id per ASF packet
is given in the respective ASF packet header. The ASF demuxer will correctly
read this and set pkt->stream_index, but since the "stream" parameter can
not be known to rtpdec.c or any of the RTP/RTSP code, the "st" parameter
in all these functions is basically invalid. Therefore, using st->id as
pkt->stream_index leads to various playback bugs. The result of this patch
is that pkt->stream_index is left untouched for RTP/ASF (and possibly for
other payloads that have similar behaviour).

The patch was discussed in the "[PATCH] rtpdec.c: don't overwrite
pkt->stream_index in finalize_packet()" thread on the mailinglist.

Originally committed as revision 17767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:51:34 +00:00
Gwenole Beauchesne
0d8ee24c7b Set PixFmtInfo::{x, y}_chroma_shift for VDPAU and VAAPI formats.
Originally committed as revision 17766 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:43:24 +00:00
Ronald S. Bultje
95f03cf31f Reindent after r17764.
Originally committed as revision 17765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:42:16 +00:00
Ronald S. Bultje
f3e71942e7 In the current implementation of rtp_parse_packet(), finalize_packet() is
called for all packets with an internal handler function but only for
non-first packets from dynamic payload parse_packet() handlers. This patch
fixes that. Bug was noticed by Luca in "[PATCH] rtpdec.c: don't overwrite
pkt->stream_index in finalize_packet()" thread.

Originally committed as revision 17764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:41:50 +00:00
Diego Biurrun
2db272e93e Start Changelog for next version.
Originally committed as revision 17763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:38:40 +00:00
Diego Biurrun
0ca3e336a1 cosmetics: Add some empty lines for readability.
Originally committed as revision 17762 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:30:57 +00:00
Ronald S. Bultje
d176f90387 Reduce allocated length of the HTTP authentication request field buffer, as
noticed by Stefano and Luca in the "[PATCH]RTSP Basic Authentication"
mailinglist thread.

av_base64_encode() was recently changed. The previous implementation required
12 extra bytes (ceil(len(src)/3.)*4+12), whereas the new one is guaranteed to
fit in an exact buffer (ceil(len(src)/3.)*4), plus one extra byte for the
trailing zero. This change fixes no bug, it just slightly decreases the
amount of allocated memory.

Originally committed as revision 17761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:26:17 +00:00
Panagiotis Issaris
429d6b2180 Cosmetics: Typo
Originally committed as revision 17760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:25:53 +00:00
Benoit Fouet
4f46099b90 Use sign_extend().
On behalf of Jai.

Originally committed as revision 17759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:11:10 +00:00
Panagiotis Issaris
c7509fff57 Add my GPG fingerprint
Originally committed as revision 17758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:01:38 +00:00
Panagiotis Issaris
9549cdcbaa Cosmetics: Typo
Originally committed as revision 17757 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 12:58:49 +00:00
Diego Biurrun
c04920978e cosmetics: Fix indentation.
Originally committed as revision 17756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 12:57:07 +00:00
Diego Biurrun
9d821fc2d2 Do not add -D_FILE_OFFSET_BITS=64 and -D_LARGEFILE_SOURCE unconditionally to
CFLAGS.  Apparently there are some systems that do not like these definitions.

Originally committed as revision 17755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 12:52:12 +00:00
Diego Biurrun
892438a3d1 Remove mpeg4aac dependency declaration, the decoder was removed.
Originally committed as revision 17753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 12:45:48 +00:00
Måns Rullgård
54460a8347 configure: improve temp file creation and cleanup
Originally committed as revision 17752 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 08:53:55 +00:00
Justin Ruggles
2e78513cee flacdec: Warn about invalid max blocksize and limit the minimum value.
Originally committed as revision 17751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:53:38 +00:00
Alex Converse
09a64ee614 H.264: Simplify decode_residual()
Originally committed as revision 17750 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:26:39 +00:00
Justin Ruggles
0c89ca72a5 cosmetics: remove a pointless comment
Originally committed as revision 17749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:25:58 +00:00
Justin Ruggles
95db6659d8 flacdec: Remove unused variable, min_blocksize.
Originally committed as revision 17748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:25:23 +00:00
Justin Ruggles
dde318d5d9 flacdec: Return error when blocksize code of 0 is found. It is a
reserved value per the FLAC format documentation.

Originally committed as revision 17747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:22:44 +00:00
Kostya Shishkov
c978997a88 Enable PB-frames decoding for H.263
Originally committed as revision 17746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:18:39 +00:00
Kostya Shishkov
685502cf3d Add PB-frame decoding support for H.263/i263 (and enable it for i263)
Originally committed as revision 17745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 05:17:22 +00:00
Justin Ruggles
6053da0182 alacdec: Simplify reading of uncompressed samples by using
get_sbits_long().

Originally committed as revision 17744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 04:57:02 +00:00
Justin Ruggles
5b37e2fc9a flacdec: Avoid trying to read 33 bits. This occurs when the source
is 32 bits-per-sample and channel decorrelation is used.  Such files
are valid, but not supported currently.

Originally committed as revision 17743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 04:45:45 +00:00
Justin Ruggles
505cc62f75 flacdec: ALT_BITSTREAM_READER is no longer required.
Originally committed as revision 17742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 02:53:11 +00:00
Justin Ruggles
9de6e090a7 flacdec: use get_sbits_long() where needed.
Originally committed as revision 17741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 02:19:01 +00:00
Justin Ruggles
017c0811a1 Add a get_sbits_long() function.
Originally committed as revision 17740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 02:00:47 +00:00
Måns Rullgård
8858990f07 ALAC: use sign_extend() from mathops.h
Originally committed as revision 17739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 01:53:54 +00:00
Måns Rullgård
101dfa7d0a Add sign_extend() function to mathops.h
Originally committed as revision 17738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 00:03:55 +00:00
Reimar Döffinger
edd532db64 Simplify show_bits_long and copy the GetBitsContext around only once instead of twice.
Originally committed as revision 17736 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 19:42:31 +00:00
Justin Ruggles
ee4d0322e8 flacdec: Use get/skip_bits_long() for more than 17-bits and
get/skip_bits() for 17-bits or less.

Originally committed as revision 17735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 17:32:53 +00:00
Kostya Shishkov
b89e77cff7 Factor out block decoding in ff_h263_decode_mb()
Originally committed as revision 17734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 17:18:49 +00:00
Michael Niedermayer
7115cbda30 Consider all packets in the parser, not just ones with timestamps,
this should greatly simplify handling of packet pos.

Originally committed as revision 17733 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 15:13:58 +00:00
Michael Niedermayer
2cc304215d Favor container packets that end after the first byte of the access
unit in fetch_timestamp(). This should make no difference for valid
streams but may help invalid ones, also its needed for future changes.

Originally committed as revision 17732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 15:12:26 +00:00
Michael Niedermayer
a4c7a5ea27 Call ff_fetch_timestamp() for mpeg1/2 when a picture start code is found instead
of calling it at the end of a frame with a large negative offset.
This significantly reduces the maximal distance in container packets between
the point where the first byte of the "access unit" was stored and where
we call ff_fetch_timestamp() thus reducing the constraints on our parser.
Also change the parser from next_frame_offset to cur, this is needed
because now the reference is from container packet start instead of
frame start. (i previously misinterpreted this as bug)

Originally committed as revision 17731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 14:53:18 +00:00
Diego Biurrun
873b092353 version.h should depend on config.mak.
The extra version string that is passed to configure is recorded in config.mak
and changes to config.mak can therefore make version.h rebuilds necessary.

Originally committed as revision 17730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 09:33:57 +00:00
Benoit Fouet
2fddbb68b6 Add context to some av_log() calls.
Originally committed as revision 17729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 09:28:37 +00:00
Benoit Fouet
d69da18cb0 Merge three conditions in a single 'if' instead of two.
Originally committed as revision 17728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 09:22:17 +00:00
1787 changed files with 184839 additions and 72133 deletions

45
.gitignore vendored Normal file
View File

@@ -0,0 +1,45 @@
.config
.version
*.o
*.d
*.exe
*.ho
*-example
*-test
*_g
config.*
doc/*.1
doc/*.html
doc/*.pod
doxy
ffmpeg
ffplay
ffprobe
ffserver
libavcodec/libavcodec*
libavcore/libavcore*
libavdevice/libavdevice*
libavfilter/libavfilter*
libavformat/libavformat*
libavutil/avconfig.h
libavutil/libavutil*
libpostproc/libpostproc*
libswscale/libswscale*
tests/audiogen
tests/base64
tests/data
tests/rotozoom
tests/seek_test
tests/tiny_psnr
tests/videogen
tests/vsynth1
tests/vsynth2
tools/cws2fws
tools/graph2dot
tools/lavfi-showfiltfmts
tools/pktdumper
tools/probetest
tools/qt-faststart
tools/trasher
tools/trasher*.d
version.h

View File

@@ -7,8 +7,10 @@ Fabrice Bellard
Patrice Bensoussan
Alex Beregszaszi
BERO
Thilo Borgmann
Mario Brito
Ronald Bultje
Alex Converse
Maarten Daniels
Reimar Doeffinger
Tim Ferguson
@@ -37,6 +39,7 @@ Michael Niedermayer
François Revol
Peter Ross
Måns Rullgård
Stefano Sabatini
Roman Shaposhnik
Oded Shimon
Dieter Shirley

283
Changelog
View File

@@ -1,47 +1,236 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version 0.6.6:
- id3v2: fix skipping extended header in id3v2.4
- nsvdec: Fix use of uninitialized streams
- nsvdec: Be more careful with av_malloc()
- nsvdec: Propagate errors
- dv: check stype
- dv: Fix null pointer dereference due to ach=0
- dv: Fix small stack overread related to CVE-2011-3929 and CVE-2011-3936.
- atrac3: Fix crash in tonal component decoding
- mjpegbdec: Fix overflow in SOS
- kgv1dec: Increase offsets array size so it is large enough
- motionpixels: decode only the 111 complete frames for fate
- motionpixels: Clip YUV values after applying a gradient
- celp filters: Do not read earlier than the start of the 'out' vector
- vqavideo: return error if image size is not a multiple of block size (CVE-2012-0947)
- dpcm: ignore extra unpaired bytes in stereo streams (CVE-2011-3951)
- aacsbr: prevent out of bounds memcpy() (CVE-2012-0850)
- h264: Add check for invalid chroma_format_idc (CVE-2012-0851)
- adpcm: ADPCM Electronic Arts has always two channels (CVE-2012-0852)
- shorten: remove VLA and check for buffer overflow
- shorten: Prevent block size from increasing
- shorten: Fix out of bound writes in fix_bitshift()
- shorten: check for realloc failure (CVE-2012-0858)
- shorten: Use separate pointers for the allocated memory for decoded samples (CVE-2012-0858)
- kmvc: Check palsize (CVE-2011-3952)
- qdm2: clip array indices returned by qdm2_get_vlc()
- configure: properly check for mingw-w64 through installed headers
- mingw32: properly check if vfw capture is supported by the system headers
- mingw32: merge checks for mingw-w64 and mingw32-runtime >= 3.15 into one
- dxva2: define required feature selection macros
- png: check bit depth for PAL8/Y400A pixel formats
- ea: check chunk_size for validity
- tqi: Pass errors from the MB decoder
version 0.5.3:
- build system improvements
version 0.6.5:
- vorbis: An additional defense in the Vorbis codec. (CVE-2011-3895)
- vorbisdec: Fix decoding bug with channel handling.
- matroskadec: Fix a bug where a pointer was cached to an array that might
later move due to a realloc(). (CVE-2011-3893)
- vorbis: Avoid some out-of-bounds reads. (CVE-2011-3893)
- vp3: fix oob read for negative tokens and memleaks on error, (CVE-2011-3892)
- vp3: fix streams with non-zero last coefficient.
version 0.6.4:
- 4xm: Add a check in decode_i_frame to prevent buffer overreads
- wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
- swscale: #include "libavutil/mathematics.h"
- vp3dec: Check coefficient index in vp3_dequant() (CVE-2011-4352)
- svq1dec: call avcodec_set_dimensions() after dimensions changed. (CVE-2011-4579)
- commits related to CVE-2011-4353:
- vp6: Fix illegal read.
- vp6: Reset the internal state when aborting key frames header parsing
- vp6: Check for huffman tree build errors
- vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
- commits related to CVE-2011-4351:
- qdm2: check output buffer size before decoding
- Fix qdm2 decoder packet handling to match the api
- Fix out of bound reads in the QDM2 decoder.
- Check for out of bound writes in the QDM2 decoder.
- vmd: fix segfaults on corruped streams (CVE-2011-4364)
- rv34: Check for invalid slice offsets
- rv34: Fix potential overreads
- rv34: Avoid NULL dereference on corrupted bitstream
- rv10: Reject slices that does not have the same type as the first one
- oggdec: fix out of bound write in the ogg demuxer
- smacker: fix a few off by 1 errors
- Check for invalid VLC value in smacker decoder.
- Check and propagate errors when VLC trees cannot be built in smacker decoder.
- Fixed off by one packet size allocation in the smacker demuxer.
- Check for invalid packet size in the smacker demuxer.
- ape demuxer: fix segfault on memory allocation failure.
- Fixed size given to init_get_bits() in xan decoder.
- smacker demuxer: handle possible av_realloc() failure.
- Fixed segfault with wavpack decoder on corrupted decorrelation terms sub-blocks.
- indeo2: fail if input buffer too small
- indeo2: init_get_bits size in bits instead of bytes
- wavpack: Check error codes rather than working around error conditions.
- Fixed invalid writes and reads in wavpack decoder on corrupted bitstreams.
- cpu detection: avoid a signed overflow
- h264: correct implicit weight table computation for long ref pics
- h264: correct the check for invalid long term frame index in MMCO decode
- rv10/20: tell decoder to use edge emulation
- flvenc: use int64_t to store offsets
- VC-1: fix reading of custom PAR.
- h264: notice memory allocation failure
- libx264: do not set pic quality if no frame is output
- mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
- rv30: return AVERROR(EINVAL) instead of EINVAL
- Do not decode RV30 files if the extradata is too small
- aacps: skip some memcpy() if src and dst would be equal
- mpegts: fix Continuity Counter error detection
- alsa: fallback to buffer_size/4 for period_size.
- mxfenc: fix ignored drop flag in binary timecode representation.
- dca: set AVCodecContext frame_size for DTS audio
- H.264: fix overreads of qscale_table
- postprocess.c: filter name needs to be double 0 terminated
- Replace strncpy() with av_strlcpy() in libpostproc.
- jpegdec: actually search for and parse RSTn
- riff: Add mpgv MPEG-2 fourcc
- Added M701 codec_tag for mpeg2video
version 0.6.3:
- fix compilation with --enable-hardcoded-tables
- mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
- aac: add headers needed for log2f()
- lavf: inspect more frames for fps when container time base is coarse
- AMV: disable DR1 and don't override EMU_EDGE
(addresses http://seclists.org/bugtraq/2011/Apr/257)
- Fix memory (re)allocation in matroskadec.c (MSVR11-011/CVE-2011-3504)
- Fix some crashes with invalid bitstreams in the CAVS decoder
(CVE-2011-3362, CVE-2011-3973, CVE-2011-3974)
- Compilation fixes for gcc-4.6, testsuite now passes again
- Fix a heap corruption issue in the OGG decoder
- Backported the Android VisualOn AAC encoder wrapper from 0.7.2
version 0.6.3:
- AMV: Fix possibly exploitable crash.
- Fix apparently exploitable race condition.
(addresses http://seclists.org/bugtraq/2011/Apr/257)
version 0.6.2:
- fix compilation with --enable-hardcoded-tables
- Fix invalid reads in VC-1 decoding (related to CVE-2011-0723)
- Do not attempt to decode APE file with no frames
(adresses http://packetstorm.linuxsecurity.com/1103-exploits/vlc105-dos.txt)
version 0.6.1:
- fix autodetection of E-AC-3 substream samples
- performance fix for seekable HTTP
- backport AAC-HE v2 from trunk
- add missing VP80 fourcc code for the VP8 codec
- small documentation fixes
- fix several potentially exploitable issues in the FLIC decoder
(addresses CVE-2010-3429)
version 0.6:
version 0.5.2:
- Hurd support
- PowerPC without Altivec compilation issues
- validate channels and samplerate in the Vorbis decoder
version 0.5.1:
- build system updates
- documentation updates
- libswscale now is LGPL except for x86 optimizations
- fix for GPL code in libswscale that was erroneously activated
- AltiVec code in libswscale is now LGPL
- PB-frame decoding for H.263
- deprecated vhook subsystem removed
- deprecated old scaler removed
- VQF demuxer
- alpha channel scaler
- PCX encoder
- RTP packetization of H.263
- RTP packetization of AMR
- RTP depacketization of Vorbis
- CorePNG decoding support
- Cook multichannel decoding support
- introduced avlanguage helpers in libavformat
- 8088flex TMV demuxer and decoder
- per-stream language-tags extraction in asfdec
- V210 decoder and encoder
- remaining GPL parts in AC-3 decoder converted to LGPL
- (L)GPL license upgrade support
- QCP demuxer
- SoX native format muxer and demuxer
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
- DPX image decoder
- Electronic Arts Madcow decoder
- DivX (XSUB) subtitle encoder
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
- experimental AAC encoder
- RTP depacketization of ASF and RTSP from WMS servers
- RTMP support in libavformat
- noX handling for OPT_BOOL X options
- Wave64 demuxer
- IEC-61937 compatible Muxer
- TwinVQ decoder
- Bluray (PGS) subtitle decoder
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
- WMA Pro decoder
- Core Audio Format demuxer
- Atrac1 decoder
- MD STUDIO audio demuxer
- RF64 support in WAV demuxer
- MPEG-4 Audio Lossless Coding (ALS) decoder
- -formats option split into -formats, -codecs, -bsfs, and -protocols
- IV8 demuxer
- CDG demuxer and decoder
- R210 decoder
- Auravision Aura 1 and 2 decoders
- Deluxe Paint Animation playback system
- SIPR decoder
- Adobe Filmstrip muxer and demuxer
- RTP depacketization of H.263
- Bink demuxer and audio/video decoders
- enable symbol versioning by default for linkers that support it
- backport av_lockmgr_register(), see doc/APIchanges for details
- security fixes for:
- ASF, Ogg and MOV demuxers
- FFv1, H.264, HuffYUV, MLP, MPEG audio and Snow decoders
- IFF PBM/ILBM bitmap decoder
- concat protocol
- Indeo 5 decoder
- RTP depacketization of AMR
- WMA Voice decoder
- ffprobe tool
- AMR-NB decoder
- RTSP muxer
- HE-AAC v1 decoder
- Kega Game Video (KGV1) decoder
- VorbisComment writing for FLAC, Ogg FLAC and Ogg Speex files
- RTP depacketization of Theora
- HTTP Digest authentication
- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
- Psygnosis YOP demuxer and video decoder
- spectral extension support in the E-AC-3 decoder
- unsharp video filter
- RTP hinting in the mov/3gp/mp4 muxer
- Dirac in Ogg demuxing
- seek to keyframes in Ogg
- 4:2:2 and 4:4:4 Theora decoding
- 35% faster VP3/Theora decoding
- faster AAC decoding
- faster H.264 decoding
- WebM support in Matroska de/muxer
- low overhead Ogg muxing
- VP8 de/encoding via libvpx
- CODEC_CAP_EXPERIMENTAL added
version 0.5:
- The "device" muxers and demuxers are now in a new libavdevice library
- DV50 AKA DVCPRO50 encoder, decoder, muxer and demuxer
- DV100 AKA DVCPRO HD decoder and demuxer
- TechSmith Camtasia (TSCC) video decoder
- IBM Ultimotion (ULTI) video decoder
- Sierra Online audio file demuxer and decoder
@@ -61,7 +250,7 @@ version 0.5:
- Fraps FPS1 video decoder
- Snow video encoder/decoder
- Sonic audio encoder/decoder
- Vorbis audio encoder/decoder
- Vorbis audio decoder
- Macromedia ADPCM decoder
- Duck TrueMotion 2 video decoder
- support for decoding FLX and DTA extensions in FLIC files
@@ -72,18 +261,19 @@ version 0.5:
- TrueSpeech audio decoder
- WMA2 audio decoder fixed, now all files should play correctly
- RealAudio 14.4 and 28.8 decoders fixed
- JPEG-LS encoder and decoder
- CamStudio video decoder
- JPEG-LS decoder
- build system improvements
- tabs and trailing whitespace removed from the codebase
- CamStudio video decoder
- AIFF/AIFF-C audio format, encoding and decoding
- ADTS AAC file reading and writing
- Creative VOC file reading and writing
- American Laser Games multimedia (*.mm) playback system
- Zip Blocks Motion Video decoder and encoder
- Zip Motion Blocks Video decoder
- improved Theora/VP3 decoder
- True Audio (TTA) decoder
- AVS demuxer and video decoder
- JPEG-LS encoder
- Smacker demuxer and decoder
- NuppelVideo/MythTV demuxer and RTjpeg decoder
- KMVC decoder
@@ -102,12 +292,14 @@ version 0.5:
- VP6 video decoder
- WavPack lossless audio decoder
- Targa (.TGA) picture decoder
- Vorbis audio encoder
- Delphine Software .cin demuxer/audio and video decoder
- Tiertex .seq demuxer/video decoder
- MTV demuxer
- TIFF picture encoder and decoder
- GIF picture decoder
- Intel Music Coder decoder
- Zip Motion Blocks Video encoder
- Musepack decoder
- Flash Screen Video encoder
- Theora encoding via libtheora
@@ -134,10 +326,10 @@ version 0.5:
- OS/2 support removed and restored again
- AC-3 decoder
- NUT muxer
- additional SPARC (VIS) optimizations
- Matroska muxer
- slice-based parallel H.264 decoding
- Monkey's Audio demuxer and decoder
- additional SPARC (VIS) optimizations
- AMV audio and video decoder
- DNxHD encoder
- H.264 PAFF decoding
@@ -146,6 +338,7 @@ version 0.5:
- libvorbis Vorbis decoding removed in favor of native decoder
- IntraX8 (J-Frame) subdecoder for WMV2 and VC-1
- Ogg (Theora, Vorbis and FLAC) muxer
- The "device" muxers and demuxers are now in a new libavdevice library
- PC Paintbrush PCX decoder
- Sun Rasterfile decoder
- TechnoTrend PVA demuxer
@@ -175,6 +368,7 @@ version 0.5:
- AAC decoder
- floating point PCM encoder/decoder
- MXF muxer
- DV100 AKA DVCPRO HD decoder and demuxer
- E-AC-3 support added to AC-3 decoder
- Nellymoser ASAO encoder
- ASS and SSA demuxer and muxer
@@ -182,8 +376,9 @@ version 0.5:
- SVQ3 watermark decoding support
- Speex decoding via libspeex
- Electronic Arts TGQ decoder
- RV30 and RV40 decoder
- RV40 decoder
- QCELP / PureVoice decoder
- RV30 decoder
- hybrid WavPack support
- R3D REDCODE demuxer
- ALSA support for playback and record
@@ -195,6 +390,7 @@ version 0.5:
- generic metadata API
version 0.4.9-pre1:
- DV encoder, DV muxer
@@ -278,6 +474,8 @@ version 0.4.9-pre1:
- many optimizations and bugfixes
- FunCom ISS audio file demuxer and according ADPCM decoding
version 0.4.8:
- MPEG-2 video encoding (Michael)
@@ -288,6 +486,8 @@ version 0.4.8:
- Interplay MVE playback subsystem (Mike Melanson)
- Duck DK3 and DK4 ADPCM audio decoders (Mike Melanson)
version 0.4.7:
- RealAudio 1.0 (14_4) and 2.0 (28_8) native decoders. Author unknown, code from mplayerhq
@@ -328,6 +528,8 @@ version 0.4.7:
.. And lots more new enhancements and fixes.
version 0.4.6:
- completely new integer only MPEG audio layer 1/2/3 decoder rewritten
@@ -364,6 +566,8 @@ version 0.4.6:
- simple stats output (Juanjo)
- 16-bit and 15-bit RGB/BGR/GBR support (Bisqwit)
version 0.4.5:
- some header fixes (Zdenek Kabelac <kabi at informatics.muni.cz>)
@@ -394,6 +598,8 @@ version 0.4.5:
- added MJPEG raw format (input/ouput)
- added JPEG image format support (input/output)
version 0.4.4:
- fixed some std header definitions (Bjorn Lindgren
@@ -418,6 +624,8 @@ version 0.4.4:
- codecs are no longer searched by read_header() (should fix ffserver
segfault)
version 0.4.3:
- BGR24 patch (initial patch by Jeroen Vreeken <pe1rxq at amsat.org>)
@@ -438,6 +646,8 @@ version 0.4.3:
<lists at reserv.at>, but changed completely since we use a format
instead of a protocol)
version 0.4.2:
- added H.263/MPEG-4/MSMPEG4 decoding support. MPEG-4 decoding support
@@ -454,6 +664,7 @@ version 0.4.2:
- added file overwrite confirmation (can be disabled with -y)
- added custom size picture to H.263 using H.263+ (Juanjo)
version 0.4.1:
- added MSMPEG4 (aka DivX) compatible encoder. Changed default codec
@@ -466,6 +677,8 @@ version 0.4.1:
- improved dct_quantize speed
- factorized some motion estimation code
version 0.4.0:
- removing grab code from ffserver and moved it to ffmpeg. Added
@@ -493,10 +706,14 @@ version 0.4.0:
- changed directories: libav for format handling, libavcodec for
codecs
version 0.3.4:
- added stereo in MPEG audio encoder
version 0.3.3:
- added 'high quality' mode which use motion vectors. It can be used in
@@ -504,15 +721,21 @@ version 0.3.3:
- fixed rounding problems which caused quality problems at high
bitrates and large GOP size
version 0.3.2: small fixes
- ASF fixes
- put_seek bug fix
version 0.3.1: added avi/divx support
- added AVI support
- added MPEG-4 codec compatible with OpenDivX. It is based on the H.263 codec
- added sound for flash format (not tested)
version 0.3: initial public release

View File

@@ -17,7 +17,7 @@
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = ffmpeg
PROJECT_NAME = FFmpeg
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
@@ -370,7 +370,7 @@ EXCLUDE_SYMLINKS = NO
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
EXCLUDE_PATTERNS =
EXCLUDE_PATTERNS = *.svn *.git
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
@@ -837,7 +837,6 @@ INCLUDE_FILE_PATTERNS =
PREDEFINED = __attribute__(x)="" "RENAME(x)=x ## _TMPL" "DEF(x)=x ## _TMPL" \
HAVE_AV_CONFIG_H HAVE_MMX HAVE_MMX2 HAVE_AMD3DNOW \
ATTR_ALIGN(x)=""
# 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.

10
LICENSE
View File

@@ -14,7 +14,8 @@ configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
Specifically, the GPL parts of FFmpeg are
- libpostproc
- some x86 optimizations in libswscale
- optional MMX optimizations for YUV to RGB colorspace conversion in
libswscale/x86/yuv2rgb_template.c
- optional x86 optimizations in the files
libavcodec/x86/h264_deblock_sse2.asm
libavcodec/x86/h264_idct_sse2.asm
@@ -44,7 +45,6 @@ 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.
The nonfree external libraries libamrnb, libamrwb and libfaac can be hooked up
in FFmpeg. You need to pass --enable-nonfree to configure to enable them. Employ
this option with care as FFmpeg then becomes nonfree and unredistributable.
Note that libfaac claims to be LGPL, but is not.
The nonfree external library libfaac 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.

View File

@@ -18,15 +18,6 @@ Applications
ffmpeg:
ffmpeg.c Michael Niedermayer
Video Hooks:
vhook
vhook/watermark.c Marcus Engene
vhook/ppm.c
vhook/drawtext.c
vhook/fish.c
vhook/null.c
vhook/imlib2.c
ffplay:
ffplay.c Michael Niedermayer
@@ -37,7 +28,7 @@ Commandline utility code:
cmdutils.c, cmdutils.h Michael Niedermayer
QuickTime faststart:
qt-faststart.c Mike Melanson
tools/qt-faststart.c Baptiste Coudurier
Miscellaneous Areas
@@ -49,6 +40,7 @@ build system (configure,Makefiles) Diego Biurrun, Mans Rullgard
project server Diego Biurrun, Mans Rullgard
mailinglists Michael Niedermayer, Baptiste Coudurier
presets Robert Swain
metadata subsystem Aurelien Jacobs
release management Diego Biurrun, Reinhard Tartler
@@ -106,22 +98,25 @@ Generic Parts:
simple_idct.c, simple_idct.h Michael Niedermayer
postprocessing:
libpostproc/* Michael Niedermayer
vdpau:
vdpau* Carl Eugen Hoyos
Codecs:
4xm.c Michael Niedermayer
8bps.c Roberto Togni
8svx.c Jaikrishnan Menon
aasc.c Kostya Shishkov
aac.[ch], aactab.[ch], aacdectab.h Robert Swain
aac*, sbr.h Alex Converse
ac3* Justin Ruggles
alacenc.c Jaikrishnan Menon
alsdec.c Thilo Borgmann
apedec.c Kostya Shishkov
asv* Michael Niedermayer
atrac3* Benjamin Larsson
bgmc.c, bgmc.h Thilo Borgmann
bink.c Kostya Shishkov
binkaudio.c Peter Ross
bmp.c Mans Rullgard, Kostya Shishkov
cavs* Stefan Gehrer
celp_filters.* Vitor Sessak
cinepak.c Roberto Togni
cljr Alex Beregszaszi
cook.c, cookdata.h Benjamin Larsson
@@ -133,8 +128,7 @@ Codecs:
dv.c Roman Shaposhnik
eacmv*, eaidct*, eat* Peter Ross
ffv1.c Michael Niedermayer
flacdec.c Alex Beregszaszi, Justin Ruggles
flacenc.c Justin Ruggles
flac* Justin Ruggles
flashsv* Benjamin Larsson
flicvideo.c Mike Melanson
g726.c Roman Shaposhnik
@@ -146,18 +140,25 @@ Codecs:
idcinvideo.c Mike Melanson
imc* Benjamin Larsson
indeo2* Kostya Shishkov
indeo5* Kostya Shishkov
interplayvideo.c Mike Melanson
ivi* Kostya Shishkov
jpeg_ls.c Kostya Shishkov
kmvc.c Kostya Shishkov
lcl*.c Roberto Togni
lcl*.c Roberto Togni, Reimar Doeffinger
libgsm.c Michel Bardiaux
libdirac* David Conrad
libopenjpeg.c Jaikrishnan Menon
libschroedinger* David Conrad
libspeexdec.c Justin Ruggles
libtheoraenc.c David Conrad
libx264.c Mans Rullgard, Jason Garrett-Glaser
loco.c Kostya Shishkov
lzo.h, lzo.c Reimar Doeffinger
mdec.c Michael Niedermayer
mimic.c Ramiro Polla
mjpeg.c Michael Niedermayer
mlp* Ramiro Polla
mmvideo.c Peter Ross
mpc* Kostya Shishkov
mpeg12.c, mpeg12data.h Michael Niedermayer
@@ -183,6 +184,7 @@ Codecs:
rv3* Kostya Shishkov
rv4* Kostya Shishkov
s3tc* Ivo van Poorten
smacker.c Kostya Shishkov
smc.c Mike Melanson
snow.c Michael Niedermayer, Loren Merritt
sonic.c Alex Beregszaszi
@@ -194,7 +196,7 @@ Codecs:
truemotion2* Kostya Shishkov
truespeech.c Kostya Shishkov
tscc.c Kostya Shishkov
tta.c Alex Beregszaszi
tta.c Alex Beregszaszi, Jaikrishnan Menon
txd.c Ivo van Poorten
ulti* Kostya Shishkov
vb.c Kostya Shishkov
@@ -208,6 +210,8 @@ Codecs:
vp6 Aurelien Jacobs
vqavideo.c Mike Melanson
wavpack.c Kostya Shishkov
wmaprodec.c Sascha Sommer
wmavoice.c Ronald S. Bultje
wmv2.c Michael Niedermayer
wnv1.c Kostya Shishkov
xan.c Mike Melanson
@@ -215,6 +219,11 @@ Codecs:
xvmc.c Ivan Kalvachev
zmbv* Kostya Shishkov
Hardware acceleration:
dxva2* Laurent Aimar
vaapi* Gwenole Beauchesne
vdpau* Carl Eugen Hoyos
libavdevice
===========
@@ -243,10 +252,12 @@ Muxers/Demuxers:
aiff.c Baptiste Coudurier
ape.c Kostya Shishkov
avi* Michael Niedermayer
bink.c Peter Ross
crc.c Michael Niedermayer
daud.c Reimar Doeffinger
dv.c Roman Shaposhnik
dxa.c Kostya Shishkov
electronicarts.c Peter Ross
ffm* Baptiste Coudurier
flac* Justin Ruggles
flic.c Mike Melanson
@@ -262,36 +273,41 @@ Muxers/Demuxers:
libnut.c Oded Shimon
lmlm4.c Ivo van Poorten
matroska.c Aurelien Jacobs
matroskadec.c Aurelien Jacobs
matroskaenc.c David Conrad
metadata* Aurelien Jacobs
mm.c Peter Ross
mov.c Michael Niedermayer, Baptiste Coudurier
movenc.c Michael Niedermayer, Baptiste Coudurier
mpc.c Kostya Shishkov
mpeg.c Michael Niedermayer
mpegenc.c Michael Niedermayer
mpegts* Mans Rullgard
mpegts* Baptiste Coudurier
msnwc_tcp.c Ramiro Polla
mtv.c Reynaldo H. Verdejo Pinochet
mxf* Baptiste Coudurier
nsvdec.c Francois Revol
nut.c Michael Niedermayer
nuv.c Reimar Doeffinger
oggdec.c, oggdec.h Mans Rullgard
oggdec.c, oggdec.h David Conrad
oggenc.c Baptiste Coudurier
oggparsevorbis.c Mans Rullgard
oggparseogm.c Mans Rullgard
oggparse*.c David Conrad
psxstr.c Mike Melanson
pva.c Ivo van Poorten
r3d.c Baptiste Coudurier
raw.c Michael Niedermayer
rdt.c Ronald S. Bultje
rl2.c Sascha Sommer
rm.c Roberto Togni
rmdec.c, rmenc.c Ronald S. Bultje, Kostya Shishkov
rtmp* Kostya Shishkov
rtp.c, rtpenc.c Luca Abeni
rtp_asf.* Ronald S. Bultje
rtp_mpv.*, rtp_aac.* Luca Abeni
rtsp.c Luca Barbato
sdp.c Luca Abeni
segafilm.c Mike Melanson
siff.c Kostya Shishkov
smacker.c Kostya Shishkov
swf.c Baptiste Coudurier
tta.c Alex Beregszaszi
txd.c Ivo van Poorten
@@ -302,6 +318,7 @@ Muxers/Demuxers:
wv.c Kostya Shishkov
Protocols:
http.c Ronald S. Bultje
udp.c Luca Abeni
@@ -310,6 +327,8 @@ Operating systems / CPU architectures
Alpha Mans Rullgard, Falk Hueffner
ARM Mans Rullgard
AVR32 Mans Rullgard
MIPS Mans Rullgard
BeOS Francois Revol
Mac OS X / PowerPC Romain Dolbeau, Guillaume Poirier
Amiga / PowerPC Colin Ward
@@ -324,10 +343,15 @@ x86 Michael Niedermayer
GnuPG Fingerprints of maintainers and others who have svn write access
======================================================================
Attila Kinali 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
Baptiste Coudurier 8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
Benoit Fouet B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
Daniel Verkamp 78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
Diego Biurrun 8227 1E31 B6D9 4994 7427 E220 9CAE D6CC 4757 FCC5
Jaikrishnan Menon 61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368
Loren Merritt ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE
Michael Niedermayer 9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB
Panagiotis Issaris 515C E262 10A8 FDCE 5481 7B9C 3AD7 D9A5 071D B3A9
Peter Ross A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B
Reimar Döffinger C61D 16E5 9E2C D10C 8958 38A4 0899 A2B9 06D4 D9C7
Reinhard Tartler 9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4

437
Makefile
View File

@@ -6,49 +6,57 @@ vpath %.texi $(SRC_PATH_BARE)
PROGS-$(CONFIG_FFMPEG) += ffmpeg
PROGS-$(CONFIG_FFPLAY) += ffplay
PROGS-$(CONFIG_FFPROBE) += ffprobe
PROGS-$(CONFIG_FFSERVER) += ffserver
PROGS = $(addsuffix $(EXESUF), $(PROGS-yes))
PROGS := $(addsuffix $(EXESUF), $(PROGS-yes))
PROGS_G = $(addsuffix _g$(EXESUF), $(PROGS-yes))
OBJS = $(addsuffix .o, $(PROGS-yes)) cmdutils.o
MANPAGES = $(addprefix doc/, $(addsuffix .1, $(PROGS-yes)))
TOOLS = $(addprefix tools/, $(addsuffix $(EXESUF), cws2fws pktdumper probetest qt-faststart trasher))
HOSTPROGS = $(addprefix tests/, audiogen videogen rotozoom tiny_psnr)
BASENAMES = ffmpeg ffplay ffserver
BASENAMES = ffmpeg ffplay ffprobe ffserver
ALLPROGS = $(addsuffix $(EXESUF), $(BASENAMES))
ALLPROGS_G = $(addsuffix _g$(EXESUF), $(BASENAMES))
ALLMANPAGES = $(addsuffix .1, $(BASENAMES))
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
FFLIBS-$(CONFIG_AVFILTER) += avfilter
FFLIBS-$(CONFIG_AVFORMAT) += avformat
FFLIBS-$(CONFIG_AVCODEC) += avcodec
FFLIBS-$(CONFIG_POSTPROC) += postproc
FFLIBS-$(CONFIG_SWSCALE) += swscale
FFLIBS := avdevice avformat avcodec avutil
FFLIBS := avutil
DATA_FILES := $(wildcard $(SRC_DIR)/ffpresets/*.ffpreset)
SKIPHEADERS = cmdutils_common_opts.h
include common.mak
FF_LDFLAGS := $(FFLDFLAGS)
FF_EXTRALIBS := $(FFEXTRALIBS)
FF_DEP_LIBS := $(DEP_LIBS)
ALL_TARGETS-$(CONFIG_VHOOK) += videohook
ALL_TARGETS-$(BUILD_DOC) += documentation
ALL_TARGETS-$(CONFIG_DOC) += documentation
INSTALL_TARGETS-$(CONFIG_VHOOK) += install-vhook
ifneq ($(PROGS),)
ifdef PROGS
INSTALL_TARGETS-yes += install-progs install-data
INSTALL_TARGETS-$(BUILD_DOC) += install-man
INSTALL_TARGETS-$(CONFIG_DOC) += install-man
endif
INSTALL_PROGS_TARGETS-$(BUILD_SHARED) = install-libs
INSTALL_PROGS_TARGETS-$(CONFIG_SHARED) = install-libs
all: $(FF_DEP_LIBS) $(PROGS) $(ALL_TARGETS-yes)
$(PROGS): %$(EXESUF): %_g$(EXESUF)
cp -p $< $@
$(CP) $< $@
$(STRIP) $@
SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTS
SUBDIR_VARS := OBJS FFLIBS CLEANFILES DIRS TESTPROGS EXAMPLES SKIPHEADERS \
ALTIVEC-OBJS MMX-OBJS NEON-OBJS X86-OBJS YASM-OBJS-FFT YASM-OBJS \
HOSTPROGS BUILT_HEADERS TESTOBJS ARCH_HEADERS
define RESET
$(1) :=
@@ -67,294 +75,279 @@ ffplay_g$(EXESUF): FF_EXTRALIBS += $(SDL_LIBS)
ffserver_g$(EXESUF): FF_LDFLAGS += $(FFSERVERLDFLAGS)
%_g$(EXESUF): %.o cmdutils.o $(FF_DEP_LIBS)
$(CC) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
$(LD) $(FF_LDFLAGS) -o $@ $< cmdutils.o $(FF_EXTRALIBS)
output_example$(EXESUF): output_example.o $(FF_DEP_LIBS)
$(CC) $(CFLAGS) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
tools/%$(EXESUF): tools/%.o
$(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
tools/%$(EXESUF): tools/%.c
$(CC) $(CFLAGS) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
tools/%.o: tools/%.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(CC_O) $<
ffplay.o ffplay.d: CFLAGS += $(SDL_CFLAGS)
cmdutils.o cmdutils.d: version.h
VERSION_SH = $(SRC_PATH_BARE)/version.sh
GIT_LOG = $(SRC_PATH_BARE)/.git/logs/HEAD
SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
alltools: $(addsuffix $(EXESUF),$(addprefix tools/, cws2fws pktdumper qt-faststart trasher))
.version: $(wildcard $(GIT_LOG) $(SVN_ENTRIES)) $(VERSION_SH) config.mak
.version: M=@
VHOOKCFLAGS += $(filter-out -mdynamic-no-pic,$(CFLAGS))
version.h .version:
$(M)$(VERSION_SH) $(SRC_PATH) version.h $(EXTRA_VERSION)
$(Q)touch .version
BASEHOOKS = fish null watermark
ALLHOOKS = $(BASEHOOKS) drawtext imlib2 ppm
ALLHOOKS_SRCS = $(addprefix vhook/, $(addsuffix .c, $(ALLHOOKS)))
# force version.sh to run whenever version might have changed
-include .version
HOOKS-$(HAVE_FORK) += ppm
HOOKS-$(HAVE_IMLIB2) += imlib2
HOOKS-$(HAVE_FREETYPE2) += drawtext
alltools: $(TOOLS)
HOOKS = $(addprefix vhook/, $(addsuffix $(SLIBSUF), $(BASEHOOKS) $(HOOKS-yes)))
VHOOKCFLAGS-$(HAVE_IMLIB2) += `imlib2-config --cflags`
LIBS_imlib2$(SLIBSUF) = `imlib2-config --libs`
VHOOKCFLAGS-$(HAVE_FREETYPE2) += `freetype-config --cflags`
LIBS_drawtext$(SLIBSUF) = `freetype-config --libs`
VHOOKCFLAGS += $(VHOOKCFLAGS-yes)
vhook/%.o vhook/%.d: CFLAGS:=$(VHOOKCFLAGS)
# vhooks compile fine without libav*, but need them nonetheless.
videohook: $(FF_DEP_LIBS) $(HOOKS)
$(eval VHOOKSHFLAGS=$(VHOOKSHFLAGS))
vhook/%$(SLIBSUF): vhook/%.o
$(CC) $(LDFLAGS) -o $@ $(VHOOKSHFLAGS) $< $(VHOOKLIBS) $(LIBS_$(@F))
VHOOK_DEPS = $(HOOKS:$(SLIBSUF)=.d)
depend dep: $(VHOOK_DEPS)
documentation: $(addprefix doc/, ffmpeg-doc.html faq.html ffserver-doc.html \
ffplay-doc.html general.html hooks.html \
$(ALLMANPAGES))
documentation: $(addprefix doc/, developer.html faq.html ffmpeg-doc.html \
ffplay-doc.html ffprobe-doc.html ffserver-doc.html \
general.html libavfilter.html $(ALLMANPAGES))
doc/%.html: TAG = HTML
doc/%.html: doc/%.texi
texi2html -monolithic -number $<
mv $(@F) $@
$(M)cd doc && texi2html -monolithic -number $(<:doc/%=%)
doc/%.pod: TAG = POD
doc/%.pod: doc/%-doc.texi
doc/texi2pod.pl $< $@
$(M)doc/texi2pod.pl $< $@
doc/%.1: TAG = MAN
doc/%.1: doc/%.pod
pod2man --section=1 --center=" " --release=" " $< > $@
$(M)pod2man --section=1 --center=" " --release=" " $< > $@
install: $(INSTALL_TARGETS-yes)
install-progs: $(PROGS) $(INSTALL_PROGS_TARGETS-yes)
install -d "$(BINDIR)"
install -c -m 755 $(PROGS) "$(BINDIR)"
$(Q)mkdir -p "$(BINDIR)"
$(INSTALL) -c -m 755 $(PROGS) "$(BINDIR)"
install-data: $(DATA_FILES)
install -d "$(DATADIR)"
install -m 644 $(DATA_FILES) "$(DATADIR)"
$(Q)mkdir -p "$(DATADIR)"
$(INSTALL) -m 644 $(DATA_FILES) "$(DATADIR)"
install-man: $(MANPAGES)
install -d "$(MANDIR)/man1"
install -m 644 $(MANPAGES) "$(MANDIR)/man1"
$(Q)mkdir -p "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"
install-vhook: videohook
install -d "$(SHLIBDIR)/vhook"
install -m 755 $(HOOKS) "$(SHLIBDIR)/vhook"
uninstall: uninstall-progs uninstall-data uninstall-man uninstall-vhook
uninstall: uninstall-progs uninstall-data uninstall-man
uninstall-progs:
rm -f $(addprefix "$(BINDIR)/", $(ALLPROGS))
$(RM) $(addprefix "$(BINDIR)/", $(ALLPROGS))
uninstall-data:
rm -rf "$(DATADIR)"
$(RM) -r "$(DATADIR)"
uninstall-man:
rm -f $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
uninstall-vhook:
rm -f $(addprefix "$(SHLIBDIR)/",$(ALLHOOKS_SRCS:.c=$(SLIBSUF)))
-rmdir "$(SHLIBDIR)/vhook/"
$(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
testclean:
rm -rf tests/vsynth1 tests/vsynth2 tests/data tests/asynth1.sw tests/*~
$(RM) -r tests/vsynth1 tests/vsynth2 tests/data
$(RM) $(addprefix tests/,$(CLEANSUFFIXES))
$(RM) tests/seek_test$(EXESUF) tests/seek_test.o
$(RM) $(addprefix tests/,$(addsuffix $(HOSTEXESUF),audiogen videogen rotozoom tiny_psnr))
clean:: testclean
rm -f $(ALLPROGS) $(ALLPROGS_G) output_example$(EXESUF)
rm -f doc/*.html doc/*.pod doc/*.1
rm -f $(addprefix tests/,$(addsuffix $(EXESUF),audiogen videogen rotozoom seek_test tiny_psnr))
rm -f $(addprefix tools/,$(addsuffix $(EXESUF),cws2fws pktdumper qt-faststart trasher))
rm -f vhook/*.o vhook/*~ vhook/*.so vhook/*.dylib vhook/*.dll
$(RM) $(ALLPROGS) $(ALLPROGS_G)
$(RM) $(CLEANSUFFIXES)
$(RM) doc/*.html doc/*.pod doc/*.1
$(RM) $(TOOLS)
distclean::
rm -f version.h config.* vhook/*.d
$(RM) $(DISTCLEANSUFFIXES)
$(RM) version.h config.* libavutil/avconfig.h
config:
$(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
# regression tests
check: test checkheaders
fulltest test: codectest libavtest seektest
fulltest test: codectest lavftest seektest
FFMPEG_REFFILE = $(SRC_PATH)/tests/ffmpeg.regression.ref
FFSERVER_REFFILE = $(SRC_PATH)/tests/ffserver.regression.ref
LIBAV_REFFILE = $(SRC_PATH)/tests/libav.regression.ref
ROTOZOOM_REFFILE = $(SRC_PATH)/tests/rotozoom.regression.ref
SEEK_REFFILE = $(SRC_PATH)/tests/seek.regression.ref
CODEC_TESTS = $(addprefix regtest-, \
mpeg \
mpeg2 \
mpeg2thread \
msmpeg4v2 \
msmpeg4 \
wmv1 \
wmv2 \
h261 \
h263 \
h263p \
mpeg4 \
huffyuv \
rc \
mpeg4adv \
mpeg4thread \
error \
mpeg4nr \
mpeg1b \
mjpeg \
ljpeg \
jpegls \
rv10 \
rv20 \
asv1 \
asv2 \
flv \
ffv1 \
snow \
snowll \
dv \
dv50 \
svq1 \
flashsv \
mp2 \
ac3 \
g726 \
adpcm_ima_wav \
adpcm_ima_qt \
adpcm_ms \
adpcm_yam \
adpcm_swf \
flac \
wma \
pcm \
)
ENCDEC = $(and $(CONFIG_$(1)_ENCODER),$(CONFIG_$(1)_DECODER))
MUXDEM = $(and $(CONFIG_$(1)_MUXER),$(CONFIG_$(or $(2),$(1))_DEMUXER))
LAVF_TESTS = $(addprefix regtest-, \
avi \
asf \
rm \
mpg \
ts \
swf \
ffm \
flv_fmt \
mov \
dv_fmt \
gxf \
nut \
mkv \
pbmpipe \
pgmpipe \
ppmpipe \
gif \
yuv4mpeg \
pgm \
ppm \
bmp \
tga \
tiff \
sgi \
jpg \
wav \
alaw \
mulaw \
au \
mmf \
aiff \
voc \
ogg \
pixfmt \
)
VCODEC_TESTS =
VCODEC_TESTS-$(call ENCDEC,ASV1) += asv1
VCODEC_TESTS-$(call ENCDEC,ASV2) += asv2
VCODEC_TESTS-$(call ENCDEC,DNXHD) += dnxhd_1080i dnxhd_720p dnxhd_720p_rd
VCODEC_TESTS-$(call ENCDEC,DVVIDEO) += dv dv50
VCODEC_TESTS-$(call ENCDEC,FFV1) += ffv1
VCODEC_TESTS-$(call ENCDEC,FLASHSV) += flashsv
VCODEC_TESTS-$(call ENCDEC,FLV) += flv
VCODEC_TESTS-$(call ENCDEC,H261) += h261
VCODEC_TESTS-$(call ENCDEC,H263) += h263 h263p
VCODEC_TESTS-$(call ENCDEC,HUFFYUV) += huffyuv
VCODEC_TESTS-$(call ENCDEC,JPEGLS) += jpegls
VCODEC_TESTS-$(call ENCDEC,MJPEG) += mjpeg ljpeg
VCODEC_TESTS-$(call ENCDEC,MPEG1VIDEO) += mpeg mpeg1b
VCODEC_TESTS-$(call ENCDEC,MPEG2VIDEO) += mpeg2 mpeg2thread
VCODEC_TESTS-$(call ENCDEC,MPEG4) += mpeg4 mpeg4adv mpeg4nr mpeg4thread error rc
VCODEC_TESTS-$(call ENCDEC,MSMPEG4V1) += msmpeg4
VCODEC_TESTS-$(call ENCDEC,MSMPEG4V2) += msmpeg4v2
VCODEC_TESTS-$(call ENCDEC,ROQ) += roq
VCODEC_TESTS-$(call ENCDEC,RV10) += rv10
VCODEC_TESTS-$(call ENCDEC,RV20) += rv20
VCODEC_TESTS-$(call ENCDEC,SNOW) += snow snowll
VCODEC_TESTS-$(call ENCDEC,SVQ1) += svq1
VCODEC_TESTS-$(call ENCDEC,WMV1) += wmv1
VCODEC_TESTS-$(call ENCDEC,WMV2) += wmv2
REGFILES = $(addprefix tests/data/,$(addsuffix .$(1),$(2:regtest-%=%)))
ACODEC_TESTS =
ACODEC_TESTS-$(call ENCDEC,AC3) += ac3
ACODEC_TESTS-$(call ENCDEC,ADPCM_G726) += g726
ACODEC_TESTS-$(call ENCDEC,ADPCM_IMA_QT) += adpcm_ima_qt
ACODEC_TESTS-$(call ENCDEC,ADPCM_IMA_WAV) += adpcm_ima_wav
ACODEC_TESTS-$(call ENCDEC,ADPCM_MS) += adpcm_ms
ACODEC_TESTS-$(call ENCDEC,ADPCM_SWF) += adpcm_swf
ACODEC_TESTS-$(call ENCDEC,ADPCM_YAMAHA) += adpcm_yam
ACODEC_TESTS-$(call ENCDEC,ALAC) += alac
ACODEC_TESTS-$(call ENCDEC,FLAC) += flac
ACODEC_TESTS-$(call ENCDEC,MP2) += mp2
ACODEC_TESTS-$(call ENCDEC,PCM_S16LE) += pcm # fixme
ACODEC_TESTS-$(call ENCDEC,WMAV1) += wmav1
ACODEC_TESTS-$(call ENCDEC,WMAV1) += wmav2
CODEC_ROTOZOOM = $(call REGFILES,rotozoom.regression,$(CODEC_TESTS))
CODEC_VSYNTH = $(call REGFILES,vsynth.regression,$(CODEC_TESTS))
LAVF_TESTS =
LAVF_TESTS-$(call MUXDEM,AIFF) += aiff
LAVF_TESTS-$(call MUXDEM,PCM_ALAW) += alaw
LAVF_TESTS-$(call MUXDEM,ASF) += asf
LAVF_TESTS-$(call MUXDEM,AU) += au
LAVF_TESTS-$(call MUXDEM,AVI) += avi
LAVF_TESTS-$(call ENCDEC,BMP) += bmp
LAVF_TESTS-$(call MUXDEM,DV) += dv_fmt
LAVF_TESTS-$(call MUXDEM,FFM) += ffm
LAVF_TESTS-$(call MUXDEM,FLV) += flv_fmt
LAVF_TESTS-$(call ENCDEC,GIF) += gif
LAVF_TESTS-$(call MUXDEM,GXF) += gxf
LAVF_TESTS-$(call ENCDEC,MJPEG) += jpg
LAVF_TESTS-$(call MUXDEM,MATROSKA) += mkv
LAVF_TESTS-$(call MUXDEM,MMF) += mmf
LAVF_TESTS-$(call MUXDEM,MOV) += mov
LAVF_TESTS-$(call MUXDEM,MPEG1SYSTEM,MPEGPS) += mpg
LAVF_TESTS-$(call MUXDEM,PCM_MULAW) += mulaw
LAVF_TESTS-$(call MUXDEM,MXF) += mxf
LAVF_TESTS-$(call MUXDEM,NUT) += nut
LAVF_TESTS-$(call MUXDEM,OGG) += ogg
LAVF_TESTS-$(call ENCDEC,PBM) += pbmpipe
LAVF_TESTS-$(call ENCDEC,PCX) += pcx
LAVF_TESTS-$(call ENCDEC,PGM) += pgm pgmpipe
LAVF_TESTS-$(call MUXDEM,RAWVIDEO) += pixfmt
LAVF_TESTS-$(call ENCDEC,PPM) += ppm ppmpipe
LAVF_TESTS-$(call MUXDEM,RM) += rm
LAVF_TESTS-$(call ENCDEC,SGI) += sgi
LAVF_TESTS-$(call MUXDEM,SWF) += swf
LAVF_TESTS-$(call ENCDEC,TARGA) += tga
LAVF_TESTS-$(call ENCDEC,TIFF) += tiff
LAVF_TESTS-$(call MUXDEM,MPEGTS) += ts
LAVF_TESTS-$(call MUXDEM,VOC) += voc
LAVF_TESTS-$(call MUXDEM,WAV) += wav
LAVF_TESTS-$(call MUXDEM,YUV4MPEGPIPE) += yuv4mpeg
LAVF_REGFILES = $(call REGFILES,lavf.regression,$(LAVF_TESTS))
LAVFI_TESTS = \
crop \
crop_scale \
crop_scale_vflip \
crop_vflip \
null \
scale200 \
scale500 \
vflip \
vflip_crop \
vflip_vflip \
LAVF_REG = tests/data/lavf.regression
ROTOZOOM_REG = tests/data/rotozoom.regression
VSYNTH_REG = tests/data/vsynth.regression
ACODEC_TESTS := $(addprefix regtest-, $(ACODEC_TESTS) $(ACODEC_TESTS-yes))
VCODEC_TESTS := $(addprefix regtest-, $(VCODEC_TESTS) $(VCODEC_TESTS-yes))
LAVF_TESTS := $(addprefix regtest-, $(LAVF_TESTS) $(LAVF_TESTS-yes))
LAVFI_TESTS := $(addprefix regtest-, $(LAVFI_TESTS) $(LAVFI_TESTS-yes))
ifneq ($(CONFIG_SWSCALE),yes)
servertest codectest $(CODEC_TESTS) libavtest: swscale-error
swscale-error:
@echo
@echo "This regression test requires --enable-swscale."
@echo
@exit 1
endif
CODEC_TESTS = $(VCODEC_TESTS) $(ACODEC_TESTS)
ifneq ($(CONFIG_ZLIB),yes)
regtest-flashsv codectest: zlib-error
endif
zlib-error:
@echo
@echo "This regression test requires zlib."
@echo
@exit 1
codectest: $(CODEC_TESTS)
lavftest: $(LAVF_TESTS)
lavfitest: $(LAVFI_TESTS)
codectest: $(VSYNTH_REG) $(ROTOZOOM_REG)
diff -u -w $(FFMPEG_REFFILE) $(VSYNTH_REG)
diff -u -w $(ROTOZOOM_REFFILE) $(ROTOZOOM_REG)
$(ACODEC_TESTS): regtest-aref
$(VCODEC_TESTS): regtest-vref
$(LAVF_TESTS) $(LAVFI_TESTS): regtest-ref
libavtest: $(LAVF_REG)
diff -u -w $(LIBAV_REFFILE) $(LAVF_REG)
REFFILE = $(SRC_PATH)/tests/ref/$(1)/$(2:regtest-%=%)
RESFILE = tests/data/$(2:regtest-%=%).$(1).regression
$(VSYNTH_REG) $(ROTOZOOM_REG) $(LAVF_REG):
cat $^ > $@
define CODECTEST_CMD
$(SRC_PATH)/tests/codec-regression.sh $@ vsynth1 tests/vsynth1 "$(TARGET_EXEC)" "$(TARGET_PATH)"
$(SRC_PATH)/tests/codec-regression.sh $@ vsynth2 tests/vsynth2 "$(TARGET_EXEC)" "$(TARGET_PATH)"
endef
$(LAVF_REG): $(LAVF_REGFILES)
$(ROTOZOOM_REG): $(CODEC_ROTOZOOM)
$(VSYNTH_REG): $(CODEC_VSYNTH)
regtest-ref: regtest-aref regtest-vref
$(CODEC_VSYNTH) $(CODEC_ROTOZOOM): $(CODEC_TESTS)
regtest-vref: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm
$(CODECTEST_CMD)
$(LAVF_REGFILES): $(LAVF_TESTS)
regtest-aref: ffmpeg$(EXESUF) tests/data/asynth1.sw
@$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec "$(TARGET_EXEC)" "$(TARGET_PATH)"
$(CODEC_TESTS) $(LAVF_TESTS): regtest-ref
$(VCODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF)
@echo "TEST VCODEC $(@:regtest-%=%)"
@$(CODECTEST_CMD)
@diff -u -w $(call REFFILE,vsynth1,$@) $(call RESFILE,vsynth1,$@)
@diff -u -w $(call REFFILE,vsynth2,$@) $(call RESFILE,vsynth2,$@)
regtest-ref: ffmpeg$(EXESUF) tests/vsynth1/00.pgm tests/vsynth2/00.pgm tests/asynth1.sw
$(CODEC_TESTS) regtest-ref: tests/tiny_psnr$(EXESUF)
$(SRC_PATH)/tests/regression.sh $@ vsynth tests/vsynth1 a "$(TARGET_EXEC)" "$(TARGET_PATH)"
$(SRC_PATH)/tests/regression.sh $@ rotozoom tests/vsynth2 a "$(TARGET_EXEC)" "$(TARGET_PATH)"
$(ACODEC_TESTS): tests/tiny_psnr$(HOSTEXESUF)
@echo "TEST ACODEC $(@:regtest-%=%)"
@$(SRC_PATH)/tests/codec-regression.sh $@ acodec tests/acodec "$(TARGET_EXEC)" "$(TARGET_PATH)"
@diff -u -w $(call REFFILE,acodec,$@) $(call RESFILE,acodec,$@)
$(LAVF_TESTS):
$(SRC_PATH)/tests/regression.sh $@ lavf tests/vsynth1 b "$(TARGET_EXEC)" "$(TARGET_PATH)"
@echo "TEST LAVF $(@:regtest-%=%)"
@$(SRC_PATH)/tests/lavf-regression.sh $@ lavf tests/vsynth1 "$(TARGET_EXEC)" "$(TARGET_PATH)"
@diff -u -w $(call REFFILE,lavf,$@) $(call RESFILE,lavf,$@)
seektest: codectest libavtest tests/seek_test$(EXESUF)
$(SRC_PATH)/tests/seek_test.sh $(SEEK_REFFILE) "$(TARGET_EXEC)" "$(TARGET_PATH)"
$(LAVFI_TESTS):
@echo "TEST LAVFI $(@:regtest-%=%)"
@$(SRC_PATH)/tests/lavfi-regression.sh $@ lavfi tests/vsynth1 "$(TARGET_EXEC)" "$(TARGET_PATH)"
@diff -u -w $(call REFFILE,lavfi,$@) $(call RESFILE,lavfi,$@)
servertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/asynth1.sw
seektest: codectest lavftest tests/seek_test$(EXESUF)
$(SRC_PATH)/tests/seek-regression.sh $(SRC_PATH) "$(TARGET_EXEC)" "$(TARGET_PATH)"
ffservertest: ffserver$(EXESUF) tests/vsynth1/00.pgm tests/data/asynth1.sw
@echo
@echo "Unfortunately ffserver is broken and therefore its regression"
@echo "test fails randomly. Treat the results accordingly."
@echo
$(SRC_PATH)/tests/server-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/test.conf
$(SRC_PATH)/tests/ffserver-regression.sh $(FFSERVER_REFFILE) $(SRC_PATH)/tests/ffserver.conf
tests/vsynth1/00.pgm: tests/videogen$(EXESUF)
tests/vsynth1/00.pgm: tests/videogen$(HOSTEXESUF)
mkdir -p tests/vsynth1
$(BUILD_ROOT)/$< 'tests/vsynth1/'
tests/vsynth2/00.pgm: tests/rotozoom$(EXESUF)
tests/vsynth2/00.pgm: tests/rotozoom$(HOSTEXESUF)
mkdir -p tests/vsynth2
$(BUILD_ROOT)/$< 'tests/vsynth2/' $(SRC_PATH)/tests/lena.pnm
tests/asynth1.sw: tests/audiogen$(EXESUF)
tests/data/asynth1.sw: tests/audiogen$(HOSTEXESUF)
mkdir -p tests/data
$(BUILD_ROOT)/$< $@
tests/%$(EXESUF): tests/%.c
$(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS)
tests/seek_test$(EXESUF): tests/seek_test.o $(FF_DEP_LIBS)
$(LD) $(FF_LDFLAGS) -o $@ $< $(FF_EXTRALIBS)
tests/seek_test$(EXESUF): tests/seek_test.c $(FF_DEP_LIBS)
$(CC) $(FF_LDFLAGS) $(CFLAGS) -o $@ $< $(FF_EXTRALIBS)
ifdef SAMPLES
include $(SRC_PATH_BARE)/tests/fate.mak
fate: $(FATE_TESTS)
$(FATE_TESTS): ffmpeg$(EXESUF)
@echo "TEST FATE $(@:fate-%=%)"
@$(SRC_PATH)/tests/fate-run.sh $@ "$(SAMPLES)" "$(TARGET_EXEC)" "$(TARGET_PATH)" '$(CMD)'
else
fate:
@echo "SAMPLES not specified, cannot run FATE"
endif
.PHONY: lib videohook documentation *test regtest-* swscale-error zlib-error alltools check
-include $(VHOOK_DEPS)
.PHONY: documentation *test regtest-* zlib-error alltools check config

242
RELEASE
View File

@@ -1,14 +1,18 @@
Release Notes
=============
* 0.5 "Bike Shed World Domination" March 3, 2009
* 0.6 "Works with HTML5" June, 2010
General notes
-------------
It has been so long since the last release that this should be considered the
first FFmpeg release of recent times. Because of the way things have unfolded to
date, the notes for this version cannot be entirely conventional.
This release focuses on improvements for the new multimedia elements in HTML5.
The H.264 and Theora decoders are now significantly faster, the Vorbis decoder
has seen important updates and this release supports Google's newly released
libvpx library for the VP8 codec and WebM container.
Other important changes are additions of decoders including, but not limited to,
Intel Indeo 5, WMA Pro, WMA Voice and HE-AAC.
See the Changelog file for a list of significant changes.
@@ -19,108 +23,190 @@ version of the development code to check if the issue still exists. If it does,
make your report against the development code following the usual bug reporting
guidelines.
API notes
---------
In the next release, it is intended to remove a number of deprecated APIs. We
decided to put out a release that includes said APIs for the benefit of third
party software.
API and other notable Changes
-----------------------------
As such, this release:
- provides a sync point for said APIs
- increases awareness of API changes
- allows the next release to detail how to transition from the old to the new
Please see the file doc/APIchanges for programmer-centric information.
The deprecated APIs to be removed are:
- imgconvert (to be replaced by libswscale)
- vhook (to be replaced by libavfilter)
Notable changes:
- deprecated vhook subsystem removed
- deprecated old scaler removed
- nonfree libamr support for AMR-NB/WB decoding/encoding removed
- RTMP support in libavformat
- -formats option split into -formats, -codecs, -bsfs, and -protocols
- ffprobe tool
- RTMP/RTMPT/RTMPS/RTMPE/RTMPTE protocol support via librtmp
- CODEC_CAP_EXPERIMENTAL added
If at all possible, do not use the deprecated APIs. All notes on API changes
should appear in doc/APIchanges.
Added Codecs:
-------------
- VQF demuxer
- PCX encoder
- CorePNG decoding support
- 8088flex TMV demuxer and decoder
- enable symbol versioning by default for linkers that support it
- V210 decoder and encoder
- QCP demuxer
- SoX native format muxer and demuxer
- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
- DPX image decoder
- Electronic Arts Madcow decoder
- DivX (XSUB) subtitle encoder
- experimental AAC encoder
- Wave64 demuxer
- IEC-61937 compatible Muxer
- TwinVQ decoder
- Bluray (PGS) subtitle decoder
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
- WMA Pro decoder
- Core Audio Format demuxer
- Atrac1 decoder
- MD STUDIO audio demuxer
- RF64 support in WAV demuxer
- MPEG-4 Audio Lossless Coding (ALS) decoder
- IV8 demuxer
- CDG demuxer and decoder
- R210 decoder
- Auravision Aura 1 and 2 decoders
- Deluxe Paint Animation playback system
- SIPR decoder
- Adobe Filmstrip muxer and demuxer
- RTP packetization and depacketization of H.263 and AMR
- Bink demuxer and audio/video decoders
- IFF PBM/ILBM bitmap decoder
- Indeo 5 decoder
- WMA Voice decoder
- AMR-NB decoder
- RTSP muxer
- HE-AAC v1 decoder
- Kega Game Video (KGV1) decoder
- Psygnosis YOP demuxer and video decoder
- RTP hinting in the mov/3gp/mp4 muxer
- VP8 decoding via libvpx
Notable license related changes
-------------------------------
- remaining GPL parts in AC-3 decoder converted to LGPL
- libswscale can now be compiled in LGPL mode
* 0.5.1 March 2, 2010
* 0.6.1
General notes
-------------
This point release includes some minor updates to make the 0.5 release series
usable for users that need to retain the existing behavior as closely as
possible. The changes follow below:
This point release includes some updates to make the 0.6 release series usable
for users that need to retain the existing behavior as closely as possible.
The changes follow below:
Bugfixes
--------
- fix autodetection of E-AC-3 substream samples
- performance fix for seekable HTTP
- add missing VP80 fourcc code for the VP8 codec
- small documentation fixes
- fix several potentially exploitable issues in the FLIC decoder
(addresses CVE-2010-3429)
HE-AAC v2 backport
------------------
This release includes a backport of the AAC decoder from trunk, which
enables proper playback of HE-AAC v2 media.
* 0.6.2
General notes
-------------
This is a maintenance-only release that addresses a small number of security
and portability issues. Distributors and system integrators are encouraged
to update and share their patches against this branch.
Security fixes
--------------
Various programming errors in container and codec implementations
may lead to denial of service or the execution of arbitrary code
if the user is tricked into opening a malformed media file or stream.
Programming errors in container and codec implementations may lead to
denial of service or the execution of arbitrary code if the user is
tricked into opening a malformed media file or stream.
Affected and updated have been the implementations of the following
codecs and container formats:
- the Vorbis audio codec
- the FF Video 1 codec
- the MPEG audio codec
- the H264 video codec
- the MLP codec
- the HuffYUV codec
- the ASF demuxer
- the Ogg container implementation
- the MOV container implementation
Symbol Versioning enabled
-------------------------
The backported symbol versioning change is enabled on platforms that support
it. This allows users to upgrade from 0.5.1 to the upcoming 0.6 release
without having to recompile their applications. Please note that distributors
have to recompile applications against 0.5.1 before upgrading to 0.6.
libx264.c backport
------------------
This release includes a backport to the libx264 wrapper that allows FFmpeg to
be compiled against newer versions of libx264 up to API version 85.
licensing changes
-----------------
Previously both libswscale and our AC-3 decoder had GPLed parts. These have
been replaced by fresh LGPL code. x86 optimizations for libswscale remain GPL,
but the C code is fully functional. Optimizations for other architectures have
been relicensed to LGPL.
AMR-NB decoding/encoding and AMR-WB decoding is now possible through the free
software OpenCORE libraries as an alternative to the non-free libamr libraries.
We found out that libfaac contains non-free parts and is not LGPL as previously
claimed. We have changed configure to reflect this. You now have to pass the
--enable-nonfree option if you wish to compile with libfaac support enabled.
Furthermore the non-free bits in libavcodec/fdctref.c have been rewritten. Note
well that they were only used in a test program and never compiled into any
FFmpeg library.
- VC1 decoder (Change related to CVE-2011-0723)
- APE decoder (cf. http://packetstorm.linuxsecurity.com/1103-exploits/vlc105-dos.txt)
* 0.5.2 May 25, 2010
* 0.6.3
General notes
-------------
This is a maintenance only release that addresses a small number of security
and portability issues. Distributors and system integrators are encouraged
to update and share their patches against this branch.
This is a mostly maintenance-only release that addresses a small number
of bugs such as security and compilation issues. Moreover, this release
has been updated to work with gcc-4.6 and the VisualOn AAC encoder has
been backported from the Libav 0.7.2 release. Distributors and system
integrators are encouraged to update and share their patches against
this branch.
For a full list of changes please see the Changelog file.
* 0.5.3 Oct 18, 2010
* 0.6.4
General notes
-------------
This is (again) another maintenance only release that addresses a fix
for seekable HTTP and an exploitable bug in the FLIC decoder
(cf. CVE-2010-3429 for details). Distributors and system integrators are
encouraged to update and share their patches against this branch.
This mostly maintenance-only release that addresses a number a number of
bugs such as security and compilation issues that have been brought to
our attention. Among other (rather minor) fixes, this release features
fixes for the QDM2 decoder (CVE-2011-4351), vp3 decoder (CVE-2011-4352),
DoS in the VP5/VP6 decoders (CVE-2011-4353), a buffer overflow in the
Sierra VMD decoder CVE-2011-4364, and a safety fix in the svq1 decoder
(CVE-2011-4579).
Distributors and system integrators are encouraged
to update and share their patches against this branch. For a full list
of changes please see the Changelog file.
* 0.6.5
General notes
-------------
This mostly maintenance-only release that addresses a number a number of
bugs such as security and compilation issues that have been brought to
our attention. Among other (rather minor) fixes, this release features
fixes for the VP3 decoder (CVE-2011-3892), vorbis decoder, and matroska
demuxer (CVE-2011-3893 and CVE-2011-3895).
Distributors and system integrators are encouraged
to update and share their patches against this branch. For a full list
of changes please see the Changelog file.
* 0.6.6
General notes
-------------
This mostly maintenance-only release that addresses a number a number of
bugs such as security and compilation issues that have been brought to
our attention. Among other fixes, this release features includes
security updates for the, DV decoder (CVE-2011-3929 and CVE-2011-3936),
VQA Video Decoder (CVE-2012-0947), DPCM codecs (CVE-2011-3951), AAC SBR
(CVE-2012-0850), H.264 (CVE-2012-0851), ADPCM (CVE-2012-0852), Shorten
(CVE-2012-0858), and the KMVC decoder (CVE-2011-3952).
Distributors and system integrators are encouraged
to update and share their patches against this branch. For a full list
of changes please see the Changelog file or the git commit history.

View File

@@ -1 +1 @@
0.5.3
0.6.7

View File

@@ -35,22 +35,24 @@
#include "libswscale/swscale.h"
#include "libpostproc/postprocess.h"
#include "libavutil/avstring.h"
#include "libavutil/pixdesc.h"
#include "libavcodec/opt.h"
#include "cmdutils.h"
#include "version.h"
#if CONFIG_NETWORK
#include "libavformat/network.h"
#endif
#undef exit
#if HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
const char **opt_names;
static int opt_name_count;
AVCodecContext *avctx_opts[CODEC_TYPE_NB];
AVCodecContext *avcodec_opts[AVMEDIA_TYPE_NB];
AVFormatContext *avformat_opts;
struct SwsContext *sws_opts;
const int this_year = 2009;
const int this_year = 2010;
double parse_number_or_die(const char *context, const char *numstr, int type, double min, double max)
{
@@ -125,11 +127,20 @@ void parse_options(int argc, char **argv, const OptionDef *options,
opt = argv[optindex++];
if (handleoptions && opt[0] == '-' && opt[1] != '\0') {
int bool_val = 1;
if (opt[1] == '-' && opt[2] == '\0') {
handleoptions = 0;
continue;
}
po= find_option(options, opt + 1);
opt++;
po= find_option(options, opt);
if (!po->name && opt[0] == 'n' && opt[1] == 'o') {
/* handle 'no' bool option */
po = find_option(options, opt + 2);
if (!(po->name && (po->flags & OPT_BOOL)))
goto unknown_opt;
bool_val = 0;
}
if (!po->name)
po= find_option(options, "default");
if (!po->name) {
@@ -150,16 +161,18 @@ unknown_opt:
str = av_strdup(arg);
*po->u.str_arg = str;
} else if (po->flags & OPT_BOOL) {
*po->u.int_arg = 1;
*po->u.int_arg = bool_val;
} else if (po->flags & OPT_INT) {
*po->u.int_arg = parse_number_or_die(opt+1, arg, OPT_INT64, INT_MIN, INT_MAX);
*po->u.int_arg = parse_number_or_die(opt, arg, OPT_INT64, INT_MIN, INT_MAX);
} else if (po->flags & OPT_INT64) {
*po->u.int64_arg = parse_number_or_die(opt+1, arg, OPT_INT64, INT64_MIN, INT64_MAX);
*po->u.int64_arg = parse_number_or_die(opt, arg, OPT_INT64, INT64_MIN, INT64_MAX);
} else if (po->flags & OPT_FLOAT) {
*po->u.float_arg = parse_number_or_die(opt+1, arg, OPT_FLOAT, -1.0/0.0, 1.0/0.0);
*po->u.float_arg = parse_number_or_die(opt, arg, OPT_FLOAT, -1.0/0.0, 1.0/0.0);
} else if (po->flags & OPT_FUNC2) {
if(po->u.func2_arg(opt+1, arg)<0)
goto unknown_opt;
if (po->u.func2_arg(opt, arg) < 0) {
fprintf(stderr, "%s: failed to set value '%s' for option '%s'\n", argv[0], arg, opt);
exit(1);
}
} else {
po->u.func_arg(arg);
}
@@ -178,41 +191,91 @@ int opt_default(const char *opt, const char *arg){
const AVOption *o= NULL;
int opt_types[]={AV_OPT_FLAG_VIDEO_PARAM, AV_OPT_FLAG_AUDIO_PARAM, 0, AV_OPT_FLAG_SUBTITLE_PARAM, 0};
for(type=0; type<CODEC_TYPE_NB && ret>= 0; type++){
const AVOption *o2 = av_find_opt(avctx_opts[0], opt, NULL, opt_types[type], opt_types[type]);
for(type=0; type<AVMEDIA_TYPE_NB && ret>= 0; type++){
const AVOption *o2 = av_find_opt(avcodec_opts[0], opt, NULL, opt_types[type], opt_types[type]);
if(o2)
ret = av_set_string3(avctx_opts[type], opt, arg, 1, &o);
ret = av_set_string3(avcodec_opts[type], opt, arg, 1, &o);
}
if(!o)
ret = av_set_string3(avformat_opts, opt, arg, 1, &o);
if(!o)
if(!o && sws_opts)
ret = av_set_string3(sws_opts, opt, arg, 1, &o);
if(!o){
if(opt[0] == 'a')
ret = av_set_string3(avctx_opts[CODEC_TYPE_AUDIO], opt+1, arg, 1, &o);
ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_AUDIO], opt+1, arg, 1, &o);
else if(opt[0] == 'v')
ret = av_set_string3(avctx_opts[CODEC_TYPE_VIDEO], opt+1, arg, 1, &o);
ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_VIDEO], opt+1, arg, 1, &o);
else if(opt[0] == 's')
ret = av_set_string3(avctx_opts[CODEC_TYPE_SUBTITLE], opt+1, arg, 1, &o);
ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_SUBTITLE], opt+1, arg, 1, &o);
}
if (o && ret < 0) {
fprintf(stderr, "Invalid value '%s' for option '%s'\n", arg, opt);
exit(1);
}
if(!o)
return -1;
if (!o) {
fprintf(stderr, "Unrecognized option '%s'\n", opt);
exit(1);
}
// av_log(NULL, AV_LOG_ERROR, "%s:%s: %f 0x%0X\n", opt, arg, av_get_double(avctx_opts, opt, NULL), (int)av_get_int(avctx_opts, opt, NULL));
// av_log(NULL, AV_LOG_ERROR, "%s:%s: %f 0x%0X\n", opt, arg, av_get_double(avcodec_opts, opt, NULL), (int)av_get_int(avcodec_opts, opt, NULL));
//FIXME we should always use avctx_opts, ... for storing options so there will not be any need to keep track of what i set over this
//FIXME we should always use avcodec_opts, ... for storing options so there will not be any need to keep track of what i set over this
opt_names= av_realloc(opt_names, sizeof(void*)*(opt_name_count+1));
opt_names[opt_name_count++]= o->name;
if(avctx_opts[0]->debug || avformat_opts->debug)
if(avcodec_opts[0]->debug || avformat_opts->debug)
av_log_set_level(AV_LOG_DEBUG);
return 0;
}
int opt_loglevel(const char *opt, const char *arg)
{
const struct { const char *name; int level; } log_levels[] = {
{ "quiet" , AV_LOG_QUIET },
{ "panic" , AV_LOG_PANIC },
{ "fatal" , AV_LOG_FATAL },
{ "error" , AV_LOG_ERROR },
{ "warning", AV_LOG_WARNING },
{ "info" , AV_LOG_INFO },
{ "verbose", AV_LOG_VERBOSE },
{ "debug" , AV_LOG_DEBUG },
};
char *tail;
int level;
int i;
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++) {
if (!strcmp(log_levels[i].name, arg)) {
av_log_set_level(log_levels[i].level);
return 0;
}
}
level = strtol(arg, &tail, 10);
if (*tail) {
fprintf(stderr, "Invalid loglevel \"%s\". "
"Possible levels are numbers or:\n", arg);
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++)
fprintf(stderr, "\"%s\"\n", log_levels[i].name);
exit(1);
}
av_log_set_level(level);
return 0;
}
int opt_timelimit(const char *opt, const char *arg)
{
#if HAVE_SETRLIMIT
int lim = parse_number_or_die(opt, arg, OPT_INT64, 0, INT_MAX);
struct rlimit rl = { lim, lim + 1 };
if (setrlimit(RLIMIT_CPU, &rl))
perror("setrlimit");
#else
fprintf(stderr, "Warning: -%s not implemented on this OS\n", opt);
#endif
return 0;
}
void set_context_opts(void *ctx, void *opts_ctx, int flags)
{
int i;
@@ -228,78 +291,69 @@ void set_context_opts(void *ctx, void *opts_ctx, int flags)
void print_error(const char *filename, int err)
{
switch(err) {
case AVERROR_NUMEXPECTED:
fprintf(stderr, "%s: Incorrect image filename syntax.\n"
"Use '%%d' to specify the image number:\n"
" for img1.jpg, img2.jpg, ..., use 'img%%d.jpg';\n"
" for img001.jpg, img002.jpg, ..., use 'img%%03d.jpg'.\n",
filename);
break;
case AVERROR_INVALIDDATA:
fprintf(stderr, "%s: Error while parsing header\n", filename);
break;
case AVERROR_NOFMT:
fprintf(stderr, "%s: Unknown format\n", filename);
break;
case AVERROR(EIO):
fprintf(stderr, "%s: I/O error occurred\n"
"Usually that means that input file is truncated and/or corrupted.\n",
filename);
break;
case AVERROR(ENOMEM):
fprintf(stderr, "%s: memory allocation error occurred\n", filename);
break;
case AVERROR(ENOENT):
fprintf(stderr, "%s: no such file or directory\n", filename);
break;
#if CONFIG_NETWORK
case AVERROR(FF_NETERROR(EPROTONOSUPPORT)):
fprintf(stderr, "%s: Unsupported network protocol\n", filename);
break;
#endif
default:
fprintf(stderr, "%s: Error while opening file\n", filename);
break;
}
char errbuf[128];
const char *errbuf_ptr = errbuf;
if (av_strerror(err, errbuf, sizeof(errbuf)) < 0)
errbuf_ptr = strerror(AVUNERROR(err));
fprintf(stderr, "%s: %s\n", filename, errbuf_ptr);
}
#define PRINT_LIB_VERSION(outstream,libname,LIBNAME,indent) \
version= libname##_version(); \
fprintf(outstream, "%slib%-10s %2d.%2d.%2d / %2d.%2d.%2d\n", indent? " " : "", #libname, \
LIB##LIBNAME##_VERSION_MAJOR, LIB##LIBNAME##_VERSION_MINOR, LIB##LIBNAME##_VERSION_MICRO, \
version >> 16, version >> 8 & 0xff, version & 0xff);
#define PRINT_LIB_VERSION(outstream,libname,LIBNAME,indent) \
if (CONFIG_##LIBNAME) { \
unsigned int version = libname##_version(); \
fprintf(outstream, "%slib%-10s %2d.%2d.%2d / %2d.%2d.%2d\n", \
indent? " " : "", #libname, \
LIB##LIBNAME##_VERSION_MAJOR, \
LIB##LIBNAME##_VERSION_MINOR, \
LIB##LIBNAME##_VERSION_MICRO, \
version >> 16, version >> 8 & 0xff, version & 0xff); \
}
static void print_all_lib_versions(FILE* outstream, int indent)
{
unsigned int version;
PRINT_LIB_VERSION(outstream, avutil, AVUTIL, indent);
PRINT_LIB_VERSION(outstream, avcodec, AVCODEC, indent);
PRINT_LIB_VERSION(outstream, avformat, AVFORMAT, indent);
PRINT_LIB_VERSION(outstream, avdevice, AVDEVICE, indent);
#if CONFIG_AVFILTER
PRINT_LIB_VERSION(outstream, avfilter, AVFILTER, indent);
#endif
#if CONFIG_SWSCALE
PRINT_LIB_VERSION(outstream, swscale, SWSCALE, indent);
#endif
#if CONFIG_POSTPROC
PRINT_LIB_VERSION(outstream, postproc, POSTPROC, indent);
#endif
}
static void maybe_print_config(const char *lib, const char *cfg)
{
static int warned_cfg;
if (strcmp(FFMPEG_CONFIGURATION, cfg)) {
if (!warned_cfg) {
fprintf(stderr, " WARNING: library configuration mismatch\n");
warned_cfg = 1;
}
fprintf(stderr, " %-11s configuration: %s\n", lib, cfg);
}
}
#define PRINT_LIB_CONFIG(lib, tag, cfg) do { \
if (CONFIG_##lib) \
maybe_print_config(tag, cfg); \
} while (0)
void show_banner(void)
{
fprintf(stderr, "%s version " FFMPEG_VERSION ", Copyright (c) %d-%d Fabrice Bellard, et al.\n",
fprintf(stderr, "%s version " FFMPEG_VERSION ", Copyright (c) %d-%d the FFmpeg developers\n",
program_name, program_birth_year, this_year);
fprintf(stderr, " built on %s %s with %s %s\n",
__DATE__, __TIME__, CC_TYPE, CC_VERSION);
fprintf(stderr, " configuration: " FFMPEG_CONFIGURATION "\n");
PRINT_LIB_CONFIG(AVUTIL, "libavutil", avutil_configuration());
PRINT_LIB_CONFIG(AVCODEC, "libavcodec", avcodec_configuration());
PRINT_LIB_CONFIG(AVFORMAT, "libavformat", avformat_configuration());
PRINT_LIB_CONFIG(AVDEVICE, "libavdevice", avdevice_configuration());
PRINT_LIB_CONFIG(AVFILTER, "libavfilter", avfilter_configuration());
PRINT_LIB_CONFIG(SWSCALE, "libswscale", swscale_configuration());
PRINT_LIB_CONFIG(POSTPROC, "libpostproc", postproc_configuration());
print_all_lib_versions(stderr, 1);
fprintf(stderr, " built on " __DATE__ " " __TIME__);
#ifdef __GNUC__
fprintf(stderr, ", gcc: " __VERSION__ "\n");
#else
fprintf(stderr, ", using a non-gcc compiler\n");
#endif
}
void show_version(void) {
@@ -376,16 +430,27 @@ void show_license(void)
);
}
void list_fmts(void (*get_fmt_string)(char *buf, int buf_size, int fmt), int nb_fmts)
{
int i;
char fmt_str[128];
for (i=-1; i < nb_fmts; i++) {
get_fmt_string (fmt_str, sizeof(fmt_str), i);
fprintf(stdout, "%s\n", fmt_str);
}
}
void show_formats(void)
{
AVInputFormat *ifmt=NULL;
AVOutputFormat *ofmt=NULL;
URLProtocol *up=NULL;
AVCodec *p=NULL, *p2;
AVBitStreamFilter *bsf=NULL;
const char *last_name;
printf("File formats:\n");
printf(
"File formats:\n"
" D. = Demuxing supported\n"
" .E = Muxing supported\n"
" --\n");
last_name= "000";
for(;;){
int decode=0;
@@ -422,9 +487,23 @@ void show_formats(void)
name,
long_name ? long_name:" ");
}
printf("\n");
}
printf("Codecs:\n");
void show_codecs(void)
{
AVCodec *p=NULL, *p2;
const char *last_name;
printf(
"Codecs:\n"
" D..... = Decoding supported\n"
" .E.... = Encoding supported\n"
" ..V... = Video codec\n"
" ..A... = Audio codec\n"
" ..S... = Subtitle codec\n"
" ...S.. = Supports draw_horiz_band\n"
" ....D. = Supports direct rendering method 1\n"
" .....T = Supports weird frame truncation\n"
" ------\n");
last_name= "000";
for(;;){
int decode=0;
@@ -450,13 +529,13 @@ void show_formats(void)
last_name= p2->name;
switch(p2->type) {
case CODEC_TYPE_VIDEO:
case AVMEDIA_TYPE_VIDEO:
type_str = "V";
break;
case CODEC_TYPE_AUDIO:
case AVMEDIA_TYPE_AUDIO:
type_str = "A";
break;
case CODEC_TYPE_SUBTITLE:
case AVMEDIA_TYPE_SUBTITLE:
type_str = "S";
break;
default:
@@ -478,19 +557,6 @@ void show_formats(void)
printf("\n");
}
printf("\n");
printf("Bitstream filters:\n");
while((bsf = av_bitstream_filter_next(bsf)))
printf(" %s", bsf->name);
printf("\n");
printf("Supported file protocols:\n");
while((up = av_protocol_next(up)))
printf(" %s:", up->name);
printf("\n");
printf("Frame size, frame rate abbreviations:\n ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif\n");
printf("\n");
printf(
"Note, the names of encoders and decoders do not always match, so there are\n"
"several cases where the above table shows encoder only or decoder only entries\n"
@@ -498,3 +564,101 @@ void show_formats(void)
"decoder corresponds to the h263 and h263p encoders, for file formats it is even\n"
"worse.\n");
}
void show_bsfs(void)
{
AVBitStreamFilter *bsf=NULL;
printf("Bitstream filters:\n");
while((bsf = av_bitstream_filter_next(bsf)))
printf("%s\n", bsf->name);
printf("\n");
}
void show_protocols(void)
{
URLProtocol *up=NULL;
printf("Supported file protocols:\n");
while((up = av_protocol_next(up)))
printf("%s\n", up->name);
}
void show_filters(void)
{
AVFilter av_unused(**filter) = NULL;
printf("Filters:\n");
#if CONFIG_AVFILTER
while ((filter = av_filter_next(filter)) && *filter)
printf("%-16s %s\n", (*filter)->name, (*filter)->description);
#endif
}
void show_pix_fmts(void)
{
enum PixelFormat pix_fmt;
printf(
"Pixel formats:\n"
"I.... = Supported Input format for conversion\n"
".O... = Supported Output format for conversion\n"
"..H.. = Hardware accelerated format\n"
"...P. = Paletted format\n"
"....B = Bitstream format\n"
"FLAGS NAME NB_COMPONENTS BITS_PER_PIXEL\n"
"-----\n");
#if !CONFIG_SWSCALE
# define sws_isSupportedInput(x) 0
# define sws_isSupportedOutput(x) 0
#endif
for (pix_fmt = 0; pix_fmt < PIX_FMT_NB; pix_fmt++) {
const AVPixFmtDescriptor *pix_desc = &av_pix_fmt_descriptors[pix_fmt];
printf("%c%c%c%c%c %-16s %d %2d\n",
sws_isSupportedInput (pix_fmt) ? 'I' : '.',
sws_isSupportedOutput(pix_fmt) ? 'O' : '.',
pix_desc->flags & PIX_FMT_HWACCEL ? 'H' : '.',
pix_desc->flags & PIX_FMT_PAL ? 'P' : '.',
pix_desc->flags & PIX_FMT_BITSTREAM ? 'B' : '.',
pix_desc->name,
pix_desc->nb_components,
av_get_bits_per_pixel(pix_desc));
}
}
int read_yesno(void)
{
int c = getchar();
int yesno = (toupper(c) == 'Y');
while (c != '\n' && c != EOF)
c = getchar();
return yesno;
}
int read_file(const char *filename, char **bufptr, size_t *size)
{
FILE *f = fopen(filename, "rb");
if (!f) {
fprintf(stderr, "Cannot read file '%s': %s\n", filename, strerror(errno));
return AVERROR(errno);
}
fseek(f, 0, SEEK_END);
*size = ftell(f);
fseek(f, 0, SEEK_SET);
*bufptr = av_malloc(*size + 1);
if (!*bufptr) {
fprintf(stderr, "Could not allocate file buffer\n");
fclose(f);
return AVERROR(ENOMEM);
}
fread(*bufptr, 1, *size, f);
(*bufptr)[*size++] = '\0';
fclose(f);
return 0;
}

View File

@@ -40,7 +40,7 @@ extern const int program_birth_year;
extern const int this_year;
extern const char **opt_names;
extern AVCodecContext *avctx_opts[CODEC_TYPE_NB];
extern AVCodecContext *avcodec_opts[AVMEDIA_TYPE_NB];
extern AVFormatContext *avformat_opts;
extern struct SwsContext *sws_opts;
@@ -50,6 +50,16 @@ extern struct SwsContext *sws_opts;
*/
int opt_default(const char *opt, const char *arg);
/**
* Sets the libav* libraries log level.
*/
int opt_loglevel(const char *opt, const char *arg);
/**
* Limit the execution time.
*/
int opt_timelimit(const char *opt, const char *arg);
/**
* Parses a string and returns its corresponding value as a double.
* Exits from the application if the string cannot be correctly
@@ -73,8 +83,8 @@ double parse_number_or_die(const char *context, const char *numstr, int type, do
* @param context the context of the value to be set (e.g. the
* corresponding commandline option name)
* @param timestr the string to be parsed
* @param is_duration a flag which tells how to interpret \p timestr, if
* not zero \p timestr is interpreted as a duration, otherwise as a
* @param is_duration a flag which tells how to interpret timestr, if
* not zero timestr is interpreted as a duration, otherwise as a
* date
*
* @see parse_date()
@@ -124,8 +134,19 @@ void parse_options(int argc, char **argv, const OptionDef *options,
void set_context_opts(void *ctx, void *opts_ctx, int flags);
/**
* Prints an error message to stderr, indicating filename and a human
* readable description of the error code err.
*
* If strerror_r() is not available the use of this function in a
* multithreaded application may be unsafe.
*
* @see av_strerror()
*/
void print_error(const char *filename, int err);
void list_fmts(void (*get_fmt_string)(char *buf, int buf_size, int fmt), int nb_fmts);
/**
* Prints the program banner to stderr. The banner contents depend on the
* current version of the repository and of the libav* libraries used by
@@ -152,4 +173,51 @@ void show_license(void);
*/
void show_formats(void);
/**
* Prints a listing containing all the codecs supported by the
* program.
*/
void show_codecs(void);
/**
* Prints a listing containing all the filters supported by the
* program.
*/
void show_filters(void);
/**
* Prints a listing containing all the bit stream filters supported by the
* program.
*/
void show_bsfs(void);
/**
* Prints a listing containing all the protocols supported by the
* program.
*/
void show_protocols(void);
/**
* Prints a listing containing all the pixel formats supported by the
* program.
*/
void show_pix_fmts(void);
/**
* Returns a positive value if reads from standard input a line
* starting with [yY], otherwise returns 0.
*/
int read_yesno(void);
/**
* Reads the file with name filename, and puts its content in a newly
* allocated 0-terminated buffer.
*
* @param bufptr puts here the pointer to the newly allocated buffer
* @param size puts here the size of the newly allocated buffer
* @return 0 in case of success, a negative value corresponding to an
* AVERROR error code in case of failure.
*/
int read_file(const char *filename, char **bufptr, size_t *size);
#endif /* FFMPEG_CMDUTILS_H */

13
cmdutils_common_opts.h Normal file
View File

@@ -0,0 +1,13 @@
{ "L", OPT_EXIT, {(void*)show_license}, "show license" },
{ "h", OPT_EXIT, {(void*)show_help}, "show help" },
{ "?", OPT_EXIT, {(void*)show_help}, "show help" },
{ "help", OPT_EXIT, {(void*)show_help}, "show help" },
{ "-help", OPT_EXIT, {(void*)show_help}, "show help" },
{ "version", OPT_EXIT, {(void*)show_version}, "show version" },
{ "formats" , OPT_EXIT, {(void*)show_formats }, "show available formats" },
{ "codecs" , OPT_EXIT, {(void*)show_codecs }, "show available codecs" },
{ "bsfs" , OPT_EXIT, {(void*)show_bsfs }, "show available bit stream filters" },
{ "protocols", OPT_EXIT, {(void*)show_protocols}, "show available protocols" },
{ "filters", OPT_EXIT, {(void*)show_filters }, "show available filters" },
{ "pix_fmts" , OPT_EXIT, {(void*)show_pix_fmts }, "show available pixel formats" },
{ "loglevel", HAS_ARG | OPT_FUNC2, {(void*)opt_loglevel}, "set libav* logging level", "loglevel" },

View File

@@ -2,12 +2,13 @@
# common bits used by all libraries
#
all: # make "all" default target
# first so "all" becomes default target
all: all-yes
ifndef SUBDIR
vpath %.c $(SRC_DIR)
vpath %.h $(SRC_DIR)
vpath %.S $(SRC_DIR)
vpath %.c $(SRC_DIR)
vpath %.h $(SRC_DIR)
vpath %.S $(SRC_DIR)
vpath %.asm $(SRC_DIR)
vpath %.v $(SRC_DIR)
@@ -17,101 +18,92 @@ else
BUILD_ROOT_REL = ..
endif
ifndef V
Q = @
ECHO = printf "$(1)\t%s\n" $(2)
BRIEF = CC AS YASM AR LD HOSTCC STRIP CP
SILENT = DEPCC YASMDEP RM RANLIB
MSG = $@
M = @$(call ECHO,$(TAG),$@);
$(foreach VAR,$(BRIEF), \
$(eval $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
$(foreach VAR,$(SILENT),$(eval $(VAR) = @$($(VAR))))
$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL))
endif
ALLFFLIBS = avcodec avdevice avfilter avformat avutil postproc swscale
CFLAGS := -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-I$(BUILD_ROOT_REL) -I$(SRC_PATH) $(OPTFLAGS)
CPPFLAGS := -I$(BUILD_ROOT_REL) -I$(SRC_PATH) $(CPPFLAGS)
CFLAGS += $(ECFLAGS)
%.o: %.c
$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
$(CCDEP)
$(CC) $(CPPFLAGS) $(CFLAGS) $(CC_DEPFLAGS) -c $(CC_O) $<
%.o: %.S
$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
$(ASDEP)
$(AS) $(CPPFLAGS) $(ASFLAGS) $(AS_DEPFLAGS) -c -o $@ $<
%.ho: %.h
$(CC) $(CFLAGS) $(LIBOBJFLAGS) -Wno-unused -c -o $@ -x c $<
%.d: %.c
$(DEPEND_CMD) > $@
%.d: %.S
$(DEPEND_CMD) > $@
%.d: %.cpp
$(DEPEND_CMD) > $@
%.o: %.d
$(CC) $(CPPFLAGS) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
%$(EXESUF): %.c
%.ver: %.v
sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
$(Q)sed 's/$$MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@
SVN_ENTRIES = $(SRC_PATH_BARE)/.svn/entries
ifeq ($(wildcard $(SVN_ENTRIES)),$(SVN_ENTRIES))
$(BUILD_ROOT_REL)/version.h: $(SVN_ENTRIES)
endif
$(BUILD_ROOT_REL)/version.h: $(SRC_PATH_BARE)/version.sh
$< $(SRC_PATH) $@ $(EXTRA_VERSION)
%.c %.h: TAG = GEN
install: install-libs install-headers
install-libs: install-libs-yes
uninstall: uninstall-libs uninstall-headers
.PHONY: all depend dep clean distclean install* uninstall* tests
.PHONY: all depend dep *clean install* uninstall* examples testprogs
# Disable suffix rules. Most of the builtin rules are suffix rules,
# so this saves some time on slow systems.
.SUFFIXES:
# Do not delete intermediate files from chains of implicit rules
$(OBJS):
endif
CFLAGS += $(CFLAGS-yes)
OBJS += $(OBJS-yes)
FFLIBS := $(FFLIBS-yes) $(FFLIBS)
TESTS += $(TESTS-yes)
OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes)
CFLAGS += $(CFLAGS-yes)
OBJS += $(OBJS-yes)
FFLIBS := $(FFLIBS-yes) $(FFLIBS)
TESTPROGS += $(TESTPROGS-yes)
FFEXTRALIBS := $(addprefix -l,$(addsuffix $(BUILDSUF),$(FFLIBS))) $(EXTRALIBS)
FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(FFLIBS)) $(LDFLAGS)
FFLDFLAGS := $(addprefix -L$(BUILD_ROOT)/lib,$(ALLFFLIBS)) $(LDFLAGS)
OBJS := $(addprefix $(SUBDIR),$(OBJS))
TESTS := $(addprefix $(SUBDIR),$(TESTS))
EXAMPLES := $(addprefix $(SUBDIR),$(addsuffix -example$(EXESUF),$(EXAMPLES)))
OBJS := $(addprefix $(SUBDIR),$(sort $(OBJS)))
TESTOBJS := $(addprefix $(SUBDIR),$(TESTOBJS))
TESTPROGS := $(addprefix $(SUBDIR),$(addsuffix -test$(EXESUF),$(TESTPROGS)))
HOSTOBJS := $(addprefix $(SUBDIR),$(addsuffix .o,$(HOSTPROGS)))
HOSTPROGS := $(addprefix $(SUBDIR),$(addsuffix $(HOSTEXESUF),$(HOSTPROGS)))
DEP_LIBS:=$(foreach NAME,$(FFLIBS),lib$(NAME)/$($(BUILD_SHARED:yes=S)LIBNAME))
DEP_LIBS := $(foreach NAME,$(FFLIBS),$(BUILD_ROOT_REL)/lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h))
checkheaders: $(filter-out %_template.ho,$(ALLHEADERS:.h=.ho))
SKIPHEADERS += $(addprefix $(ARCH)/,$(ARCH_HEADERS))
SKIPHEADERS := $(addprefix $(SUBDIR),$(SKIPHEADERS-) $(SKIPHEADERS))
checkheaders: $(filter-out $(SKIPHEADERS:.h=.ho),$(ALLHEADERS:.h=.ho))
$(HOSTOBJS): %.o: %.c
$(HOSTCC) $(HOSTCFLAGS) -c -o $@ $<
$(HOSTPROGS): %$(HOSTEXESUF): %.o
$(HOSTCC) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS)
DEPS := $(OBJS:.o=.d)
depend dep: $(DEPS)
CLEANSUFFIXES = *.o *~ *.ho *.ver
LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp *.map
DISTCLEANSUFFIXES = *.d *.pc
CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver
DISTCLEANSUFFIXES = *.pc
LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp
define RULES
$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o
$(CC) $(FFLDFLAGS) -o $$@ $$^ $(SUBDIR)$(LIBNAME) $(FFEXTRALIBS)
$(SUBDIR)%-test.o: $(SUBDIR)%.c
$(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
$(SUBDIR)%-test.o: $(SUBDIR)%-test.c
$(CC) $(CFLAGS) -DTEST -c -o $$@ $$^
$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm
$(YASM) $(YASMFLAGS) -I $$(<D)/ -o $$@ $$<
$(SUBDIR)x86/%.d: $(SUBDIR)x86/%.asm
$(YASM) $(YASMFLAGS) -I $$(<D)/ -M -o $$(@:%.d=%.o) $$< > $$@
clean::
rm -f $(TESTS) $(addprefix $(SUBDIR),$(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \
$(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
distclean:: clean
rm -f $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \
$(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS))))
endef
$(eval $(RULES))
tests: $(TESTS)
-include $(DEPS)
-include $(wildcard $(DEPS))

2346
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +1,229 @@
20090601 - r19025 - lavc 52.30.0 - av_lockmgr_register()
Never assume the API of libav* to be stable unless at least 1 week has passed since
the last major version increase.
The last version increases were:
libavcodec: ?
libavdevice: ?
libavfilter: 2009-10-18
libavformat: ?
libpostproc: ?
libswscale: ?
libavutil: 2009-03-08
API changes, most recent first:
2010-06-01 - r31301 - lsws 0.11.0 - convertPalette API
Add sws_convertPalette8ToPacked32 and sws_convertPalette8ToPacked24
2010-05-26 - r23334 - lavc 52.72.0 - CODEC_CAP_EXPERIMENTAL
Add CODEC_CAP_EXPERIMENTAL flag.
2010-05-18 - r23161 - lavf 52.63.0 - AVFMT_FLAG_RTP_HINT
Add AVFMT_FLAG_RTP_HINT as possible value for AVFormatContext.flags
2010-05-01 - r23002 - lavf 52.62.0 - probe function
Add av_probe_input_format2 to API, it allows ignoring probe
results below given score and returns the actual probe score.
2010-04-01 - r22806 - lavf 52.61.0 - metadata API
Add a flag for av_metadata_set2() to disable overwriting of
existing tags.
2010-04-01 - r22753 - lavc 52.66.0
Add avcodec_get_edge_width()
2010-03-31 - r22750 - lavc 52.65.0
Add avcodec_copy_context().
2010-03-31 - r22748 - lavf 52.60.0 - av_match_ext()
Make av_match_ext() public.
2010-03-31 - r22736 - lavu 50.14.0 - AVMediaType
Move AVMediaType enum from libavcodec to libavutil.
2010-03-31 - r22735 - lavc 52.64.0 - AVMediaType
Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.
2010-03-25 - r22684 - lavu 50.13.0 - av_strerror()
Implement av_strerror().
2010-03-23 - r22649 - lavc 52.60.0 - av_dct_init()
Support DCT-I and DST-I
2010-03-15 - r22540 - lavf 52.56.0 - AVFormatContext.start_time_realtime
Add AVFormatContext.start_time_realtime field.
2010-03-13 - r22506 - lavfi 1.18.0 - AVFilterPicRef.pos
Add AVFilterPicRef.pos field.
2010-03-13 - r22501 - lavu 50.12.0 - error.h
Move error code definitions from libavcodec/avcodec.h to
the new public header libavutil/error.h.
2010-03-07 - r22291 - lavc 52.56.0 - avfft.h
Add public FFT interface.
2010-03-06 - r22251 - lavu 50.11.0 - av_stristr()
Add av_stristr().
2010-03-03 - r22174 - lavu 50.10.0 - av_tree_enumerate()
Add av_tree_enumerate().
2010-02-07 - r21673 - lavu 50.9.0 - av_compare_ts()
Add av_compare_ts().
2010-02-05 - r30513 - lsws 0.10.0 - sws_getCoefficients()
Add sws_getCoefficients().
2010-02-01 - r21587 - lavf 52.50.0 - metadata API
Add a list of generic tag names, change 'author' -> 'artist',
'year' -> 'date'.
2010-01-30 - r21545 - lavu 50.8.0 - av_get_pix_fmt()
Add av_get_pix_fmt().
2010-01-21 - r30381 - lsws 0.9.0 - sws_scale
Change constness attributes of sws_scale() parameters.
2010-01-10 - r21121 - lavfi 1.15.0 - avfilter_graph_config_links()
Add a log_ctx parameter to avfilter_graph_config_links().
2010-01-07 - r30236 - lsws 0.8.0 - sws_isSupported{In,Out}put
Add sws_isSupportedInput() and sws_isSupportedOutput() functions.
2010-01-06 - r21035 - lavfi 1.14.0 - avfilter_add_colorspace()
Change the avfilter_add_colorspace() signature, make it accept an
(AVFilterFormats **) rather than an (AVFilterFormats *) as before.
2010-01-03 - r21007 - lavfi 1.13.0 - avfilter_add_colorspace()
Add avfilter_add_colorspace().
2010-01-02 - r20998 - lavf 52.46.0 - av_match_ext()
Add av_match_ext(), it should be used in place of match_ext().
2010-01-01 - r20991 - lavf 52.45.0 - av_guess_format()
Add av_guess_format(), it should be used in place of guess_format().
2009-12-13 - r20834 - lavf 52.43.0 - metadata API
Add av_metadata_set2(), AV_METADATA_DONT_STRDUP_KEY and AV_METADATA_DONT_STRDUP_VAL.
2009-12-13 - r20829 - lavu 50.7.0 - avstring.h API
Add av_d2str().
2009-12-13 - r20826 - lavc 52.42.0 - AVStream
Add avg_frame_rate.
2009-12-12 - r20808 - lavu 50.6.0 - av_bmg_next()
Introduce the av_bmg_next() function.
2009-12-05 - r20734 - lavfi 1.12.0 - avfilter_draw_slice()
Add a slice_dir parameter to avfilter_draw_slice().
2009-11-26 - r20611 - lavfi 1.11.0 - AVFilter
Remove the next field from AVFilter, this is not anymore required.
2009-11-25 - r20607 - lavfi 1.10.0 - avfilter_next()
Introduce the avfilter_next() function.
2009-11-25 - r20605 - lavfi 1.9.0 - avfilter_register()
Change the signature of avfilter_register() to make it return an
int. This is required since now the registration operation may fail.
2009-11-25 - r20603 - lavu 50.5.0 - pixdesc.h API
Make the pixdesc.h API public.
2009-10-27 - r20385 - lavfi 1.5.0 - AVFilter.next
Add a next field to AVFilter, this is used for simplifying the
registration and management of the registered filters.
2009-10-23 - r20356 - lavfi 1.4.1 - AVFilter.description
Add a description field to AVFilter.
2009-10-19 - r20302 - lavfi 1.3.0 - avfilter_make_format_list()
Change the interface of avfilter_make_format_list() from
avfilter_make_format_list(int n, ...) to
avfilter_make_format_list(enum PixelFormat *pix_fmts).
2009-10-18 - r20272 - lavfi 1.0.0 - avfilter_get_video_buffer()
Make avfilter_get_video_buffer() recursive and add the w and h
parameters to it.
2009-10-07 - r20189 - lavfi 0.5.1 - AVFilterPic
Add w and h fields to AVFilterPic.
2009-06-22 - r19250 - lavf 52.34.1 - AVFormatContext.packet_size
This is now an unsigned int instead of a signed int.
2009-06-19 - r19222 - lavc 52.32.0 - AVSubtitle.pts
Add a pts field to AVSubtitle which gives the subtitle packet pts
in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
not work right without this.
2009-06-03 - r19078 - lavc 52.30.2 - AV_PKT_FLAG_KEY
PKT_FLAG_KEY has been deprecated and will be dropped at the next
major version. Use AV_PKT_FLAG_KEY instead.
2009-06-01 - r19025 - lavc 52.30.0 - av_lockmgr_register()
av_lockmgr_register() can be used to register a callback function
that lavc (and in the future, libraries that depend on lavc) can use
to implement mutexes. The application should provide a callback function
the implements the AV_LOCK_* operations described in avcodec.h.
When the lock manager is registered FFmpeg is guaranteed to behave
correct also in a multi-threaded application.
that implements the AV_LOCK_* operations described in avcodec.h.
When the lock manager is registered, FFmpeg is guaranteed to behave
correctly in a multi-threaded application.
20090301 - r17682 - lavf 52.31.0 - Generic metadata API
This version introduce a new metadata API (see av_metadata_get() and friends).
The old API is now deprecated and shouldn't be used anymore. This especially
include the following structure fields:
2009-04-30 - r18719 - lavc 52.28.0 - av_free_packet
av_free_packet() is no longer an inline function. It is now exported.
2009-04-11 - r18431 - lavc 52.25.0 - deprecate av_destruct_packet_nofree
Please use NULL instead. This has been supported since r16506
(lavf > 52.23.1, lavc > 52.10.0).
2009-04-07 - r18351 - lavc 52.23.0 - avcodec_decode_video/audio/subtitle
The old decoding functions are deprecated, all new code should use the
new functions avcodec_decode_video2(), avcodec_decode_audio3() and
avcodec_decode_subtitle2(). These new functions take an AVPacket *pkt
argument instead of a const uint8_t *buf / int buf_size pair.
2009-04-03 - r18321 - lavu 50.3.0 - av_fifo_space
Introduce the av_fifo_space() function.
2009-04-02 - r18317 - lavc 52.23.0 - AVPacket
Move AVPacket declaration from libavformat/avformat.h to
libavcodec/avcodec.h.
2009-03-22 - r18163 - lavu 50.2.0 - RGB32 pixel formats
Convert the pixel formats PIX_FMT_ARGB, PIX_FMT_RGBA, PIX_FMT_ABGR,
PIX_FMT_BGRA, which were defined as macros, into enum PixelFormat values.
Conversely PIX_FMT_RGB32, PIX_FMT_RGB32_1, PIX_FMT_BGR32 and
PIX_FMT_BGR32_1 are now macros.
avcodec_get_pix_fmt() now recognizes the "rgb32" and "bgr32" aliases.
Re-sort the enum PixelFormat list accordingly.
This change breaks API/ABI backward compatibility.
2009-03-22 - r18133 - lavu 50.1.0 - PIX_FMT_RGB5X5 endian variants
Add the enum PixelFormat values:
PIX_FMT_RGB565BE, PIX_FMT_RGB565LE, PIX_FMT_RGB555BE, PIX_FMT_RGB555LE,
PIX_FMT_BGR565BE, PIX_FMT_BGR565LE, PIX_FMT_BGR555BE, PIX_FMT_BGR555LE.
2009-03-21 - r18116 - lavu 50.0.0 - av_random*
The Mersenne Twister PRNG implemented through the av_random* functions
was removed. Use the lagged Fibonacci PRNG through the av_lfg* functions
instead.
2009-03-08 - r17869 - lavu 50.0.0 - AVFifoBuffer
av_fifo_init, av_fifo_read, av_fifo_write and av_fifo_realloc were dropped
and replaced by av_fifo_alloc, av_fifo_generic_read, av_fifo_generic_write
and av_fifo_realloc2.
In addition, the order of the function arguments of av_fifo_generic_read
was changed to match av_fifo_generic_write.
The AVFifoBuffer/struct AVFifoBuffer may only be used in an opaque way by
applications, they may not use sizeof() or directly access members.
2009-03-01 - r17682 - lavf 52.31.0 - Generic metadata API
Introduce a new metadata API (see av_metadata_get() and friends).
The old API is now deprecated and should not be used anymore. This especially
includes the following structure fields:
- AVFormatContext.title
- AVFormatContext.author
- AVFormatContext.copyright

436
doc/developer.texi Normal file
View File

@@ -0,0 +1,436 @@
\input texinfo @c -*- texinfo -*-
@settitle Developer Documentation
@titlepage
@sp 7
@center @titlefont{Developer Documentation}
@sp 3
@end titlepage
@chapter Developers Guide
@section API
@itemize @bullet
@item libavcodec is the library containing the codecs (both encoding and
decoding). Look at @file{libavcodec/apiexample.c} to see how to use it.
@item libavformat is the library containing the file format handling (mux and
demux code for several formats). Look at @file{ffplay.c} to use it in a
player. See @file{libavformat/output-example.c} to use it to generate
audio or video streams.
@end itemize
@section Integrating libavcodec or libavformat in your program
You can integrate all the source code of the libraries to link them
statically to avoid any version problem. All you need is to provide a
'config.mak' and a 'config.h' in the parent directory. See the defines
generated by ./configure to understand what is needed.
You can use libavcodec or libavformat in your commercial program, but
@emph{any patch you make must be published}. The best way to proceed is
to send your patches to the FFmpeg mailing list.
@anchor{Coding Rules}
@section Coding Rules
FFmpeg is programmed in the ISO C90 language with a few additional
features from ISO C99, namely:
@itemize @bullet
@item
the @samp{inline} keyword;
@item
@samp{//} comments;
@item
designated struct initializers (@samp{struct s x = @{ .i = 17 @};})
@item
compound literals (@samp{x = (struct s) @{ 17, 23 @};})
@end itemize
These features are supported by all compilers we care about, so we will not
accept patches to remove their use unless they absolutely do not impair
clarity and performance.
All code must compile with GCC 2.95 and GCC 3.3. Currently, FFmpeg also
compiles with several other compilers, such as the Compaq ccc compiler
or Sun Studio 9, and we would like to keep it that way unless it would
be exceedingly involved. To ensure compatibility, please do not use any
additional C99 features or GCC extensions. Especially watch out for:
@itemize @bullet
@item
mixing statements and declarations;
@item
@samp{long long} (use @samp{int64_t} instead);
@item
@samp{__attribute__} not protected by @samp{#ifdef __GNUC__} or similar;
@item
GCC statement expressions (@samp{(x = (@{ int y = 4; y; @})}).
@end itemize
Indent size is 4.
The presentation is one inspired by 'indent -i4 -kr -nut'.
The TAB character is forbidden outside of Makefiles as is any
form of trailing whitespace. Commits containing either will be
rejected by the Subversion repository.
The main priority in FFmpeg is simplicity and small code size in order to
minimize the bug count.
Comments: Use the JavaDoc/Doxygen
format (see examples below) so that code documentation
can be generated automatically. All nontrivial functions should have a comment
above them explaining what the function does, even if it is just one sentence.
All structures and their member variables should be documented, too.
@example
/**
* @@file mpeg.c
* MPEG codec.
* @@author ...
*/
/**
* Summary sentence.
* more text ...
* ...
*/
typedef struct Foobar@{
int var1; /**< var1 description */
int var2; ///< var2 description
/** var3 description */
int var3;
@} Foobar;
/**
* Summary sentence.
* more text ...
* ...
* @@param my_parameter description of my_parameter
* @@return return value description
*/
int myfunc(int my_parameter)
...
@end example
fprintf and printf are forbidden in libavformat and libavcodec,
please use av_log() instead.
Casts should be used only when necessary. Unneeded parentheses
should also be avoided if they don't make the code easier to understand.
@section Development Policy
@enumerate
@item
Contributions should be licensed under the LGPL 2.1, including an
"or any later version" clause, or the MIT license. GPL 2 including
an "or any later version" clause is also acceptable, but LGPL is
preferred.
@item
You must not commit code which breaks FFmpeg! (Meaning unfinished but
enabled code which breaks compilation or compiles but does not work or
breaks the regression tests)
You can commit unfinished stuff (for testing etc), but it must be disabled
(#ifdef etc) by default so it does not interfere with other developers'
work.
@item
You do not have to over-test things. If it works for you, and you think it
should work for others, then commit. If your code has problems
(portability, triggers compiler bugs, unusual environment etc) they will be
reported and eventually fixed.
@item
Do not commit unrelated changes together, split them into self-contained
pieces. Also do not forget that if part B depends on part A, but A does not
depend on B, then A can and should be committed first and separate from B.
Keeping changes well split into self-contained parts makes reviewing and
understanding them on the commit log mailing list easier. This also helps
in case of debugging later on.
Also if you have doubts about splitting or not splitting, do not hesitate to
ask/discuss it on the developer mailing list.
@item
Do not change behavior of the program (renaming options etc) without
first discussing it on the ffmpeg-devel mailing list. Do not remove
functionality from the code. Just improve!
Note: Redundant code can be removed.
@item
Do not commit changes to the build system (Makefiles, configure script)
which change behavior, defaults etc, without asking first. The same
applies to compiler warning fixes, trivial looking fixes and to code
maintained by other developers. We usually have a reason for doing things
the way we do. Send your changes as patches to the ffmpeg-devel mailing
list, and if the code maintainers say OK, you may commit. This does not
apply to files you wrote and/or maintain.
@item
We refuse source indentation and other cosmetic changes if they are mixed
with functional changes, such commits will be rejected and removed. Every
developer has his own indentation style, you should not change it. Of course
if you (re)write something, you can use your own style, even though we would
prefer if the indentation throughout FFmpeg was consistent (Many projects
force a given indentation style - we do not.). If you really need to make
indentation changes (try to avoid this), separate them strictly from real
changes.
NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code,
then either do NOT change the indentation of the inner part within (do not
move it to the right)! or do so in a separate commit
@item
Always fill out the commit log message. Describe in a few lines what you
changed and why. You can refer to mailing list postings if you fix a
particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
@item
If you apply a patch by someone else, include the name and email address in
the log message. Since the ffmpeg-cvslog mailing list is publicly
archived you should add some SPAM protection to the email address. Send an
answer to ffmpeg-devel (or wherever you got the patch from) saying that
you applied the patch.
@item
When applying patches that have been discussed (at length) on the mailing
list, reference the thread in the log message.
@item
Do NOT commit to code actively maintained by others without permission.
Send a patch to ffmpeg-devel instead. If no one answers within a reasonable
timeframe (12h for build failures and security fixes, 3 days small changes,
1 week for big patches) then commit your patch if you think it is OK.
Also note, the maintainer can simply ask for more time to review!
@item
Subscribe to the ffmpeg-cvslog mailing list. The diffs of all commits
are sent there and reviewed by all the other developers. Bugs and possible
improvements or general questions regarding commits are discussed there. We
expect you to react if problems with your code are uncovered.
@item
Update the documentation if you change behavior or add features. If you are
unsure how best to do this, send a patch to ffmpeg-devel, the documentation
maintainer(s) will review and commit your stuff.
@item
Try to keep important discussions and requests (also) on the public
developer mailing list, so that all developers can benefit from them.
@item
Never write to unallocated memory, never write over the end of arrays,
always check values read from some untrusted source before using them
as array index or other risky things.
@item
Remember to check if you need to bump versions for the specific libav
parts (libavutil, libavcodec, libavformat) you are changing. You need
to change the version integer.
Incrementing the first component means no backward compatibility to
previous versions (e.g. removal of a function from the public API).
Incrementing the second component means backward compatible change
(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).
@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
be disabled, not the code changed.
Thus the remaining warnings can either be bugs or correct code.
If it is a bug, the bug has to be fixed. If it is not, the code should
be changed to not generate a warning unless that causes a slowdown
or obfuscates the code.
@item
If you add a new file, give it a proper license header. Do not copy and
paste it from a random place, use an existing file as template.
@end enumerate
We think our rules are not too hard. If you have comments, contact us.
Note, these rules are mostly borrowed from the MPlayer project.
@section Submitting patches
First, (@pxref{Coding Rules}) above if you did not yet.
When you submit your patch, try to send a unified diff (diff '-up'
option). We cannot read other diffs :-)
Also please do not submit a patch which contains several unrelated changes.
Split it into separate, self-contained pieces. This does not mean splitting
file by file. Instead, make the patch as small as possible while still
keeping it as a logical unit that contains an individual change, even
if it spans multiple files. This makes reviewing your patches much easier
for us and greatly increases your chances of getting your patch applied.
Use the patcheck tool of FFmpeg to check your patch.
The tool is located in the tools directory.
Run the regression tests before submitting a patch so that you can
verify that there are no big problems.
Patches should be posted as base64 encoded attachments (or any other
encoding which ensures that the patch will not be trashed during
transmission) to the ffmpeg-devel mailing list, see
@url{http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel}
It also helps quite a bit if you tell us what the patch does (for example
'replaces lrint by lrintf'), and why (for example '*BSD isn't C99 compliant
and has no lrint()')
Also please if you send several patches, send each patch as a separate mail,
do not attach several unrelated patches to the same mail.
Your patch will be reviewed on the mailing list. You will likely be asked
to make some changes and are expected to send in an improved version that
incorporates the requests from the review. This process may go through
several iterations. Once your patch is deemed good enough, some developer
will pick it up and commit it to the official FFmpeg tree.
Give us a few days to react. But if some time passes without reaction,
send a reminder by email. Your patch should eventually be dealt with.
@section New codecs or formats checklist
@enumerate
@item
Did you use av_cold for codec initialization and close functions?
@item
Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
AVInputFormat/AVOutputFormat struct?
@item
Did you bump the minor version number in @file{avcodec.h} or
@file{avformat.h}?
@item
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
@item
Did you add the CodecID to @file{avcodec.h}?
@item
If it has a fourcc, did you add it to @file{libavformat/riff.c},
even if it is only a decoder?
@item
Did you add a rule to compile the appropriate files in the Makefile?
Remember to do this even if you're just adding a format to a file that is
already being compiled by some other rule, like a raw demuxer.
@item
Did you add an entry to the table of supported formats or codecs in
@file{doc/general.texi}?
@item
Did you add an entry in the Changelog?
@item
If it depends on a parser or a library, did you add that dependency in
configure?
@item
Did you "svn add" the appropriate files before commiting?
@end enumerate
@section patch submission checklist
@enumerate
@item
Do the regression tests pass with the patch applied?
@item
Does @code{make checkheaders} pass with the patch applied?
@item
Is the patch a unified diff?
@item
Is the patch against latest FFmpeg SVN?
@item
Are you subscribed to ffmpeg-dev?
(the list is subscribers only due to spam)
@item
Have you checked that the changes are minimal, so that the same cannot be
achieved with a smaller patch and/or simpler final code?
@item
If the change is to speed critical code, did you benchmark it?
@item
If you did any benchmarks, did you provide them in the mail?
@item
Have you checked that the patch does not introduce buffer overflows or
other security issues?
@item
Did you test your decoder or demuxer against damaged data? If no, see
tools/trasher and the noise bitstream filter. Your decoder or demuxer
should not crash or end in a (near) infinite loop when fed damaged data.
@item
Is the patch created from the root of the source tree, so it can be
applied with @code{patch -p0}?
@item
Does the patch not mix functional and cosmetic changes?
@item
Did you add tabs or trailing whitespace to the code? Both are forbidden.
@item
Is the patch attached to the email you send?
@item
Is the mime type of the patch correct? It should be text/x-diff or
text/x-patch or at least text/plain and not application/octet-stream.
@item
If the patch fixes a bug, did you provide a verbose analysis of the bug?
@item
If the patch fixes a bug, did you provide enough information, including
a sample, so the bug can be reproduced and the fix can be verified?
Note please do not attach samples >100k to mails but rather provide a
URL, you can upload to ftp://upload.ffmpeg.org
@item
Did you provide a verbose summary about what the patch does change?
@item
Did you provide a verbose explanation why it changes things like it does?
@item
Did you provide a verbose summary of the user visible advantages and
disadvantages if the patch is applied?
@item
Did you provide an example so we can verify the new feature added by the
patch easily?
@item
If you added a new file, did you insert a license header? It should be
taken from FFmpeg, not randomly copied and pasted from somewhere else.
@item
You should maintain alphabetical order in alphabetically ordered lists as
long as doing so does not break API/ABI compatibility.
@item
Lines with similar content should be aligned vertically when doing so
improves readability.
@item
Did you provide a suggestion for a clear commit log message?
@end enumerate
@section Patch review process
All patches posted to ffmpeg-devel will be reviewed, unless they contain a
clear note that the patch is not for SVN.
Reviews and comments will be posted as replies to the patch on the
mailing list. The patch submitter then has to take care of every comment,
that can be by resubmitting a changed patch or by discussion. Resubmitted
patches will themselves be reviewed like any other patch. If at some point
a patch passes review with no comments then it is approved, that can for
simple and small patches happen immediately while large patches will generally
have to be changed and reviewed many times before they are approved.
After a patch is approved it will be committed to the repository.
We will review all submitted patches, but sometimes we are quite busy so
especially for large patches this can take several weeks.
When resubmitting patches, please do not make any significant changes
not related to the comments received during review. Such patches will
be rejected. Instead, submit significant changes or new features as
separate patches.
@section Regression tests
Before submitting a patch (or committing to the repository), you should at least
test that you did not break anything.
The regression tests build a synthetic video stream and a synthetic
audio stream. These are then encoded and decoded with all codecs or
formats. The CRC (or MD5) of each generated file is recorded in a
result file. A 'diff' is launched to compare the reference results and
the result file. The output is checked immediately after each test
has run.
The regression tests then go on to test the FFserver code with a
limited set of streams. It is important that this step runs correctly
as well.
Run 'make test' to test all the codecs and formats. Commands like
'make regtest-mpeg2' can be used to run a single test. By default,
make will abort if any test fails. To run all tests regardless,
use make -k. To get a more verbose output, use 'make V=1 test' or
'make V=2 test'.
Run 'make fulltest' to test all the codecs, formats and FFserver.
[Of course, some patches may change the results of the regression tests. In
this case, the reference results of the regression tests shall be modified
accordingly].
@bye

View File

@@ -138,6 +138,25 @@ Notice that @samp{%d} is replaced by the image number.
@file{img%03d.jpg} means the sequence @file{img001.jpg}, @file{img002.jpg}, etc...
If you have large number of pictures to rename, you can use the
following command to ease the burden. The command, using the bourne
shell syntax, symbolically links all files in the current directory
that match @code{*jpg} to the @file{/tmp} directory in the sequence of
@file{img001.jpg}, @file{img002.jpg} and so on.
@example
x=1; for i in *jpg; do counter=$(printf %03d $x); ln "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done
@end example
If you want to sequence them by oldest modified first, substitute
@code{$(ls -r -t *jpg)} in place of @code{*jpg}.
Then run:
@example
ffmpeg -f image2 -i /tmp/img%03d.jpg /tmp/a.mpg
@end example
The same logic is used for any image format that ffmpeg reads.
@section How do I encode movie to single pictures?
@@ -176,14 +195,6 @@ quite logical that there is a small reduction of quality. This is not a bug.
Use @file{-} as file name.
@section Why does FFmpeg not decode audio in VOB files?
The audio is AC-3 (a.k.a. A/52). AC-3 decoding is an optional component in FFmpeg
as the component that handles AC-3 decoding is currently released under the GPL.
Enable AC-3 decoding with @code{./configure --enable-gpl}. Take care: By
enabling AC-3, you automatically change the license of libavcodec from
LGPL to GPL.
@section Why does the chrominance data seem to be sampled at a different time from the luminance data on bt8x8 captures on Linux?
This is a well-known bug in the bt8x8 driver. For 2.4.26 there is a patch at
@@ -226,7 +237,7 @@ default.
@item non-working stuff
B-frames
@item example command line
ffmpeg -i input -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv -trellis 2 -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X output.mp4
ffmpeg -i input -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv -trellis 2 -aic 2 -cmp 2 -subcmp 2 -s 320x180 -metadata title=X output.mp4
@end table
@section How do I encode videos which play on the PSP?
@@ -239,7 +250,7 @@ ffmpeg -i input -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags
@item non-working stuff
B-frames
@item example command line
ffmpeg -i input -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -ar 24000 -mbd 2 -flags +4mv -trellis 2 -aic 2 -cmp 2 -subcmp 2 -s 368x192 -r 30000/1001 -title X -f psp output.mp4
ffmpeg -i input -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -ar 24000 -mbd 2 -flags +4mv -trellis 2 -aic 2 -cmp 2 -subcmp 2 -s 368x192 -r 30000/1001 -metadata title=X -f psp output.mp4
@item needed stuff for H.264
-acodec libfaac -vcodec libx264 width*height<=76800 width%16=0? height%16=0? -ar 48000 -coder 1 -r 30000/1001 or 15000/1001 -f psp
@item working stuff for H.264
@@ -247,7 +258,7 @@ title, loop filter
@item non-working stuff for H.264
CAVLC
@item example command line
ffmpeg -i input -acodec libfaac -ab 128kb -vcodec libx264 -b 1200kb -ar 48000 -mbd 2 -coder 1 -cmp 2 -subcmp 2 -s 368x192 -r 30000/1001 -title X -f psp -flags loop -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 output.mp4
ffmpeg -i input -acodec libfaac -ab 128kb -vcodec libx264 -b 1200kb -ar 48000 -mbd 2 -coder 1 -cmp 2 -subcmp 2 -s 368x192 -r 30000/1001 -metadata title=X -f psp -flags loop -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 output.mp4
@item higher resolution for newer PSP firmwares, width<=480, height<=272
-vcodec libx264 -level 21 -coder 1 -f psp
@item example command line
@@ -324,6 +335,10 @@ ffmpeg -f mpeg -i - -sameq -vcodec mpeg4 -acodec libmp3lame output.avi
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
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:
@@ -337,7 +352,7 @@ mkfifo all.v
ffmpeg -i input1.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > temp1.a < /dev/null &
ffmpeg -i input2.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 - > temp2.a < /dev/null &
ffmpeg -i input1.flv -an -f yuv4mpegpipe - > temp1.v < /dev/null &
ffmpeg -i input2.flv -an -f yuv4mpegpipe - > temp2.v < /dev/null &
@{ ffmpeg -i input2.flv -an -f yuv4mpegpipe - < /dev/null | tail -n +2 > temp2.v ; @} &
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 \

View File

@@ -222,36 +222,12 @@ specified for the inputs.
@c man end
@c man begin OPTIONS
@include fftools-common-opts.texi
@section Main options
@table @option
@item -L
Show license.
@item -h
Show help.
@item -version
Show version.
@item -formats
Show available formats, codecs, bitstream filters, protocols, and frame size and frame rate abbreviations.
The fields preceding the format and 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
@item -f @var{fmt}
Force format.
@@ -347,6 +323,8 @@ The following abbreviations are recognized:
352x288
@item 4cif
704x576
@item 16cif
1408x1152
@item qqvga
160x120
@item qvga
@@ -469,6 +447,9 @@ stream.
@item -newvideo
Add a new video stream to the current output stream.
@item -vlang @var{code}
Set the ISO 639 language code (3 letters) of the current video stream.
@end table
@section Advanced Video Options
@@ -478,7 +459,7 @@ Add a new video stream to the current output stream.
Set pixel format. Use 'list' as parameter to show all the supported
pixel formats.
@item -sws_flags @var{flags}
Set SwScaler flags (only available when compiled with swscale support).
Set SwScaler flags.
@item -g @var{gop_size}
Set the group of pictures size.
@item -intra
@@ -653,9 +634,6 @@ Calculate PSNR of compressed frames.
Dump video coding statistics to @file{vstats_HHMMSS.log}.
@item -vstats_file @var{file}
Dump video coding statistics to @var{file}.
@item -vhook @var{module}
Insert video processing @var{module}. @var{module} contains the module
name and its parameters separated by spaces.
@item -top @var{n}
top=1/bottom=0/auto=-1 field first
@item -dc @var{precision}
@@ -756,7 +734,10 @@ Set meta data information of @var{outfile} from @var{infile}.
@item -debug
Print specific debug info.
@item -benchmark
Add timings for benchmarking.
Show benchmarking information at the end of an encode.
Shows CPU time used and maximum memory consumption.
Maximum memory consumption is not supported on all systems,
it will usually display as 0 if not supported.
@item -dump
Dump each input packet.
@item -hex
@@ -764,7 +745,7 @@ When dumping packets, also dump the payload.
@item -bitexact
Only use bit exact algorithms (for codec testing).
@item -ps @var{size}
Set packet size in bits.
Set RTP payload size in bytes.
@item -re
Read input at native frame rate. Mainly used to simulate a grab device.
@item -loop_input
@@ -776,8 +757,15 @@ Repeatedly loop output for formats that support looping such as animated GIF
@item -threads @var{count}
Thread count.
@item -vsync @var{parameter}
Video sync method. Video will be stretched/squeezed to match the timestamps,
it is done by duplicating and dropping frames. With -map you can select from
Video sync method.
0 Each frame is passed with its timestamp from the demuxer to the muxer
1 Frames will be duplicated and dropped to achieve exactly the requested
constant framerate.
2 Frames are passed through with their timestamp or dropped so as to prevent
2 frames from having the same timestamp
-1 Chooses between 1 and 2 depending on muxer capabilities. This is the default method.
With -map you can select from
which stream the timestamps should be taken. You can leave either video or
audio unchanged and sync the remaining stream(s) to the unchanged one.
@item -async @var{samples_per_second}
@@ -805,18 +793,22 @@ awkward to specify on the command line. Lines starting with the hash
('#') character are ignored and are used to provide comments. Check
the @file{ffpresets} directory in the FFmpeg source tree for examples.
Preset files are specified with the @code{vpre}, @code{apre} and
@code{spre} options. The options specified in a preset file are
Preset files are specified with the @code{vpre}, @code{apre},
@code{spre}, and @code{fpre} options. The @code{fpre} option takes the
filename of the preset instead of a preset name as input and can be
used for any kind of codec. For the @code{vpre}, @code{apre}, and
@code{spre} options, the options specified in a preset file are
applied to the currently selected codec of the same type as the preset
option.
The argument passed to the preset options identifies the preset file
to use according to the following rules.
The argument passed to the @code{vpre}, @code{apre}, and @code{spre}
preset options identifies the preset file to use according to the
following rules:
First ffmpeg searches for a file named @var{arg}.ffpreset in the
directories @file{$HOME/.ffmpeg}, and in the datadir defined at
configuration time (usually @file{PREFIX/share/ffmpeg}) in that
order. For example, if the argument is @code{libx264-max}, it will
directories @file{$FFMPEG_DATADIR} (if set), and @file{$HOME/.ffmpeg}, and in
the datadir defined at configuration time (usually @file{PREFIX/share/ffmpeg})
in that order. For example, if the argument is @code{libx264-max}, it will
search for the file @file{libx264-max.ffpreset}.
If no such file is found, then ffmpeg will search for a file named
@@ -826,12 +818,7 @@ 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}.
Finally, if the above rules failed and the argument specifies an
absolute pathname, ffmpeg will search for that filename. This way you
can specify the absolute and complete filename of the preset file, for
example @file{./ffpresets/libx264-max.ffpreset}.
@node FFmpeg formula evaluator
@anchor{FFmpeg formula evaluator}
@section FFmpeg formula evaluator
When evaluating a rate control string, FFmpeg uses an internal formula
@@ -922,7 +909,7 @@ to standard output.
FFmpeg also handles many protocols specified with an URL syntax.
Use 'ffmpeg -formats' to see a list of the supported protocols.
Use 'ffmpeg -protocols' to see a list of the supported protocols.
The protocol @code{http:} is currently used only to communicate with
FFserver (see the FFserver documentation). When FFmpeg will be a

View File

@@ -26,17 +26,12 @@ ffplay [options] @file{input_file}
@end example
@c man begin OPTIONS
@include fftools-common-opts.texi
@section Main options
@table @option
@item -h
Show help.
@item -version
Show version.
@item -L
Show license.
@item -formats
Show available formats, codecs, protocols, ...
@item -x @var{width}
Force displayed width.
@item -y @var{height}
@@ -50,12 +45,18 @@ Disable audio.
Disable video.
@item -ss @var{pos}
Seek to a given position in seconds.
@item -t @var{duration}
play <duration> seconds of audio/video
@item -bytes
Seek by bytes.
@item -nodisp
Disable graphical display.
@item -f @var{fmt}
Force format.
@item -window_title @var{title}
Set window title (default is the input filename).
@item -loop @var{number}
Loops movie playback <number> times. 0 means forever.
@end table
@section Advanced options

121
doc/ffprobe-doc.texi Normal file
View File

@@ -0,0 +1,121 @@
\input texinfo @c -*- texinfo -*-
@settitle FFprobe Documentation
@titlepage
@sp 7
@center @titlefont{FFprobe Documentation}
@sp 3
@end titlepage
@chapter Introduction
@c man begin DESCRIPTION
FFprobe gathers information from multimedia streams and prints it in
human- and machine-readable fashion.
For example it can be used to check the format of the container used
by a multimedia stream and the format and type of each media stream
contained in it.
If a filename is specified in input, ffprobe will try to open and
probe the file content. If the file cannot be opened or recognized as
a multimedia file, a positive exit code is returned.
FFprobe may be employed both as a standalone application or in
combination with a textual filter, which may perform more
sophisticated processing, e.g. statistical processing or plotting.
Options are used to list some of the formats supported by ffprobe or
for specifying which information to display, and for setting how
ffprobe will show it.
FFprobe output is designed to be easily parsable by a textual filter,
and consists of one or more sections of the form:
@example
[SECTION]
key1=val1
...
keyN=valN
[/SECTION]
@end example
Metadata tags stored in the container or in the streams are recognized
and printed in the corresponding ``FORMAT'' or ``STREAM'' section, and
are prefixed by the string ``TAG:''.
@c man end
@chapter Invocation
@section Syntax
The generic syntax is:
@example
@c man begin SYNOPSIS
ffprobe [options] [@file{input_file}]
@c man end
@end example
@c man begin OPTIONS
@include fftools-common-opts.texi
@section Main options
@table @option
@item -convert_tags
Convert the tag names in the format container to the generic FFmpeg tag names.
@item -f @var{format}
Force format to use.
@item -unit
Show the unit of the displayed values.
@item -prefix
Show a SI prefixes of the displayed values.
Unless ``-byte_binary_prefix'' option is used all the prefix
are decimal.
@item -byte_binary_prefix
Force the use of binary prefixes for byte values.
@item -sexagesimal
Use sexagesimal format HH:MM:SS.MICROSECONDS for time values.
@item -pretty
Prettify the format of the displayed values, it corresponds to the
options ``-unit -prefix -byte_binary_prefix -sexagesimal''.
@item -show_format
Show information about the container format of the input multimedia
stream.
All the container format information is printed within a section with
name ``FORMAT''.
@item -show_streams
Show information about each media stream contained in the input
multimedia stream.
Each media stream information is printed within a dedicated section
with name ``STREAM''.
@end table
@c man end
@ignore
@setfilename ffprobe
@settitle FFprobe media prober
@c man begin SEEALSO
ffmpeg(1), ffplay(1), ffserver(1)
@c man end
@end ignore
@bye

View File

@@ -236,15 +236,12 @@ ffserver [options]
@section Options
@c man begin OPTIONS
@include fftools-common-opts.texi
@section Main options
@table @option
@item -version
Show version.
@item -L
Show license.
@item -formats
Show available formats, codecs, protocols, ...
@item -h
Show help.
@item -f @var{configfile}
Use @file{configfile} instead of @file{/etc/ffserver.conf}.
@item -n

View File

@@ -0,0 +1,72 @@
@section Generic options
These options are shared amongst the ff* tools.
@table @option
@item -L
Show license.
@item -h, -?, -help, --help
Show help.
@item -version
Show version.
@item -formats
Show available formats.
The fields preceding the format names have the following meanings:
@table @samp
@item D
Decoding available
@item E
Encoding available
@end table
@item -codecs
Show available codecs.
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
@item -bsfs
Show available bitstream filters.
@item -protocols
Show available protocols.
@item -filters
Show available libavfilter filters.
@item -pix_fmts
Show available pixel formats.
@item -loglevel @var{loglevel}
Set the logging level used by the library.
@var{loglevel} is a number or a string containing one of the following values:
@table @samp
@item quiet
@item panic
@item fatal
@item error
@item warning
@item info
@item verbose
@item debug
@end table
@end table

View File

@@ -14,16 +14,12 @@ FFmpeg can be hooked up with a number of external libraries to add support
for more formats. None of them are used by default, their use has to be
explicitly requested by passing the appropriate flags to @file{./configure}.
@section AMR
@section OpenCORE AMR
AMR comes in two different flavors, wideband and narrowband. FFmpeg can make
use of the AMR wideband (floating-point mode) and the AMR narrowband
(floating-point mode) reference decoders and encoders (libamr) as well as
the OpenCORE libraries for AMR-NB decoding/encoding and AMR-WB decoding.
FFmpeg can make use of the OpenCORE libraries for AMR-NB
decoding/encoding and AMR-WB decoding.
@subsection OpenCORE
Go to @url{http://gitorious.org/opencore-amr/} and follow the instructions for
Go to @url{http://sourceforge.net/projects/opencore-amr/} and follow the instructions for
installing the libraries. Then pass @code{--enable-libopencore-amrnb} and/or
@code{--enable-libopencore-amrwb} to configure to enable the libraries.
@@ -33,21 +29,10 @@ incompatible with the LGPL version 2.1 and GPL version 2. You have to
upgrade FFmpeg's license to LGPL version 3 (or if you have enabled
GPL components, GPL version 3) to use it.
@subsection libamr
Go to @url{http://www.penguin.cz/~utx/amr} and follow the instructions for
installing the libraries. Then pass @code{--enable-libamr-nb} and/or
@code{--enable-libamr-wb} to configure to enable the libraries.
Note that libamr is copyrighted without any sort of license grant. This means
that you can use it if you legally obtained it but you are not allowed to
redistribute it in any way. @strong{Any FFmpeg binaries with libamr support
you create are non-free and unredistributable!}
@chapter Supported File Formats and Codecs
You can use the @code{-formats} option to have an exhaustive list.
You can use the @code{-formats} and @code{-codecs} options to have an exhaustive list.
@section File Formats
@@ -58,6 +43,8 @@ library:
@item Name @tab Encoding @tab Decoding @tab Comments
@item 4xm @tab @tab X
@tab 4X Technologies format, used in some games.
@item 8088flex TMV @tab @tab X
@item Adobe Filmstrip @tab X @tab X
@item Audio IFF (AIFF) @tab X @tab X
@item American Laser Games MM @tab @tab X
@tab Multimedia format used in games like Mad Dog McCree.
@@ -71,18 +58,25 @@ library:
@tab Audio and video format used in some games by Beam Software.
@item Bethesda Softworks VID @tab @tab X
@tab Used in some games from Bethesda Softworks.
@item Bink @tab @tab X
@tab Multimedia format used by many games.
@item Brute Force & Ignorance @tab @tab X
@tab Used in the game Flash Traffic: City of Angels.
@item Interplay C93 @tab @tab X
@tab Used in the game Cyberia from Interplay.
@item Delphine Software International CIN @tab @tab X
@tab Multimedia format used by Delphine Software games.
@item CD+G @tab @tab X
@tab Video format used by CD+G karaoke disks
@item Core Audio Format @tab @tab X
@tab Apple Core Audio Format
@item CRC testing format @tab X @tab
@item Creative Voice @tab X @tab X
@tab Created for the Sound Blaster Pro.
@item CRYO APC @tab @tab X
@tab Audio format used in some games by CRYO Interactive Entertainment.
@item D-Cinema audio @tab X @tab X
@item Deluxe Paint Animation @tab @tab X
@item DV video @tab X @tab X
@item DXA @tab @tab X
@tab This format is used in the non-Windows version of the Feeble Files
@@ -108,16 +102,20 @@ library:
@item id Quake II CIN video @tab @tab X
@item id RoQ @tab X @tab X
@tab Used in Quake III, Jedi Knight 2, other computer games.
@item IEC61937 encapsulation @tab X @tab
@item IFF @tab @tab X
@tab Interchange File Format
@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 LMLM4 @tab @tab X
@tab Used by Linux Media Labs MPEG-4 PCI boards
@item Matroska @tab X @tab X
@item Matroska audio @tab X @tab
@item MAXIS XA @tab @tab X
@tab Used in Sim City 3000; file extension .xa.
@item MD Studio @tab @tab X
@item Monkey's Audio @tab @tab X
@item Motion Pixels MVI @tab @tab X
@item MOV/QuickTime/MP4 @tab X @tab X
@@ -144,6 +142,8 @@ library:
@tab SMPTE 386M, D-10/IMX Mapping.
@item NC camera feed @tab @tab X
@tab NC (AVIP NC4600) camera streams
@item NTT TwinVQ (VQF) @tab @tab X
@tab Nippon Telegraph and Telephone Corporation TwinVQ.
@item Nullsoft Streaming Video @tab @tab X
@item NuppelVideo @tab @tab X
@item NUT @tab X @tab X
@@ -151,6 +151,7 @@ library:
@item Ogg @tab X @tab X
@item TechnoTrend PVA @tab @tab X
@tab Used by TechnoTrend DVB PCI boards.
@item QCP @tab @tab X
@item raw ADTS (AAC) @tab X @tab X
@item raw AC-3 @tab X @tab X
@item raw Chinese AVS video @tab @tab X
@@ -175,6 +176,7 @@ library:
@item raw video @tab X @tab X
@item raw id RoQ @tab X @tab
@item raw Shorten @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
@item raw PCM mu-law @tab X @tab X
@@ -205,8 +207,10 @@ library:
@item RL2 @tab @tab X
@tab Audio and video format used in some games by Entertainment Software Partners.
@item RPL/ARMovie @tab @tab X
@item RTMP @tab X @tab X
@tab Output is performed by publishing stream to RTMP server
@item RTP @tab @tab X
@item RTSP @tab @tab X
@item RTSP @tab X @tab X
@item SDP @tab @tab X
@item Sega FILM/CPK @tab @tab X
@tab Used in many Sega Saturn console games.
@@ -219,6 +223,8 @@ library:
@item Sony OpenMG (OMA) @tab @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 SoX native format @tab X @tab X
@item SUN AU format @tab X @tab X
@item THP @tab @tab X
@tab Used on the Nintendo GameCube.
@@ -228,6 +234,7 @@ library:
@item VC-1 test bitstream @tab X @tab X
@item WAV @tab X @tab X
@item WavPack @tab @tab X
@item WebM @tab X @tab X
@item Wing Commander III movie @tab @tab X
@tab Multimedia format used in Origin's Wing Commander III computer game.
@item Westwood Studios audio @tab @tab X
@@ -235,6 +242,7 @@ library:
@item Westwood Studios VQA @tab @tab X
@tab Multimedia format used in Westwood Studios games.
@item YUV4MPEG pipe @tab X @tab X
@item Psygnosis YOP @tab @tab X
@end multitable
@code{X} means that encoding (resp. decoding) is supported.
@@ -252,6 +260,8 @@ following image formats are supported:
@tab Only uncompressed GIFs are generated.
@item BMP @tab X @tab X
@tab Microsoft BMP image
@item DPX @tab @tab X
@tab Digital Picture Exchange
@item JPEG @tab X @tab X
@tab Progressive JPEG is not supported.
@item JPEG 2000 @tab @tab E
@@ -263,7 +273,7 @@ following image formats are supported:
@tab PAM is a PNM extension with alpha support.
@item PBM @tab X @tab X
@tab Portable BitMap image
@item PCX @tab @tab X
@item PCX @tab X @tab X
@tab PC Paintbrush
@item PGM @tab X @tab X
@tab Portable GrayMap image
@@ -295,6 +305,7 @@ following image formats are supported:
@item Name @tab Encoding @tab Decoding @tab Comments
@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 American Laser Games MM @tab @tab X
@@ -312,6 +323,8 @@ following image formats are supported:
@tab fourcc: VCR1
@item ATI VCR2 @tab @tab X
@tab fourcc: VCR2
@item Auravision Aura @tab @tab X
@item Auravision Aura 2 @tab @tab X
@item Autodesk Animator Flic video @tab @tab X
@item Autodesk RLE @tab @tab X
@tab fourcc: AASC
@@ -320,12 +333,16 @@ following image formats are supported:
@item Beam Software VB @tab @tab X
@item Bethesda VID video @tab @tab X
@tab Used in some games from Bethesda Softworks.
@item Bink Video @tab @tab X
@tab Support for version 'b' is missing.
@item Brute Force & Ignorance @tab @tab X
@tab Used in the game Flash Traffic: City of Angels.
@item C93 video @tab @tab X
@tab Codec used in Cyberia game.
@item CamStudio @tab @tab X
@tab fourcc: CSCD
@item CD+G @tab @tab X
@tab Video codec for CD+G karaoke disks
@item Chinese AVS video @tab @tab X
@tab AVS1-P2, JiZhun profile
@item Delphine Software International CIN video @tab @tab X
@@ -336,6 +353,7 @@ following image formats are supported:
@item Creative YUV (CYUV) @tab @tab X
@item Dirac @tab E @tab E
@tab supported through external libdirac/libschroedinger libraries
@item Deluxe Paint Animation @tab @tab X
@item DNxHD @tab X @tab X
@tab aka SMPTE VC3
@item Duck TrueMotion 1.0 @tab @tab X
@@ -347,11 +365,12 @@ following image formats are supported:
@tab Codec originally used in Feeble Files game.
@item Electronic Arts CMV video @tab @tab X
@tab Used in NHL 95 game.
@item Electronic Arts Madcow video @tab @tab X
@item Electronic Arts TGV video @tab @tab X
@item Electronic Arts TGQ video @tab @tab X
@item Electronic Arts TQI video @tab @tab X
@item Escape 124 @tab @tab X
@item FFmpeg codec #1 @tab X @tab X
@item FFmpeg video codec #1 @tab X @tab X
@tab experimental lossless codec (fourcc: FFV1)
@item Flash Screen Video v1 @tab X @tab X
@tab fourcc: FSV1
@@ -372,15 +391,22 @@ following image formats are supported:
@tab Used in Quake II.
@item id RoQ video @tab X @tab X
@tab Used in Quake III, Jedi Knight 2, other computer games.
@item IFF ILBM @tab @tab X
@tab IFF interlaved bitmap
@item IFF ByteRun1 @tab @tab X
@tab IFF run length encoded bitmap
@item Intel H.263 @tab @tab X
@item Intel Indeo 2 @tab @tab X
@item Intel Indeo 3 @tab @tab X
@item Intel Indeo 5 @tab @tab X
@item Interplay C93 @tab @tab X
@tab Used in the game Cyberia from Interplay.
@item Interplay MVE video @tab @tab X
@tab Used in Interplay .MVE files.
@item Karl Morton's video codec @tab @tab X
@tab Codec used in Worms games.
@item Kega Game Video (KGV1) @tab @tab X
@tab Kega emulator screen capture codec.
@item LCL (LossLess Codec Library) MSZH @tab @tab X
@item LCL (LossLess Codec Library) ZLIB @tab E @tab E
@item LOCO @tab @tab X
@@ -411,6 +437,8 @@ following image formats are supported:
@tab fourcc: VP50
@item On2 VP6 @tab @tab X
@tab fourcc: VP60,VP61,VP62
@item VP8 @tab X @tab X
@tab fourcc: VP80, de/encoding supported through external library libvpx
@item planar RGB @tab @tab X
@tab fourcc: 8BPS
@item Q-team QPEG @tab @tab X
@@ -422,6 +450,7 @@ following image formats are supported:
@tab fourcc: 'smc '
@item QuickTime video (RPZA) @tab @tab X
@tab fourcc: rpza
@item R210 Quicktime Uncompressed RGB 10-bit @tab @tab X
@item Raw Video @tab X @tab X
@item RealVideo 1.0 @tab X @tab X
@item RealVideo 2.0 @tab X @tab X
@@ -452,6 +481,7 @@ following image formats are supported:
@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 V210 Quicktime Uncompressed 4:2:2 10-bit @tab X @tab X
@item VMware Screen Codec / VMware Video @tab @tab X
@tab Codec used in videos captured by VMware.
@item Westwood Studios VQA (Vector Quantized Animation) video @tab @tab X
@@ -464,6 +494,7 @@ following image formats are supported:
@item Winnov WNV1 @tab @tab X
@item WMV7 @tab X @tab X
@item YAMAHA SMAF @tab X @tab X
@item Psygnosis YOP 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
@@ -480,7 +511,7 @@ following image formats are supported:
@item Name @tab Encoding @tab Decoding @tab Comments
@item 8SVX audio @tab @tab X
@item AAC @tab E @tab X
@tab encoding supported through external library libfaac
@tab encoding supported through external library libfaac and libvo-aacenc
@item AC-3 @tab IX @tab X
@item ADPCM 4X Movie @tab @tab X
@item ADPCM CDROM XA @tab @tab X
@@ -525,14 +556,16 @@ following image formats are supported:
@item ADPCM Westwood Studios IMA @tab @tab X
@tab Used in Westwood Studios games like Command and Conquer.
@item ADPCM Yamaha @tab X @tab X
@item AMR-NB @tab E @tab E
@tab supported through external libraries libamrnb and libopencore-amrnb
@item AMR-WB @tab E @tab E
@tab decoding supported through external libraries libamrwb and libopencore-amrwb,
encoding supported through external library libamrwb
@item AMR-NB @tab E @tab X
@tab encoding supported through external library libopencore-amrnb
@item AMR-WB @tab @tab E
@tab decoding supported through external library libopencore-amrwb
@item Apple lossless audio @tab X @tab X
@tab QuickTime fourcc 'alac'
@item Atrac 1 @tab @tab X
@item Atrac 3 @tab @tab X
@item Bink Audio @tab @tab X
@tab Used in Bink and Smacker files in many games.
@item Delphine Software International CIN audio @tab @tab X
@tab Codec used in Delphine Software International games.
@item COOK @tab @tab X
@@ -546,6 +579,7 @@ following image formats are supported:
@tab Used in Sierra Online game audio files.
@item DPCM Sol @tab @tab X
@item DPCM Xan @tab @tab X
@tab Used in Origin's Wing Commander IV AVI files.
@item DSP Group TrueSpeech @tab @tab X
@item DV audio @tab @tab X
@item Enhanced AC-3 @tab @tab X
@@ -558,14 +592,15 @@ following image formats are supported:
@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
@item MLP(Meridian Lossless Packing)/TrueHD @tab @tab X
@tab Used in DVD-Audio and Blu-Ray discs.
@item MLP (Meridian Lossless Packing) @tab @tab X
@tab Used in DVD-Audio discs.
@item Monkey's Audio @tab @tab X
@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
@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
@@ -584,6 +619,7 @@ following image formats are supported:
@item PCM signed 24-bit little-endian @tab X @tab X
@item PCM signed 32-bit big-endian @tab X @tab X
@item PCM signed 32-bit little-endian @tab X @tab X
@item PCM signed 16/20/24-bit big-endian in MPEG-TS @tab @tab X
@item PCM unsigned 8-bit @tab X @tab X
@item PCM unsigned 16-bit big-endian @tab X @tab X
@item PCM unsigned 16-bit little-endian @tab X @tab X
@@ -601,6 +637,7 @@ following image formats are supported:
@tab Real 28800 bit/s codec
@item RealAudio 3.0 (dnet) @tab IX @tab X
@tab Real low bitrate AC-3 codec
@item RealAudio SIPR / ACELP.NET @tab @tab X
@item Shorten @tab @tab X
@item Sierra VMD audio @tab @tab X
@tab Used in Sierra VMD files.
@@ -612,13 +649,17 @@ following image formats are supported:
@item Speex @tab @tab E
@tab supported through external library libspeex
@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 Vorbis @tab E @tab X
@ A native but very primitive encoder exists.
@tab A native but very primitive encoder exists.
@item WavPack @tab @tab X
@item Westwood Audio (SND1) @tab @tab X
@item Windows Media Audio 1 @tab X @tab X
@item Windows Media Audio 2 @tab X @tab X
@tab Used in Origin's Wing Commander IV AVI files.
@item Windows Media Audio Pro @tab @tab X
@item Windows Media Audio Voice @tab @tab X
@end multitable
@code{X} means that encoding (resp. decoding) is supported.
@@ -630,19 +671,20 @@ performance on systems without hardware floating point support).
@section Subtitle Formats
@multitable @columnfractions .4 .1 .1 .1 .1 .1
@multitable @columnfractions .4 .1 .1 .1 .1
@item Name @tab Muxing @tab Demuxing @tab Encoding @tab Decoding
@item SSA/ASS @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 XSUB @tab @tab @tab @tab X
@item PGS @tab @tab @tab @tab X
@item XSUB @tab @tab @tab X @tab X
@end multitable
@code{X} means that the feature is supported.
@section Network Protocols
@multitable @columnfractions .4 .1 .1 .1 .1 .1
@multitable @columnfractions .4 .1
@item Name @tab Support
@item file @tab X
@item Gopher @tab X
@@ -656,13 +698,90 @@ performance on systems without hardware floating point support).
@code{X} means that the protocol is supported.
@section Input/Output Devices
@multitable @columnfractions .4 .1 .1
@item Name @tab Input @tab Output
@item ALSA @tab X @tab X
@item BEOS audio @tab X @tab X
@item BKTR @tab X @tab
@item DV1394 @tab X @tab
@item JACK @tab X @tab
@item LIBDC1394 @tab X @tab
@item OSS @tab X @tab X
@item Video4Linux @tab X @tab
@item Video4Linux2 @tab X @tab
@item VfW capture @tab X @tab
@item X11 grabbing @tab X @tab
@end multitable
@code{X} means that input/output is supported.
@chapter Platform Specific information
@section BSD
@section BeOS
BeOS support is broken in mysterious ways.
@section DOS
Using a cross-compiler is preferred for various reasons.
@subsection DJGPP
FFmpeg cannot be compiled because of broken system headers, add
@code{--extra-cflags=-U__STRICT_ANSI__} to the configure options as a
workaround.
@section OS/2
For information about compiling FFmpeg on OS/2 see
@url{http://www.edm2.com/index.php/FFmpeg}.
@section Unix-like
Some parts of FFmpeg cannot be built with version 2.15 of the GNU
assembler which is still provided by a few AMD64 distributions. To
make sure your compiler really uses the required version of gas
after a binutils upgrade, run:
@example
$(gcc -print-prog-name=as) --version
@end example
If not, then you should install a different compiler that has no
hard-coded path to gas. In the worst case pass @code{--disable-asm}
to configure.
@subsection BSD
BSD make will not build FFmpeg, you need to install and use GNU Make
(@file{gmake}).
@subsubsection FreeBSD
FreeBSD will not compile out-of-the-box due to broken system headers.
Passing @code{--extra-cflags=-D__BSD_VISIBLE} to configure will work
around the problem. This may have unexpected sideeffects, so use it at
your own risk. If you care about FreeBSD, please make an attempt at
getting the system headers fixed.
@subsection (Open)Solaris
GNU Make is required to build FFmpeg, so you have to invoke (@file{gmake}),
standard Solaris Make will not work. When building with a non-c99 front-end
(gcc, generic suncc) add either @code{--extra-libs=/usr/lib/values-xpg6.o}
or @code{--extra-libs=/usr/lib/64/values-xpg6.o} to the configure options
since the libc is not c99-compliant by default. The probes performed by
configure may raise an exception leading to the death of configure itself
due to a bug in the system shell. Simply invoke a different shell such as
bash directly to work around this:
@example
bash ./configure
@end example
@section Windows
To get help and instructions for building FFmpeg under Windows, check out
@@ -688,13 +807,13 @@ are listed below:
@item mingw-runtime 3.15
@end itemize
You will also need to pass @code{-fno-common} to the compiler to work around
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}).
Within the MSYS shell, configure and make with:
@example
./configure --enable-memalign-hack --extra-cflags=-fno-common
./configure --enable-memalign-hack
make
make install
@end example
@@ -707,9 +826,11 @@ Notes:
@itemize
@item In order to compile vhooks, you must have a POSIX-compliant libdl in
your MinGW system. Get dlfcn-win32 from
@url{http://code.google.com/p/dlfcn-win32}.
@item Building natively using MSYS can be sped up by disabling implicit rules
in the Makefile by calling @code{make -r} instead of plain @code{make}. This
speed up is close to non-existent for normal one-off builds and is only
noticeable when running make for a second time (for example in
@code{make install}).
@item In order to compile FFplay, you must have the MinGW development library
of SDL. Get it from @url{http://www.libsdl.org}.
@@ -749,7 +870,7 @@ Application Wizard, uncheck the "Precompiled headers" option.
@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{output_example.c} from the FFmpeg distribution.
@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
@@ -865,43 +986,35 @@ Then you can easily test FFmpeg with Wine
@subsection Compilation under Cygwin
The main issue with the 1.5.x Cygwin versions is that newlib, its C library,
does not contain llrint(). You need to upgrade to the unstable 1.7.x versions,
or leverage the implementation in MinGW (as explained below).
Please use Cygwin 1.7.x as the obsolete 1.5.x Cygwin versions lack
llrint() in its C library.
Just install your Cygwin with all the "Base" packages, plus the
Install your Cygwin with all the "Base" packages, plus the
following "Devel" ones:
@example
binutils, gcc-core, make, subversion, mingw-runtime, diffutils
binutils, gcc4-core, make, subversion, mingw-runtime, texi2html
@end example
The experimental gcc4 package is still buggy, hence please
use the official gcc 3.4.4 or a 4.2.x compiled from source by yourself.
Install the current binutils-20080624-2 as they work fine (the old
binutils-20060709-1 proved buggy on shared builds).
Then create a small library that just contains llrint():
And the following "Utils" one:
@example
ar x /usr/lib/mingw/libmingwex.a llrint.o
ar cq /usr/local/lib/libllrint.a llrint.o
diffutils
@end example
Then run
@example
./configure --enable-static --disable-shared --extra-ldflags='-L /usr/local/lib' --extra-libs='-l llrint'
./configure --enable-static --disable-shared
@end example
to make a static build or
to make a static build.
The current @code{gcc4-core} package is buggy and needs this flag to build
shared libraries:
@example
./configure --enable-shared --disable-static --extra-ldflags='-L /usr/local/lib' --extra-libs='-l llrint'
./configure --enable-shared --disable-static --extra-cflags=-fno-reorder-functions
@end example
to build shared libraries.
If you want to build FFmpeg with additional libraries, download Cygwin
"Devel" packages for Ogg and Vorbis from any Cygwin packages repository:
@example
@@ -945,420 +1058,4 @@ and for a build with shared libraries
./configure --target-os=mingw32 --enable-memalign-hack --enable-shared --disable-static --extra-cflags=-mno-cygwin --extra-libs=-mno-cygwin
@end example
@section BeOS
BeOS support is broken in mysterious ways.
@section OS/2
For information about compiling FFmpeg on OS/2 see
@url{http://www.edm2.com/index.php/FFmpeg}.
@chapter Developers Guide
@section API
@itemize @bullet
@item libavcodec is the library containing the codecs (both encoding and
decoding). Look at @file{libavcodec/apiexample.c} to see how to use it.
@item libavformat is the library containing the file format handling (mux and
demux code for several formats). Look at @file{ffplay.c} to use it in a
player. See @file{output_example.c} to use it to generate audio or video
streams.
@end itemize
@section Integrating libavcodec or libavformat in your program
You can integrate all the source code of the libraries to link them
statically to avoid any version problem. All you need is to provide a
'config.mak' and a 'config.h' in the parent directory. See the defines
generated by ./configure to understand what is needed.
You can use libavcodec or libavformat in your commercial program, but
@emph{any patch you make must be published}. The best way to proceed is
to send your patches to the FFmpeg mailing list.
@node Coding Rules
@section Coding Rules
FFmpeg is programmed in the ISO C90 language with a few additional
features from ISO C99, namely:
@itemize @bullet
@item
the @samp{inline} keyword;
@item
@samp{//} comments;
@item
designated struct initializers (@samp{struct s x = @{ .i = 17 @};})
@item
compound literals (@samp{x = (struct s) @{ 17, 23 @};})
@end itemize
These features are supported by all compilers we care about, so we will not
accept patches to remove their use unless they absolutely do not impair
clarity and performance.
All code must compile with GCC 2.95 and GCC 3.3. Currently, FFmpeg also
compiles with several other compilers, such as the Compaq ccc compiler
or Sun Studio 9, and we would like to keep it that way unless it would
be exceedingly involved. To ensure compatibility, please do not use any
additional C99 features or GCC extensions. Especially watch out for:
@itemize @bullet
@item
mixing statements and declarations;
@item
@samp{long long} (use @samp{int64_t} instead);
@item
@samp{__attribute__} not protected by @samp{#ifdef __GNUC__} or similar;
@item
GCC statement expressions (@samp{(x = (@{ int y = 4; y; @})}).
@end itemize
Indent size is 4.
The presentation is the one specified by 'indent -i4 -kr -nut'.
The TAB character is forbidden outside of Makefiles as is any
form of trailing whitespace. Commits containing either will be
rejected by the Subversion repository.
The main priority in FFmpeg is simplicity and small code size in order to
minimize the bug count.
Comments: Use the JavaDoc/Doxygen
format (see examples below) so that code documentation
can be generated automatically. All nontrivial functions should have a comment
above them explaining what the function does, even if it is just one sentence.
All structures and their member variables should be documented, too.
@example
/**
* @@file mpeg.c
* MPEG codec.
* @@author ...
*/
/**
* Summary sentence.
* more text ...
* ...
*/
typedef struct Foobar@{
int var1; /**< var1 description */
int var2; ///< var2 description
/** var3 description */
int var3;
@} Foobar;
/**
* Summary sentence.
* more text ...
* ...
* @@param my_parameter description of my_parameter
* @@return return value description
*/
int myfunc(int my_parameter)
...
@end example
fprintf and printf are forbidden in libavformat and libavcodec,
please use av_log() instead.
Casts should be used only when necessary. Unneeded parentheses
should also be avoided if they don't make the code easier to understand.
@section Development Policy
@enumerate
@item
Contributions should be licensed under the LGPL 2.1, including an
"or any later version" clause, or the MIT license. GPL 2 including
an "or any later version" clause is also acceptable, but LGPL is
preferred.
@item
You must not commit code which breaks FFmpeg! (Meaning unfinished but
enabled code which breaks compilation or compiles but does not work or
breaks the regression tests)
You can commit unfinished stuff (for testing etc), but it must be disabled
(#ifdef etc) by default so it does not interfere with other developers'
work.
@item
You do not have to over-test things. If it works for you, and you think it
should work for others, then commit. If your code has problems
(portability, triggers compiler bugs, unusual environment etc) they will be
reported and eventually fixed.
@item
Do not commit unrelated changes together, split them into self-contained
pieces. Also do not forget that if part B depends on part A, but A does not
depend on B, then A can and should be committed first and separate from B.
Keeping changes well split into self-contained parts makes reviewing and
understanding them on the commit log mailing list easier. This also helps
in case of debugging later on.
Also if you have doubts about splitting or not splitting, do not hesitate to
ask/discuss it on the developer mailing list.
@item
Do not change behavior of the program (renaming options etc) without
first discussing it on the ffmpeg-devel mailing list. Do not remove
functionality from the code. Just improve!
Note: Redundant code can be removed.
@item
Do not commit changes to the build system (Makefiles, configure script)
which change behavior, defaults etc, without asking first. The same
applies to compiler warning fixes, trivial looking fixes and to code
maintained by other developers. We usually have a reason for doing things
the way we do. Send your changes as patches to the ffmpeg-devel mailing
list, and if the code maintainers say OK, you may commit. This does not
apply to files you wrote and/or maintain.
@item
We refuse source indentation and other cosmetic changes if they are mixed
with functional changes, such commits will be rejected and removed. Every
developer has his own indentation style, you should not change it. Of course
if you (re)write something, you can use your own style, even though we would
prefer if the indentation throughout FFmpeg was consistent (Many projects
force a given indentation style - we do not.). If you really need to make
indentation changes (try to avoid this), separate them strictly from real
changes.
NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code,
then either do NOT change the indentation of the inner part within (do not
move it to the right)! or do so in a separate commit
@item
Always fill out the commit log message. Describe in a few lines what you
changed and why. You can refer to mailing list postings if you fix a
particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
@item
If you apply a patch by someone else, include the name and email address in
the log message. Since the ffmpeg-cvslog mailing list is publicly
archived you should add some SPAM protection to the email address. Send an
answer to ffmpeg-devel (or wherever you got the patch from) saying that
you applied the patch.
@item
When applying patches that have been discussed (at length) on the mailing
list, reference the thread in the log message.
@item
Do NOT commit to code actively maintained by others without permission.
Send a patch to ffmpeg-devel instead. If no one answers within a reasonable
timeframe (12h for build failures and security fixes, 3 days small changes,
1 week for big patches) then commit your patch if you think it is OK.
Also note, the maintainer can simply ask for more time to review!
@item
Subscribe to the ffmpeg-cvslog mailing list. The diffs of all commits
are sent there and reviewed by all the other developers. Bugs and possible
improvements or general questions regarding commits are discussed there. We
expect you to react if problems with your code are uncovered.
@item
Update the documentation if you change behavior or add features. If you are
unsure how best to do this, send a patch to ffmpeg-devel, the documentation
maintainer(s) will review and commit your stuff.
@item
Try to keep important discussions and requests (also) on the public
developer mailing list, so that all developers can benefit from them.
@item
Never write to unallocated memory, never write over the end of arrays,
always check values read from some untrusted source before using them
as array index or other risky things.
@item
Remember to check if you need to bump versions for the specific libav
parts (libavutil, libavcodec, libavformat) you are changing. You need
to change the version integer.
Incrementing the first component means no backward compatibility to
previous versions (e.g. removal of a function from the public API).
Incrementing the second component means backward compatible change
(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).
@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
be disabled, not the code changed.
Thus the remaining warnings can either be bugs or correct code.
If it is a bug, the bug has to be fixed. If it is not, the code should
be changed to not generate a warning unless that causes a slowdown
or obfuscates the code.
@item
If you add a new file, give it a proper license header. Do not copy and
paste it from a random place, use an existing file as template.
@end enumerate
We think our rules are not too hard. If you have comments, contact us.
Note, these rules are mostly borrowed from the MPlayer project.
@section Submitting patches
First, (@pxref{Coding Rules}) above if you did not yet.
When you submit your patch, try to send a unified diff (diff '-up'
option). We cannot read other diffs :-)
Also please do not submit a patch which contains several unrelated changes.
Split it into separate, self-contained pieces. This does not mean splitting
file by file. Instead, make the patch as small as possible while still
keeping it as a logical unit that contains an individual change, even
if it spans multiple files. This makes reviewing your patches much easier
for us and greatly increases your chances of getting your patch applied.
Run the regression tests before submitting a patch so that you can
verify that there are no big problems.
Patches should be posted as base64 encoded attachments (or any other
encoding which ensures that the patch will not be trashed during
transmission) to the ffmpeg-devel mailing list, see
@url{http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel}
It also helps quite a bit if you tell us what the patch does (for example
'replaces lrint by lrintf'), and why (for example '*BSD isn't C99 compliant
and has no lrint()')
Also please if you send several patches, send each patch as a separate mail,
do not attach several unrelated patches to the same mail.
@section New codecs or formats checklist
@enumerate
@item
Did you use av_cold for codec initialization and close functions?
@item
Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
AVInputFormat/AVOutputFormat struct?
@item
Did you bump the minor version number in @file{avcodec.h} or
@file{avformat.h}?
@item
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
@item
Did you add the CodecID to @file{avcodec.h}?
@item
If it has a fourcc, did you add it to @file{libavformat/riff.c},
even if it is only a decoder?
@item
Did you add a rule to compile the appropriate files in the Makefile?
Remember to do this even if you're just adding a format to a file that is
already being compiled by some other rule, like a raw demuxer.
@item
Did you add an entry to the table of supported formats or codecs in the
documentation?
@item
Did you add an entry in the Changelog?
@item
If it depends on a parser or a library, did you add that dependency in
configure?
@item
Did you "svn add" the appropriate files before commiting?
@end enumerate
@section patch submission checklist
@enumerate
@item
Do the regression tests pass with the patch applied?
@item
Does @code{make checkheaders} pass with the patch applied?
@item
Is the patch a unified diff?
@item
Is the patch against latest FFmpeg SVN?
@item
Are you subscribed to ffmpeg-dev?
(the list is subscribers only due to spam)
@item
Have you checked that the changes are minimal, so that the same cannot be
achieved with a smaller patch and/or simpler final code?
@item
If the change is to speed critical code, did you benchmark it?
@item
If you did any benchmarks, did you provide them in the mail?
@item
Have you checked that the patch does not introduce buffer overflows or
other security issues?
@item
Did you test your decoder or demuxer against damaged data? If no, see
tools/trasher and the noise bitstream filter. Your decoder or demuxer
should not crash or end in a (near) infinite loop when fed damaged data.
@item
Is the patch created from the root of the source tree, so it can be
applied with @code{patch -p0}?
@item
Does the patch not mix functional and cosmetic changes?
@item
Did you add tabs or trailing whitespace to the code? Both are forbidden.
@item
Is the patch attached to the email you send?
@item
Is the mime type of the patch correct? It should be text/x-diff or
text/x-patch or at least text/plain and not application/octet-stream.
@item
If the patch fixes a bug, did you provide a verbose analysis of the bug?
@item
If the patch fixes a bug, did you provide enough information, including
a sample, so the bug can be reproduced and the fix can be verified?
Note please do not attach samples >100k to mails but rather provide a
URL, you can upload to ftp://upload.ffmpeg.org
@item
Did you provide a verbose summary about what the patch does change?
@item
Did you provide a verbose explanation why it changes things like it does?
@item
Did you provide a verbose summary of the user visible advantages and
disadvantages if the patch is applied?
@item
Did you provide an example so we can verify the new feature added by the
patch easily?
@item
If you added a new file, did you insert a license header? It should be
taken from FFmpeg, not randomly copied and pasted from somewhere else.
@item
You should maintain alphabetical order in alphabetically ordered lists as
long as doing so does not break API/ABI compatibility.
@item
Lines with similar content should be aligned vertically when doing so
improves readability.
@item
Did you provide a suggestion for a clear commit log message?
@end enumerate
@section Patch review process
All patches posted to ffmpeg-devel will be reviewed, unless they contain a
clear note that the patch is not for SVN.
Reviews and comments will be posted as replies to the patch on the
mailing list. The patch submitter then has to take care of every comment,
that can be by resubmitting a changed patch or by discussion. Resubmitted
patches will themselves be reviewed like any other patch. If at some point
a patch passes review with no comments then it is approved, that can for
simple and small patches happen immediately while large patches will generally
have to be changed and reviewed many times before they are approved.
After a patch is approved it will be committed to the repository.
We will review all submitted patches, but sometimes we are quite busy so
especially for large patches this can take several weeks.
When resubmitting patches, please do not make any significant changes
not related to the comments received during review. Such patches will
be rejected. Instead, submit significant changes or new features as
separate patches.
@section Regression tests
Before submitting a patch (or committing to the repository), you should at least
test that you did not break anything.
The regression tests build a synthetic video stream and a synthetic
audio stream. These are then encoded and decoded with all codecs or
formats. The CRC (or MD5) of each generated file is recorded in a
result file. A 'diff' is launched to compare the reference results and
the result file.
The regression tests then go on to test the FFserver code with a
limited set of streams. It is important that this step runs correctly
as well.
Run 'make test' to test all the codecs and formats.
Run 'make fulltest' to test all the codecs, formats and FFserver.
[Of course, some patches may change the results of the regression tests. In
this case, the reference results of the regression tests shall be modified
accordingly].
@bye

View File

@@ -1,299 +0,0 @@
\input texinfo @c -*- texinfo -*-
@settitle Video Hook Documentation
@titlepage
@sp 7
@center @titlefont{Video Hook Documentation}
@sp 3
@end titlepage
@chapter Introduction
@var{Please be aware that vhook is deprecated, and hence its development is
frozen (bug fixes are still accepted).
The substitute will be 'libavfilter', the result of our 'Video Filter API'
Google Summer of Code project. You may monitor its progress by subscribing to
the ffmpeg-soc mailing list at
@url{http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc}.}
The video hook functionality is designed (mostly) for live video. It allows
the video to be modified or examined between the decoder and the encoder.
Any number of hook modules can be placed inline, and they are run in the
order that they were specified on the ffmpeg command line.
The video hook modules are provided for use as a base for your own modules,
and are described below.
Modules are loaded using the -vhook option to ffmpeg. The value of this parameter
is a space separated list of arguments. The first is the module name, and the rest
are passed as arguments to the Configure function of the module.
The modules are dynamic libraries: They have different suffixes (.so, .dll, .dylib)
depending on your platform. And your platform dictates if they need to be
somewhere in your PATH, or in your LD_LIBRARY_PATH. Otherwise you will need to
specify the full path of the vhook file that you are using.
@section null.c
This does nothing. Actually it converts the input image to RGB24 and then converts
it back again. This is meant as a sample that you can use to test your setup.
@section fish.c
This implements a 'fish detector'. Essentially it converts the image into HSV
space and tests whether more than a certain percentage of the pixels fall into
a specific HSV cuboid. If so, then the image is saved into a file for processing
by other bits of code.
Why use HSV? It turns out that HSV cuboids represent a more compact range of
colors than would an RGB cuboid.
@section imlib2.c
This module implements a text overlay for a video image. Currently it
supports a fixed overlay or reading the text from a file. The string
is passed through strftime() so that it is easy to imprint the date and
time onto the image.
This module depends on the external library imlib2, available on
Sourceforge, among other places, if it is not already installed on
your system.
You may also overlay an image (even semi-transparent) like TV stations do.
You may move either the text or the image around your video to create
scrolling credits, for example.
The font file used is looked for in a FONTPATH environment variable, and
prepended to the point size as a command line option and can be specified
with the full path to the font file, as in:
@example
-F /usr/X11R6/lib/X11/fonts/TTF/VeraBd.ttf/20
@end example
where 20 is the point size.
You can specify the filename to read RGB color names from. If it is not
specified, these defaults are used: @file{/usr/share/X11/rgb.txt} and
@file{/usr/lib/X11/rgb.txt}
Options:
@multitable @columnfractions .2 .8
@item @option{-C <rgb.txt>} @tab The filename to read RGB color names from
@item @option{-c <color>} @tab The color of the text
@item @option{-F <fontname>} @tab The font face and size
@item @option{-t <text>} @tab The text
@item @option{-f <filename>} @tab The filename to read text from
@item @option{-x <expression>}@tab x coordinate of text or image
@item @option{-y <expression>}@tab y coordinate of text or image
@item @option{-i <filename>} @tab The filename to read a image from
@item @option{-R <expression>}@tab Value for R color
@item @option{-G <expression>}@tab Value for G color
@item @option{-B <expression>}@tab Value for B color
@item @option{-A <expression>}@tab Value for Alpha channel
@end multitable
Expressions are functions of these variables:
@multitable @columnfractions .2 .8
@item @var{N} @tab frame number (starting at zero)
@item @var{H} @tab frame height
@item @var{W} @tab frame width
@item @var{h} @tab image height
@item @var{w} @tab image width
@item @var{X} @tab previous x coordinate of text or image
@item @var{Y} @tab previous y coordinate of text or image
@end multitable
You may also use the constants @var{PI}, @var{E}, and the math functions available at the
FFmpeg formula evaluator at (@url{ffmpeg-doc.html#SEC13}), except @var{bits2qp(bits)}
and @var{qp2bits(qp)}.
Usage examples:
@example
# Remember to set the path to your fonts
FONTPATH="/cygdrive/c/WINDOWS/Fonts/"
FONTPATH="$FONTPATH:/usr/share/imlib2/data/fonts/"
FONTPATH="$FONTPATH:/usr/X11R6/lib/X11/fonts/TTF/"
export FONTPATH
# Bulb dancing in a Lissajous pattern
ffmpeg -i input.avi -vhook \
'vhook/imlib2.dll -x W*(0.5+0.25*sin(N/47*PI))-w/2 -y H*(0.5+0.50*cos(N/97*PI))-h/2 -i /usr/share/imlib2/data/images/bulb.png' \
-acodec copy -sameq output.avi
# Text scrolling
ffmpeg -i input.avi -vhook \
'vhook/imlib2.dll -c red -F Vera.ttf/20 -x 150+0.5*N -y 70+0.25*N -t Hello' \
-acodec copy -sameq output.avi
# Date and time stamp, security-camera style:
ffmpeg -r 29.97 -s 320x256 -f video4linux -i /dev/video0 \
-vhook 'vhook/imlib2.so -x 0 -y 0 -i black-260x20.png' \
-vhook 'vhook/imlib2.so -c white -F VeraBd.ttf/12 -x 0 -y 0 -t %A-%D-%T' \
output.avi
In this example the video is captured from the first video capture card as a
320x256 AVI, and a black 260 by 20 pixel PNG image is placed in the upper
left corner, with the day, date and time overlaid on it in Vera Bold 12
point font. A simple black PNG file 260 pixels wide and 20 pixels tall
was created in the GIMP for this purpose.
# Scrolling credits from a text file
ffmpeg -i input.avi -vhook \
'vhook/imlib2.so -c white -F VeraBd.ttf/16 -x 100 -y -1.0*N -f credits.txt' \
-sameq output.avi
In this example, the text is stored in a file, and is positioned 100
pixels from the left hand edge of the video. The text is scrolled from the
bottom up. Making the y factor positive will scroll from the top down.
Increasing the magnitude of the y factor makes the text scroll faster,
decreasing it makes it scroll slower. Hint: Blank lines containing only
a newline are treated as end-of-file. To create blank lines, use lines
that consist of space characters only.
# Scrolling credits with custom color from a text file
ffmpeg -i input.avi -vhook \
'vhook/imlib2.so -C rgb.txt -c CustomColor1 -F VeraBd.ttf/16 -x 100 -y -1.0*N -f credits.txt' \
-sameq output.avi
This example does the same as the one above, but specifies an rgb.txt file
to be used, which has a custom-made color in it.
# Variable colors
ffmpeg -i input.avi -vhook \
'vhook/imlib2.so -t Hello -R abs(255*sin(N/47*PI)) -G abs(255*sin(N/47*PI)) -B abs(255*sin(N/47*PI))' \
-sameq output.avi
In this example, the color for the text goes up and down from black to
white.
# Text fade-out
ffmpeg -i input.avi -vhook \
'vhook/imlib2.so -t Hello -A max(0,255-exp(N/47))' \
-sameq output.avi
In this example, the text fades out in about 10 seconds for a 25 fps input
video file.
# scrolling credits from a graphics file
ffmpeg -sameq -i input.avi \
-vhook 'vhook/imlib2.so -x 0 -y -1.0*N -i credits.png' output.avi
In this example, a transparent PNG file the same width as the video
(e.g. 320 pixels), but very long, (e.g. 3000 pixels), was created, and
text, graphics, brushstrokes, etc, were added to the image. The image
is then scrolled up, from the bottom of the frame.
@end example
@section ppm.c
It's basically a launch point for a PPM pipe, so you can use any
executable (or script) which consumes a PPM on stdin and produces a PPM
on stdout (and flushes each frame). The Netpbm utilities are a series of
such programs.
A list of them is here:
@url{http://netpbm.sourceforge.net/doc/directory.html}
Usage example:
@example
ffmpeg -i input -vhook "/path/to/ppm.so some-ppm-filter args" output
@end example
@section drawtext.c
This module implements a text overlay for a video image. Currently it
supports a fixed overlay or reading the text from a file. The string
is passed through strftime() so that it is easy to imprint the date and
time onto the image.
Features:
@itemize @minus
@item TrueType, Type1 and others via the FreeType2 library
@item Font kerning (better output)
@item Line Wrap (put the text that doesn't fit one line on the next line)
@item Background box (currently in development)
@item Outline
@end itemize
Options:
@multitable @columnfractions .2 .8
@item @option{-c <color>} @tab Foreground color of the text ('internet' way) <#RRGGBB> [default #FFFFFF]
@item @option{-C <color>} @tab Background color of the text ('internet' way) <#RRGGBB> [default #000000]
@item @option{-f <font-filename>} @tab font file to use
@item @option{-t <text>} @tab text to display
@item @option{-T <filename>} @tab file to read text from
@item @option{-x <pos>} @tab x coordinate of the start of the text
@item @option{-y <pos>} @tab y coordinate of the start of the text
@end multitable
Text fonts are being looked for in a FONTPATH environment variable.
If the FONTPATH environment variable is not available, or is not checked by
your target (i.e. Cygwin), then specify the full path to the font file as in:
@example
-f /usr/X11R6/lib/X11/fonts/TTF/VeraBd.ttf
@end example
Usage Example:
@example
# Remember to set the path to your fonts
FONTPATH="/cygdrive/c/WINDOWS/Fonts/"
FONTPATH="$FONTPATH:/usr/share/imlib2/data/fonts/"
FONTPATH="$FONTPATH:/usr/X11R6/lib/X11/fonts/TTF/"
export FONTPATH
# Time and date display
ffmpeg -f video4linux2 -i /dev/video0 \
-vhook 'vhook/drawtext.so -f VeraBd.ttf -t %A-%D-%T' movie.mpg
This example grabs video from the first capture card and outputs it to an
MPEG video, and places "Weekday-dd/mm/yy-hh:mm:ss" at the top left of the
frame, updated every second, using the Vera Bold TrueType Font, which
should exist in: /usr/X11R6/lib/X11/fonts/TTF/
@end example
Check the man page for strftime() for all the various ways you can format
the date and time.
@section watermark.c
Command Line options:
@multitable @columnfractions .2 .8
@item @option{-m [0|1]} @tab Mode (default: 0, see below)
@item @option{-t 000000 - FFFFFF} @tab Threshold, six digit hex number
@item @option{-f <filename>} @tab Watermark image filename, must be specified!
@end multitable
MODE 0:
The watermark picture works like this (assuming color intensities 0..0xFF):
Per color do this:
If mask color is 0x80, no change to the original frame.
If mask color is < 0x80 the absolute difference is subtracted from the
frame. If result < 0, result = 0.
If mask color is > 0x80 the absolute difference is added to the
frame. If result > 0xFF, result = 0xFF.
You can override the 0x80 level with the -t flag. E.g. if threshold is
000000 the color value of watermark is added to the destination.
This way a mask that is visible both in light and dark pictures can be made
(e.g. by using a picture generated by the Gimp and the bump map tool).
An example watermark file is at:
@url{http://engene.se/ffmpeg_watermark.gif}
MODE 1:
Per color do this:
If mask color > threshold color then the watermark pixel is used.
Example usage:
@example
ffmpeg -i infile -vhook '/path/watermark.so -f wm.gif' -an out.mov
ffmpeg -i infile -vhook '/path/watermark.so -f wm.gif -m 1 -t 222222' -an out.mov
@end example
@bye

307
doc/libavfilter.texi Normal file
View File

@@ -0,0 +1,307 @@
\input texinfo @c -*- texinfo -*-
@settitle Libavfilter Documentation
@titlepage
@sp 7
@center @titlefont{Libavfilter Documentation}
@sp 3
@end titlepage
@chapter Introduction
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.
Integrating libavfilter into the main FFmpeg repository is a work in
progress. If you wish to try the unfinished development code of
libavfilter then check it out from the libavfilter repository into
some directory of your choice by:
@example
svn checkout svn://svn.ffmpeg.org/soc/libavfilter
@end example
And then read the README file in the top directory to learn how to
integrate it into ffmpeg and ffplay.
But note that there may still be serious bugs in the code and its API
and ABI should not be considered stable yet!
@chapter Tutorial
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:
@example
input --> split --> fifo -----------------------> overlay --> output
| ^
| |
+------> fifo --> crop --> vflip --------+
@end example
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:
@example
./ffmpeg -i in.avi -s 240x320 -vfilters "[in] split [T1], fifo, [T2] overlay= 0:240 [out]; [T1] fifo, crop=0:0:-1:240, vflip [T2]
@end example
where input_video.avi has a vertical resolution of 480 pixels. The
result will be that in output the top half of the video is mirrored
onto the bottom half.
Video filters are loaded using the @var{-vfilters} option passed to
ffmpeg or to 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.
@chapter Available video filters
When you configure your FFmpeg build, you can disable any of the
existing video filters.
The configure output will show the video filters included in your
build.
Below is a description of the currently available video filters.
@section crop
Crop the input video to @var{x}:@var{y}:@var{width}:@var{height}.
@example
./ffmpeg -i in.avi -vfilters "crop=0:0:0:240" out.avi
@end example
@var{x} and @var{y} specify the position of the top-left corner of the
output (non-cropped) area.
The default value of @var{x} and @var{y} is 0.
The @var{width} and @var{height} parameters specify the width and height
of the output (non-cropped) area.
A value of 0 is interpreted as the maximum possible size contained in
the area delimited by the top-left corner at position x:y.
For example the parameters:
@example
"crop=100:100:0:0"
@end example
will delimit the rectangle with the top-left corner placed at position
100:100 and the right-bottom corner corresponding to the right-bottom
corner of the input image.
The default value of @var{width} and @var{height} is 0.
@section format
Convert the input video to one of the specified pixel formats.
Libavfilter will try to pick one that is supported for the input to
the next filter.
The filter accepts a list of pixel format names, separated by ``:'',
for example ``yuv420p:monow:rgb24''.
The following command:
@example
./ffmpeg -i in.avi -vfilters "format=yuv420p" out.avi
@end example
will convert the input video to the format ``yuv420p''.
@section noformat
Force libavfilter not to use any of the specified pixel formats for the
input to the next filter.
The filter accepts a list of pixel format names, separated by ``:'',
for example ``yuv420p:monow:rgb24''.
The following command:
@example
./ffmpeg -i in.avi -vfilters "noformat=yuv420p, vflip" out.avi
@end example
will make libavfilter use a format different from ``yuv420p'' for the
input to the vflip filter.
@section null
Pass the source unchanged to the output.
@section scale
Scale the input video to @var{width}:@var{height} and/or convert the image format.
For example the command:
@example
./ffmpeg -i in.avi -vfilters "scale=200:100" out.avi
@end example
will scale the input video to a size of 200x100.
If the input image format is different from the format requested by
the next filter, the scale filter will convert the input to the
requested format.
If the value for @var{width} or @var{height} is 0, the respective input
size is used for the output.
If the value for @var{width} or @var{height} is -1, the scale filter will
use, for the respective output size, a value that maintains the aspect
ratio of the input image.
The default value of @var{width} and @var{height} is 0.
@section slicify
Pass the images of input video on to next video filter as multiple
slices.
@example
./ffmpeg -i in.avi -vfilters "slicify=32" out.avi
@end example
The filter accepts the slice height as parameter. If the parameter is
not specified it will use the default value of 16.
Adding this in the beginning of filter chains should make filtering
faster due to better use of the memory cache.
@section unsharp
Sharpen or blur the input video. It accepts the following parameters:
@multitable @columnfractions .2 .5 .1 .1 .1
@headitem Name @tab Description @tab Min @tab Max @tab Default
@item @var{luma_msize_x}
@tab Luma matrix horizontal size
@tab 3
@tab 13
@tab 5
@item @var{luma_msize_y}
@tab Luma matrix vertical size
@tab 3
@tab 13
@tab 5
@item @var{luma_amount}
@tab Luma effect strength
@tab -2.0
@tab 5.0
@tab 1.0
@item @var{chroma_msize_x}
@tab Chroma matrix horizontal size
@tab 3
@tab 13
@tab 0
@item @var{chroma_msize_y}
@tab Chroma matrix vertical size
@tab 3
@tab 13
@tab 0
@item @var{chroma_amount}
@tab Chroma effect strength
@tab -2.0
@tab 5.0
@tab 0.0
@end multitable
Negative values for the amount will blur the input video, while positive
values will sharpen. All parameters are optional and default to the
equivalent of the string '5:5:1.0:0:0:0.0'.
@example
# Strong luma sharpen effect parameters
unsharp=7:7:2.5
# Strong blur of both luma and chroma parameters
unsharp=7:7:-2:7:7:-2
# Use the default values with @command{ffmpeg}
./ffmpeg -i in.avi -vfilters "unsharp" out.mp4
@end example
@section vflip
Flip the input video vertically.
@example
./ffmpeg -i in.avi -vfilters "vflip" out.avi
@end example
@chapter Available video sources
Below is a description of the currently available video sources.
@section nullsrc
Null video source, never return images. It is mainly useful as a
template and to be employed in analysis / debugging tools.
It accepts as optional parameter a string of the form
@var{width}:@var{height}, where @var{width} and @var{height} specify the size of
the configured source.
The default values of @var{width} and @var{height} are respectively 352
and 288 (corresponding to the CIF size format).
@chapter Available video sinks
Below is a description of the currently available video sinks.
@section nullsink
Null video sink, do absolutely nothing with the input video. It is
mainly useful as a template and to be employed in analysis / debugging
tools.
@bye

61
doc/rate_distortion.txt Normal file
View File

@@ -0,0 +1,61 @@
A Quick Description Of Rate Distortion Theory.
We want to encode a video, picture or piece of music optimally. What does
"optimally" really mean? It means that we want to get the best quality at a
given filesize OR we want to get the smallest filesize at a given quality
(in practice, these 2 goals are usually the same).
Solving this directly is not practical; trying all byte sequences 1
megabyte in length and selecting the "best looking" sequence will yield
256^1000000 cases to try.
But first, a word about quality, which is also called distortion.
Distortion can be quantified by almost any quality measurement one chooses.
Commonly, the sum of squared differences is used but more complex methods
that consider psychovisual effects can be used as well. It makes no
difference in this discussion.
First step: that rate distortion factor called lambda...
Let's consider the problem of minimizing:
distortion + lambda*rate
rate is the filesize
distortion is the quality
lambda is a fixed value choosen 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
chosen quality measurement) at the desired (or lower) filesize.
Second step: splitting the problem.
Directly splitting the problem of finding the best quality at a given
filesize is hard because we do not know how many bits from the total
filesize should be allocated to each of the subproblems. But the formula
from above:
distortion + lambda*rate
can be trivially split. Consider:
(distortion0 + distortion1) + lambda*(rate0 + rate1)
This creates a problem made of 2 independent subproblems. The subproblems
might be 2 16x16 macroblocks in a frame of 32x16 size. To minimize:
(distortion0 + distortion1) + lambda*(rate0 + rate1)
we just have to minimize:
distortion0 + lambda*rate0
and
distortion1 + lambda*rate1
I.e, the 2 problems can be solved independently.
Author: Michael Niedermayer
Copyright: LGPL

View File

@@ -30,7 +30,7 @@ slices, that is, consecutive non-overlapping rectangles of dimension
special converter
These generally are unscaled converters of common
formats, like YUV 4:2:0/4:2:2 -> RGB15/16/24/32. Though it could also
formats, like YUV 4:2:0/4:2:2 -> RGB12/15/16/24/32. Though it could also
in principle contain scalers optimized for specific common cases.
Main path

64
doc/tablegen.txt Normal file
View File

@@ -0,0 +1,64 @@
Writing a table generator
This documentation is preliminary.
Parts of the API are not good and should be changed.
Basic concepts
A table generator consists of two files, *_tablegen.c and *_tablegen.h.
The .h file will provide the variable declarations and initialization
code for the tables, the .c calls the initialization code and then prints
the tables as a header file using the tableprint.h helpers.
Both of these files will be compiled for the host system, so to avoid
breakage with cross-compilation neither of them may include, directly
or indirectly, config.h or avconfig.h.
Due to this, the .c file or Makefile may have to provide additional defines
or stubs, though if possible this should be avoided.
In particular, CONFIG_HARDCODED_TABLES should always be defined to 0.
The .c file
This file should include the *_tablegen.h and tableprint.h files and
anything else it needs as long as it does not depend on config.h or
avconfig.h.
In addition to that it must contain a main() function which initializes
all tables by calling the init functions from the .h file and then prints
them.
The printing code typically looks like this:
write_fileheader();
printf("static const uint8_t my_array[100] = {\n");
write_uint8_array(my_array, 100);
printf("};\n");
write_fileheader() adds some minor things like a "this is a generated file"
comment and some standard includes.
tablegen.h defines some write functions for one- and two-dimensional arrays
for standard types - they print only the "core" parts so they are easier
to reuse for multi-dimensional arrays so the outermost {} must be printed
separately.
If there's no standard function for printing the type you need, the
WRITE_1D_FUNC_ARGV macro is a very quick way to create one.
See libavcodec/dv_tablegen.c for an example.
The .h file
This file should contain:
- one or more initialization functions
- the table variable declarations
If CONFIG_HARDCODED_TABLES is set, the initialization functions should
not do anything, and instead of the variable declarations the
generated *_tables.h file should be included.
Since that will be generated in the build directory, the path must be
included, i.e.
#include "libavcodec/example_tables.h"
not
#include "example_tables.h"
Makefile changes
To make the automatic table creation work, you must manually declare the
new dependency.
For this add a line similar to this:
$(SUBDIR)example.o: $(SUBDIR)example_tables.h
under the "ifdef CONFIG_HARDCODED_TABLES" section in the Makefile.

110
doc/viterbi.txt Normal file
View File

@@ -0,0 +1,110 @@
This is a quick description of the viterbi aka dynamic programing
algorthm.
Its reason for existence is that wikipedia has become very poor on
describing algorithms in a way that makes it useable for understanding
them or anything else actually. It tends now to describe the very same
algorithm under 50 different names and pages with few understandable
by even people who fully understand the algorithm and the theory behind.
Problem description: (that is what it can solve)
assume we have a 2d table, or you could call it a graph or matrix if you
prefer
O O O O O O O
O O O O O O O
O O O O O O O
O O O O O O O
That table has edges connecting points from each column to the next column
and each edge has a score like: (only some edge and scores shown to keep it
readable)
O--5--O-----O-----O-----O-----O
2 / 7 / \ / \ / \ /
\ / \ / \ / \ / \ /
O7-/--O--/--O--/--O--/--O--/--O
\/ \/ 1/ \/ \/ \/ \/ \/ \/ \/
/\ /\ 2\ /\ /\ /\ /\ /\ /\ /\
O3-/--O--/--O--/--O--/--O--/--O
/ \ / \ / \ / \ / \
1 \ 9 \ / \ / \ / \
O--2--O--1--O--5--O--3--O--8--O
Our goal is to find a path from left to right through it which
minimizes the sum of the score of all edges.
(and of course left/right is just a convention here it could be top down too)
Similarly the minimum could be the maximum by just fliping the sign,
Example of a path with scores:
O O O O O O O
>---O. O O .O-2-O O O
5. .7 .
O O-1-O O O 8 O O
.
O O O O O O-1-O---> (sum here is 24)
The viterbi algorthm now solves this simply column by column
For the previous column each point has a best path and a associated
score:
O-----5 O
\
\
O \ 1 O
\/
/\
O / 2 O
/
/
O-----2 O
To move one column forward we just need to find the best path and associated
scores for the next column
here are some edges we could choose from:
O-----5--3--O
\ \8
\ \
O \ 1--9--O
\/ \3
/\ \
O / 2--1--O
/ \2
/ \
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:
O-----0-----8
\
\
O \ 0----10
\/
/\
O / 0-----3
/ \
/ \
O 0 4
the viterbi algorthm continues exactly like this column for column until the
end and then just picks the path with the best score (above that would be the
one with score 3)
Author: Michael niedermayer
Copyright LGPL

1512
ffmpeg.c

File diff suppressed because it is too large Load Diff

1290
ffplay.c

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
coder=0
bf=0
flags2=-wpred-dct8x8+mbtree
flags2=-wpred-dct8x8
wpredp=0

View File

@@ -18,5 +18,5 @@ bf=3
refs=3
directpred=1
trellis=1
flags2=+mixed_refs+wpred+dct8x8+fastpskip+mbtree
flags2=+mixed_refs+wpred+dct8x8+fastpskip
wpredp=2

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
subq=6
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=2
directpred=1
trellis=1
flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
wpredp=2
rc_lookahead=30

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=2
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=1
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip
wpredp=2
rc_lookahead=30

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
subq=4
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=2
directpred=1
trellis=1
flags2=+bpyramid-mixed_refs+wpred+dct8x8+fastpskip
wpredp=1
rc_lookahead=20

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=2
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=1
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip
wpredp=1
rc_lookahead=20

View File

@@ -18,5 +18,5 @@ bf=3
refs=1
directpred=3
trellis=0
flags2=-bpyramid-wpred-mixed_refs-dct8x8+fastpskip+mbtree
flags2=-bpyramid-wpred-mixed_refs-dct8x8+fastpskip
wpredp=2

View File

@@ -18,5 +18,5 @@ bf=3
refs=4
directpred=3
trellis=1
flags2=+wpred+mixed_refs+dct8x8+fastpskip+mbtree
flags2=+wpred+mixed_refs+dct8x8+fastpskip
wpredp=2

View File

@@ -1,6 +1,6 @@
coder=0
bf=0
flags2=-wpred-dct8x8+mbtree
flags2=-wpred-dct8x8
level=13
maxrate=768000
bufsize=3000000

View File

@@ -1,7 +1,7 @@
coder=0
bf=0
refs=1
flags2=-wpred-dct8x8+mbtree
flags2=-wpred-dct8x8
level=30
maxrate=10000000
bufsize=10000000

View File

@@ -15,6 +15,6 @@ qmin=10
qmax=51
qdiff=4
directpred=1
flags2=+fastpskip+mbtree
flags2=+fastpskip
cqp=0
wpredp=0

View File

@@ -16,6 +16,6 @@ qmax=51
qdiff=4
refs=16
directpred=1
flags2=+mixed_refs+dct8x8+fastpskip+mbtree
flags2=+mixed_refs+dct8x8+fastpskip
cqp=0
wpredp=2

View File

@@ -15,6 +15,6 @@ qmin=10
qmax=51
qdiff=4
directpred=1
flags2=+fastpskip+mbtree
flags2=+fastpskip
cqp=0
wpredp=2

View File

@@ -16,6 +16,6 @@ qmax=51
qdiff=4
refs=2
directpred=1
flags2=+dct8x8+fastpskip+mbtree
flags2=+dct8x8+fastpskip
cqp=0
wpredp=2

View File

@@ -16,6 +16,6 @@ qmax=51
qdiff=4
refs=4
directpred=1
flags2=+mixed_refs+dct8x8+fastpskip+mbtree
flags2=+mixed_refs+dct8x8+fastpskip
cqp=0
wpredp=2

View File

@@ -15,5 +15,5 @@ qmin=10
qmax=51
qdiff=4
directpred=1
flags2=+fastpskip+mbtree
flags2=+fastpskip
cqp=0

View File

@@ -1 +1 @@
flags2=-dct8x8+mbtree
flags2=-dct8x8

View File

@@ -18,5 +18,5 @@ bf=3
refs=16
directpred=3
trellis=2
flags2=+wpred+mixed_refs+dct8x8-fastpskip+mbtree
flags2=+wpred+mixed_refs+dct8x8-fastpskip
wpredp=2

View File

@@ -0,0 +1,22 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
subq=7
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=3
directpred=1
trellis=1
flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
wpredp=2

View File

@@ -0,0 +1,22 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=2
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=1
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip
wpredp=2

View File

@@ -18,5 +18,5 @@ bf=3
refs=2
directpred=3
trellis=0
flags2=+wpred+dct8x8+fastpskip+mbtree
flags2=+wpred+dct8x8+fastpskip
wpredp=2

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=tesa
subq=10
me_range=24
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=16
refs=16
directpred=3
trellis=2
flags2=+bpyramid+mixed_refs+wpred+dct8x8-fastpskip
wpredp=2
rc_lookahead=60

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=tesa
subq=10
me_range=24
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=16
refs=16
directpred=3
trellis=2
flags2=+bpyramid+mixed_refs+wpred+dct8x8-fastpskip
wpredp=2
rc_lookahead=60

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=umh
subq=8
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=5
directpred=3
trellis=1
flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
wpredp=2
rc_lookahead=50

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=2
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=3
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip
wpredp=2
rc_lookahead=50

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=umh
subq=9
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=8
directpred=3
trellis=2
flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
wpredp=2
rc_lookahead=60

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=2
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=3
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip
wpredp=2
rc_lookahead=60

View File

@@ -18,5 +18,5 @@ bf=3
refs=1
directpred=3
trellis=0
flags2=+wpred+dct8x8+fastpskip+mbtree
flags2=+wpred+dct8x8+fastpskip
wpredp=2

View File

@@ -0,0 +1,22 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4-partp8x8-partb8x8
me_method=dia
subq=1
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=1
trellis=0
flags2=+bpyramid-mixed_refs+wpred+dct8x8+fastpskip-mbtree
wpredp=0

View File

@@ -0,0 +1,22 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=1
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=1
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip-mbtree
wpredp=0

View File

@@ -0,0 +1,23 @@
coder=0
flags=-loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=0
me_range=16
g=250
keyint_min=25
sc_threshold=0
i_qfactor=0.71
b_strategy=0
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=0
refs=1
directpred=1
trellis=0
flags2=-bpyramid-mixed_refs-wpred-dct8x8+fastpskip-mbtree
wpredp=0
aq_mode=0

View File

@@ -0,0 +1,23 @@
coder=0
flags=-loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=0
me_range=16
g=250
keyint_min=25
sc_threshold=0
i_qfactor=0.71
b_strategy=0
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=0
refs=1
directpred=1
trellis=0
flags2=-bpyramid-mixed_refs-wpred-dct8x8+fastpskip-mbtree
wpredp=0
aq_mode=0

View File

@@ -0,0 +1,22 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partb8x8
me_method=hex
subq=2
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=1
trellis=0
flags2=+bpyramid-mixed_refs+wpred+dct8x8+fastpskip-mbtree
wpredp=0

View File

@@ -0,0 +1,22 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=2
me_range=16
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=1
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=3
refs=1
directpred=1
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip-mbtree
wpredp=0

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=+parti8x8+parti4x4+partp8x8+partp4x4+partb8x8
me_method=umh
subq=10
me_range=24
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=8
refs=16
directpred=3
trellis=2
flags2=+bpyramid+mixed_refs+wpred+dct8x8+fastpskip
wpredp=2
rc_lookahead=60

View File

@@ -0,0 +1,23 @@
coder=1
flags=+loop
cmp=+chroma
partitions=-parti8x8-parti4x4-partp8x8-partb8x8
me_method=dia
subq=2
me_range=24
g=250
keyint_min=25
sc_threshold=40
i_qfactor=0.71
b_strategy=2
qcomp=0.6
qmin=10
qmax=51
qdiff=4
bf=8
refs=1
directpred=3
trellis=0
flags2=+bpyramid-mixed_refs+wpred-dct8x8+fastpskip
wpredp=2
rc_lookahead=60

367
ffprobe.c Normal file
View File

@@ -0,0 +1,367 @@
/*
* FFprobe : Simple Media Prober based on the FFmpeg libraries
* Copyright (c) 2007-2010 Stefano Sabatini
*
* 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 "config.h"
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/opt.h"
#include "libavutil/pixdesc.h"
#include "libavdevice/avdevice.h"
#include "cmdutils.h"
const char program_name[] = "FFprobe";
const int program_birth_year = 2007;
static int do_show_format = 0;
static int do_show_streams = 0;
static int convert_tags = 0;
static int show_value_unit = 0;
static int use_value_prefix = 0;
static int use_byte_value_binary_prefix = 0;
static int use_value_sexagesimal_format = 0;
/* globals */
static const OptionDef options[];
/* FFprobe context */
static const char *input_filename;
static AVInputFormat *iformat = NULL;
static const char *binary_unit_prefixes [] = { "", "Ki", "Mi", "Gi", "Ti", "Pi" };
static const char *decimal_unit_prefixes[] = { "", "K" , "M" , "G" , "T" , "P" };
static const char *unit_second_str = "s" ;
static const char *unit_hertz_str = "Hz" ;
static const char *unit_byte_str = "byte" ;
static const char *unit_bit_per_second_str = "bit/s";
static char *value_string(char *buf, int buf_size, double val, const char *unit)
{
if (unit == unit_second_str && use_value_sexagesimal_format) {
double secs;
int hours, mins;
secs = val;
mins = (int)secs / 60;
secs = secs - mins * 60;
hours = mins / 60;
mins %= 60;
snprintf(buf, buf_size, "%d:%02d:%09.6f", hours, mins, secs);
} else if (use_value_prefix) {
const char *prefix_string;
int index;
if (unit == unit_byte_str && use_byte_value_binary_prefix) {
index = (int) (log(val)/log(2)) / 10;
index = av_clip(index, 0, FF_ARRAY_ELEMS(binary_unit_prefixes) -1);
val /= pow(2, index*10);
prefix_string = binary_unit_prefixes[index];
} else {
index = (int) (log10(val)) / 3;
index = av_clip(index, 0, FF_ARRAY_ELEMS(decimal_unit_prefixes) -1);
val /= pow(10, index*3);
prefix_string = decimal_unit_prefixes[index];
}
snprintf(buf, buf_size, "%.3f %s%s", val, prefix_string, show_value_unit ? unit : "");
} else {
snprintf(buf, buf_size, "%f %s", val, show_value_unit ? unit : "");
}
return buf;
}
static char *time_value_string(char *buf, int buf_size, int64_t val, const AVRational *time_base)
{
if (val == AV_NOPTS_VALUE) {
snprintf(buf, buf_size, "N/A");
} else {
value_string(buf, buf_size, val * av_q2d(*time_base), unit_second_str);
}
return buf;
}
static const char *media_type_string(enum AVMediaType media_type)
{
switch (media_type) {
case AVMEDIA_TYPE_VIDEO: return "video";
case AVMEDIA_TYPE_AUDIO: return "audio";
case AVMEDIA_TYPE_DATA: return "data";
case AVMEDIA_TYPE_SUBTITLE: return "subtitle";
case AVMEDIA_TYPE_ATTACHMENT: return "attachment";
default: return "unknown";
}
}
static void show_stream(AVFormatContext *fmt_ctx, int stream_idx)
{
AVStream *stream = fmt_ctx->streams[stream_idx];
AVCodecContext *dec_ctx;
AVCodec *dec;
char val_str[128];
AVMetadataTag *tag = NULL;
char a, b, c, d;
AVRational display_aspect_ratio;
printf("[STREAM]\n");
printf("index=%d\n", stream->index);
if ((dec_ctx = stream->codec)) {
if ((dec = dec_ctx->codec)) {
printf("codec_name=%s\n", dec->name);
printf("codec_long_name=%s\n", dec->long_name);
} else {
printf("codec_name=unknown\n");
}
printf("codec_type=%s\n", media_type_string(dec_ctx->codec_type));
printf("codec_time_base=%d/%d\n", dec_ctx->time_base.num, dec_ctx->time_base.den);
/* print AVI/FourCC tag */
a = dec_ctx->codec_tag & 0xff;
b = dec_ctx->codec_tag>>8 & 0xff;
c = dec_ctx->codec_tag>>16 & 0xff;
d = dec_ctx->codec_tag>>24 & 0xff;
printf("codec_tag_string=");
if (isprint(a)) printf("%c", a); else printf("[%d]", a);
if (isprint(b)) printf("%c", b); else printf("[%d]", b);
if (isprint(c)) printf("%c", c); else printf("[%d]", c);
if (isprint(d)) printf("%c", d); else printf("[%d]", d);
printf("\ncodec_tag=0x%04x\n", dec_ctx->codec_tag);
switch (dec_ctx->codec_type) {
case AVMEDIA_TYPE_VIDEO:
printf("width=%d\n", dec_ctx->width);
printf("height=%d\n", dec_ctx->height);
printf("has_b_frames=%d\n", dec_ctx->has_b_frames);
if (dec_ctx->sample_aspect_ratio.num) {
printf("sample_aspect_ratio=%d:%d\n", dec_ctx->sample_aspect_ratio.num,
dec_ctx->sample_aspect_ratio.den);
av_reduce(&display_aspect_ratio.num, &display_aspect_ratio.den,
dec_ctx->width * dec_ctx->sample_aspect_ratio.num,
dec_ctx->height * dec_ctx->sample_aspect_ratio.den,
1024*1024);
printf("display_aspect_ratio=%d:%d\n", display_aspect_ratio.num,
display_aspect_ratio.den);
}
printf("pix_fmt=%s\n", dec_ctx->pix_fmt != PIX_FMT_NONE ?
av_pix_fmt_descriptors[dec_ctx->pix_fmt].name : "unknown");
break;
case AVMEDIA_TYPE_AUDIO:
printf("sample_rate=%s\n", value_string(val_str, sizeof(val_str),
dec_ctx->sample_rate,
unit_hertz_str));
printf("channels=%d\n", dec_ctx->channels);
printf("bits_per_sample=%d\n", av_get_bits_per_sample(dec_ctx->codec_id));
break;
}
} else {
printf("codec_type=unknown\n");
}
if (fmt_ctx->iformat->flags & AVFMT_SHOW_IDS)
printf("id=0x%x\n", stream->id);
printf("r_frame_rate=%d/%d\n", stream->r_frame_rate.num, stream->r_frame_rate.den);
printf("avg_frame_rate=%d/%d\n", stream->avg_frame_rate.num, stream->avg_frame_rate.den);
printf("time_base=%d/%d\n", stream->time_base.num, stream->time_base.den);
if (stream->language[0])
printf("language=%s\n", stream->language);
printf("start_time=%s\n", time_value_string(val_str, sizeof(val_str), stream->start_time,
&stream->time_base));
printf("duration=%s\n", time_value_string(val_str, sizeof(val_str), stream->duration,
&stream->time_base));
if (stream->nb_frames)
printf("nb_frames=%"PRId64"\n", stream->nb_frames);
while ((tag = av_metadata_get(stream->metadata, "", tag, AV_METADATA_IGNORE_SUFFIX)))
printf("TAG:%s=%s\n", tag->key, tag->value);
printf("[/STREAM]\n");
}
static void show_format(AVFormatContext *fmt_ctx)
{
AVMetadataTag *tag = NULL;
char val_str[128];
printf("[FORMAT]\n");
printf("filename=%s\n", fmt_ctx->filename);
printf("nb_streams=%d\n", fmt_ctx->nb_streams);
printf("format_name=%s\n", fmt_ctx->iformat->name);
printf("format_long_name=%s\n", fmt_ctx->iformat->long_name);
printf("start_time=%s\n", time_value_string(val_str, sizeof(val_str), fmt_ctx->start_time,
&AV_TIME_BASE_Q));
printf("duration=%s\n", time_value_string(val_str, sizeof(val_str), fmt_ctx->duration,
&AV_TIME_BASE_Q));
printf("size=%s\n", value_string(val_str, sizeof(val_str), fmt_ctx->file_size,
unit_byte_str));
printf("bit_rate=%s\n", value_string(val_str, sizeof(val_str), fmt_ctx->bit_rate,
unit_bit_per_second_str));
if (convert_tags)
av_metadata_conv(fmt_ctx, NULL, fmt_ctx->iformat->metadata_conv);
while ((tag = av_metadata_get(fmt_ctx->metadata, "", tag, AV_METADATA_IGNORE_SUFFIX)))
printf("TAG:%s=%s\n", tag->key, tag->value);
printf("[/FORMAT]\n");
}
static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
{
int err, i;
AVFormatContext *fmt_ctx;
fmt_ctx = avformat_alloc_context();
if ((err = av_open_input_file(&fmt_ctx, filename, iformat, 0, NULL)) < 0) {
print_error(filename, err);
return err;
}
/* fill the streams in the format context */
if ((err = av_find_stream_info(fmt_ctx)) < 0) {
print_error(filename, err);
return err;
}
dump_format(fmt_ctx, 0, filename, 0);
/* bind a decoder to each input stream */
for (i = 0; i < fmt_ctx->nb_streams; i++) {
AVStream *stream = fmt_ctx->streams[i];
AVCodec *codec;
if (!(codec = avcodec_find_decoder(stream->codec->codec_id))) {
fprintf(stderr, "Unsupported codec (id=%d) for input stream %d\n",
stream->codec->codec_id, stream->index);
} else if (avcodec_open(stream->codec, codec) < 0) {
fprintf(stderr, "Error while opening codec for input stream %d\n",
stream->index);
}
}
*fmt_ctx_ptr = fmt_ctx;
return 0;
}
static int probe_file(const char *filename)
{
AVFormatContext *fmt_ctx;
int ret, i;
if ((ret = open_input_file(&fmt_ctx, filename)))
return ret;
if (do_show_streams)
for (i = 0; i < fmt_ctx->nb_streams; i++)
show_stream(fmt_ctx, i);
if (do_show_format)
show_format(fmt_ctx);
av_close_input_file(fmt_ctx);
return 0;
}
static void show_usage(void)
{
printf("Simple multimedia streams analyzer\n");
printf("usage: ffprobe [OPTIONS] [INPUT_FILE]\n");
printf("\n");
}
static void opt_format(const char *arg)
{
iformat = av_find_input_format(arg);
if (!iformat) {
fprintf(stderr, "Unknown input format: %s\n", arg);
exit(1);
}
}
static void opt_input_file(const char *arg)
{
if (input_filename) {
fprintf(stderr, "Argument '%s' provided as input filename, but '%s' was already specified.\n",
arg, input_filename);
exit(1);
}
if (!strcmp(arg, "-"))
arg = "pipe:";
input_filename = arg;
}
static void show_help(void)
{
show_usage();
show_help_options(options, "Main options:\n", 0, 0);
printf("\n");
}
static void opt_pretty(void)
{
show_value_unit = 1;
use_value_prefix = 1;
use_byte_value_binary_prefix = 1;
use_value_sexagesimal_format = 1;
}
static const OptionDef options[] = {
#include "cmdutils_common_opts.h"
{ "convert_tags", OPT_BOOL, {(void*)&convert_tags}, "convert tag names to the FFmpeg generic tag names" },
{ "f", HAS_ARG, {(void*)opt_format}, "force format", "format" },
{ "unit", OPT_BOOL, {(void*)&show_value_unit}, "show unit of the displayed values" },
{ "prefix", OPT_BOOL, {(void*)&use_value_prefix}, "use SI prefixes for the displayed values" },
{ "byte_binary_prefix", OPT_BOOL, {(void*)&use_byte_value_binary_prefix},
"use binary prefixes for byte units" },
{ "sexagesimal", OPT_BOOL, {(void*)&use_value_sexagesimal_format},
"use sexagesimal format HOURS:MM:SS.MICROSECONDS for time units" },
{ "pretty", 0, {(void*)&opt_pretty},
"prettify the format of displayed values, make it more human readable" },
{ "show_format", OPT_BOOL, {(void*)&do_show_format} , "show format/container info" },
{ "show_streams", OPT_BOOL, {(void*)&do_show_streams}, "show streams info" },
{ NULL, },
};
int main(int argc, char **argv)
{
av_register_all();
#if CONFIG_AVDEVICE
avdevice_register_all();
#endif
show_banner();
parse_options(argc, argv, options, opt_input_file);
if (!input_filename) {
show_usage();
fprintf(stderr, "You have to specify one input file.\n");
fprintf(stderr, "Use -h to get full help or, even better, run 'man ffprobe'.\n");
exit(1);
}
return probe_file(input_filename);
}

File diff suppressed because it is too large Load Diff

View File

@@ -20,14 +20,14 @@
*/
/**
* @file libavcodec/4xm.c
* @file
* 4XM codec.
*/
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "dsputil.h"
#include "bitstream.h"
#include "get_bits.h"
#include "bytestream.h"
//#undef NDEBUG
@@ -137,8 +137,8 @@ typedef struct FourXContext{
int mv[256];
VLC pre_vlc;
int last_dc;
DECLARE_ALIGNED_8(DCTELEM, block[6][64]);
uint8_t *bitstream_buffer;
DECLARE_ALIGNED(16, DCTELEM, block)[6][64];
void *bitstream_buffer;
unsigned int bitstream_buffer_size;
int version;
CFrameBuffer cfrm[CFRAME_BUFFER_COUNT];
@@ -237,12 +237,15 @@ static void idct(DCTELEM block[64]){
}
static av_cold void init_vlcs(FourXContext *f){
static VLC_TYPE table[8][32][2];
int i;
for(i=0; i<8; i++){
block_type_vlc[0][i].table= table[i];
block_type_vlc[0][i].table_allocated= 32;
init_vlc(&block_type_vlc[0][i], BLOCK_TYPE_VLC_BITS, 7,
&block_type_tab[0][i][0][1], 2, 1,
&block_type_tab[0][i][0][0], 2, 1, 1);
&block_type_tab[0][i][0][0], 2, 1, INIT_VLC_USE_NEW_STATIC);
}
}
@@ -375,8 +378,10 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length){
return -1;
}
f->bitstream_buffer= av_fast_realloc(f->bitstream_buffer, &f->bitstream_buffer_size, bitstream_size + FF_INPUT_BUFFER_PADDING_SIZE);
f->dsp.bswap_buf((uint32_t*)f->bitstream_buffer, (const uint32_t*)(buf + extra), bitstream_size/4);
av_fast_malloc(&f->bitstream_buffer, &f->bitstream_buffer_size, bitstream_size + FF_INPUT_BUFFER_PADDING_SIZE);
if (!f->bitstream_buffer)
return AVERROR(ENOMEM);
f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)(buf + extra), bitstream_size/4);
init_get_bits(&f->gb, f->bitstream_buffer, 8*bitstream_size);
f->wordstream= (const uint16_t*)(buf + extra + bitstream_size);
@@ -636,9 +641,18 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length){
uint16_t *dst= (uint16_t*)f->current_picture.data[0];
const int stride= f->current_picture.linesize[0]>>1;
const unsigned int bitstream_size= AV_RL32(buf);
const int token_count av_unused = AV_RL32(buf + bitstream_size + 8);
unsigned int prestream_size= 4*AV_RL32(buf + bitstream_size + 4);
const uint8_t *prestream= buf + bitstream_size + 12;
int token_count av_unused;
unsigned int prestream_size;
const uint8_t *prestream;
if (length < bitstream_size + 12) {
av_log(f->avctx, AV_LOG_ERROR, "packet size too small\n");
return AVERROR_INVALIDDATA;
}
token_count = AV_RL32(buf + bitstream_size + 8);
prestream_size = 4 * AV_RL32(buf + bitstream_size + 4);
prestream = buf + bitstream_size + 12;
if(prestream_size + bitstream_size + 12 != length
|| bitstream_size > (1<<26)
@@ -653,8 +667,10 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length){
prestream_size= length + buf - prestream;
f->bitstream_buffer= av_fast_realloc(f->bitstream_buffer, &f->bitstream_buffer_size, prestream_size + FF_INPUT_BUFFER_PADDING_SIZE);
f->dsp.bswap_buf((uint32_t*)f->bitstream_buffer, (const uint32_t*)prestream, prestream_size/4);
av_fast_malloc(&f->bitstream_buffer, &f->bitstream_buffer_size, prestream_size + FF_INPUT_BUFFER_PADDING_SIZE);
if (!f->bitstream_buffer)
return AVERROR(ENOMEM);
f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)prestream, prestream_size/4);
init_get_bits(&f->pre_gb, f->bitstream_buffer, 8*prestream_size);
f->last_dc= 0*128*8*8;
@@ -677,8 +693,10 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length){
static int decode_frame(AVCodecContext *avctx,
void *data, int *data_size,
const uint8_t *buf, int buf_size)
AVPacket *avpkt)
{
const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
FourXContext * const f = avctx->priv_data;
AVFrame *picture = data;
AVFrame *p, temp;
@@ -806,7 +824,7 @@ static av_cold int decode_init(AVCodecContext *avctx){
init_vlcs(f);
if(f->version>2) avctx->pix_fmt= PIX_FMT_RGB565;
else avctx->pix_fmt= PIX_FMT_RGB555;
else avctx->pix_fmt= PIX_FMT_BGR555;
return 0;
}
@@ -823,20 +841,24 @@ static av_cold int decode_end(AVCodecContext *avctx){
f->cfrm[i].allocated_size= 0;
}
free_vlc(&f->pre_vlc);
if(f->current_picture.data[0])
avctx->release_buffer(avctx, &f->current_picture);
if(f->last_picture.data[0])
avctx->release_buffer(avctx, &f->last_picture);
return 0;
}
AVCodec fourxm_decoder = {
"4xm",
CODEC_TYPE_VIDEO,
AVMEDIA_TYPE_VIDEO,
CODEC_ID_4XM,
sizeof(FourXContext),
decode_init,
NULL,
decode_end,
decode_frame,
/*CODEC_CAP_DR1,*/
CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
};

View File

@@ -20,7 +20,7 @@
*/
/**
* @file libavcodec/8bps.c
* @file
* QT 8BPS Video Decoder by Roberto Togni
* For more information about the 8BPS format, visit:
* http://www.pcisys.net/~melanson/codecs/
@@ -58,8 +58,10 @@ typedef struct EightBpsContext {
* Decode a frame
*
*/
static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
{
const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
EightBpsContext * const c = avctx->priv_data;
const unsigned char *encoded = buf;
unsigned char *pixptr, *pixptr_end;
@@ -157,10 +159,6 @@ static av_cold int decode_init(AVCodecContext *avctx)
c->pic.data[0] = NULL;
if (avcodec_check_dimensions(avctx, avctx->width, avctx->height) < 0) {
return 1;
}
switch (avctx->bits_per_coded_sample) {
case 8:
avctx->pix_fmt = PIX_FMT_PAL8;
@@ -181,7 +179,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
case 32:
avctx->pix_fmt = PIX_FMT_RGB32;
c->planes = 4;
#ifdef WORDS_BIGENDIAN
#if HAVE_BIGENDIAN
c->planemap[0] = 1; // 1st plane is red
c->planemap[1] = 2; // 2nd plane is green
c->planemap[2] = 3; // 3rd plane is blue
@@ -223,7 +221,7 @@ static av_cold int decode_end(AVCodecContext *avctx)
AVCodec eightbps_decoder = {
"8bps",
CODEC_TYPE_VIDEO,
AVMEDIA_TYPE_VIDEO,
CODEC_ID_8BPS,
sizeof(EightBpsContext),
decode_init,

View File

@@ -20,7 +20,7 @@
*/
/**
* @file libavcodec/8svx.c
* @file
* 8svx audio decoder
* @author Jaikrishnan Menon
* supports: fibonacci delta encoding
@@ -42,8 +42,10 @@ static const int16_t exponential[16] = { -128<<8, -64<<8, -32<<8, -16<<8, -8<<8,
/** decode a frame */
static int eightsvx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
const uint8_t *buf, int buf_size)
AVPacket *avpkt)
{
const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
EightSvxContext *esc = avctx->priv_data;
int16_t *out_data = data;
int consumed = buf_size;
@@ -92,7 +94,7 @@ static av_cold int eightsvx_decode_init(AVCodecContext *avctx)
AVCodec eightsvx_fib_decoder = {
.name = "8svx_fib",
.type = CODEC_TYPE_AUDIO,
.type = AVMEDIA_TYPE_AUDIO,
.id = CODEC_ID_8SVX_FIB,
.priv_data_size = sizeof (EightSvxContext),
.init = eightsvx_decode_init,
@@ -102,7 +104,7 @@ AVCodec eightsvx_fib_decoder = {
AVCodec eightsvx_exp_decoder = {
.name = "8svx_exp",
.type = CODEC_TYPE_AUDIO,
.type = AVMEDIA_TYPE_AUDIO,
.id = CODEC_ID_8SVX_EXP,
.priv_data_size = sizeof (EightSvxContext),
.init = eightsvx_decode_init,

View File

@@ -3,10 +3,11 @@ include $(SUBDIR)../config.mak
NAME = avcodec
FFLIBS = avutil
HEADERS = avcodec.h opt.h vdpau.h xvmc.h
HEADERS = avcodec.h avfft.h dxva2.h opt.h vaapi.h vdpau.h xvmc.h
OBJS = allcodecs.o \
audioconvert.o \
avpacket.o \
bitstream.o \
bitstream_filter.o \
dsputil.o \
@@ -26,56 +27,92 @@ OBJS = allcodecs.o \
# parts needed for many different codecs
OBJS-$(CONFIG_AANDCT) += aandcttab.o
OBJS-$(CONFIG_ENCODERS) += faandct.o jfdctfst.o jfdctint.o
OBJS-$(CONFIG_FFT) += fft.o
OBJS-$(CONFIG_DCT) += dct.o
OBJS-$(CONFIG_DWT) += dwt.o
OBJS-$(CONFIG_DXVA2) += dxva2.o
FFT-OBJS-$(CONFIG_HARDCODED_TABLES) += cos_tables.o
OBJS-$(CONFIG_FFT) += avfft.o fft.o $(FFT-OBJS-yes)
OBJS-$(CONFIG_GOLOMB) += golomb.o
OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o h264pred.o
OBJS-$(CONFIG_LPC) += lpc.o
OBJS-$(CONFIG_LSP) += lsp.o
OBJS-$(CONFIG_MDCT) += mdct.o
OBJS-$(CONFIG_OLDSCALER) += imgresample.o
OBJS-$(CONFIG_RDFT) += rdft.o
RDFT-OBJS-$(CONFIG_HARDCODED_TABLES) += sin_tables.o
OBJS-$(CONFIG_RDFT) += rdft.o $(RDFT-OBJS-yes)
OBJS-$(CONFIG_VAAPI) += vaapi.o
OBJS-$(CONFIG_VDPAU) += vdpau.o
# decoders/encoders
OBJS-$(CONFIG_AAC_DECODER) += aac.o aactab.o mpeg4audio.o aac_parser.o aac_ac3_parser.o
# decoders/encoders/hardware accelerators
OBJS-$(CONFIG_AAC_DECODER) += aacdec.o aactab.o aacsbr.o aacps.o
OBJS-$(CONFIG_AAC_ENCODER) += aacenc.o aaccoder.o \
aacpsy.o aactab.o \
psymodel.o iirfilter.o \
mpeg4audio.o
OBJS-$(CONFIG_AASC_DECODER) += aasc.o msrledec.o
OBJS-$(CONFIG_AC3_DECODER) += eac3dec.o ac3dec.o ac3tab.o ac3dec_data.o ac3.o
OBJS-$(CONFIG_AC3_DECODER) += ac3dec.o ac3dec_data.o ac3.o
OBJS-$(CONFIG_AC3_ENCODER) += ac3enc.o ac3tab.o ac3.o
OBJS-$(CONFIG_ALAC_DECODER) += alac.o
OBJS-$(CONFIG_ALAC_ENCODER) += alacenc.o lpc.o
OBJS-$(CONFIG_ALAC_ENCODER) += alacenc.o
OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mpeg4audio.o
OBJS-$(CONFIG_AMRNB_DECODER) += amrnbdec.o celp_filters.o \
celp_math.o acelp_filters.o \
acelp_vectors.o \
acelp_pitch_delay.o
OBJS-$(CONFIG_AMV_DECODER) += sp5xdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_ANM_DECODER) += anm.o
OBJS-$(CONFIG_APE_DECODER) += apedec.o
OBJS-$(CONFIG_ASV1_DECODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ASV1_ENCODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ASV2_DECODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ASV2_ENCODER) += asv1.o mpeg12data.o
OBJS-$(CONFIG_ATRAC3_DECODER) += atrac3.o
OBJS-$(CONFIG_ATRAC1_DECODER) += atrac1.o atrac.o
OBJS-$(CONFIG_ATRAC3_DECODER) += atrac3.o atrac.o
OBJS-$(CONFIG_AURA_DECODER) += cyuv.o
OBJS-$(CONFIG_AURA2_DECODER) += aura.o
OBJS-$(CONFIG_AVS_DECODER) += avs.o
OBJS-$(CONFIG_BETHSOFTVID_DECODER) += bethsoftvideo.o
OBJS-$(CONFIG_BFI_DECODER) += bfi.o
OBJS-$(CONFIG_BINK_DECODER) += bink.o binkidct.o
OBJS-$(CONFIG_BINKAUDIO_DCT_DECODER) += binkaudio.o wma.o
OBJS-$(CONFIG_BINKAUDIO_RDFT_DECODER) += binkaudio.o wma.o
OBJS-$(CONFIG_BMP_DECODER) += bmp.o msrledec.o
OBJS-$(CONFIG_BMP_ENCODER) += bmpenc.o
OBJS-$(CONFIG_C93_DECODER) += c93.o
OBJS-$(CONFIG_CAVS_DECODER) += cavs.o cavsdec.o cavsdsp.o mpeg12data.o mpegvideo.o
OBJS-$(CONFIG_CAVS_DECODER) += cavs.o cavsdec.o cavsdsp.o \
mpeg12data.o mpegvideo.o
OBJS-$(CONFIG_CDGRAPHICS_DECODER) += cdgraphics.o
OBJS-$(CONFIG_CINEPAK_DECODER) += cinepak.o
OBJS-$(CONFIG_CLJR_DECODER) += cljr.o
OBJS-$(CONFIG_CLJR_ENCODER) += cljr.o
OBJS-$(CONFIG_COOK_DECODER) += cook.o
OBJS-$(CONFIG_CSCD_DECODER) += cscd.o
OBJS-$(CONFIG_CYUV_DECODER) += cyuv.o
OBJS-$(CONFIG_DCA_DECODER) += dca.o
OBJS-$(CONFIG_DCA_DECODER) += dca.o synth_filter.o dcadsp.o
OBJS-$(CONFIG_DNXHD_DECODER) += dnxhddec.o dnxhddata.o
OBJS-$(CONFIG_DNXHD_ENCODER) += dnxhdenc.o dnxhddata.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12data.o mpegvideo.o
OBJS-$(CONFIG_DNXHD_ENCODER) += dnxhdenc.o dnxhddata.o \
mpegvideo_enc.o motion_est.o \
ratecontrol.o mpeg12data.o \
mpegvideo.o
OBJS-$(CONFIG_DPX_DECODER) += dpx.o
OBJS-$(CONFIG_DSICINAUDIO_DECODER) += dsicinav.o
OBJS-$(CONFIG_DSICINVIDEO_DECODER) += dsicinav.o
OBJS-$(CONFIG_DVBSUB_DECODER) += dvbsubdec.o
OBJS-$(CONFIG_DVBSUB_ENCODER) += dvbsub.o
OBJS-$(CONFIG_DVDSUB_DECODER) += dvdsubdec.o
OBJS-$(CONFIG_DVDSUB_ENCODER) += dvdsubenc.o
OBJS-$(CONFIG_DVVIDEO_DECODER) += dv.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dv.o
OBJS-$(CONFIG_DVVIDEO_DECODER) += dv.o dvdata.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dv.o dvdata.o
OBJS-$(CONFIG_DXA_DECODER) += dxa.o
OBJS-$(CONFIG_EAC3_DECODER) += eac3dec.o ac3dec.o ac3tab.o ac3dec_data.o ac3.o
OBJS-$(CONFIG_EAC3_DECODER) += eac3dec.o eac3dec_data.o
OBJS-$(CONFIG_EACMV_DECODER) += eacmv.o
OBJS-$(CONFIG_EAMAD_DECODER) += eamad.o eaidct.o mpeg12.o \
mpeg12data.o mpegvideo.o \
error_resilience.o
OBJS-$(CONFIG_EATGQ_DECODER) += eatgq.o eaidct.o
OBJS-$(CONFIG_EATGV_DECODER) += eatgv.o
OBJS-$(CONFIG_EATQI_DECODER) += eatqi.o eaidct.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_EATQI_DECODER) += eatqi.o eaidct.o mpeg12.o \
mpeg12data.o mpegvideo.o \
error_resilience.o
OBJS-$(CONFIG_EIGHTBPS_DECODER) += 8bps.o
OBJS-$(CONFIG_EIGHTSVX_EXP_DECODER) += 8svx.o
OBJS-$(CONFIG_EIGHTSVX_FIB_DECODER) += 8svx.o
@@ -84,94 +121,155 @@ OBJS-$(CONFIG_FFV1_DECODER) += ffv1.o rangecoder.o
OBJS-$(CONFIG_FFV1_ENCODER) += ffv1.o rangecoder.o
OBJS-$(CONFIG_FFVHUFF_DECODER) += huffyuv.o
OBJS-$(CONFIG_FFVHUFF_ENCODER) += huffyuv.o
OBJS-$(CONFIG_FLAC_DECODER) += flacdec.o
OBJS-$(CONFIG_FLAC_ENCODER) += flacenc.o lpc.o
OBJS-$(CONFIG_FLAC_DECODER) += flacdec.o flacdata.o flac.o
OBJS-$(CONFIG_FLAC_ENCODER) += flacenc.o flacdata.o flac.o
OBJS-$(CONFIG_FLASHSV_DECODER) += flashsv.o
OBJS-$(CONFIG_FLASHSV_ENCODER) += flashsvenc.o
OBJS-$(CONFIG_FLIC_DECODER) += flicvideo.o
OBJS-$(CONFIG_FLV_DECODER) += h263dec.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_FLV_ENCODER) += mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_FOURXM_DECODER) += 4xm.o
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o huffman.o
OBJS-$(CONFIG_FRWU_DECODER) += frwu.o
OBJS-$(CONFIG_GIF_DECODER) += gifdec.o lzw.o
OBJS-$(CONFIG_GIF_ENCODER) += gif.o
OBJS-$(CONFIG_H261_DECODER) += h261dec.o h261.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H261_ENCODER) += h261enc.o h261.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12data.o mpegvideo.o
OBJS-$(CONFIG_H263_DECODER) += h263dec.o h263.o h263_parser.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H263I_DECODER) += h263dec.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H263_ENCODER) += mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H263P_ENCODER) += mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H264_DECODER) += h264.o h264idct.o h264pred.o h264_parser.o cabac.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_GIF_ENCODER) += gif.o lzwenc.o
OBJS-$(CONFIG_H261_DECODER) += h261dec.o h261.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H261_ENCODER) += h261enc.o h261.o \
mpegvideo_enc.o motion_est.o \
ratecontrol.o mpeg12data.o \
mpegvideo.o
OBJS-$(CONFIG_H263_DECODER) += h263dec.o h263.o ituh263dec.o \
mpeg4video.o mpeg4videodec.o flvdec.o\
intelh263dec.o mpegvideo.o \
error_resilience.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_H263_ENCODER) += mpegvideo_enc.o mpeg4video.o \
mpeg4videoenc.o motion_est.o \
ratecontrol.o h263.o ituh263enc.o \
flvenc.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H264_DECODER) += h264.o \
h264_loopfilter.o h264_direct.o \
cabac.o h264_sei.o h264_ps.o \
h264_refs.o h264_cavlc.o h264_cabac.o\
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H264_DXVA2_HWACCEL) += dxva2_h264.o
OBJS-$(CONFIG_H264_ENCODER) += h264enc.o h264dspenc.o
OBJS-$(CONFIG_H264_VDPAU_DECODER) += vdpau.o h264.o h264idct.o h264pred.o h264_parser.o cabac.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_H264_VAAPI_HWACCEL) += vaapi_h264.o
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o
OBJS-$(CONFIG_IDCIN_DECODER) += idcinvideo.o
OBJS-$(CONFIG_IFF_BYTERUN1_DECODER) += iff.o
OBJS-$(CONFIG_IFF_ILBM_DECODER) += iff.o
OBJS-$(CONFIG_IMC_DECODER) += imc.o
OBJS-$(CONFIG_INDEO2_DECODER) += indeo2.o
OBJS-$(CONFIG_INDEO3_DECODER) += indeo3.o
OBJS-$(CONFIG_INDEO5_DECODER) += indeo5.o ivi_common.o ivi_dsp.o
OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o \
mjpegdec.o mjpeg.o
OBJS-$(CONFIG_JPEGLS_ENCODER) += jpeglsenc.o jpegls.o
OBJS-$(CONFIG_KGV1_DECODER) += kgv1dec.o
OBJS-$(CONFIG_KMVC_DECODER) += kmvc.o
OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpegenc.o mjpeg.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12data.o mpegvideo.o
OBJS-$(CONFIG_LJPEG_ENCODER) += ljpegenc.o mjpegenc.o mjpeg.o \
mpegvideo_enc.o motion_est.o \
ratecontrol.o mpeg12data.o \
mpegvideo.o
OBJS-$(CONFIG_LOCO_DECODER) += loco.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_DECODER) += mace.o
OBJS-$(CONFIG_MDEC_DECODER) += mdec.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MDEC_DECODER) += mdec.o mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MIMIC_DECODER) += mimic.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12data.o mpegvideo.o
OBJS-$(CONFIG_MJPEG_ENCODER) += mjpegenc.o mjpeg.o \
mpegvideo_enc.o motion_est.o \
ratecontrol.o mpeg12data.o \
mpegvideo.o
OBJS-$(CONFIG_MJPEGB_DECODER) += mjpegbdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_MLP_DECODER) += mlpdec.o mlp_parser.o mlp.o
OBJS-$(CONFIG_MLP_DECODER) += mlpdec.o mlpdsp.o
OBJS-$(CONFIG_MMVIDEO_DECODER) += mmvideo.o
OBJS-$(CONFIG_MOTIONPIXELS_DECODER) += motionpixels.o
OBJS-$(CONFIG_MP1_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP2_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP2_ENCODER) += mpegaudioenc.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP3ADU_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP3ON4_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o mpeg4audio.o
OBJS-$(CONFIG_MP3_DECODER) += mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MPC7_DECODER) += mpc7.o mpc.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MPEG_VDPAU_DECODER) += vdpau.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG1_VDPAU_DECODER) += vdpau.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG_XVMC_DECODER) += mpegvideo_xvmc.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEGVIDEO_DECODER) += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12data.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG2VIDEO_ENCODER) += mpeg12enc.o mpeg12data.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG4_DECODER) += h263dec.o h263.o mpeg4video_parser.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG4_ENCODER) += mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MSMPEG4V1_ENCODER) += msmpeg4.o msmpeg4data.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MSMPEG4V2_ENCODER) += msmpeg4.o msmpeg4data.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MSMPEG4V3_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MSMPEG4V3_ENCODER) += msmpeg4.o msmpeg4data.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MP1_DECODER) += mpegaudiodec.o mpegaudiodecheader.o \
mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP2_DECODER) += mpegaudiodec.o mpegaudiodecheader.o \
mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP2_ENCODER) += mpegaudioenc.o mpegaudio.o \
mpegaudiodata.o
OBJS-$(CONFIG_MP3ADU_DECODER) += mpegaudiodec.o mpegaudiodecheader.o \
mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MP3ON4_DECODER) += mpegaudiodec.o mpegaudiodecheader.o \
mpegaudio.o mpegaudiodata.o \
mpeg4audio.o
OBJS-$(CONFIG_MP3_DECODER) += mpegaudiodec.o mpegaudiodecheader.o \
mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MPC7_DECODER) += mpc7.o mpc.o mpegaudiodec.o \
mpegaudiodecheader.o mpegaudio.o \
mpegaudiodata.o
OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o mpegaudiodec.o \
mpegaudiodecheader.o mpegaudio.o \
mpegaudiodata.o
OBJS-$(CONFIG_MPEGVIDEO_DECODER) += mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG_XVMC_DECODER) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpegvideo_enc.o \
motion_est.o ratecontrol.o \
mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o
OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG2VIDEO_ENCODER) += mpeg12enc.o mpegvideo_enc.o \
motion_est.o ratecontrol.o \
mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_MSMPEG4V1_ENCODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V2_ENCODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V3_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V3_ENCODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSRLE_DECODER) += msrle.o msrledec.o
OBJS-$(CONFIG_MSVIDEO1_DECODER) += msvideo1.o
OBJS-$(CONFIG_MSZH_DECODER) += lcldec.o
OBJS-$(CONFIG_NELLYMOSER_DECODER) += nellymoserdec.o nellymoser.o
OBJS-$(CONFIG_NELLYMOSER_ENCODER) += nellymoserenc.o nellymoser.o
OBJS-$(CONFIG_NUV_DECODER) += nuv.o rtjpeg.o
OBJS-$(CONFIG_PAM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PAM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PAM_ENCODER) += pamenc.o pnm.o
OBJS-$(CONFIG_PBM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PBM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PCX_DECODER) += pcx.o
OBJS-$(CONFIG_PCX_ENCODER) += pcxenc.o
OBJS-$(CONFIG_PGM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PGM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PGMYUV_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PGMYUV_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PGSSUB_DECODER) += pgssubdec.o
OBJS-$(CONFIG_PNG_DECODER) += png.o pngdec.o
OBJS-$(CONFIG_PNG_ENCODER) += png.o pngenc.o
OBJS-$(CONFIG_PPM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PPM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PTX_DECODER) += ptx.o
OBJS-$(CONFIG_QCELP_DECODER) += qcelpdec.o qcelp_lsp.o celp_math.o celp_filters.o
OBJS-$(CONFIG_QDM2_DECODER) += qdm2.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_QCELP_DECODER) += qcelpdec.o celp_math.o \
celp_filters.o acelp_vectors.o \
acelp_filters.o
OBJS-$(CONFIG_QDM2_DECODER) += qdm2.o mpegaudiodec.o \
mpegaudiodecheader.o mpegaudio.o \
mpegaudiodata.o
OBJS-$(CONFIG_QDRAW_DECODER) += qdrw.o
OBJS-$(CONFIG_QPEG_DECODER) += qpeg.o
OBJS-$(CONFIG_QTRLE_DECODER) += qtrle.o
OBJS-$(CONFIG_QTRLE_ENCODER) += qtrleenc.o
OBJS-$(CONFIG_R210_DECODER) += r210dec.o
OBJS-$(CONFIG_RA_144_DECODER) += ra144.o celp_filters.o
OBJS-$(CONFIG_RA_288_DECODER) += ra288.o celp_math.o celp_filters.o
OBJS-$(CONFIG_RAWVIDEO_DECODER) += rawdec.o
@@ -182,70 +280,105 @@ OBJS-$(CONFIG_ROQ_ENCODER) += roqvideoenc.o roqvideo.o elbg.o
OBJS-$(CONFIG_ROQ_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_ROQ_DPCM_ENCODER) += roqaudioenc.o
OBJS-$(CONFIG_RPZA_DECODER) += rpza.o
OBJS-$(CONFIG_RV10_DECODER) += rv10.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RV10_ENCODER) += rv10.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RV20_DECODER) += rv10.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RV20_ENCODER) += rv10.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RV30_DECODER) += rv30.o rv34.o h264pred.o rv30dsp.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RV40_DECODER) += rv40.o rv34.o h264pred.o rv40dsp.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RV10_DECODER) += rv10.o
OBJS-$(CONFIG_RV10_ENCODER) += rv10enc.o
OBJS-$(CONFIG_RV20_DECODER) += rv10.o
OBJS-$(CONFIG_RV20_ENCODER) += rv20enc.o
OBJS-$(CONFIG_RV30_DECODER) += rv30.o rv34.o rv30dsp.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_RV40_DECODER) += rv40.o rv34.o rv40dsp.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_SGI_DECODER) += sgidec.o
OBJS-$(CONFIG_SGI_ENCODER) += sgienc.o rle.o
OBJS-$(CONFIG_SHORTEN_DECODER) += shorten.o
OBJS-$(CONFIG_SIPR_DECODER) += sipr.o acelp_pitch_delay.o \
celp_math.o acelp_vectors.o \
acelp_filters.o celp_filters.o \
sipr16k.o
OBJS-$(CONFIG_SMACKAUD_DECODER) += smacker.o
OBJS-$(CONFIG_SMACKER_DECODER) += smacker.o
OBJS-$(CONFIG_SMC_DECODER) += smc.o
OBJS-$(CONFIG_SNOW_DECODER) += snow.o rangecoder.o
OBJS-$(CONFIG_SNOW_ENCODER) += snow.o rangecoder.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_SNOW_ENCODER) += snow.o rangecoder.o motion_est.o \
ratecontrol.o h263.o \
mpegvideo.o error_resilience.o \
ituh263enc.o mpegvideo_enc.o \
mpeg12data.o
OBJS-$(CONFIG_SOL_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_SONIC_DECODER) += sonic.o
OBJS-$(CONFIG_SONIC_ENCODER) += sonic.o
OBJS-$(CONFIG_SONIC_LS_ENCODER) += sonic.o
OBJS-$(CONFIG_SP5X_DECODER) += sp5xdec.o mjpegdec.o mjpeg.o
OBJS-$(CONFIG_SUNRAST_DECODER) += sunrast.o
OBJS-$(CONFIG_SVQ1_DECODER) += svq1dec.o svq1.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o svq1.o motion_est.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_SVQ3_DECODER) += h264.o h264idct.o h264pred.o h264_parser.o cabac.o mpegvideo.o error_resilience.o svq1dec.o svq1.o h263.o
OBJS-$(CONFIG_SVQ1_DECODER) += svq1dec.o svq1.o h263.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_SVQ1_ENCODER) += svq1enc.o svq1.o \
motion_est.o h263.o \
mpegvideo.o error_resilience.o \
ituh263enc.o mpegvideo_enc.o \
ratecontrol.o mpeg12data.o
OBJS-$(CONFIG_SVQ3_DECODER) += h264.o svq3.o \
h264_loopfilter.o h264_direct.o \
h264_sei.o h264_ps.o h264_refs.o \
h264_cavlc.o h264_cabac.o cabac.o \
mpegvideo.o error_resilience.o \
svq1dec.o svq1.o h263.o
OBJS-$(CONFIG_TARGA_DECODER) += targa.o
OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o
OBJS-$(CONFIG_THEORA_DECODER) += vp3.o xiph.o vp3dsp.o
OBJS-$(CONFIG_THEORA_DECODER) += xiph.o
OBJS-$(CONFIG_THP_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o
OBJS-$(CONFIG_TMV_DECODER) += tmv.o cga_data.o
OBJS-$(CONFIG_TRUEMOTION1_DECODER) += truemotion1.o
OBJS-$(CONFIG_TRUEMOTION2_DECODER) += truemotion2.o
OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o
OBJS-$(CONFIG_TSCC_DECODER) += tscc.o msrledec.o
OBJS-$(CONFIG_TTA_DECODER) += tta.o
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvq.o celp_math.o
OBJS-$(CONFIG_TXD_DECODER) += txd.o s3tc.o
OBJS-$(CONFIG_ULTI_DECODER) += ulti.o
OBJS-$(CONFIG_V210_DECODER) += v210dec.o
OBJS-$(CONFIG_V210_ENCODER) += v210enc.o
OBJS-$(CONFIG_V210X_DECODER) += v210x.o
OBJS-$(CONFIG_VB_DECODER) += vb.o
OBJS-$(CONFIG_VC1_DECODER) += vc1.o vc1data.o vc1dsp.o msmpeg4data.o h263dec.o h263.o intrax8.o intrax8dsp.o error_resilience.o mpegvideo.o msmpeg4.o
OBJS-$(CONFIG_VC1_VDPAU_DECODER) += vdpau.o vc1.o vc1data.o vc1dsp.o msmpeg4data.o h263dec.o h263.o intrax8.o intrax8dsp.o error_resilience.o mpegvideo.o msmpeg4.o
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1.o vc1data.o vc1dsp.o \
msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o
OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o
OBJS-$(CONFIG_VCR1_ENCODER) += vcr1.o
OBJS-$(CONFIG_VMDAUDIO_DECODER) += vmdav.o
OBJS-$(CONFIG_VMDVIDEO_DECODER) += vmdav.o
OBJS-$(CONFIG_VMNC_DECODER) += vmnc.o
OBJS-$(CONFIG_VORBIS_DECODER) += vorbis_dec.o vorbis.o vorbis_data.o xiph.o
OBJS-$(CONFIG_VORBIS_ENCODER) += vorbis_enc.o vorbis.o vorbis_data.o
OBJS-$(CONFIG_VORBIS_DECODER) += vorbis_dec.o vorbis.o \
vorbis_data.o xiph.o
OBJS-$(CONFIG_VORBIS_ENCODER) += vorbis_enc.o vorbis.o \
vorbis_data.o
OBJS-$(CONFIG_VP3_DECODER) += vp3.o vp3dsp.o
OBJS-$(CONFIG_VP5_DECODER) += vp5.o vp56.o vp56data.o vp3dsp.o
OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp3dsp.o vp6dsp.o huffman.o
OBJS-$(CONFIG_VP6A_DECODER) += vp6.o vp56.o vp56data.o vp3dsp.o vp6dsp.o huffman.o
OBJS-$(CONFIG_VP6F_DECODER) += vp6.o vp56.o vp56data.o vp3dsp.o vp6dsp.o huffman.o
OBJS-$(CONFIG_VP5_DECODER) += vp5.o vp56.o vp56data.o vp56dsp.o \
vp3dsp.o
OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp56dsp.o \
vp3dsp.o vp6dsp.o huffman.o
OBJS-$(CONFIG_VQA_DECODER) += vqavideo.o
OBJS-$(CONFIG_WAVPACK_DECODER) += wavpack.o
OBJS-$(CONFIG_WMAV1_DECODER) += wmadec.o wma.o
OBJS-$(CONFIG_WMAV1_ENCODER) += wmaenc.o wma.o
OBJS-$(CONFIG_WMAV2_DECODER) += wmadec.o wma.o
OBJS-$(CONFIG_WMAV2_ENCODER) += wmaenc.o wma.o
OBJS-$(CONFIG_WMV1_DECODER) += h263dec.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_WMV1_ENCODER) += mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o msmpeg4.o msmpeg4data.o h263dec.o h263.o intrax8.o intrax8dsp.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o msmpeg4.o msmpeg4data.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_WMV3_DECODER) += vc1.o vc1data.o vc1dsp.o msmpeg4data.o h263dec.o h263.o intrax8.o intrax8dsp.o error_resilience.o mpegvideo.o msmpeg4.o
OBJS-$(CONFIG_WMV3_VDPAU_DECODER) += vdpau.o vc1.o vc1data.o vc1dsp.o msmpeg4data.o h263dec.o h263.o intrax8.o intrax8dsp.o error_resilience.o mpegvideo.o msmpeg4.o
OBJS-$(CONFIG_WMAPRO_DECODER) += wmaprodec.o wma.o
OBJS-$(CONFIG_WMAV1_DECODER) += wmadec.o wma.o aactab.o
OBJS-$(CONFIG_WMAV1_ENCODER) += wmaenc.o wma.o aactab.o
OBJS-$(CONFIG_WMAV2_DECODER) += wmadec.o wma.o aactab.o
OBJS-$(CONFIG_WMAV2_ENCODER) += wmaenc.o wma.o aactab.o
OBJS-$(CONFIG_WMAVOICE_DECODER) += wmavoice.o \
celp_math.o celp_filters.o \
acelp_vectors.o acelp_filters.o
OBJS-$(CONFIG_WMV1_DECODER) += msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o \
msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o \
msmpeg4.o msmpeg4data.o \
mpeg4videodec.o ituh263dec.o h263dec.o
OBJS-$(CONFIG_WNV1_DECODER) += wnv1.o
OBJS-$(CONFIG_WS_SND1_DECODER) += ws-snd1.o
OBJS-$(CONFIG_XAN_DPCM_DECODER) += dpcm.o
@@ -253,6 +386,8 @@ OBJS-$(CONFIG_XAN_WC3_DECODER) += xan.o
OBJS-$(CONFIG_XAN_WC4_DECODER) += xan.o
OBJS-$(CONFIG_XL_DECODER) += xl.o
OBJS-$(CONFIG_XSUB_DECODER) += xsubdec.o
OBJS-$(CONFIG_XSUB_ENCODER) += xsubenc.o
OBJS-$(CONFIG_YOP_DECODER) += yop.o
OBJS-$(CONFIG_ZLIB_DECODER) += lcldec.o
OBJS-$(CONFIG_ZLIB_ENCODER) += lclenc.o
OBJS-$(CONFIG_ZMBV_DECODER) += zmbv.o
@@ -261,6 +396,7 @@ OBJS-$(CONFIG_ZMBV_ENCODER) += zmbvenc.o
# (AD)PCM decoders/encoders
OBJS-$(CONFIG_PCM_ALAW_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_ALAW_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_BLURAY_DECODER) += pcm-mpeg.o
OBJS-$(CONFIG_PCM_DVD_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_DVD_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_F32BE_DECODER) += pcm.o
@@ -344,42 +480,64 @@ OBJS-$(CONFIG_ADPCM_YAMAHA_DECODER) += adpcm.o
OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER) += adpcm.o
# libavformat dependencies
OBJS-$(CONFIG_EAC3_DEMUXER) += ac3_parser.o ac3tab.o aac_ac3_parser.o
OBJS-$(CONFIG_FLAC_MUXER) += flacdec.o
OBJS-$(CONFIG_ADTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_CAF_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_DV_DEMUXER) += dvdata.o
OBJS-$(CONFIG_DV_MUXER) += dvdata.o
OBJS-$(CONFIG_FLAC_DEMUXER) += flacdec.o flacdata.o flac.o
OBJS-$(CONFIG_FLAC_MUXER) += flacdec.o flacdata.o flac.o
OBJS-$(CONFIG_FLV_DEMUXER) += mpeg4audio.o
OBJS-$(CONFIG_GXF_DEMUXER) += mpeg12data.o
OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += xiph.o mpeg4audio.o flacdec.o
OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += xiph.o mpeg4audio.o \
flacdec.o flacdata.o flac.o
OBJS-$(CONFIG_MATROSKA_DEMUXER) += mpeg4audio.o
OBJS-$(CONFIG_MATROSKA_MUXER) += xiph.o mpeg4audio.o flacdec.o
OBJS-$(CONFIG_MATROSKA_MUXER) += xiph.o mpeg4audio.o \
flacdec.o flacdata.o flac.o
OBJS-$(CONFIG_MOV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_MPEGTS_MUXER) += mpegvideo.o
OBJS-$(CONFIG_MPEGTS_MUXER) += mpegvideo.o mpeg4audio.o
OBJS-$(CONFIG_NUT_MUXER) += mpegaudiodata.o
OBJS-$(CONFIG_OGG_DEMUXER) += flacdec.o
OBJS-$(CONFIG_OGG_MUXER) += xiph.o flacdec.o
OBJS-$(CONFIG_OGG_DEMUXER) += flacdec.o flacdata.o flac.o \
dirac.o mpeg12data.o
OBJS-$(CONFIG_OGG_MUXER) += xiph.o flacdec.o flacdata.o flac.o
OBJS-$(CONFIG_RTP_MUXER) += mpegvideo.o
OBJS-$(CONFIG_WEBM_MUXER) += xiph.o mpeg4audio.o \
flacdec.o flacdata.o flac.o
# external codec libraries
OBJS-$(CONFIG_LIBAMR_NB) += libamr.o
OBJS-$(CONFIG_LIBAMR_WB) += libamr.o
OBJS-$(CONFIG_LIBDIRAC_DECODER) += libdiracdec.o
OBJS-$(CONFIG_LIBDIRAC_ENCODER) += libdiracenc.o libdirac_libschro.o
OBJS-$(CONFIG_LIBFAAC) += libfaac.o
OBJS-$(CONFIG_LIBFAAD) += libfaad.o
OBJS-$(CONFIG_LIBGSM) += libgsm.o
OBJS-$(CONFIG_LIBMP3LAME) += libmp3lame.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRWB) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENJPEG) += libopenjpeg.o
OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o libschroedinger.o libdirac_libschro.o
OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o libschroedinger.o libdirac_libschro.o
OBJS-$(CONFIG_LIBSPEEX) += libspeexdec.o
OBJS-$(CONFIG_LIBTHEORA) += libtheoraenc.o
OBJS-$(CONFIG_LIBVORBIS) += libvorbis.o
OBJS-$(CONFIG_LIBX264) += libx264.o
OBJS-$(CONFIG_LIBXVID) += libxvidff.o libxvid_rc.o
OBJS-$(CONFIG_LIBDIRAC_DECODER) += libdiracdec.o
OBJS-$(CONFIG_LIBDIRAC_ENCODER) += libdiracenc.o libdirac_libschro.o
OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o
OBJS-$(CONFIG_LIBFAAD_DECODER) += libfaad.o
OBJS-$(CONFIG_LIBGSM_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_ENCODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_MS_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_MS_ENCODER) += libgsm.o
OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpeg.o
OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o \
libschroedinger.o \
libdirac_libschro.o
OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o \
libschroedinger.o \
libdirac_libschro.o
OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o
OBJS-$(CONFIG_LIBTHEORA_ENCODER) += libtheoraenc.o
OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbis.o
OBJS-$(CONFIG_LIBVO_AACENC_ENCODER) += libvo-aacenc.o mpeg4audio.o
OBJS-$(CONFIG_LIBVPX_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBX264_ENCODER) += libx264.o
OBJS-$(CONFIG_LIBXVID_ENCODER) += libxvidff.o libxvid_rc.o
# parsers
OBJS-$(CONFIG_AAC_PARSER) += aac_parser.o aac_ac3_parser.o mpeg4audio.o
OBJS-$(CONFIG_AC3_PARSER) += ac3_parser.o ac3tab.o aac_ac3_parser.o
OBJS-$(CONFIG_AAC_PARSER) += aac_parser.o aac_ac3_parser.o \
mpeg4audio.o
OBJS-$(CONFIG_AC3_PARSER) += ac3_parser.o ac3tab.o \
aac_ac3_parser.o
OBJS-$(CONFIG_CAVSVIDEO_PARSER) += cavs_parser.o
OBJS-$(CONFIG_DCA_PARSER) += dca_parser.o
OBJS-$(CONFIG_DIRAC_PARSER) += dirac_parser.o
@@ -388,24 +546,39 @@ OBJS-$(CONFIG_DVBSUB_PARSER) += dvbsub_parser.o
OBJS-$(CONFIG_DVDSUB_PARSER) += dvdsub_parser.o
OBJS-$(CONFIG_H261_PARSER) += h261_parser.o
OBJS-$(CONFIG_H263_PARSER) += h263_parser.o
OBJS-$(CONFIG_H264_PARSER) += h264_parser.o
OBJS-$(CONFIG_H264_PARSER) += h264_parser.o h264.o \
cabac.o \
h264_refs.o h264_sei.o h264_direct.o \
h264_loopfilter.o h264_cabac.o \
h264_cavlc.o h264_ps.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MJPEG_PARSER) += mjpeg_parser.o
OBJS-$(CONFIG_MLP_PARSER) += mlp_parser.o mlp.o
OBJS-$(CONFIG_MPEG4VIDEO_PARSER) += mpeg4video_parser.o h263.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEGAUDIO_PARSER) += mpegaudio_parser.o mpegaudiodecheader.o mpegaudiodata.o
OBJS-$(CONFIG_MPEGVIDEO_PARSER) += mpegvideo_parser.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG4VIDEO_PARSER) += mpeg4video_parser.o h263.o \
mpegvideo.o error_resilience.o \
mpeg4videodec.o mpeg4video.o \
ituh263dec.o h263dec.o
OBJS-$(CONFIG_MPEGAUDIO_PARSER) += mpegaudio_parser.o \
mpegaudiodecheader.o mpegaudiodata.o
OBJS-$(CONFIG_MPEGVIDEO_PARSER) += mpegvideo_parser.o \
mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_PNM_PARSER) += pnm_parser.o pnm.o
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o vc1.o vc1data.o \
msmpeg4.o msmpeg4data.o mpeg4video.o \
h263.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_VP3_PARSER) += vp3_parser.o
# bitstream filters
OBJS-$(CONFIG_AAC_ADTSTOASC_BSF) += aac_adtstoasc_bsf.o
OBJS-$(CONFIG_DUMP_EXTRADATA_BSF) += dump_extradata_bsf.o
OBJS-$(CONFIG_H264_MP4TOANNEXB_BSF) += h264_mp4toannexb_bsf.o
OBJS-$(CONFIG_IMX_DUMP_HEADER_BSF) += imx_dump_header_bsf.o
OBJS-$(CONFIG_MJPEGA_DUMP_HEADER_BSF) += mjpega_dump_header_bsf.o
OBJS-$(CONFIG_MOV2TEXTSUB_BSF) += movsub_bsf.o
OBJS-$(CONFIG_MP3_HEADER_COMPRESS_BSF) += mp3_header_compress_bsf.o
OBJS-$(CONFIG_MP3_HEADER_DECOMPRESS_BSF) += mp3_header_decompress_bsf.o mpegaudiodata.o
OBJS-$(CONFIG_MP3_HEADER_DECOMPRESS_BSF) += mp3_header_decompress_bsf.o \
mpegaudiodata.o
OBJS-$(CONFIG_NOISE_BSF) += noise_bsf.o
OBJS-$(CONFIG_REMOVE_EXTRADATA_BSF) += remove_extradata_bsf.o
OBJS-$(CONFIG_TEXT2MOVSUB_BSF) += movsub_bsf.o
@@ -416,123 +589,70 @@ OBJS-$(HAVE_OS2THREADS) += os2thread.o
OBJS-$(HAVE_PTHREADS) += pthread.o
OBJS-$(HAVE_W32THREADS) += w32thread.o
# processor-specific code
YASM-OBJS-FFT-$(HAVE_AMD3DNOW) += x86/fft_3dn.o
YASM-OBJS-FFT-$(HAVE_AMD3DNOWEXT) += x86/fft_3dn2.o
YASM-OBJS-FFT-$(HAVE_SSE) += x86/fft_sse.o
YASM-OBJS-$(CONFIG_FFT) += x86/fft_mmx.o $(YASM-OBJS-FFT-yes)
YASM-OBJS-$(CONFIG_GPL) += x86/h264_deblock_sse2.o \
x86/h264_idct_sse2.o \
MMX-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsdsp_mmx.o
MMX-OBJS-$(CONFIG_ENCODERS) += x86/dsputilenc_mmx.o
MMX-OBJS-$(CONFIG_FLAC_ENCODER) += x86/flacdsp_mmx.o
MMX-OBJS-$(CONFIG_GPL) += x86/idct_mmx.o
MMX-OBJS-$(CONFIG_SNOW_DECODER) += x86/snowdsp_mmx.o
MMX-OBJS-$(CONFIG_THEORA_DECODER) += x86/vp3dsp_mmx.o x86/vp3dsp_sse2.o
MMX-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_mmx.o
MMX-OBJS-$(CONFIG_VP3_DECODER) += x86/vp3dsp_mmx.o x86/vp3dsp_sse2.o
MMX-OBJS-$(CONFIG_VP5_DECODER) += x86/vp3dsp_mmx.o x86/vp3dsp_sse2.o
MMX-OBJS-$(CONFIG_VP6_DECODER) += x86/vp3dsp_mmx.o x86/vp3dsp_sse2.o \
x86/vp6dsp_mmx.o x86/vp6dsp_sse2.o
MMX-OBJS-$(CONFIG_VP6A_DECODER) += x86/vp3dsp_mmx.o x86/vp3dsp_sse2.o \
x86/vp6dsp_mmx.o x86/vp6dsp_sse2.o
MMX-OBJS-$(CONFIG_VP6F_DECODER) += x86/vp3dsp_mmx.o x86/vp3dsp_sse2.o \
x86/vp6dsp_mmx.o x86/vp6dsp_sse2.o
MMX-OBJS-$(CONFIG_WMV3_DECODER) += x86/vc1dsp_mmx.o
MMX-OBJS-$(HAVE_YASM) += x86/dsputil_yasm.o \
$(YASM-OBJS-yes)
OBJS-$(HAVE_MMX) += x86/cpuid.o \
x86/dnxhd_mmx.o \
x86/dsputil_mmx.o \
x86/fdct_mmx.o \
x86/idct_mmx_xvid.o \
x86/idct_sse2_xvid.o \
x86/motion_est_mmx.o \
x86/mpegvideo_mmx.o \
x86/simple_idct_mmx.o \
$(MMX-OBJS-yes)
OBJS-$(ARCH_ALPHA) += alpha/dsputil_alpha.o \
alpha/dsputil_alpha_asm.o \
alpha/motion_est_alpha.o \
alpha/motion_est_mvi_asm.o \
alpha/mpegvideo_alpha.o \
alpha/simple_idct_alpha.o \
OBJS-$(ARCH_ARM) += arm/dsputil_arm.o \
arm/dsputil_arm_s.o \
arm/jrevdct_arm.o \
arm/mpegvideo_arm.o \
arm/simple_idct_arm.o \
OBJS-$(HAVE_ARMV5TE) += arm/mpegvideo_armv5te.o \
arm/mpegvideo_armv5te_s.o \
arm/simple_idct_armv5te.o \
OBJS-$(HAVE_ARMV6) += arm/simple_idct_armv6.o \
OBJS-$(HAVE_ARMVFP) += arm/dsputil_vfp.o \
arm/float_arm_vfp.o \
OBJS-$(HAVE_IWMMXT) += arm/dsputil_iwmmxt.o \
arm/mpegvideo_iwmmxt.o \
OBJS-$(HAVE_NEON) += arm/dsputil_neon.o \
arm/dsputil_neon_s.o \
arm/h264dsp_neon.o \
arm/h264idct_neon.o \
arm/simple_idct_neon.o \
OBJS-$(ARCH_BFIN) += bfin/dsputil_bfin.o \
bfin/fdct_bfin.o \
bfin/idct_bfin.o \
bfin/mpegvideo_bfin.o \
bfin/pixels_bfin.o \
bfin/vp3_bfin.o \
bfin/vp3_idct_bfin.o \
OBJS-$(ARCH_PPC) += ppc/dsputil_ppc.o \
ALTIVEC-OBJS-$(CONFIG_H264_DECODER) += ppc/h264_altivec.o
ALTIVEC-OBJS-$(CONFIG_OLDSCALER) += ppc/imgresample_altivec.o
ALTIVEC-OBJS-$(CONFIG_SNOW_DECODER) += ppc/snow_altivec.o
ALTIVEC-OBJS-$(CONFIG_VC1_DECODER) += ppc/vc1dsp_altivec.o
ALTIVEC-OBJS-$(CONFIG_WMV3_DECODER) += ppc/vc1dsp_altivec.o
OBJS-$(HAVE_ALTIVEC) += ppc/check_altivec.o \
ppc/dsputil_altivec.o \
ppc/fdct_altivec.o \
ppc/fft_altivec.o \
ppc/float_altivec.o \
ppc/gmc_altivec.o \
ppc/idct_altivec.o \
ppc/int_altivec.o \
ppc/mpegvideo_altivec.o \
$(ALTIVEC-OBJS-yes)
OBJS-$(ARCH_SH4) += sh4/dsputil_align.o \
sh4/dsputil_sh4.o \
sh4/idct_sh4.o \
OBJS-$(CONFIG_MLIB) += mlib/dsputil_mlib.o \
OBJS-$(HAVE_MMI) += ps2/dsputil_mmi.o \
ps2/idct_mmi.o \
ps2/mpegvideo_mmi.o \
-include $(SUBDIR)$(ARCH)/Makefile
OBJS-$(HAVE_VIS) += sparc/dsputil_vis.o \
sparc/simple_idct_vis.o \
SKIPHEADERS = %_tablegen.h
SKIPHEADERS-$(CONFIG_DXVA2) += dxva2.h dxva2_internal.h
SKIPHEADERS-$(CONFIG_LIBDIRAC) += libdirac.h
SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER) += libschroedinger.h
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_internal.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h
SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
SKIPHEADERS += mpegaudio3.h
EXAMPLES = api
TESTS = $(addsuffix -test$(EXESUF), cabac dct eval fft h264 rangecoder snow)
TESTS-$(CONFIG_OLDSCALER) += imgresample-test$(EXESUF)
TESTS-$(ARCH_X86) += x86/cpuid-test$(EXESUF) motion-test$(EXESUF)
TESTPROGS = cabac dct eval fft h264 iirfilter rangecoder snow
TESTPROGS-$(ARCH_X86) += x86/cpuid
TESTPROGS-$(HAVE_MMX) += motion
TESTOBJS = dctref.o
HOSTPROGS = costablegen
CLEANFILES = apiexample$(EXESUF)
DIRS = alpha arm bfin mlib ppc ps2 sh4 sparc x86
CLEANFILES = sin_tables.c cos_tables.c *_tables.h *_tablegen$(HOSTEXESUF)
include $(SUBDIR)../subdir.mak
$(SUBDIR)dct-test$(EXESUF): $(SUBDIR)dctref.o $(SUBDIR)aandcttab.o
$(SUBDIR)dct-test$(EXESUF): $(SUBDIR)dctref.o
$(SUBDIR)cos_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
$(M)./$< > $@
$(SUBDIR)sin_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
$(M)./$< sin > $@
ifdef CONFIG_MPEGAUDIO_HP
$(SUBDIR)mpegaudio_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DFRAC_BITS=23
$(SUBDIR)mpegaudio_tablegen.ho: CPPFLAGS += -DFRAC_BITS=23
else
$(SUBDIR)mpegaudio_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DFRAC_BITS=15
$(SUBDIR)mpegaudio_tablegen.ho: CPPFLAGS += -DFRAC_BITS=15
endif
ifdef CONFIG_SMALL
$(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=1
else
$(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=0
endif
$(SUBDIR)%_tablegen$(HOSTEXESUF): $(SUBDIR)%_tablegen.c $(SUBDIR)tableprint.c
$(HOSTCC) $(HOSTCFLAGS) $(HOSTLDFLAGS) -o $@ $^ $(HOSTLIBS)
$(SUBDIR)%_tables.h: $(SUBDIR)%_tablegen$(HOSTEXESUF)
$(M)./$< > $@
ifdef CONFIG_HARDCODED_TABLES
$(SUBDIR)aacdec.o: $(SUBDIR)cbrt_tables.h
$(SUBDIR)aacps.o: $(SUBDIR)aacps_tables.h
$(SUBDIR)aactab.o: $(SUBDIR)aac_tables.h
$(SUBDIR)dv.o: $(SUBDIR)dv_tables.h
$(SUBDIR)mdct.o: $(SUBDIR)mdct_tables.h
$(SUBDIR)mpegaudiodec.o: $(SUBDIR)mpegaudio_tables.h
$(SUBDIR)motionpixels.o: $(SUBDIR)motionpixels_tables.h
$(SUBDIR)pcm.o: $(SUBDIR)pcm_tables.h
$(SUBDIR)qdm2.o: $(SUBDIR)qdm2_tables.h
endif

File diff suppressed because it is too large Load Diff

View File

@@ -21,7 +21,7 @@
*/
/**
* @file libavcodec/aac.h
* @file
* AAC definitions and structures
* @author Oded Shimon ( ods15 ods15 dyndns org )
* @author Maxim Gavrilov ( maxim.gavrilov gmail com )
@@ -30,54 +30,19 @@
#ifndef AVCODEC_AAC_H
#define AVCODEC_AAC_H
#include "libavutil/internal.h"
#include "avcodec.h"
#include "dsputil.h"
#include "fft.h"
#include "mpeg4audio.h"
#include "sbr.h"
#include <stdint.h>
#define AAC_INIT_VLC_STATIC(num, size) \
INIT_VLC_STATIC(&vlc_spectral[num], 6, ff_aac_spectral_sizes[num], \
ff_aac_spectral_bits[num], sizeof( ff_aac_spectral_bits[num][0]), sizeof( ff_aac_spectral_bits[num][0]), \
ff_aac_spectral_codes[num], sizeof(ff_aac_spectral_codes[num][0]), sizeof(ff_aac_spectral_codes[num][0]), \
size);
#define MAX_CHANNELS 64
#define MAX_ELEM_ID 16
#define TNS_MAX_ORDER 20
enum AudioObjectType {
AOT_NULL,
// Support? Name
AOT_AAC_MAIN, ///< Y Main
AOT_AAC_LC, ///< Y Low Complexity
AOT_AAC_SSR, ///< N (code in SoC repo) Scalable Sample Rate
AOT_AAC_LTP, ///< N (code in SoC repo) Long Term Prediction
AOT_SBR, ///< N (in progress) Spectral Band Replication
AOT_AAC_SCALABLE, ///< N Scalable
AOT_TWINVQ, ///< N Twin Vector Quantizer
AOT_CELP, ///< N Code Excited Linear Prediction
AOT_HVXC, ///< N Harmonic Vector eXcitation Coding
AOT_TTSI = 12, ///< N Text-To-Speech Interface
AOT_MAINSYNTH, ///< N Main Synthesis
AOT_WAVESYNTH, ///< N Wavetable Synthesis
AOT_MIDI, ///< N General MIDI
AOT_SAFX, ///< N Algorithmic Synthesis and Audio Effects
AOT_ER_AAC_LC, ///< N Error Resilient Low Complexity
AOT_ER_AAC_LTP = 19, ///< N Error Resilient Long Term Prediction
AOT_ER_AAC_SCALABLE, ///< N Error Resilient Scalable
AOT_ER_TWINVQ, ///< N Error Resilient Twin Vector Quantizer
AOT_ER_BSAC, ///< N Error Resilient Bit-Sliced Arithmetic Coding
AOT_ER_AAC_LD, ///< N Error Resilient Low Delay
AOT_ER_CELP, ///< N Error Resilient Code Excited Linear Prediction
AOT_ER_HVXC, ///< N Error Resilient Harmonic Vector eXcitation Coding
AOT_ER_HILN, ///< N Error Resilient Harmonic and Individual Lines plus Noise
AOT_ER_PARAM, ///< N Error Resilient Parametric
AOT_SSC, ///< N SinuSoidal Coding
};
enum RawDataBlockType {
TYPE_SCE,
TYPE_CPE,
@@ -133,6 +98,17 @@ enum CouplingPoint {
AFTER_IMDCT = 3,
};
/**
* Output configuration status
*/
enum OCStatus {
OC_NONE, //< Output unconfigured
OC_TRIAL_PCE, //< Output configuration under trial specified by an inband PCE
OC_TRIAL_FRAME, //< Output configuration under trial specified by a frame header
OC_GLOBAL_HDR, //< Output configuration set in a global header but not yet locked
OC_LOCKED, //< Output configuration locked in place
};
/**
* Predictor State
*/
@@ -147,6 +123,12 @@ typedef struct {
#define MAX_PREDICTORS 672
#define SCALE_DIV_512 36 ///< scalefactor difference that corresponds to scale difference in 512 times
#define SCALE_ONE_POS 140 ///< scalefactor index that corresponds to scale=1.0
#define SCALE_MAX_POS 255 ///< scalefactor index maximum value
#define SCALE_MAX_DIFF 60 ///< maximum scalefactor difference allowed by standard
#define SCALE_DIFF_ZERO 60 ///< codebook index corresponding to zero scalefactor indices difference
/**
* Individual Channel Stream
*/
@@ -157,6 +139,7 @@ typedef struct {
int num_window_groups;
uint8_t group_len[8];
const uint16_t *swb_offset; ///< table of offsets to the lowest spectral coefficient of a scalefactor band, sfb, for a particular window
const uint8_t *swb_sizes; ///< table of scalefactor band sizes for a particular window
int num_swb; ///< number of scalefactor window bands
int num_windows;
int tns_max_bands;
@@ -196,6 +179,7 @@ typedef struct {
typedef struct {
int num_pulse;
int start;
int pos[4];
int amp[4];
} Pulse;
@@ -220,12 +204,15 @@ typedef struct {
typedef struct {
IndividualChannelStream ics;
TemporalNoiseShaping tns;
enum BandType band_type[120]; ///< band types
Pulse pulse;
enum BandType band_type[128]; ///< band types
int band_type_run_end[120]; ///< band type run end points
float sf[120]; ///< scalefactors
DECLARE_ALIGNED_16(float, coeffs[1024]); ///< coefficients for IMDCT
DECLARE_ALIGNED_16(float, saved[512]); ///< overlap
DECLARE_ALIGNED_16(float, ret[1024]); ///< PCM output
int sf_idx[128]; ///< scalefactor indices (used by encoder)
uint8_t zeroes[128]; ///< band is not coded (used by encoder)
DECLARE_ALIGNED(16, float, coeffs)[1024]; ///< coefficients for IMDCT
DECLARE_ALIGNED(16, float, saved)[1024]; ///< overlap
DECLARE_ALIGNED(16, float, ret)[2048]; ///< PCM output
PredictorState predictor_state[MAX_PREDICTORS];
} SingleChannelElement;
@@ -234,18 +221,21 @@ typedef struct {
*/
typedef struct {
// CPE specific
uint8_t ms_mask[120]; ///< Set if mid/side stereo is used for each scalefactor window band
int common_window; ///< Set if channels share a common 'IndividualChannelStream' in bitstream.
int ms_mode; ///< Signals mid/side stereo flags coding mode (used by encoder)
uint8_t ms_mask[128]; ///< Set if mid/side stereo is used for each scalefactor window band
// shared
SingleChannelElement ch[2];
// CCE specific
ChannelCoupling coup;
SpectralBandReplication sbr;
} ChannelElement;
/**
* main AAC context
*/
typedef struct {
AVCodecContext * avccontext;
AVCodecContext *avctx;
MPEG4AudioConfig m4ac;
@@ -259,8 +249,9 @@ typedef struct {
enum ChannelPosition che_pos[4][MAX_ELEM_ID]; /**< channel element channel mapping with the
* first index as the first 4 raw data block types
*/
ChannelElement * che[4][MAX_ELEM_ID];
ChannelElement * tag_che_map[4][MAX_ELEM_ID];
ChannelElement *che[4][MAX_ELEM_ID];
ChannelElement *tag_che_map[4][MAX_ELEM_ID];
uint8_t tags_seen_this_frame[4][MAX_ELEM_ID];
int tags_mapped;
/** @} */
@@ -268,15 +259,15 @@ typedef struct {
* @defgroup temporary aligned temporary buffers (We do not want to have these on the stack.)
* @{
*/
DECLARE_ALIGNED_16(float, buf_mdct[1024]);
DECLARE_ALIGNED(16, float, buf_mdct)[1024];
/** @} */
/**
* @defgroup tables Computed / set up during initialization.
* @{
*/
MDCTContext mdct;
MDCTContext mdct_small;
FFTContext mdct;
FFTContext mdct_small;
DSPContext dsp;
int random_state;
/** @} */
@@ -291,7 +282,9 @@ typedef struct {
int sf_offset; ///< offset into pow2sf_tab as appropriate for dsp.float_to_int16
/** @} */
DECLARE_ALIGNED(16, float, temp[128]);
DECLARE_ALIGNED(16, float, temp)[128];
enum OCStatus output_configured;
} AACContext;
#endif /* AVCODEC_AAC_H */

View File

@@ -71,23 +71,32 @@ get_next:
*poutbuf_size = buf_size;
/* update codec info */
avctx->sample_rate = s->sample_rate;
if(s->codec_id)
avctx->codec_id = s->codec_id;
/* allow downmixing to stereo (or mono for AC-3) */
if(avctx->request_channels > 0 &&
avctx->request_channels < s->channels &&
(avctx->request_channels <= 2 ||
(avctx->request_channels == 1 &&
(avctx->codec_id == CODEC_ID_AC3 ||
avctx->codec_id == CODEC_ID_EAC3)))) {
avctx->channels = avctx->request_channels;
} else {
avctx->channels = s->channels;
/* Due to backwards compatible HE-AAC the sample rate, channel count,
and total number of samples found in an AAC ADTS header are not
reliable. Bit rate is still accurate because the total frame duration in
seconds is still correct (as is the number of bits in the frame). */
if (avctx->codec_id != CODEC_ID_AAC) {
avctx->sample_rate = s->sample_rate;
/* allow downmixing to stereo (or mono for AC-3) */
if(avctx->request_channels > 0 &&
avctx->request_channels < s->channels &&
(avctx->request_channels <= 2 ||
(avctx->request_channels == 1 &&
(avctx->codec_id == CODEC_ID_AC3 ||
avctx->codec_id == CODEC_ID_EAC3)))) {
avctx->channels = avctx->request_channels;
} else {
avctx->channels = s->channels;
avctx->channel_layout = s->channel_layout;
}
avctx->frame_size = s->samples;
}
avctx->bit_rate = s->bit_rate;
avctx->frame_size = s->samples;
return i;
}

View File

@@ -48,6 +48,7 @@ typedef struct AACAC3ParseContext {
int sample_rate;
int bit_rate;
int samples;
int64_t channel_layout;
int remaining_size;
uint64_t state;

View File

@@ -0,0 +1,114 @@
/*
* MPEG-2/4 AAC ADTS to MPEG-4 Audio Specific Configuration bitstream filter
* Copyright (c) 2009 Alex Converse <alex.converse@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 "avcodec.h"
#include "aac_parser.h"
#include "put_bits.h"
#include "get_bits.h"
#include "mpeg4audio.h"
#include "internal.h"
typedef struct AACBSFContext {
int first_frame_done;
} AACBSFContext;
/**
* This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4
* ADTS header and removes the ADTS header.
*/
static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
AVCodecContext *avctx, const char *args,
uint8_t **poutbuf, int *poutbuf_size,
const uint8_t *buf, int buf_size,
int keyframe)
{
GetBitContext gb;
PutBitContext pb;
AACADTSHeaderInfo hdr;
AACBSFContext *ctx = bsfc->priv_data;
init_get_bits(&gb, buf, AAC_ADTS_HEADER_SIZE*8);
*poutbuf = (uint8_t*) buf;
*poutbuf_size = buf_size;
if (avctx->extradata)
if (show_bits(&gb, 12) != 0xfff)
return 0;
if (ff_aac_parse_header(&gb, &hdr) < 0) {
av_log(avctx, AV_LOG_ERROR, "Error parsing ADTS frame header!\n");
return -1;
}
if (!hdr.crc_absent && hdr.num_aac_frames > 1) {
av_log_missing_feature(avctx, "Multiple RDBs per frame with CRC is", 0);
return -1;
}
buf += AAC_ADTS_HEADER_SIZE + 2*!hdr.crc_absent;
buf_size -= AAC_ADTS_HEADER_SIZE + 2*!hdr.crc_absent;
if (!ctx->first_frame_done) {
int pce_size = 0;
uint8_t pce_data[MAX_PCE_SIZE];
if (!hdr.chan_config) {
init_get_bits(&gb, buf, buf_size);
if (get_bits(&gb, 3) != 5) {
av_log_missing_feature(avctx, "PCE based channel configuration, where the PCE is not the first syntax element is", 0);
return -1;
}
init_put_bits(&pb, pce_data, MAX_PCE_SIZE);
pce_size = ff_copy_pce_data(&pb, &gb)/8;
flush_put_bits(&pb);
buf_size -= get_bits_count(&gb)/8;
buf += get_bits_count(&gb)/8;
}
avctx->extradata_size = 2 + pce_size;
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
init_put_bits(&pb, avctx->extradata, avctx->extradata_size);
put_bits(&pb, 5, hdr.object_type);
put_bits(&pb, 4, hdr.sampling_index);
put_bits(&pb, 4, hdr.chan_config);
put_bits(&pb, 1, 0); //frame length - 1024 samples
put_bits(&pb, 1, 0); //does not depend on core coder
put_bits(&pb, 1, 0); //is not extension
flush_put_bits(&pb);
if (pce_size) {
memcpy(avctx->extradata + 2, pce_data, pce_size);
}
ctx->first_frame_done = 1;
}
*poutbuf = (uint8_t*) buf;
*poutbuf_size = buf_size;
return 0;
}
AVBitStreamFilter aac_adtstoasc_bsf = {
"aac_adtstoasc",
sizeof(AACBSFContext),
aac_adtstoasc_filter,
};

View File

@@ -23,11 +23,9 @@
#include "parser.h"
#include "aac_ac3_parser.h"
#include "aac_parser.h"
#include "bitstream.h"
#include "get_bits.h"
#include "mpeg4audio.h"
#define AAC_HEADER_SIZE 7
int ff_aac_parse_header(GetBitContext *gbc, AACADTSHeaderInfo *hdr)
{
int size, rdb, ch, sr;
@@ -46,9 +44,6 @@ int ff_aac_parse_header(GetBitContext *gbc, AACADTSHeaderInfo *hdr)
skip_bits1(gbc); /* private_bit */
ch = get_bits(gbc, 3); /* channel_configuration */
if(!ff_mpeg4audio_channels[ch])
return AAC_AC3_PARSE_ERROR_CHANNEL_CFG;
skip_bits1(gbc); /* original/copy */
skip_bits1(gbc); /* home */
@@ -56,7 +51,7 @@ int ff_aac_parse_header(GetBitContext *gbc, AACADTSHeaderInfo *hdr)
skip_bits1(gbc); /* copyright_identification_bit */
skip_bits1(gbc); /* copyright_identification_start */
size = get_bits(gbc, 13); /* aac_frame_length */
if(size < AAC_HEADER_SIZE)
if(size < AAC_ADTS_HEADER_SIZE)
return AAC_AC3_PARSE_ERROR_FRAME_SIZE;
skip_bits(gbc, 11); /* adts_buffer_fullness */
@@ -86,7 +81,7 @@ static int aac_sync(uint64_t state, AACAC3ParseContext *hdr_info,
} tmp;
tmp.u64 = be2me_64(state);
init_get_bits(&bits, tmp.u8+8-AAC_HEADER_SIZE, AAC_HEADER_SIZE * 8);
init_get_bits(&bits, tmp.u8+8-AAC_ADTS_HEADER_SIZE, AAC_ADTS_HEADER_SIZE * 8);
if ((size = ff_aac_parse_header(&bits, &hdr)) < 0)
return 0;
@@ -102,7 +97,7 @@ static int aac_sync(uint64_t state, AACAC3ParseContext *hdr_info,
static av_cold int aac_parse_init(AVCodecParserContext *s1)
{
AACAC3ParseContext *s = s1->priv_data;
s->header_size = AAC_HEADER_SIZE;
s->header_size = AAC_ADTS_HEADER_SIZE;
s->sync = aac_sync;
return 0;
}

View File

@@ -25,7 +25,9 @@
#include <stdint.h>
#include "aac_ac3_parser.h"
#include "bitstream.h"
#include "get_bits.h"
#define AAC_ADTS_HEADER_SIZE 7
typedef struct {
uint32_t sample_rate;

39
libavcodec/aac_tablegen.c Normal file
View File

@@ -0,0 +1,39 @@
/*
* Generate a header file for hardcoded AAC tables
*
* Copyright (c) 2010 Alex Converse <alex.converse@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 <stdlib.h>
#define CONFIG_HARDCODED_TABLES 0
#include "aac_tablegen.h"
#include "tableprint.h"
int main(void)
{
ff_aac_tableinit();
write_fileheader();
printf("const float ff_aac_pow2sf_tab[428] = {\n");
write_float_array(ff_aac_pow2sf_tab, 428);
printf("};\n");
return 0;
}

42
libavcodec/aac_tablegen.h Normal file
View File

@@ -0,0 +1,42 @@
/*
* Header file for hardcoded AAC tables
*
* Copyright (c) 2010 Alex Converse <alex.converse@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 AAC_TABLEGEN_H
#define AAC_TABLEGEN_H
#include "aac_tablegen_decl.h"
#if CONFIG_HARDCODED_TABLES
#include "libavcodec/aac_tables.h"
#else
#include "../libavutil/mathematics.h"
float ff_aac_pow2sf_tab[428];
void ff_aac_tableinit(void)
{
int i;
for (i = 0; i < 428; i++)
ff_aac_pow2sf_tab[i] = pow(2, (i - 200) / 4.);
}
#endif /* CONFIG_HARDCODED_TABLES */
#endif /* AAC_TABLEGEN_H */

View File

@@ -0,0 +1,34 @@
/*
* Header file for hardcoded AAC tables
*
* Copyright (c) 2010 Alex Converse <alex.converse@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 AAC_TABLEGEN_INIT_H
#define AAC_TABLEGEN_INIT_H
#if CONFIG_HARDCODED_TABLES
#define ff_aac_tableinit()
extern const float ff_aac_pow2sf_tab[428];
#else
void ff_aac_tableinit(void);
extern float ff_aac_pow2sf_tab[428];
#endif /* CONFIG_HARDCODED_TABLES */
#endif /* AAC_TABLEGEN_INIT_H */

961
libavcodec/aaccoder.c Normal file
View File

@@ -0,0 +1,961 @@
/*
* AAC coefficients encoder
* Copyright (C) 2008-2009 Konstantin Shishkov
*
* 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
*/
/**
* @file
* AAC coefficients encoder
*/
/***********************************
* TODOs:
* speedup quantizer selection
* add sane pulse detection
***********************************/
#include "avcodec.h"
#include "put_bits.h"
#include "aac.h"
#include "aacenc.h"
#include "aactab.h"
#include "libavutil/libm.h"
/** bits needed to code codebook run value for long windows */
static const uint8_t run_value_bits_long[64] = {
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15
};
/** bits needed to code codebook run value for short windows */
static const uint8_t run_value_bits_short[16] = {
3, 3, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 9
};
static const uint8_t *run_value_bits[2] = {
run_value_bits_long, run_value_bits_short
};
/**
* Quantize one coefficient.
* @return absolute value of the quantized coefficient
* @see 3GPP TS26.403 5.6.2 "Scalefactor determination"
*/
static av_always_inline int quant(float coef, const float Q)
{
float a = coef * Q;
return sqrtf(a * sqrtf(a)) + 0.4054;
}
static void quantize_bands(int (*out)[2], const float *in, const float *scaled,
int size, float Q34, int is_signed, int maxval)
{
int i;
double qc;
for (i = 0; i < size; i++) {
qc = scaled[i] * Q34;
out[i][0] = (int)FFMIN(qc, (double)maxval);
out[i][1] = (int)FFMIN(qc + 0.4054, (double)maxval);
if (is_signed && in[i] < 0.0f) {
out[i][0] = -out[i][0];
out[i][1] = -out[i][1];
}
}
}
static void abs_pow34_v(float *out, const float *in, const int size)
{
#ifndef USE_REALLY_FULL_SEARCH
int i;
for (i = 0; i < size; i++) {
float a = fabsf(in[i]);
out[i] = sqrtf(a * sqrtf(a));
}
#endif /* USE_REALLY_FULL_SEARCH */
}
static const uint8_t aac_cb_range [12] = {0, 3, 3, 3, 3, 9, 9, 8, 8, 13, 13, 17};
static const uint8_t aac_cb_maxval[12] = {0, 1, 1, 2, 2, 4, 4, 7, 7, 12, 12, 16};
/**
* Calculate rate distortion cost for quantizing with given codebook
*
* @return quantization distortion
*/
static float quantize_and_encode_band_cost(struct AACEncContext *s,
PutBitContext *pb, const float *in,
const float *scaled, int size, int scale_idx,
int cb, const float lambda, const float uplim,
int *bits)
{
const float IQ = ff_aac_pow2sf_tab[200 + scale_idx - SCALE_ONE_POS + SCALE_DIV_512];
const float Q = ff_aac_pow2sf_tab[200 - scale_idx + SCALE_ONE_POS - SCALE_DIV_512];
const float CLIPPED_ESCAPE = 165140.0f*IQ;
int i, j, k;
float cost = 0;
const int dim = cb < FIRST_PAIR_BT ? 4 : 2;
int resbits = 0;
#ifndef USE_REALLY_FULL_SEARCH
const float Q34 = sqrtf(Q * sqrtf(Q));
const int range = aac_cb_range[cb];
const int maxval = aac_cb_maxval[cb];
int offs[4];
#endif /* USE_REALLY_FULL_SEARCH */
if (!cb) {
for (i = 0; i < size; i++)
cost += in[i]*in[i];
if (bits)
*bits = 0;
return cost * lambda;
}
#ifndef USE_REALLY_FULL_SEARCH
offs[0] = 1;
for (i = 1; i < dim; i++)
offs[i] = offs[i-1]*range;
if (!scaled) {
abs_pow34_v(s->scoefs, in, size);
scaled = s->scoefs;
}
quantize_bands(s->qcoefs, in, scaled, size, Q34, !IS_CODEBOOK_UNSIGNED(cb), maxval);
#endif /* USE_REALLY_FULL_SEARCH */
for (i = 0; i < size; i += dim) {
float mincost;
int minidx = 0;
int minbits = 0;
const float *vec;
#ifndef USE_REALLY_FULL_SEARCH
int (*quants)[2] = &s->qcoefs[i];
mincost = 0.0f;
for (j = 0; j < dim; j++)
mincost += in[i+j]*in[i+j];
minidx = IS_CODEBOOK_UNSIGNED(cb) ? 0 : 40;
minbits = ff_aac_spectral_bits[cb-1][minidx];
mincost = mincost * lambda + minbits;
for (j = 0; j < (1<<dim); j++) {
float rd = 0.0f;
int curbits;
int curidx = IS_CODEBOOK_UNSIGNED(cb) ? 0 : 40;
int same = 0;
for (k = 0; k < dim; k++) {
if ((j & (1 << k)) && quants[k][0] == quants[k][1]) {
same = 1;
break;
}
}
if (same)
continue;
for (k = 0; k < dim; k++)
curidx += quants[k][!!(j & (1 << k))] * offs[dim - 1 - k];
curbits = ff_aac_spectral_bits[cb-1][curidx];
vec = &ff_aac_codebook_vectors[cb-1][curidx*dim];
#else
mincost = INFINITY;
vec = ff_aac_codebook_vectors[cb-1];
for (j = 0; j < ff_aac_spectral_sizes[cb-1]; j++, vec += dim) {
float rd = 0.0f;
int curbits = ff_aac_spectral_bits[cb-1][j];
int curidx = j;
#endif /* USE_REALLY_FULL_SEARCH */
if (IS_CODEBOOK_UNSIGNED(cb)) {
for (k = 0; k < dim; k++) {
float t = fabsf(in[i+k]);
float di;
if (vec[k] == 64.0f) { //FIXME: slow
//do not code with escape sequence small values
if (t < 39.0f*IQ) {
rd = INFINITY;
break;
}
if (t >= CLIPPED_ESCAPE) {
di = t - CLIPPED_ESCAPE;
curbits += 21;
} else {
int c = av_clip(quant(t, Q), 0, 8191);
di = t - c*cbrtf(c)*IQ;
curbits += av_log2(c)*2 - 4 + 1;
}
} else {
di = t - vec[k]*IQ;
}
if (vec[k] != 0.0f)
curbits++;
rd += di*di;
}
} else {
for (k = 0; k < dim; k++) {
float di = in[i+k] - vec[k]*IQ;
rd += di*di;
}
}
rd = rd * lambda + curbits;
if (rd < mincost) {
mincost = rd;
minidx = curidx;
minbits = curbits;
}
}
cost += mincost;
resbits += minbits;
if (cost >= uplim)
return uplim;
if (pb) {
put_bits(pb, ff_aac_spectral_bits[cb-1][minidx], ff_aac_spectral_codes[cb-1][minidx]);
if (IS_CODEBOOK_UNSIGNED(cb))
for (j = 0; j < dim; j++)
if (ff_aac_codebook_vectors[cb-1][minidx*dim+j] != 0.0f)
put_bits(pb, 1, in[i+j] < 0.0f);
if (cb == ESC_BT) {
for (j = 0; j < 2; j++) {
if (ff_aac_codebook_vectors[cb-1][minidx*2+j] == 64.0f) {
int coef = av_clip(quant(fabsf(in[i+j]), Q), 0, 8191);
int len = av_log2(coef);
put_bits(pb, len - 4 + 1, (1 << (len - 4 + 1)) - 2);
put_bits(pb, len, coef & ((1 << len) - 1));
}
}
}
}
}
if (bits)
*bits = resbits;
return cost;
}
static float quantize_band_cost(struct AACEncContext *s, const float *in,
const float *scaled, int size, int scale_idx,
int cb, const float lambda, const float uplim,
int *bits)
{
return quantize_and_encode_band_cost(s, NULL, in, scaled, size, scale_idx,
cb, lambda, uplim, bits);
}
static void quantize_and_encode_band(struct AACEncContext *s, PutBitContext *pb,
const float *in, int size, int scale_idx,
int cb, const float lambda)
{
quantize_and_encode_band_cost(s, pb, in, NULL, size, scale_idx, cb, lambda,
INFINITY, NULL);
}
/**
* structure used in optimal codebook search
*/
typedef struct BandCodingPath {
int prev_idx; ///< pointer to the previous path point
float cost; ///< path cost
int run;
} BandCodingPath;
/**
* Encode band info for single window group bands.
*/
static void encode_window_bands_info(AACEncContext *s, SingleChannelElement *sce,
int win, int group_len, const float lambda)
{
BandCodingPath path[120][12];
int w, swb, cb, start, start2, size;
int i, j;
const int max_sfb = sce->ics.max_sfb;
const int run_bits = sce->ics.num_windows == 1 ? 5 : 3;
const int run_esc = (1 << run_bits) - 1;
int idx, ppos, count;
int stackrun[120], stackcb[120], stack_len;
float next_minrd = INFINITY;
int next_mincb = 0;
abs_pow34_v(s->scoefs, sce->coeffs, 1024);
start = win*128;
for (cb = 0; cb < 12; cb++) {
path[0][cb].cost = 0.0f;
path[0][cb].prev_idx = -1;
path[0][cb].run = 0;
}
for (swb = 0; swb < max_sfb; swb++) {
start2 = start;
size = sce->ics.swb_sizes[swb];
if (sce->zeroes[win*16 + swb]) {
for (cb = 0; cb < 12; cb++) {
path[swb+1][cb].prev_idx = cb;
path[swb+1][cb].cost = path[swb][cb].cost;
path[swb+1][cb].run = path[swb][cb].run + 1;
}
} else {
float minrd = next_minrd;
int mincb = next_mincb;
next_minrd = INFINITY;
next_mincb = 0;
for (cb = 0; cb < 12; cb++) {
float cost_stay_here, cost_get_here;
float rd = 0.0f;
for (w = 0; w < group_len; w++) {
FFPsyBand *band = &s->psy.psy_bands[s->cur_channel*PSY_MAX_BANDS+(win+w)*16+swb];
rd += quantize_band_cost(s, sce->coeffs + start + w*128,
s->scoefs + start + w*128, size,
sce->sf_idx[(win+w)*16+swb], cb,
lambda / band->threshold, INFINITY, NULL);
}
cost_stay_here = path[swb][cb].cost + rd;
cost_get_here = minrd + rd + run_bits + 4;
if ( run_value_bits[sce->ics.num_windows == 8][path[swb][cb].run]
!= run_value_bits[sce->ics.num_windows == 8][path[swb][cb].run+1])
cost_stay_here += run_bits;
if (cost_get_here < cost_stay_here) {
path[swb+1][cb].prev_idx = mincb;
path[swb+1][cb].cost = cost_get_here;
path[swb+1][cb].run = 1;
} else {
path[swb+1][cb].prev_idx = cb;
path[swb+1][cb].cost = cost_stay_here;
path[swb+1][cb].run = path[swb][cb].run + 1;
}
if (path[swb+1][cb].cost < next_minrd) {
next_minrd = path[swb+1][cb].cost;
next_mincb = cb;
}
}
}
start += sce->ics.swb_sizes[swb];
}
//convert resulting path from backward-linked list
stack_len = 0;
idx = 0;
for (cb = 1; cb < 12; cb++)
if (path[max_sfb][cb].cost < path[max_sfb][idx].cost)
idx = cb;
ppos = max_sfb;
while (ppos > 0) {
cb = idx;
stackrun[stack_len] = path[ppos][cb].run;
stackcb [stack_len] = cb;
idx = path[ppos-path[ppos][cb].run+1][cb].prev_idx;
ppos -= path[ppos][cb].run;
stack_len++;
}
//perform actual band info encoding
start = 0;
for (i = stack_len - 1; i >= 0; i--) {
put_bits(&s->pb, 4, stackcb[i]);
count = stackrun[i];
memset(sce->zeroes + win*16 + start, !stackcb[i], count);
//XXX: memset when band_type is also uint8_t
for (j = 0; j < count; j++) {
sce->band_type[win*16 + start] = stackcb[i];
start++;
}
while (count >= run_esc) {
put_bits(&s->pb, run_bits, run_esc);
count -= run_esc;
}
put_bits(&s->pb, run_bits, count);
}
}
typedef struct TrellisPath {
float cost;
int prev;
int min_val;
int max_val;
} TrellisPath;
#define TRELLIS_STAGES 121
#define TRELLIS_STATES 256
static void search_for_quantizers_anmr(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce,
const float lambda)
{
int q, w, w2, g, start = 0;
int i, j;
int idx;
TrellisPath paths[TRELLIS_STAGES][TRELLIS_STATES];
int bandaddr[TRELLIS_STAGES];
int minq;
float mincost;
for (i = 0; i < TRELLIS_STATES; i++) {
paths[0][i].cost = 0.0f;
paths[0][i].prev = -1;
paths[0][i].min_val = i;
paths[0][i].max_val = i;
}
for (j = 1; j < TRELLIS_STAGES; j++) {
for (i = 0; i < TRELLIS_STATES; i++) {
paths[j][i].cost = INFINITY;
paths[j][i].prev = -2;
paths[j][i].min_val = INT_MAX;
paths[j][i].max_val = 0;
}
}
idx = 1;
abs_pow34_v(s->scoefs, sce->coeffs, 1024);
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) {
const float *coefs = sce->coeffs + start;
float qmin, qmax;
int nz = 0;
bandaddr[idx] = w * 16 + g;
qmin = INT_MAX;
qmax = 0.0f;
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
FFPsyBand *band = &s->psy.psy_bands[s->cur_channel*PSY_MAX_BANDS+(w+w2)*16+g];
if (band->energy <= band->threshold || band->threshold == 0.0f) {
sce->zeroes[(w+w2)*16+g] = 1;
continue;
}
sce->zeroes[(w+w2)*16+g] = 0;
nz = 1;
for (i = 0; i < sce->ics.swb_sizes[g]; i++) {
float t = fabsf(coefs[w2*128+i]);
if (t > 0.0f)
qmin = FFMIN(qmin, t);
qmax = FFMAX(qmax, t);
}
}
if (nz) {
int minscale, maxscale;
float minrd = INFINITY;
//minimum scalefactor index is when minimum nonzero coefficient after quantizing is not clipped
minscale = av_clip_uint8(log2(qmin)*4 - 69 + SCALE_ONE_POS - SCALE_DIV_512);
//maximum scalefactor index is when maximum coefficient after quantizing is still not zero
maxscale = av_clip_uint8(log2(qmax)*4 + 6 + SCALE_ONE_POS - SCALE_DIV_512);
for (q = minscale; q < maxscale; q++) {
float dists[12], dist;
memset(dists, 0, sizeof(dists));
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
FFPsyBand *band = &s->psy.psy_bands[s->cur_channel*PSY_MAX_BANDS+(w+w2)*16+g];
int cb;
for (cb = 0; cb <= ESC_BT; cb++)
dists[cb] += quantize_band_cost(s, coefs + w2*128, s->scoefs + start + w2*128, sce->ics.swb_sizes[g],
q, cb, lambda / band->threshold, INFINITY, NULL);
}
dist = dists[0];
for (i = 1; i <= ESC_BT; i++)
dist = FFMIN(dist, dists[i]);
minrd = FFMIN(minrd, dist);
for (i = FFMAX(q - SCALE_MAX_DIFF, 0); i < FFMIN(q + SCALE_MAX_DIFF, TRELLIS_STATES); i++) {
float cost;
int minv, maxv;
if (isinf(paths[idx - 1][i].cost))
continue;
cost = paths[idx - 1][i].cost + dist
+ ff_aac_scalefactor_bits[q - i + SCALE_DIFF_ZERO];
minv = FFMIN(paths[idx - 1][i].min_val, q);
maxv = FFMAX(paths[idx - 1][i].max_val, q);
if (cost < paths[idx][q].cost && maxv-minv < SCALE_MAX_DIFF) {
paths[idx][q].cost = cost;
paths[idx][q].prev = i;
paths[idx][q].min_val = minv;
paths[idx][q].max_val = maxv;
}
}
}
} else {
for (q = 0; q < TRELLIS_STATES; q++) {
if (!isinf(paths[idx - 1][q].cost)) {
paths[idx][q].cost = paths[idx - 1][q].cost + 1;
paths[idx][q].prev = q;
paths[idx][q].min_val = FFMIN(paths[idx - 1][q].min_val, q);
paths[idx][q].max_val = FFMAX(paths[idx - 1][q].max_val, q);
continue;
}
for (i = FFMAX(q - SCALE_MAX_DIFF, 0); i < FFMIN(q + SCALE_MAX_DIFF, TRELLIS_STATES); i++) {
float cost;
int minv, maxv;
if (isinf(paths[idx - 1][i].cost))
continue;
cost = paths[idx - 1][i].cost + ff_aac_scalefactor_bits[q - i + SCALE_DIFF_ZERO];
minv = FFMIN(paths[idx - 1][i].min_val, q);
maxv = FFMAX(paths[idx - 1][i].max_val, q);
if (cost < paths[idx][q].cost && maxv-minv < SCALE_MAX_DIFF) {
paths[idx][q].cost = cost;
paths[idx][q].prev = i;
paths[idx][q].min_val = minv;
paths[idx][q].max_val = maxv;
}
}
}
}
sce->zeroes[w*16+g] = !nz;
start += sce->ics.swb_sizes[g];
idx++;
}
}
idx--;
mincost = paths[idx][0].cost;
minq = 0;
for (i = 1; i < TRELLIS_STATES; i++) {
if (paths[idx][i].cost < mincost) {
mincost = paths[idx][i].cost;
minq = i;
}
}
while (idx) {
sce->sf_idx[bandaddr[idx]] = minq;
minq = paths[idx][minq].prev;
idx--;
}
//set the same quantizers inside window groups
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w])
for (g = 0; g < sce->ics.num_swb; g++)
for (w2 = 1; w2 < sce->ics.group_len[w]; w2++)
sce->sf_idx[(w+w2)*16+g] = sce->sf_idx[w*16+g];
}
/**
* two-loop quantizers search taken from ISO 13818-7 Appendix C
*/
static void search_for_quantizers_twoloop(AVCodecContext *avctx,
AACEncContext *s,
SingleChannelElement *sce,
const float lambda)
{
int start = 0, i, w, w2, g;
int destbits = avctx->bit_rate * 1024.0 / avctx->sample_rate / avctx->channels;
float dists[128], uplims[128];
int fflag, minscaler;
int its = 0;
int allz = 0;
float minthr = INFINITY;
//XXX: some heuristic to determine initial quantizers will reduce search time
memset(dists, 0, sizeof(dists));
//determine zero bands and upper limits
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
for (g = 0; g < sce->ics.num_swb; g++) {
int nz = 0;
float uplim = 0.0f;
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
FFPsyBand *band = &s->psy.psy_bands[s->cur_channel*PSY_MAX_BANDS+(w+w2)*16+g];
uplim += band->threshold;
if (band->energy <= band->threshold || band->threshold == 0.0f) {
sce->zeroes[(w+w2)*16+g] = 1;
continue;
}
nz = 1;
}
uplims[w*16+g] = uplim *512;
sce->zeroes[w*16+g] = !nz;
if (nz)
minthr = FFMIN(minthr, uplim);
allz = FFMAX(allz, nz);
}
}
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
for (g = 0; g < sce->ics.num_swb; g++) {
if (sce->zeroes[w*16+g]) {
sce->sf_idx[w*16+g] = SCALE_ONE_POS;
continue;
}
sce->sf_idx[w*16+g] = SCALE_ONE_POS + FFMIN(log2(uplims[w*16+g]/minthr)*4,59);
}
}
if (!allz)
return;
abs_pow34_v(s->scoefs, sce->coeffs, 1024);
//perform two-loop search
//outer loop - improve quality
do {
int tbits, qstep;
minscaler = sce->sf_idx[0];
//inner loop - quantize spectrum to fit into given number of bits
qstep = its ? 1 : 32;
do {
int prev = -1;
tbits = 0;
fflag = 0;
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) {
const float *coefs = sce->coeffs + start;
const float *scaled = s->scoefs + start;
int bits = 0;
int cb;
float mindist = INFINITY;
int minbits = 0;
if (sce->zeroes[w*16+g] || sce->sf_idx[w*16+g] >= 218) {
start += sce->ics.swb_sizes[g];
continue;
}
minscaler = FFMIN(minscaler, sce->sf_idx[w*16+g]);
for (cb = 0; cb <= ESC_BT; cb++) {
float dist = 0.0f;
int bb = 0;
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
int b;
dist += quantize_band_cost(s, coefs + w2*128,
scaled + w2*128,
sce->ics.swb_sizes[g],
sce->sf_idx[w*16+g],
cb,
lambda,
INFINITY,
&b);
bb += b;
}
if (dist < mindist) {
mindist = dist;
minbits = bb;
}
}
dists[w*16+g] = (mindist - minbits) / lambda;
bits = minbits;
if (prev != -1) {
bits += ff_aac_scalefactor_bits[sce->sf_idx[w*16+g] - prev + SCALE_DIFF_ZERO];
}
tbits += bits;
start += sce->ics.swb_sizes[g];
prev = sce->sf_idx[w*16+g];
}
}
if (tbits > destbits) {
for (i = 0; i < 128; i++)
if (sce->sf_idx[i] < 218 - qstep)
sce->sf_idx[i] += qstep;
} else {
for (i = 0; i < 128; i++)
if (sce->sf_idx[i] > 60 - qstep)
sce->sf_idx[i] -= qstep;
}
qstep >>= 1;
if (!qstep && tbits > destbits*1.02)
qstep = 1;
if (sce->sf_idx[0] >= 217)
break;
} while (qstep);
fflag = 0;
minscaler = av_clip(minscaler, 60, 255 - SCALE_MAX_DIFF);
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) {
int prevsc = sce->sf_idx[w*16+g];
if (dists[w*16+g] > uplims[w*16+g] && sce->sf_idx[w*16+g] > 60)
sce->sf_idx[w*16+g]--;
sce->sf_idx[w*16+g] = av_clip(sce->sf_idx[w*16+g], minscaler, minscaler + SCALE_MAX_DIFF);
sce->sf_idx[w*16+g] = FFMIN(sce->sf_idx[w*16+g], 219);
if (sce->sf_idx[w*16+g] != prevsc)
fflag = 1;
}
}
its++;
} while (fflag && its < 10);
}
static void search_for_quantizers_faac(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce,
const float lambda)
{
int start = 0, i, w, w2, g;
float uplim[128], maxq[128];
int minq, maxsf;
float distfact = ((sce->ics.num_windows > 1) ? 85.80 : 147.84) / lambda;
int last = 0, lastband = 0, curband = 0;
float avg_energy = 0.0;
if (sce->ics.num_windows == 1) {
start = 0;
for (i = 0; i < 1024; i++) {
if (i - start >= sce->ics.swb_sizes[curband]) {
start += sce->ics.swb_sizes[curband];
curband++;
}
if (sce->coeffs[i]) {
avg_energy += sce->coeffs[i] * sce->coeffs[i];
last = i;
lastband = curband;
}
}
} else {
for (w = 0; w < 8; w++) {
const float *coeffs = sce->coeffs + w*128;
start = 0;
for (i = 0; i < 128; i++) {
if (i - start >= sce->ics.swb_sizes[curband]) {
start += sce->ics.swb_sizes[curband];
curband++;
}
if (coeffs[i]) {
avg_energy += coeffs[i] * coeffs[i];
last = FFMAX(last, i);
lastband = FFMAX(lastband, curband);
}
}
}
}
last++;
avg_energy /= last;
if (avg_energy == 0.0f) {
for (i = 0; i < FF_ARRAY_ELEMS(sce->sf_idx); i++)
sce->sf_idx[i] = SCALE_ONE_POS;
return;
}
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) {
float *coefs = sce->coeffs + start;
const int size = sce->ics.swb_sizes[g];
int start2 = start, end2 = start + size, peakpos = start;
float maxval = -1, thr = 0.0f, t;
maxq[w*16+g] = 0.0f;
if (g > lastband) {
maxq[w*16+g] = 0.0f;
start += size;
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++)
memset(coefs + w2*128, 0, sizeof(coefs[0])*size);
continue;
}
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
for (i = 0; i < size; i++) {
float t = coefs[w2*128+i]*coefs[w2*128+i];
maxq[w*16+g] = FFMAX(maxq[w*16+g], fabsf(coefs[w2*128 + i]));
thr += t;
if (sce->ics.num_windows == 1 && maxval < t) {
maxval = t;
peakpos = start+i;
}
}
}
if (sce->ics.num_windows == 1) {
start2 = FFMAX(peakpos - 2, start2);
end2 = FFMIN(peakpos + 3, end2);
} else {
start2 -= start;
end2 -= start;
}
start += size;
thr = pow(thr / (avg_energy * (end2 - start2)), 0.3 + 0.1*(lastband - g) / lastband);
t = 1.0 - (1.0 * start2 / last);
uplim[w*16+g] = distfact / (1.4 * thr + t*t*t + 0.075);
}
}
memset(sce->sf_idx, 0, sizeof(sce->sf_idx));
abs_pow34_v(s->scoefs, sce->coeffs, 1024);
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) {
const float *coefs = sce->coeffs + start;
const float *scaled = s->scoefs + start;
const int size = sce->ics.swb_sizes[g];
int scf, prev_scf, step;
int min_scf = -1, max_scf = 256;
float curdiff;
if (maxq[w*16+g] < 21.544) {
sce->zeroes[w*16+g] = 1;
start += size;
continue;
}
sce->zeroes[w*16+g] = 0;
scf = prev_scf = av_clip(SCALE_ONE_POS - SCALE_DIV_512 - log2(1/maxq[w*16+g])*16/3, 60, 218);
step = 16;
for (;;) {
float dist = 0.0f;
int quant_max;
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
int b;
dist += quantize_band_cost(s, coefs + w2*128,
scaled + w2*128,
sce->ics.swb_sizes[g],
scf,
ESC_BT,
lambda,
INFINITY,
&b);
dist -= b;
}
dist *= 1.0f / 512.0f / lambda;
quant_max = quant(maxq[w*16+g], ff_aac_pow2sf_tab[200 - scf + SCALE_ONE_POS - SCALE_DIV_512]);
if (quant_max >= 8191) { // too much, return to the previous quantizer
sce->sf_idx[w*16+g] = prev_scf;
break;
}
prev_scf = scf;
curdiff = fabsf(dist - uplim[w*16+g]);
if (curdiff <= 1.0f)
step = 0;
else
step = log2(curdiff);
if (dist > uplim[w*16+g])
step = -step;
scf += step;
scf = av_clip_uint8(scf);
step = scf - prev_scf;
if (FFABS(step) <= 1 || (step > 0 && scf >= max_scf) || (step < 0 && scf <= min_scf)) {
sce->sf_idx[w*16+g] = av_clip(scf, min_scf, max_scf);
break;
}
if (step > 0)
min_scf = prev_scf;
else
max_scf = prev_scf;
}
start += size;
}
}
minq = sce->sf_idx[0] ? sce->sf_idx[0] : INT_MAX;
for (i = 1; i < 128; i++) {
if (!sce->sf_idx[i])
sce->sf_idx[i] = sce->sf_idx[i-1];
else
minq = FFMIN(minq, sce->sf_idx[i]);
}
if (minq == INT_MAX)
minq = 0;
minq = FFMIN(minq, SCALE_MAX_POS);
maxsf = FFMIN(minq + SCALE_MAX_DIFF, SCALE_MAX_POS);
for (i = 126; i >= 0; i--) {
if (!sce->sf_idx[i])
sce->sf_idx[i] = sce->sf_idx[i+1];
sce->sf_idx[i] = av_clip(sce->sf_idx[i], minq, maxsf);
}
}
static void search_for_quantizers_fast(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce,
const float lambda)
{
int start = 0, i, w, w2, g;
int minq = 255;
memset(sce->sf_idx, 0, sizeof(sce->sf_idx));
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = w*128;
for (g = 0; g < sce->ics.num_swb; g++) {
for (w2 = 0; w2 < sce->ics.group_len[w]; w2++) {
FFPsyBand *band = &s->psy.psy_bands[s->cur_channel*PSY_MAX_BANDS+(w+w2)*16+g];
if (band->energy <= band->threshold) {
sce->sf_idx[(w+w2)*16+g] = 218;
sce->zeroes[(w+w2)*16+g] = 1;
} else {
sce->sf_idx[(w+w2)*16+g] = av_clip(SCALE_ONE_POS - SCALE_DIV_512 + log2(band->threshold), 80, 218);
sce->zeroes[(w+w2)*16+g] = 0;
}
minq = FFMIN(minq, sce->sf_idx[(w+w2)*16+g]);
}
}
}
for (i = 0; i < 128; i++) {
sce->sf_idx[i] = 140;
//av_clip(sce->sf_idx[i], minq, minq + SCALE_MAX_DIFF - 1);
}
//set the same quantizers inside window groups
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w])
for (g = 0; g < sce->ics.num_swb; g++)
for (w2 = 1; w2 < sce->ics.group_len[w]; w2++)
sce->sf_idx[(w+w2)*16+g] = sce->sf_idx[w*16+g];
}
static void search_for_ms(AACEncContext *s, ChannelElement *cpe,
const float lambda)
{
int start = 0, i, w, w2, g;
float M[128], S[128];
float *L34 = s->scoefs, *R34 = s->scoefs + 128, *M34 = s->scoefs + 128*2, *S34 = s->scoefs + 128*3;
SingleChannelElement *sce0 = &cpe->ch[0];
SingleChannelElement *sce1 = &cpe->ch[1];
if (!cpe->common_window)
return;
for (w = 0; w < sce0->ics.num_windows; w += sce0->ics.group_len[w]) {
for (g = 0; g < sce0->ics.num_swb; g++) {
if (!cpe->ch[0].zeroes[w*16+g] && !cpe->ch[1].zeroes[w*16+g]) {
float dist1 = 0.0f, dist2 = 0.0f;
for (w2 = 0; w2 < sce0->ics.group_len[w]; w2++) {
FFPsyBand *band0 = &s->psy.psy_bands[(s->cur_channel+0)*PSY_MAX_BANDS+(w+w2)*16+g];
FFPsyBand *band1 = &s->psy.psy_bands[(s->cur_channel+1)*PSY_MAX_BANDS+(w+w2)*16+g];
float minthr = FFMIN(band0->threshold, band1->threshold);
float maxthr = FFMAX(band0->threshold, band1->threshold);
for (i = 0; i < sce0->ics.swb_sizes[g]; i++) {
M[i] = (sce0->coeffs[start+w2*128+i]
+ sce1->coeffs[start+w2*128+i]) * 0.5;
S[i] = sce0->coeffs[start+w2*128+i]
- sce1->coeffs[start+w2*128+i];
}
abs_pow34_v(L34, sce0->coeffs+start+w2*128, sce0->ics.swb_sizes[g]);
abs_pow34_v(R34, sce1->coeffs+start+w2*128, sce0->ics.swb_sizes[g]);
abs_pow34_v(M34, M, sce0->ics.swb_sizes[g]);
abs_pow34_v(S34, S, sce0->ics.swb_sizes[g]);
dist1 += quantize_band_cost(s, sce0->coeffs + start + w2*128,
L34,
sce0->ics.swb_sizes[g],
sce0->sf_idx[(w+w2)*16+g],
sce0->band_type[(w+w2)*16+g],
lambda / band0->threshold, INFINITY, NULL);
dist1 += quantize_band_cost(s, sce1->coeffs + start + w2*128,
R34,
sce1->ics.swb_sizes[g],
sce1->sf_idx[(w+w2)*16+g],
sce1->band_type[(w+w2)*16+g],
lambda / band1->threshold, INFINITY, NULL);
dist2 += quantize_band_cost(s, M,
M34,
sce0->ics.swb_sizes[g],
sce0->sf_idx[(w+w2)*16+g],
sce0->band_type[(w+w2)*16+g],
lambda / maxthr, INFINITY, NULL);
dist2 += quantize_band_cost(s, S,
S34,
sce1->ics.swb_sizes[g],
sce1->sf_idx[(w+w2)*16+g],
sce1->band_type[(w+w2)*16+g],
lambda / minthr, INFINITY, NULL);
}
cpe->ms_mask[w*16+g] = dist2 < dist1;
}
start += sce0->ics.swb_sizes[g];
}
}
}
AACCoefficientsEncoder ff_aac_coders[] = {
{
search_for_quantizers_faac,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
{
search_for_quantizers_anmr,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
{
search_for_quantizers_twoloop,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
{
search_for_quantizers_fast,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
};

2142
libavcodec/aacdec.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -21,7 +21,7 @@
*/
/**
* @file libavcodec/aacdectab.h
* @file
* AAC decoder data
* @author Oded Shimon ( ods15 ods15 dyndns org )
* @author Maxim Gavrilov ( maxim.gavrilov gmail com )
@@ -34,145 +34,6 @@
#include <stdint.h>
/* @name swb_offsets
* Sample offset into the window indicating the beginning of a scalefactor
* window band
*
* scalefactor window band - term for scalefactor bands within a window,
* given in Table 4.110 to Table 4.128.
*
* scalefactor band - a set of spectral coefficients which are scaled by one
* scalefactor. In case of EIGHT_SHORT_SEQUENCE and grouping a scalefactor band
* may contain several scalefactor window bands of corresponding frequency. For
* all other window_sequences scalefactor bands and scalefactor window bands are
* identical.
* @{
*/
static const uint16_t swb_offset_1024_96[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 64,
72, 80, 88, 96, 108, 120, 132, 144,
156, 172, 188, 212, 240, 276, 320, 384,
448, 512, 576, 640, 704, 768, 832, 896,
960, 1024
};
static const uint16_t swb_offset_128_96[] = {
0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
};
static const uint16_t swb_offset_1024_64[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 64,
72, 80, 88, 100, 112, 124, 140, 156,
172, 192, 216, 240, 268, 304, 344, 384,
424, 464, 504, 544, 584, 624, 664, 704,
744, 784, 824, 864, 904, 944, 984, 1024
};
static const uint16_t swb_offset_1024_48[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 48, 56, 64, 72, 80,
88, 96, 108, 120, 132, 144, 160, 176,
196, 216, 240, 264, 292, 320, 352, 384,
416, 448, 480, 512, 544, 576, 608, 640,
672, 704, 736, 768, 800, 832, 864, 896,
928, 1024
};
static const uint16_t swb_offset_128_48[] = {
0, 4, 8, 12, 16, 20, 28, 36,
44, 56, 68, 80, 96, 112, 128
};
static const uint16_t swb_offset_1024_32[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 48, 56, 64, 72, 80,
88, 96, 108, 120, 132, 144, 160, 176,
196, 216, 240, 264, 292, 320, 352, 384,
416, 448, 480, 512, 544, 576, 608, 640,
672, 704, 736, 768, 800, 832, 864, 896,
928, 960, 992, 1024
};
static const uint16_t swb_offset_1024_24[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 52, 60, 68, 76,
84, 92, 100, 108, 116, 124, 136, 148,
160, 172, 188, 204, 220, 240, 260, 284,
308, 336, 364, 396, 432, 468, 508, 552,
600, 652, 704, 768, 832, 896, 960, 1024
};
static const uint16_t swb_offset_128_24[] = {
0, 4, 8, 12, 16, 20, 24, 28,
36, 44, 52, 64, 76, 92, 108, 128
};
static const uint16_t swb_offset_1024_16[] = {
0, 8, 16, 24, 32, 40, 48, 56,
64, 72, 80, 88, 100, 112, 124, 136,
148, 160, 172, 184, 196, 212, 228, 244,
260, 280, 300, 320, 344, 368, 396, 424,
456, 492, 532, 572, 616, 664, 716, 772,
832, 896, 960, 1024
};
static const uint16_t swb_offset_128_16[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 40, 48, 60, 72, 88, 108, 128
};
static const uint16_t swb_offset_1024_8[] = {
0, 12, 24, 36, 48, 60, 72, 84,
96, 108, 120, 132, 144, 156, 172, 188,
204, 220, 236, 252, 268, 288, 308, 328,
348, 372, 396, 420, 448, 476, 508, 544,
580, 620, 664, 712, 764, 820, 880, 944,
1024
};
static const uint16_t swb_offset_128_8[] = {
0, 4, 8, 12, 16, 20, 24, 28,
36, 44, 52, 60, 72, 88, 108, 128
};
static const uint16_t *swb_offset_1024[] = {
swb_offset_1024_96, swb_offset_1024_96, swb_offset_1024_64,
swb_offset_1024_48, swb_offset_1024_48, swb_offset_1024_32,
swb_offset_1024_24, swb_offset_1024_24, swb_offset_1024_16,
swb_offset_1024_16, swb_offset_1024_16, swb_offset_1024_8,
swb_offset_1024_8
};
static const uint16_t *swb_offset_128[] = {
/* The last entry on the following row is swb_offset_128_64 but is a
duplicate of swb_offset_128_96. */
swb_offset_128_96, swb_offset_128_96, swb_offset_128_96,
swb_offset_128_48, swb_offset_128_48, swb_offset_128_48,
swb_offset_128_24, swb_offset_128_24, swb_offset_128_16,
swb_offset_128_16, swb_offset_128_16, swb_offset_128_8,
swb_offset_128_8
};
// @}
/* @name tns_max_bands
* The maximum number of scalefactor bands on which TNS can operate for the long
* and short transforms respectively. The index to these tables is related to
* the sample rate of the audio.
* @{
*/
static const uint8_t tns_max_bands_1024[] = {
31, 31, 34, 40, 42, 51, 46, 46, 42, 42, 42, 39, 39
};
static const uint8_t tns_max_bands_128[] = {
9, 9, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
};
// @}
/* @name tns_tmp2_map
* Tables of the tmp2[] arrays of LPC coefficients used for TNS.
* The suffix _M_N[] indicate the values of coef_compress and coef_res
@@ -208,4 +69,27 @@ static const float * const tns_tmp2_map[4] = {
};
// @}
static const int8_t tags_per_config[16] = { 0, 1, 1, 2, 3, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0 };
static const uint8_t aac_channel_layout_map[7][5][2] = {
{ { TYPE_SCE, 0 }, },
{ { TYPE_CPE, 0 }, },
{ { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, },
{ { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_SCE, 1 }, },
{ { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_CPE, 1 }, },
{ { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_LFE, 0 }, { TYPE_CPE, 1 }, },
{ { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_LFE, 0 }, { TYPE_CPE, 2 }, { TYPE_CPE, 1 }, },
};
static const int64_t aac_channel_layout[8] = {
CH_LAYOUT_MONO,
CH_LAYOUT_STEREO,
CH_LAYOUT_SURROUND,
CH_LAYOUT_4POINT0,
CH_LAYOUT_5POINT0_BACK,
CH_LAYOUT_5POINT1_BACK,
CH_LAYOUT_7POINT1_WIDE,
0,
};
#endif /* AVCODEC_AACDECTAB_H */

View File

@@ -20,25 +20,26 @@
*/
/**
* @file libavcodec/aacenc.c
* @file
* AAC encoder
*/
/***********************************
* TODOs:
* psy model selection with some option
* add sane pulse detection
* add temporal noise shaping
***********************************/
#include "avcodec.h"
#include "bitstream.h"
#include "put_bits.h"
#include "dsputil.h"
#include "mpeg4audio.h"
#include "aacpsy.h"
#include "aac.h"
#include "aactab.h"
#include "aacenc.h"
#include "psymodel.h"
static const uint8_t swb_size_1024_96[] = {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8,
@@ -83,7 +84,7 @@ static const uint8_t swb_size_1024_8[] = {
32, 36, 36, 40, 44, 48, 52, 56, 60, 64, 80
};
static const uint8_t * const swb_size_1024[] = {
static const uint8_t *swb_size_1024[] = {
swb_size_1024_96, swb_size_1024_96, swb_size_1024_64,
swb_size_1024_48, swb_size_1024_48, swb_size_1024_32,
swb_size_1024_24, swb_size_1024_24, swb_size_1024_16,
@@ -110,7 +111,7 @@ static const uint8_t swb_size_128_8[] = {
4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 12, 16, 20, 20
};
static const uint8_t * const swb_size_128[] = {
static const uint8_t *swb_size_128[] = {
/* the last entry on the following row is swb_size_128_64 but is a
duplicate of swb_size_128_96 */
swb_size_128_96, swb_size_128_96, swb_size_128_96,
@@ -119,23 +120,6 @@ static const uint8_t * const swb_size_128[] = {
swb_size_128_16, swb_size_128_16, swb_size_128_8
};
/** bits needed to code codebook run value for long windows */
static const uint8_t run_value_bits_long[64] = {
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 15
};
/** bits needed to code codebook run value for short windows */
static const uint8_t run_value_bits_short[16] = {
3, 3, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 9
};
static const uint8_t* const run_value_bits[2] = {
run_value_bits_long, run_value_bits_short
};
/** default channel configurations */
static const uint8_t aac_chan_configs[6][5] = {
{1, TYPE_SCE}, // 1 channel - single channel element
@@ -146,33 +130,6 @@ static const uint8_t aac_chan_configs[6][5] = {
{4, TYPE_SCE, TYPE_CPE, TYPE_CPE, TYPE_LFE}, // 6 channels - front center + stereo + back stereo + LFE
};
/**
* structure used in optimal codebook search
*/
typedef struct BandCodingPath {
int prev_idx; ///< pointer to the previous path point
int codebook; ///< codebook for coding band run
int bits; ///< number of bit needed to code given number of bands
} BandCodingPath;
/**
* AAC encoder context
*/
typedef struct {
PutBitContext pb;
MDCTContext mdct1024; ///< long (1024 samples) frame transform context
MDCTContext mdct128; ///< short (128 samples) frame transform context
DSPContext dsp;
DECLARE_ALIGNED_16(FFTSample, output[2048]); ///< temporary buffer for MDCT input coefficients
int16_t* samples; ///< saved preprocessed input
int samplerate_index; ///< MPEG-4 samplerate index
ChannelElement *cpe; ///< channel elements
AACPsyContext psy; ///< psychoacoustic model context
int last_frame;
} AACEncContext;
/**
* Make AAC audio config object.
* @see 1.6.2.1 "Syntax - AudioSpecificConfig"
@@ -197,82 +154,243 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
{
AACEncContext *s = avctx->priv_data;
int i;
const uint8_t *sizes[2];
int lengths[2];
avctx->frame_size = 1024;
for(i = 0; i < 16; i++)
if(avctx->sample_rate == ff_mpeg4audio_sample_rates[i])
for (i = 0; i < 16; i++)
if (avctx->sample_rate == ff_mpeg4audio_sample_rates[i])
break;
if(i == 16){
if (i == 16) {
av_log(avctx, AV_LOG_ERROR, "Unsupported sample rate %d\n", avctx->sample_rate);
return -1;
}
if(avctx->channels > 6){
if (avctx->channels > 6) {
av_log(avctx, AV_LOG_ERROR, "Unsupported number of channels: %d\n", avctx->channels);
return -1;
}
if (avctx->profile != FF_PROFILE_UNKNOWN && avctx->profile != FF_PROFILE_AAC_LOW) {
av_log(avctx, AV_LOG_ERROR, "Unsupported profile %d\n", avctx->profile);
return -1;
}
if (1024.0 * avctx->bit_rate / avctx->sample_rate > 6144 * avctx->channels) {
av_log(avctx, AV_LOG_ERROR, "Too many bits per frame requested\n");
return -1;
}
s->samplerate_index = i;
dsputil_init(&s->dsp, avctx);
ff_mdct_init(&s->mdct1024, 11, 0);
ff_mdct_init(&s->mdct128, 8, 0);
ff_mdct_init(&s->mdct1024, 11, 0, 1.0);
ff_mdct_init(&s->mdct128, 8, 0, 1.0);
// window init
ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024);
ff_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128);
ff_sine_window_init(ff_sine_1024, 1024);
ff_sine_window_init(ff_sine_128, 128);
ff_init_ff_sine_windows(10);
ff_init_ff_sine_windows(7);
s->samples = av_malloc(2 * 1024 * avctx->channels * sizeof(s->samples[0]));
s->cpe = av_mallocz(sizeof(ChannelElement) * aac_chan_configs[avctx->channels-1][0]);
if(ff_aac_psy_init(&s->psy, avctx, AAC_PSY_3GPP,
aac_chan_configs[avctx->channels-1][0], 0,
swb_size_1024[i], ff_aac_num_swb_1024[i], swb_size_128[i], ff_aac_num_swb_128[i]) < 0){
av_log(avctx, AV_LOG_ERROR, "Cannot initialize selected model.\n");
return -1;
}
avctx->extradata = av_malloc(2);
s->samples = av_malloc(2 * 1024 * avctx->channels * sizeof(s->samples[0]));
s->cpe = av_mallocz(sizeof(ChannelElement) * aac_chan_configs[avctx->channels-1][0]);
avctx->extradata = av_malloc(2);
avctx->extradata_size = 2;
put_audio_specific_config(avctx);
sizes[0] = swb_size_1024[i];
sizes[1] = swb_size_128[i];
lengths[0] = ff_aac_num_swb_1024[i];
lengths[1] = ff_aac_num_swb_128[i];
ff_psy_init(&s->psy, avctx, 2, sizes, lengths);
s->psypp = ff_psy_preprocess_init(avctx);
s->coder = &ff_aac_coders[2];
s->lambda = avctx->global_quality ? avctx->global_quality : 120;
ff_aac_tableinit();
if (avctx->channels > 5)
av_log(avctx, AV_LOG_ERROR, "This encoder does not yet enforce the restrictions on LFEs. "
"The output will most likely be an illegal bitstream.\n");
return 0;
}
static void apply_window_and_mdct(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce, short *audio, int channel)
{
int i, j, k;
const float * lwindow = sce->ics.use_kb_window[0] ? ff_aac_kbd_long_1024 : ff_sine_1024;
const float * swindow = sce->ics.use_kb_window[0] ? ff_aac_kbd_short_128 : ff_sine_128;
const float * pwindow = sce->ics.use_kb_window[1] ? ff_aac_kbd_short_128 : ff_sine_128;
if (sce->ics.window_sequence[0] != EIGHT_SHORT_SEQUENCE) {
memcpy(s->output, sce->saved, sizeof(float)*1024);
if (sce->ics.window_sequence[0] == LONG_STOP_SEQUENCE) {
memset(s->output, 0, sizeof(s->output[0]) * 448);
for (i = 448; i < 576; i++)
s->output[i] = sce->saved[i] * pwindow[i - 448];
for (i = 576; i < 704; i++)
s->output[i] = sce->saved[i];
}
if (sce->ics.window_sequence[0] != LONG_START_SEQUENCE) {
for (i = 0, j = channel; i < 1024; i++, j += avctx->channels) {
s->output[i+1024] = audio[j] * lwindow[1024 - i - 1];
sce->saved[i] = audio[j] * lwindow[i];
}
} else {
for (i = 0, j = channel; i < 448; i++, j += avctx->channels)
s->output[i+1024] = audio[j];
for (; i < 576; i++, j += avctx->channels)
s->output[i+1024] = audio[j] * swindow[576 - i - 1];
memset(s->output+1024+576, 0, sizeof(s->output[0]) * 448);
for (i = 0, j = channel; i < 1024; i++, j += avctx->channels)
sce->saved[i] = audio[j];
}
ff_mdct_calc(&s->mdct1024, sce->coeffs, s->output);
} else {
for (k = 0; k < 1024; k += 128) {
for (i = 448 + k; i < 448 + k + 256; i++)
s->output[i - 448 - k] = (i < 1024)
? sce->saved[i]
: audio[channel + (i-1024)*avctx->channels];
s->dsp.vector_fmul (s->output, k ? swindow : pwindow, 128);
s->dsp.vector_fmul_reverse(s->output+128, s->output+128, swindow, 128);
ff_mdct_calc(&s->mdct128, sce->coeffs + k, s->output);
}
for (i = 0, j = channel; i < 1024; i++, j += avctx->channels)
sce->saved[i] = audio[j];
}
}
/**
* Encode ics_info element.
* @see Table 4.6 (syntax of ics_info)
*/
static void put_ics_info(AACEncContext *s, IndividualChannelStream *info)
{
int i;
int w;
put_bits(&s->pb, 1, 0); // ics_reserved bit
put_bits(&s->pb, 2, info->window_sequence[0]);
put_bits(&s->pb, 1, info->use_kb_window[0]);
if(info->window_sequence[0] != EIGHT_SHORT_SEQUENCE){
if (info->window_sequence[0] != EIGHT_SHORT_SEQUENCE) {
put_bits(&s->pb, 6, info->max_sfb);
put_bits(&s->pb, 1, 0); // no prediction
}else{
} else {
put_bits(&s->pb, 4, info->max_sfb);
for(i = 1; i < info->num_windows; i++)
put_bits(&s->pb, 1, info->group_len[i]);
for (w = 1; w < 8; w++)
put_bits(&s->pb, 1, !info->group_len[w]);
}
}
/**
* Calculate the number of bits needed to code all coefficient signs in current band.
* Encode MS data.
* @see 4.6.8.1 "Joint Coding - M/S Stereo"
*/
static int calculate_band_sign_bits(AACEncContext *s, SingleChannelElement *sce,
int group_len, int start, int size)
static void encode_ms_info(PutBitContext *pb, ChannelElement *cpe)
{
int bits = 0;
int i, w;
for(w = 0; w < group_len; w++){
for(i = 0; i < size; i++){
if(sce->icoefs[start + i])
bits++;
put_bits(pb, 2, cpe->ms_mode);
if (cpe->ms_mode == 1)
for (w = 0; w < cpe->ch[0].ics.num_windows; w += cpe->ch[0].ics.group_len[w])
for (i = 0; i < cpe->ch[0].ics.max_sfb; i++)
put_bits(pb, 1, cpe->ms_mask[w*16 + i]);
}
/**
* Produce integer coefficients from scalefactors provided by the model.
*/
static void adjust_frame_information(AACEncContext *apc, ChannelElement *cpe, int chans)
{
int i, w, w2, g, ch;
int start, sum, maxsfb, cmaxsfb;
for (ch = 0; ch < chans; ch++) {
IndividualChannelStream *ics = &cpe->ch[ch].ics;
start = 0;
maxsfb = 0;
cpe->ch[ch].pulse.num_pulse = 0;
for (w = 0; w < ics->num_windows*16; w += 16) {
for (g = 0; g < ics->num_swb; g++) {
sum = 0;
//apply M/S
if (!ch && cpe->ms_mask[w + g]) {
for (i = 0; i < ics->swb_sizes[g]; i++) {
cpe->ch[0].coeffs[start+i] = (cpe->ch[0].coeffs[start+i] + cpe->ch[1].coeffs[start+i]) / 2.0;
cpe->ch[1].coeffs[start+i] = cpe->ch[0].coeffs[start+i] - cpe->ch[1].coeffs[start+i];
}
}
start += ics->swb_sizes[g];
}
for (cmaxsfb = ics->num_swb; cmaxsfb > 0 && cpe->ch[ch].zeroes[w+cmaxsfb-1]; cmaxsfb--)
;
maxsfb = FFMAX(maxsfb, cmaxsfb);
}
ics->max_sfb = maxsfb;
//adjust zero bands for window groups
for (w = 0; w < ics->num_windows; w += ics->group_len[w]) {
for (g = 0; g < ics->max_sfb; g++) {
i = 1;
for (w2 = w; w2 < w + ics->group_len[w]; w2++) {
if (!cpe->ch[ch].zeroes[w2*16 + g]) {
i = 0;
break;
}
}
cpe->ch[ch].zeroes[w*16 + g] = i;
}
}
}
if (chans > 1 && cpe->common_window) {
IndividualChannelStream *ics0 = &cpe->ch[0].ics;
IndividualChannelStream *ics1 = &cpe->ch[1].ics;
int msc = 0;
ics0->max_sfb = FFMAX(ics0->max_sfb, ics1->max_sfb);
ics1->max_sfb = ics0->max_sfb;
for (w = 0; w < ics0->num_windows*16; w += 16)
for (i = 0; i < ics0->max_sfb; i++)
if (cpe->ms_mask[w+i])
msc++;
if (msc == 0 || ics0->max_sfb == 0)
cpe->ms_mode = 0;
else
cpe->ms_mode = msc < ics0->max_sfb ? 1 : 2;
}
}
/**
* Encode scalefactor band coding type.
*/
static void encode_band_info(AACEncContext *s, SingleChannelElement *sce)
{
int w;
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w])
s->coder->encode_window_bands_info(s, sce, w, sce->ics.group_len[w], s->lambda);
}
/**
* Encode scalefactors.
*/
static void encode_scale_factors(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce)
{
int off = sce->sf_idx[0], diff;
int i, w;
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
for (i = 0; i < sce->ics.max_sfb; i++) {
if (!sce->zeroes[w*16 + i]) {
diff = sce->sf_idx[w*16 + i] - off + SCALE_DIFF_ZERO;
if (diff < 0 || diff > 120)
av_log(avctx, AV_LOG_ERROR, "Scalefactor difference is too big to be coded\n");
off = sce->sf_idx[w*16 + i];
put_bits(&s->pb, ff_aac_scalefactor_bits[diff], ff_aac_scalefactor_code[diff]);
}
}
start += 128;
}
return bits;
}
/**
@@ -283,11 +401,12 @@ static void encode_pulses(AACEncContext *s, Pulse *pulse)
int i;
put_bits(&s->pb, 1, !!pulse->num_pulse);
if(!pulse->num_pulse) return;
if (!pulse->num_pulse)
return;
put_bits(&s->pb, 2, pulse->num_pulse - 1);
put_bits(&s->pb, 6, pulse->start);
for(i = 0; i < pulse->num_pulse; i++){
for (i = 0; i < pulse->num_pulse; i++) {
put_bits(&s->pb, 5, pulse->pos[i]);
put_bits(&s->pb, 4, pulse->amp[i]);
}
@@ -298,54 +417,214 @@ static void encode_pulses(AACEncContext *s, Pulse *pulse)
*/
static void encode_spectral_coeffs(AACEncContext *s, SingleChannelElement *sce)
{
int start, i, w, w2, wg;
int start, i, w, w2;
w = 0;
for(wg = 0; wg < sce->ics.num_window_groups; wg++){
for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
start = 0;
for(i = 0; i < sce->ics.max_sfb; i++){
if(sce->zeroes[w*16 + i]){
for (i = 0; i < sce->ics.max_sfb; i++) {
if (sce->zeroes[w*16 + i]) {
start += sce->ics.swb_sizes[i];
continue;
}
for(w2 = w; w2 < w + sce->ics.group_len[wg]; w2++){
encode_band_coeffs(s, sce, start + w2*128,
sce->ics.swb_sizes[i],
sce->band_type[w*16 + i]);
}
for (w2 = w; w2 < w + sce->ics.group_len[w]; w2++)
s->coder->quantize_and_encode_band(s, &s->pb, sce->coeffs + start + w2*128,
sce->ics.swb_sizes[i],
sce->sf_idx[w*16 + i],
sce->band_type[w*16 + i],
s->lambda);
start += sce->ics.swb_sizes[i];
}
w += sce->ics.group_len[wg];
}
}
/**
* Encode one channel of audio data.
*/
static int encode_individual_channel(AVCodecContext *avctx, AACEncContext *s,
SingleChannelElement *sce,
int common_window)
{
put_bits(&s->pb, 8, sce->sf_idx[0]);
if (!common_window)
put_ics_info(s, &sce->ics);
encode_band_info(s, sce);
encode_scale_factors(avctx, s, sce);
encode_pulses(s, &sce->pulse);
put_bits(&s->pb, 1, 0); //tns
put_bits(&s->pb, 1, 0); //ssr
encode_spectral_coeffs(s, sce);
return 0;
}
/**
* Write some auxiliary information about the created AAC file.
*/
static void put_bitstream_info(AVCodecContext *avctx, AACEncContext *s, const char *name)
static void put_bitstream_info(AVCodecContext *avctx, AACEncContext *s,
const char *name)
{
int i, namelen, padbits;
namelen = strlen(name) + 2;
put_bits(&s->pb, 3, TYPE_FIL);
put_bits(&s->pb, 4, FFMIN(namelen, 15));
if(namelen >= 15)
if (namelen >= 15)
put_bits(&s->pb, 8, namelen - 16);
put_bits(&s->pb, 4, 0); //extension type - filler
padbits = 8 - (put_bits_count(&s->pb) & 7);
align_put_bits(&s->pb);
for(i = 0; i < namelen - 2; i++)
for (i = 0; i < namelen - 2; i++)
put_bits(&s->pb, 8, name[i]);
put_bits(&s->pb, 12 - padbits, 0);
}
static int aac_encode_frame(AVCodecContext *avctx,
uint8_t *frame, int buf_size, void *data)
{
AACEncContext *s = avctx->priv_data;
int16_t *samples = s->samples, *samples2, *la;
ChannelElement *cpe;
int i, j, chans, tag, start_ch;
const uint8_t *chan_map = aac_chan_configs[avctx->channels-1];
int chan_el_counter[4];
FFPsyWindowInfo windows[avctx->channels];
if (s->last_frame)
return 0;
if (data) {
if (!s->psypp) {
memcpy(s->samples + 1024 * avctx->channels, data,
1024 * avctx->channels * sizeof(s->samples[0]));
} else {
start_ch = 0;
samples2 = s->samples + 1024 * avctx->channels;
for (i = 0; i < chan_map[0]; i++) {
tag = chan_map[i+1];
chans = tag == TYPE_CPE ? 2 : 1;
ff_psy_preprocess(s->psypp, (uint16_t*)data + start_ch,
samples2 + start_ch, start_ch, chans);
start_ch += chans;
}
}
}
if (!avctx->frame_number) {
memcpy(s->samples, s->samples + 1024 * avctx->channels,
1024 * avctx->channels * sizeof(s->samples[0]));
return 0;
}
start_ch = 0;
for (i = 0; i < chan_map[0]; i++) {
FFPsyWindowInfo* wi = windows + start_ch;
tag = chan_map[i+1];
chans = tag == TYPE_CPE ? 2 : 1;
cpe = &s->cpe[i];
samples2 = samples + start_ch;
la = samples2 + 1024 * avctx->channels + start_ch;
if (!data)
la = NULL;
for (j = 0; j < chans; j++) {
IndividualChannelStream *ics = &cpe->ch[j].ics;
int k;
wi[j] = ff_psy_suggest_window(&s->psy, samples2, la, start_ch + j, ics->window_sequence[0]);
ics->window_sequence[1] = ics->window_sequence[0];
ics->window_sequence[0] = wi[j].window_type[0];
ics->use_kb_window[1] = ics->use_kb_window[0];
ics->use_kb_window[0] = wi[j].window_shape;
ics->num_windows = wi[j].num_windows;
ics->swb_sizes = s->psy.bands [ics->num_windows == 8];
ics->num_swb = s->psy.num_bands[ics->num_windows == 8];
for (k = 0; k < ics->num_windows; k++)
ics->group_len[k] = wi[j].grouping[k];
s->cur_channel = start_ch + j;
apply_window_and_mdct(avctx, s, &cpe->ch[j], samples2, j);
}
start_ch += chans;
}
do {
int frame_bits;
init_put_bits(&s->pb, frame, buf_size*8);
if ((avctx->frame_number & 0xFF)==1 && !(avctx->flags & CODEC_FLAG_BITEXACT))
put_bitstream_info(avctx, s, LIBAVCODEC_IDENT);
start_ch = 0;
memset(chan_el_counter, 0, sizeof(chan_el_counter));
for (i = 0; i < chan_map[0]; i++) {
FFPsyWindowInfo* wi = windows + start_ch;
tag = chan_map[i+1];
chans = tag == TYPE_CPE ? 2 : 1;
cpe = &s->cpe[i];
for (j = 0; j < chans; j++) {
s->cur_channel = start_ch + j;
ff_psy_set_band_info(&s->psy, s->cur_channel, cpe->ch[j].coeffs, &wi[j]);
s->coder->search_for_quantizers(avctx, s, &cpe->ch[j], s->lambda);
}
cpe->common_window = 0;
if (chans > 1
&& wi[0].window_type[0] == wi[1].window_type[0]
&& wi[0].window_shape == wi[1].window_shape) {
cpe->common_window = 1;
for (j = 0; j < wi[0].num_windows; j++) {
if (wi[0].grouping[j] != wi[1].grouping[j]) {
cpe->common_window = 0;
break;
}
}
}
s->cur_channel = start_ch;
if (cpe->common_window && s->coder->search_for_ms)
s->coder->search_for_ms(s, cpe, s->lambda);
adjust_frame_information(s, cpe, chans);
put_bits(&s->pb, 3, tag);
put_bits(&s->pb, 4, chan_el_counter[tag]++);
if (chans == 2) {
put_bits(&s->pb, 1, cpe->common_window);
if (cpe->common_window) {
put_ics_info(s, &cpe->ch[0].ics);
encode_ms_info(&s->pb, cpe);
}
}
for (j = 0; j < chans; j++) {
s->cur_channel = start_ch + j;
encode_individual_channel(avctx, s, &cpe->ch[j], cpe->common_window);
}
start_ch += chans;
}
frame_bits = put_bits_count(&s->pb);
if (frame_bits <= 6144 * avctx->channels - 3)
break;
s->lambda *= avctx->bit_rate * 1024.0f / avctx->sample_rate / frame_bits;
} while (1);
put_bits(&s->pb, 3, TYPE_END);
flush_put_bits(&s->pb);
avctx->frame_bits = put_bits_count(&s->pb);
// rate control stuff
if (!(avctx->flags & CODEC_FLAG_QSCALE)) {
float ratio = avctx->bit_rate * 1024.0f / avctx->sample_rate / avctx->frame_bits;
s->lambda *= ratio;
s->lambda = FFMIN(s->lambda, 65536.f);
}
if (!data)
s->last_frame = 1;
memcpy(s->samples, s->samples + 1024 * avctx->channels,
1024 * avctx->channels * sizeof(s->samples[0]));
return put_bits_count(&s->pb)>>3;
}
static av_cold int aac_encode_end(AVCodecContext *avctx)
{
AACEncContext *s = avctx->priv_data;
ff_mdct_end(&s->mdct1024);
ff_mdct_end(&s->mdct128);
ff_aac_psy_end(&s->psy);
ff_psy_end(&s->psy);
ff_psy_preprocess_end(s->psypp);
av_freep(&s->samples);
av_freep(&s->cpe);
return 0;
@@ -353,13 +632,13 @@ static av_cold int aac_encode_end(AVCodecContext *avctx)
AVCodec aac_encoder = {
"aac",
CODEC_TYPE_AUDIO,
AVMEDIA_TYPE_AUDIO,
CODEC_ID_AAC,
sizeof(AACEncContext),
aac_encode_init,
aac_encode_frame,
aac_encode_end,
.capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY,
.sample_fmts = (enum SampleFormat[]){SAMPLE_FMT_S16,SAMPLE_FMT_NONE},
.capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY | CODEC_CAP_EXPERIMENTAL,
.sample_fmts = (const enum SampleFormat[]){SAMPLE_FMT_S16,SAMPLE_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Advanced Audio Coding"),
};

71
libavcodec/aacenc.h Normal file
View File

@@ -0,0 +1,71 @@
/*
* AAC encoder
* Copyright (C) 2008 Konstantin Shishkov
*
* 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 AVCODEC_AACENC_H
#define AVCODEC_AACENC_H
#include "avcodec.h"
#include "put_bits.h"
#include "dsputil.h"
#include "aac.h"
#include "psymodel.h"
struct AACEncContext;
typedef struct AACCoefficientsEncoder {
void (*search_for_quantizers)(AVCodecContext *avctx, struct AACEncContext *s,
SingleChannelElement *sce, const float lambda);
void (*encode_window_bands_info)(struct AACEncContext *s, SingleChannelElement *sce,
int win, int group_len, const float lambda);
void (*quantize_and_encode_band)(struct AACEncContext *s, PutBitContext *pb, const float *in, int size,
int scale_idx, int cb, const float lambda);
void (*search_for_ms)(struct AACEncContext *s, ChannelElement *cpe, const float lambda);
} AACCoefficientsEncoder;
extern AACCoefficientsEncoder ff_aac_coders[];
/**
* AAC encoder context
*/
typedef struct AACEncContext {
PutBitContext pb;
FFTContext mdct1024; ///< long (1024 samples) frame transform context
FFTContext mdct128; ///< short (128 samples) frame transform context
DSPContext dsp;
DECLARE_ALIGNED(16, FFTSample, output)[2048]; ///< temporary buffer for MDCT input coefficients
int16_t* samples; ///< saved preprocessed input
int samplerate_index; ///< MPEG-4 samplerate index
ChannelElement *cpe; ///< channel elements
FFPsyContext psy;
struct FFPsyPreprocessContext* psypp;
AACCoefficientsEncoder *coder;
int cur_channel;
int last_frame;
float lambda;
DECLARE_ALIGNED(16, int, qcoefs)[96]; ///< quantized coefficients
DECLARE_ALIGNED(16, float, scoefs)[1024]; ///< scaled coefficients
} AACEncContext;
#endif /* AVCODEC_AACENC_H */

1040
libavcodec/aacps.c Normal file

File diff suppressed because it is too large Load Diff

82
libavcodec/aacps.h Normal file
View File

@@ -0,0 +1,82 @@
/*
* MPEG-4 Parametric Stereo definitions and declarations
* Copyright (c) 2010 Alex Converse <alex.converse@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 AVCODEC_PS_H
#define AVCODEC_PS_H
#include <stdint.h>
#include "avcodec.h"
#include "get_bits.h"
#define PS_MAX_NUM_ENV 5
#define PS_MAX_NR_IIDICC 34
#define PS_MAX_NR_IPDOPD 17
#define PS_MAX_SSB 91
#define PS_MAX_AP_BANDS 50
#define PS_QMF_TIME_SLOTS 32
#define PS_MAX_DELAY 14
#define PS_AP_LINKS 3
#define PS_MAX_AP_DELAY 5
typedef struct {
int start;
int enable_iid;
int iid_quant;
int nr_iid_par;
int nr_ipdopd_par;
int enable_icc;
int icc_mode;
int nr_icc_par;
int enable_ext;
int frame_class;
int num_env_old;
int num_env;
int enable_ipdopd;
int border_position[PS_MAX_NUM_ENV+1];
int8_t iid_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Inter-channel Intensity Difference Parameters
int8_t icc_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Inter-Channel Coherence Parameters
/* ipd/opd is iid/icc sized so that the same functions can handle both */
int8_t ipd_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Inter-channel Phase Difference Parameters
int8_t opd_par[PS_MAX_NUM_ENV][PS_MAX_NR_IIDICC]; //<Overall Phase Difference Parameters
int is34bands;
int is34bands_old;
float in_buf[5][44][2];
float delay[PS_MAX_SSB][PS_QMF_TIME_SLOTS + PS_MAX_DELAY][2];
float ap_delay[PS_MAX_AP_BANDS][PS_AP_LINKS][PS_QMF_TIME_SLOTS + PS_MAX_AP_DELAY][2];
float peak_decay_nrg[34];
float power_smooth[34];
float peak_decay_diff_smooth[34];
float H11[2][PS_MAX_NUM_ENV+1][PS_MAX_NR_IIDICC];
float H12[2][PS_MAX_NUM_ENV+1][PS_MAX_NR_IIDICC];
float H21[2][PS_MAX_NUM_ENV+1][PS_MAX_NR_IIDICC];
float H22[2][PS_MAX_NUM_ENV+1][PS_MAX_NR_IIDICC];
int8_t opd_hist[PS_MAX_NR_IIDICC];
int8_t ipd_hist[PS_MAX_NR_IIDICC];
} PSContext;
void ff_ps_init(void);
void ff_ps_ctx_init(PSContext *ps);
int ff_ps_read_data(AVCodecContext *avctx, GetBitContext *gb, PSContext *ps, int bits_left);
int ff_ps_apply(AVCodecContext *avctx, PSContext *ps, float L[2][38][64], float R[2][38][64], int top);
#endif /* AVCODEC_PS_H */

View File

@@ -0,0 +1,93 @@
/*
* Generate a header file for hardcoded Parametric Stereo tables
*
* Copyright (c) 2010 Alex Converse <alex.converse@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 <stdlib.h>
#define CONFIG_HARDCODED_TABLES 0
#include "aacps_tablegen.h"
#include "tableprint.h"
void write_float_3d_array (const void *p, int b, int c, int d)
{
int i;
const float *f = p;
for (i = 0; i < b; i++) {
printf("{\n");
write_float_2d_array(f, c, d);
printf("},\n");
f += c * d;
}
}
void write_float_4d_array (const void *p, int a, int b, int c, int d)
{
int i;
const float *f = p;
for (i = 0; i < a; i++) {
printf("{\n");
write_float_3d_array(f, b, c, d);
printf("},\n");
f += b * c * d;
}
}
int main(void)
{
ps_tableinit();
write_fileheader();
printf("static const float pd_re_smooth[8*8*8] = {\n");
write_float_array(pd_re_smooth, 8*8*8);
printf("};\n");
printf("static const float pd_im_smooth[8*8*8] = {\n");
write_float_array(pd_im_smooth, 8*8*8);
printf("};\n");
printf("static const float HA[46][8][4] = {\n");
write_float_3d_array(HA, 46, 8, 4);
printf("};\n");
printf("static const float HB[46][8][4] = {\n");
write_float_3d_array(HB, 46, 8, 4);
printf("};\n");
printf("static const float f20_0_8[8][7][2] = {\n");
write_float_3d_array(f20_0_8, 8, 7, 2);
printf("};\n");
printf("static const float f34_0_12[12][7][2] = {\n");
write_float_3d_array(f34_0_12, 12, 7, 2);
printf("};\n");
printf("static const float f34_1_8[8][7][2] = {\n");
write_float_3d_array(f34_1_8, 8, 7, 2);
printf("};\n");
printf("static const float f34_2_4[4][7][2] = {\n");
write_float_3d_array(f34_2_4, 4, 7, 2);
printf("};\n");
printf("static const float Q_fract_allpass[2][50][3][2] = {\n");
write_float_4d_array(Q_fract_allpass, 2, 50, 3, 2);
printf("};\n");
printf("static const float phi_fract[2][50][2] = {\n");
write_float_3d_array(phi_fract, 2, 50, 2);
printf("};\n");
return 0;
}

212
libavcodec/aacps_tablegen.h Normal file
View File

@@ -0,0 +1,212 @@
/*
* Header file for hardcoded Parametric Stereo tables
*
* Copyright (c) 2010 Alex Converse <alex.converse@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 AACPS_TABLEGEN_H
#define AACPS_TABLEGEN_H
#include <stdint.h>
#if CONFIG_HARDCODED_TABLES
#define ps_tableinit()
#include "libavcodec/aacps_tables.h"
#else
#include "../libavutil/common.h"
#include "../libavutil/mathematics.h"
#define NR_ALLPASS_BANDS20 30
#define NR_ALLPASS_BANDS34 50
#define PS_AP_LINKS 3
static float pd_re_smooth[8*8*8];
static float pd_im_smooth[8*8*8];
static float HA[46][8][4];
static float HB[46][8][4];
static float f20_0_8 [ 8][7][2];
static float f34_0_12[12][7][2];
static float f34_1_8 [ 8][7][2];
static float f34_2_4 [ 4][7][2];
static float Q_fract_allpass[2][50][3][2];
static float phi_fract[2][50][2];
static const float g0_Q8[] = {
0.00746082949812f, 0.02270420949825f, 0.04546865930473f, 0.07266113929591f,
0.09885108575264f, 0.11793710567217f, 0.125f
};
static const float g0_Q12[] = {
0.04081179924692f, 0.03812810994926f, 0.05144908135699f, 0.06399831151592f,
0.07428313801106f, 0.08100347892914f, 0.08333333333333f
};
static const float g1_Q8[] = {
0.01565675600122f, 0.03752716391991f, 0.05417891378782f, 0.08417044116767f,
0.10307344158036f, 0.12222452249753f, 0.125f
};
static const float g2_Q4[] = {
-0.05908211155639f, -0.04871498374946f, 0.0f, 0.07778723915851f,
0.16486303567403f, 0.23279856662996f, 0.25f
};
static void make_filters_from_proto(float (*filter)[7][2], const float *proto, int bands)
{
int q, n;
for (q = 0; q < bands; q++) {
for (n = 0; n < 7; n++) {
double theta = 2 * M_PI * (q + 0.5) * (n - 6) / bands;
filter[q][n][0] = proto[n] * cos(theta);
filter[q][n][1] = proto[n] * -sin(theta);
}
}
}
static void ps_tableinit(void)
{
static const float ipdopd_sin[] = { 0, M_SQRT1_2, 1, M_SQRT1_2, 0, -M_SQRT1_2, -1, -M_SQRT1_2 };
static const float ipdopd_cos[] = { 1, M_SQRT1_2, 0, -M_SQRT1_2, -1, -M_SQRT1_2, 0, M_SQRT1_2 };
int pd0, pd1, pd2;
static const float iid_par_dequant[] = {
//iid_par_dequant_default
0.05623413251903, 0.12589254117942, 0.19952623149689, 0.31622776601684,
0.44668359215096, 0.63095734448019, 0.79432823472428, 1,
1.25892541179417, 1.58489319246111, 2.23872113856834, 3.16227766016838,
5.01187233627272, 7.94328234724282, 17.7827941003892,
//iid_par_dequant_fine
0.00316227766017, 0.00562341325190, 0.01, 0.01778279410039,
0.03162277660168, 0.05623413251903, 0.07943282347243, 0.11220184543020,
0.15848931924611, 0.22387211385683, 0.31622776601684, 0.39810717055350,
0.50118723362727, 0.63095734448019, 0.79432823472428, 1,
1.25892541179417, 1.58489319246111, 1.99526231496888, 2.51188643150958,
3.16227766016838, 4.46683592150963, 6.30957344480193, 8.91250938133745,
12.5892541179417, 17.7827941003892, 31.6227766016838, 56.2341325190349,
100, 177.827941003892, 316.227766016837,
};
static const float icc_invq[] = {
1, 0.937, 0.84118, 0.60092, 0.36764, 0, -0.589, -1
};
static const float acos_icc_invq[] = {
0, 0.35685527, 0.57133466, 0.92614472, 1.1943263, M_PI/2, 2.2006171, M_PI
};
int iid, icc;
int k, m;
static const int8_t f_center_20[] = {
-3, -1, 1, 3, 5, 7, 10, 14, 18, 22,
};
static const int8_t f_center_34[] = {
2, 6, 10, 14, 18, 22, 26, 30,
34,-10, -6, -2, 51, 57, 15, 21,
27, 33, 39, 45, 54, 66, 78, 42,
102, 66, 78, 90,102,114,126, 90,
};
static const float fractional_delay_links[] = { 0.43f, 0.75f, 0.347f };
const float fractional_delay_gain = 0.39f;
for (pd0 = 0; pd0 < 8; pd0++) {
float pd0_re = ipdopd_cos[pd0];
float pd0_im = ipdopd_sin[pd0];
for (pd1 = 0; pd1 < 8; pd1++) {
float pd1_re = ipdopd_cos[pd1];
float pd1_im = ipdopd_sin[pd1];
for (pd2 = 0; pd2 < 8; pd2++) {
float pd2_re = ipdopd_cos[pd2];
float pd2_im = ipdopd_sin[pd2];
float re_smooth = 0.25f * pd0_re + 0.5f * pd1_re + pd2_re;
float im_smooth = 0.25f * pd0_im + 0.5f * pd1_im + pd2_im;
float pd_mag = 1 / sqrt(im_smooth * im_smooth + re_smooth * re_smooth);
pd_re_smooth[pd0*64+pd1*8+pd2] = re_smooth * pd_mag;
pd_im_smooth[pd0*64+pd1*8+pd2] = im_smooth * pd_mag;
}
}
}
for (iid = 0; iid < 46; iid++) {
float c = iid_par_dequant[iid]; //<Linear Inter-channel Intensity Difference
float c1 = (float)M_SQRT2 / sqrtf(1.0f + c*c);
float c2 = c * c1;
for (icc = 0; icc < 8; icc++) {
/*if (PS_BASELINE || ps->icc_mode < 3)*/ {
float alpha = 0.5f * acos_icc_invq[icc];
float beta = alpha * (c1 - c2) * (float)M_SQRT1_2;
HA[iid][icc][0] = c2 * cosf(beta + alpha);
HA[iid][icc][1] = c1 * cosf(beta - alpha);
HA[iid][icc][2] = c2 * sinf(beta + alpha);
HA[iid][icc][3] = c1 * sinf(beta - alpha);
} /* else */ {
float alpha, gamma, mu, rho;
float alpha_c, alpha_s, gamma_c, gamma_s;
rho = FFMAX(icc_invq[icc], 0.05f);
alpha = 0.5f * atan2f(2.0f * c * rho, c*c - 1.0f);
mu = c + 1.0f / c;
mu = sqrtf(1 + (4 * rho * rho - 4)/(mu * mu));
gamma = atanf(sqrtf((1.0f - mu)/(1.0f + mu)));
if (alpha < 0) alpha += M_PI/2;
alpha_c = cosf(alpha);
alpha_s = sinf(alpha);
gamma_c = cosf(gamma);
gamma_s = sinf(gamma);
HB[iid][icc][0] = M_SQRT2 * alpha_c * gamma_c;
HB[iid][icc][1] = M_SQRT2 * alpha_s * gamma_c;
HB[iid][icc][2] = -M_SQRT2 * alpha_s * gamma_s;
HB[iid][icc][3] = M_SQRT2 * alpha_c * gamma_s;
}
}
}
for (k = 0; k < NR_ALLPASS_BANDS20; k++) {
double f_center, theta;
if (k < FF_ARRAY_ELEMS(f_center_20))
f_center = f_center_20[k] * 0.125;
else
f_center = k - 6.5f;
for (m = 0; m < PS_AP_LINKS; m++) {
theta = -M_PI * fractional_delay_links[m] * f_center;
Q_fract_allpass[0][k][m][0] = cos(theta);
Q_fract_allpass[0][k][m][1] = sin(theta);
}
theta = -M_PI*fractional_delay_gain*f_center;
phi_fract[0][k][0] = cos(theta);
phi_fract[0][k][1] = sin(theta);
}
for (k = 0; k < NR_ALLPASS_BANDS34; k++) {
double f_center, theta;
if (k < FF_ARRAY_ELEMS(f_center_34))
f_center = f_center_34[k] / 24.;
else
f_center = k - 26.5f;
for (m = 0; m < PS_AP_LINKS; m++) {
theta = -M_PI * fractional_delay_links[m] * f_center;
Q_fract_allpass[1][k][m][0] = cos(theta);
Q_fract_allpass[1][k][m][1] = sin(theta);
}
theta = -M_PI*fractional_delay_gain*f_center;
phi_fract[1][k][0] = cos(theta);
phi_fract[1][k][1] = sin(theta);
}
make_filters_from_proto(f20_0_8, g0_Q8, 8);
make_filters_from_proto(f34_0_12, g0_Q12, 12);
make_filters_from_proto(f34_1_8, g1_Q8, 8);
make_filters_from_proto(f34_2_4, g2_Q4, 4);
}
#endif /* CONFIG_HARDCODED_TABLES */
#endif /* AACPS_TABLEGEN_H */

163
libavcodec/aacpsdata.c Normal file
View File

@@ -0,0 +1,163 @@
/*
* MPEG-4 Parametric Stereo data tables
* Copyright (c) 2010 Alex Converse <alex.converse@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
*/
static const uint8_t huff_iid_df1_bits[] = {
18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 17, 17, 16, 16, 15, 14, 14,
13, 12, 12, 11, 10, 10, 8, 7, 6, 5, 4, 3, 1, 3, 4, 5, 6, 7,
8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 16, 16, 17, 17, 18, 17, 18, 18,
18, 18, 18, 18, 18, 18, 18,
};
static const uint32_t huff_iid_df1_codes[] = {
0x01FEB4, 0x01FEB5, 0x01FD76, 0x01FD77, 0x01FD74, 0x01FD75, 0x01FE8A,
0x01FE8B, 0x01FE88, 0x00FE80, 0x01FEB6, 0x00FE82, 0x00FEB8, 0x007F42,
0x007FAE, 0x003FAF, 0x001FD1, 0x001FE9, 0x000FE9, 0x0007EA, 0x0007FB,
0x0003FB, 0x0001FB, 0x0001FF, 0x00007C, 0x00003C, 0x00001C, 0x00000C,
0x000000, 0x000001, 0x000001, 0x000002, 0x000001, 0x00000D, 0x00001D,
0x00003D, 0x00007D, 0x0000FC, 0x0001FC, 0x0003FC, 0x0003F4, 0x0007EB,
0x000FEA, 0x001FEA, 0x001FD6, 0x003FD0, 0x007FAF, 0x007F43, 0x00FEB9,
0x00FE83, 0x01FEB7, 0x00FE81, 0x01FE89, 0x01FE8E, 0x01FE8F, 0x01FE8C,
0x01FE8D, 0x01FEB2, 0x01FEB3, 0x01FEB0, 0x01FEB1,
};
static const uint8_t huff_iid_dt1_bits[] = {
16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 14, 14, 13,
13, 13, 12, 12, 11, 10, 9, 9, 7, 6, 5, 3, 1, 2, 5, 6, 7, 8,
9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16,
};
static const uint16_t huff_iid_dt1_codes[] = {
0x004ED4, 0x004ED5, 0x004ECE, 0x004ECF, 0x004ECC, 0x004ED6, 0x004ED8,
0x004F46, 0x004F60, 0x002718, 0x002719, 0x002764, 0x002765, 0x00276D,
0x0027B1, 0x0013B7, 0x0013D6, 0x0009C7, 0x0009E9, 0x0009ED, 0x0004EE,
0x0004F7, 0x000278, 0x000139, 0x00009A, 0x00009F, 0x000020, 0x000011,
0x00000A, 0x000003, 0x000001, 0x000000, 0x00000B, 0x000012, 0x000021,
0x00004C, 0x00009B, 0x00013A, 0x000279, 0x000270, 0x0004EF, 0x0004E2,
0x0009EA, 0x0009D8, 0x0013D7, 0x0013D0, 0x0027B2, 0x0027A2, 0x00271A,
0x00271B, 0x004F66, 0x004F67, 0x004F61, 0x004F47, 0x004ED9, 0x004ED7,
0x004ECD, 0x004ED2, 0x004ED3, 0x004ED0, 0x004ED1,
};
static const uint8_t huff_iid_df0_bits[] = {
17, 17, 17, 17, 16, 15, 13, 10, 9, 7, 6, 5, 4, 3, 1, 3, 4, 5,
6, 6, 8, 11, 13, 14, 14, 15, 17, 18, 18,
};
static const uint32_t huff_iid_df0_codes[] = {
0x01FFFB, 0x01FFFC, 0x01FFFD, 0x01FFFA, 0x00FFFC, 0x007FFC, 0x001FFD,
0x0003FE, 0x0001FE, 0x00007E, 0x00003C, 0x00001D, 0x00000D, 0x000005,
0x000000, 0x000004, 0x00000C, 0x00001C, 0x00003D, 0x00003E, 0x0000FE,
0x0007FE, 0x001FFC, 0x003FFC, 0x003FFD, 0x007FFD, 0x01FFFE, 0x03FFFE,
0x03FFFF,
};
static const uint8_t huff_iid_dt0_bits[] = {
19, 19, 19, 20, 20, 20, 17, 15, 12, 10, 8, 6, 4, 2, 1, 3, 5, 7,
9, 11, 13, 14, 17, 19, 20, 20, 20, 20, 20,
};
static const uint32_t huff_iid_dt0_codes[] = {
0x07FFF9, 0x07FFFA, 0x07FFFB, 0x0FFFF8, 0x0FFFF9, 0x0FFFFA, 0x01FFFD,
0x007FFE, 0x000FFE, 0x0003FE, 0x0000FE, 0x00003E, 0x00000E, 0x000002,
0x000000, 0x000006, 0x00001E, 0x00007E, 0x0001FE, 0x0007FE, 0x001FFE,
0x003FFE, 0x01FFFC, 0x07FFF8, 0x0FFFFB, 0x0FFFFC, 0x0FFFFD, 0x0FFFFE,
0x0FFFFF,
};
static const uint8_t huff_icc_df_bits[] = {
14, 14, 12, 10, 7, 5, 3, 1, 2, 4, 6, 8, 9, 11, 13,
};
static const uint16_t huff_icc_df_codes[] = {
0x3FFF, 0x3FFE, 0x0FFE, 0x03FE, 0x007E, 0x001E, 0x0006, 0x0000,
0x0002, 0x000E, 0x003E, 0x00FE, 0x01FE, 0x07FE, 0x1FFE,
};
static const uint8_t huff_icc_dt_bits[] = {
14, 13, 11, 9, 7, 5, 3, 1, 2, 4, 6, 8, 10, 12, 14,
};
static const uint16_t huff_icc_dt_codes[] = {
0x3FFE, 0x1FFE, 0x07FE, 0x01FE, 0x007E, 0x001E, 0x0006, 0x0000,
0x0002, 0x000E, 0x003E, 0x00FE, 0x03FE, 0x0FFE, 0x3FFF,
};
static const uint8_t huff_ipd_df_bits[] = {
1, 3, 4, 4, 4, 4, 4, 4,
};
static const uint8_t huff_ipd_df_codes[] = {
0x01, 0x00, 0x06, 0x04, 0x02, 0x03, 0x05, 0x07,
};
static const uint8_t huff_ipd_dt_bits[] = {
1, 3, 4, 5, 5, 4, 4, 3,
};
static const uint8_t huff_ipd_dt_codes[] = {
0x01, 0x02, 0x02, 0x03, 0x02, 0x00, 0x03, 0x03,
};
static const uint8_t huff_opd_df_bits[] = {
1, 3, 4, 4, 5, 5, 4, 3,
};
static const uint8_t huff_opd_df_codes[] = {
0x01, 0x01, 0x06, 0x04, 0x0F, 0x0E, 0x05, 0x00,
};
static const uint8_t huff_opd_dt_bits[] = {
1, 3, 4, 5, 5, 4, 4, 3,
};
static const uint8_t huff_opd_dt_codes[] = {
0x01, 0x02, 0x01, 0x07, 0x06, 0x00, 0x02, 0x03,
};
static const int8_t huff_offset[] = {
30, 30,
14, 14,
7, 7,
0, 0,
0, 0,
};
///Table 8.48
static const int8_t k_to_i_20[] = {
1, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15,
15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19
};
///Table 8.49
static const int8_t k_to_i_34[] = {
0, 1, 2, 3, 4, 5, 6, 6, 7, 2, 1, 0, 10, 10, 4, 5, 6, 7, 8,
9, 10, 11, 12, 9, 14, 11, 12, 13, 14, 15, 16, 13, 16, 17, 18, 19, 20, 21,
22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29,
30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 33,
33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33
};
static const float g1_Q2[] = {
0.0f, 0.01899487526049f, 0.0f, -0.07293139167538f,
0.0f, 0.30596630545168f, 0.5f
};

View File

@@ -20,59 +20,30 @@
*/
/**
* @file libavcodec/aacpsy.c
* @file
* AAC encoder psychoacoustic model
*/
#include "avcodec.h"
#include "aacpsy.h"
#include "aactab.h"
#include "psymodel.h"
/***********************************
* TODOs:
* General:
* better audio preprocessing (add DC highpass filter?)
* more psy models
* maybe improve coefficient quantization function in some way
*
* 3GPP-based psy model:
* thresholds linearization after their modifications for attaining given bitrate
* try other bitrate controlling mechanism (maybe use ratecontrol.c?)
* control quality for quality-based output
**********************************/
/**
* Quantize one coefficient.
* @return absolute value of the quantized coefficient
* @see 3GPP TS26.403 5.6.2 "Scalefactor determination"
*/
static av_always_inline int quant(float coef, const float Q)
{
return av_clip((int)(pow(fabsf(coef) * Q, 0.75) + 0.4054), 0, 8191);
}
static inline float get_approximate_quant_error(float *c, int size, int scale_idx)
{
int i;
int q;
float coef, unquant, sum = 0.0f;
const float Q = ff_aac_pow2sf_tab[200 - scale_idx + SCALE_ONE_POS - SCALE_DIV_512];
const float IQ = ff_aac_pow2sf_tab[200 + scale_idx - SCALE_ONE_POS + SCALE_DIV_512];
for(i = 0; i < size; i++){
coef = fabs(c[i]);
q = quant(c[i], Q);
unquant = (q * cbrt(q)) * IQ;
sum += (coef - unquant) * (coef - unquant);
}
return sum;
}
/**
* constants for 3GPP AAC psychoacoustic model
* @{
*/
#define PSY_3GPP_SPREAD_LOW 1.5f // spreading factor for ascending threshold spreading (15 dB/Bark)
#define PSY_3GPP_SPREAD_HI 3.0f // spreading factor for descending threshold spreading (30 dB/Bark)
#define PSY_3GPP_RPEMIN 0.01f
#define PSY_3GPP_RPELEV 2.0f
/**
* @}
*/
@@ -83,8 +54,24 @@ static inline float get_approximate_quant_error(float *c, int size, int scale_id
typedef struct Psy3gppBand{
float energy; ///< band energy
float ffac; ///< form factor
float thr; ///< energy threshold
float min_snr; ///< minimal SNR
float thr_quiet; ///< threshold in quiet
}Psy3gppBand;
/**
* single/pair channel context for psychoacoustic model
*/
typedef struct Psy3gppChannel{
Psy3gppBand band[128]; ///< bands information
Psy3gppBand prev_band[128]; ///< bands information from the previous frame
float win_energy; ///< sliding average of channel energy
float iir_state[2]; ///< hi-pass IIR filter state
uint8_t next_grouping; ///< stored grouping scheme for the next frame (in case of 8 short window sequence)
enum WindowSequence next_window_seq; ///< window sequence to be used in the next frame
}Psy3gppChannel;
/**
* psychoacoustic model frame type-dependent coefficients
*/
@@ -95,10 +82,237 @@ typedef struct Psy3gppCoeffs{
float spread_hi [64]; ///< spreading factor for high-to-low threshold spreading in long frame
}Psy3gppCoeffs;
/**
* 3GPP TS26.403-inspired psychoacoustic model specific data
*/
typedef struct Psy3gppContext{
Psy3gppCoeffs psy_coef[2];
Psy3gppChannel *ch;
}Psy3gppContext;
/**
* Calculate Bark value for given line.
*/
static inline float calc_bark(float f)
static av_cold float calc_bark(float f)
{
return 13.3f * atanf(0.00076f * f) + 3.5f * atanf((f / 7500.0f) * (f / 7500.0f));
}
#define ATH_ADD 4
/**
* Calculate ATH value for given frequency.
* Borrowed from Lame.
*/
static av_cold float ath(float f, float add)
{
f /= 1000.0f;
return 3.64 * pow(f, -0.8)
- 6.8 * exp(-0.6 * (f - 3.4) * (f - 3.4))
+ 6.0 * exp(-0.15 * (f - 8.7) * (f - 8.7))
+ (0.6 + 0.04 * add) * 0.001 * f * f * f * f;
}
static av_cold int psy_3gpp_init(FFPsyContext *ctx) {
Psy3gppContext *pctx;
float barks[1024];
int i, j, g, start;
float prev, minscale, minath;
ctx->model_priv_data = av_mallocz(sizeof(Psy3gppContext));
pctx = (Psy3gppContext*) ctx->model_priv_data;
for (i = 0; i < 1024; i++)
barks[i] = calc_bark(i * ctx->avctx->sample_rate / 2048.0);
minath = ath(3410, ATH_ADD);
for (j = 0; j < 2; j++) {
Psy3gppCoeffs *coeffs = &pctx->psy_coef[j];
i = 0;
prev = 0.0;
for (g = 0; g < ctx->num_bands[j]; g++) {
i += ctx->bands[j][g];
coeffs->barks[g] = (barks[i - 1] + prev) / 2.0;
prev = barks[i - 1];
}
for (g = 0; g < ctx->num_bands[j] - 1; g++) {
coeffs->spread_low[g] = pow(10.0, -(coeffs->barks[g+1] - coeffs->barks[g]) * PSY_3GPP_SPREAD_LOW);
coeffs->spread_hi [g] = pow(10.0, -(coeffs->barks[g+1] - coeffs->barks[g]) * PSY_3GPP_SPREAD_HI);
}
start = 0;
for (g = 0; g < ctx->num_bands[j]; g++) {
minscale = ath(ctx->avctx->sample_rate * start / 1024.0, ATH_ADD);
for (i = 1; i < ctx->bands[j][g]; i++)
minscale = FFMIN(minscale, ath(ctx->avctx->sample_rate * (start + i) / 1024.0 / 2.0, ATH_ADD));
coeffs->ath[g] = minscale - minath;
start += ctx->bands[j][g];
}
}
pctx->ch = av_mallocz(sizeof(Psy3gppChannel) * ctx->avctx->channels);
return 0;
}
/**
* IIR filter used in block switching decision
*/
static float iir_filter(int in, float state[2])
{
float ret;
ret = 0.7548f * (in - state[0]) + 0.5095f * state[1];
state[0] = in;
state[1] = ret;
return ret;
}
/**
* window grouping information stored as bits (0 - new group, 1 - group continues)
*/
static const uint8_t window_grouping[9] = {
0xB6, 0x6C, 0xD8, 0xB2, 0x66, 0xC6, 0x96, 0x36, 0x36
};
/**
* Tell encoder which window types to use.
* @see 3GPP TS26.403 5.4.1 "Blockswitching"
*/
static FFPsyWindowInfo psy_3gpp_window(FFPsyContext *ctx,
const int16_t *audio, const int16_t *la,
int channel, int prev_type)
{
int i, j;
int br = ctx->avctx->bit_rate / ctx->avctx->channels;
int attack_ratio = br <= 16000 ? 18 : 10;
Psy3gppContext *pctx = (Psy3gppContext*) ctx->model_priv_data;
Psy3gppChannel *pch = &pctx->ch[channel];
uint8_t grouping = 0;
FFPsyWindowInfo wi;
memset(&wi, 0, sizeof(wi));
if (la) {
float s[8], v;
int switch_to_eight = 0;
float sum = 0.0, sum2 = 0.0;
int attack_n = 0;
for (i = 0; i < 8; i++) {
for (j = 0; j < 128; j++) {
v = iir_filter(audio[(i*128+j)*ctx->avctx->channels], pch->iir_state);
sum += v*v;
}
s[i] = sum;
sum2 += sum;
}
for (i = 0; i < 8; i++) {
if (s[i] > pch->win_energy * attack_ratio) {
attack_n = i + 1;
switch_to_eight = 1;
break;
}
}
pch->win_energy = pch->win_energy*7/8 + sum2/64;
wi.window_type[1] = prev_type;
switch (prev_type) {
case ONLY_LONG_SEQUENCE:
wi.window_type[0] = switch_to_eight ? LONG_START_SEQUENCE : ONLY_LONG_SEQUENCE;
break;
case LONG_START_SEQUENCE:
wi.window_type[0] = EIGHT_SHORT_SEQUENCE;
grouping = pch->next_grouping;
break;
case LONG_STOP_SEQUENCE:
wi.window_type[0] = ONLY_LONG_SEQUENCE;
break;
case EIGHT_SHORT_SEQUENCE:
wi.window_type[0] = switch_to_eight ? EIGHT_SHORT_SEQUENCE : LONG_STOP_SEQUENCE;
grouping = switch_to_eight ? pch->next_grouping : 0;
break;
}
pch->next_grouping = window_grouping[attack_n];
} else {
for (i = 0; i < 3; i++)
wi.window_type[i] = prev_type;
grouping = (prev_type == EIGHT_SHORT_SEQUENCE) ? window_grouping[0] : 0;
}
wi.window_shape = 1;
if (wi.window_type[0] != EIGHT_SHORT_SEQUENCE) {
wi.num_windows = 1;
wi.grouping[0] = 1;
} else {
int lastgrp = 0;
wi.num_windows = 8;
for (i = 0; i < 8; i++) {
if (!((grouping >> i) & 1))
lastgrp = i;
wi.grouping[lastgrp]++;
}
}
return wi;
}
/**
* Calculate band thresholds as suggested in 3GPP TS26.403
*/
static void psy_3gpp_analyze(FFPsyContext *ctx, int channel,
const float *coefs, FFPsyWindowInfo *wi)
{
Psy3gppContext *pctx = (Psy3gppContext*) ctx->model_priv_data;
Psy3gppChannel *pch = &pctx->ch[channel];
int start = 0;
int i, w, g;
const int num_bands = ctx->num_bands[wi->num_windows == 8];
const uint8_t* band_sizes = ctx->bands[wi->num_windows == 8];
Psy3gppCoeffs *coeffs = &pctx->psy_coef[wi->num_windows == 8];
//calculate energies, initial thresholds and related values - 5.4.2 "Threshold Calculation"
for (w = 0; w < wi->num_windows*16; w += 16) {
for (g = 0; g < num_bands; g++) {
Psy3gppBand *band = &pch->band[w+g];
band->energy = 0.0f;
for (i = 0; i < band_sizes[g]; i++)
band->energy += coefs[start+i] * coefs[start+i];
band->energy *= 1.0f / (512*512);
band->thr = band->energy * 0.001258925f;
start += band_sizes[g];
ctx->psy_bands[channel*PSY_MAX_BANDS+w+g].energy = band->energy;
}
}
//modify thresholds - spread, threshold in quiet - 5.4.3 "Spreaded Energy Calculation"
for (w = 0; w < wi->num_windows*16; w += 16) {
Psy3gppBand *band = &pch->band[w];
for (g = 1; g < num_bands; g++)
band[g].thr = FFMAX(band[g].thr, band[g-1].thr * coeffs->spread_low[g-1]);
for (g = num_bands - 2; g >= 0; g--)
band[g].thr = FFMAX(band[g].thr, band[g+1].thr * coeffs->spread_hi [g]);
for (g = 0; g < num_bands; g++) {
band[g].thr_quiet = FFMAX(band[g].thr, coeffs->ath[g]);
if (wi->num_windows != 8 && wi->window_type[1] != EIGHT_SHORT_SEQUENCE)
band[g].thr_quiet = FFMAX(PSY_3GPP_RPEMIN*band[g].thr_quiet,
FFMIN(band[g].thr_quiet,
PSY_3GPP_RPELEV*pch->prev_band[w+g].thr_quiet));
band[g].thr = FFMAX(band[g].thr, band[g].thr_quiet * 0.25);
ctx->psy_bands[channel*PSY_MAX_BANDS+w+g].threshold = band[g].thr;
}
}
memcpy(pch->prev_band, pch->band, sizeof(pch->band));
}
static av_cold void psy_3gpp_end(FFPsyContext *apc)
{
Psy3gppContext *pctx = (Psy3gppContext*) apc->model_priv_data;
av_freep(&pctx->ch);
av_freep(&apc->model_priv_data);
}
const FFPsyModel ff_aac_psy_model =
{
.name = "3GPP TS 26.403-inspired model",
.init = psy_3gpp_init,
.window = psy_3gpp_window,
.analyze = psy_3gpp_analyze,
.end = psy_3gpp_end,
};

1773
libavcodec/aacsbr.c Normal file

File diff suppressed because it is too large Load Diff

49
libavcodec/aacsbr.h Normal file
View File

@@ -0,0 +1,49 @@
/*
* AAC Spectral Band Replication function declarations
* Copyright (c) 2008-2009 Robert Swain ( rob opendot cl )
* Copyright (c) 2010 Alex Converse <alex.converse@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
*/
/**
* @file
* AAC Spectral Band Replication function declarations
* @author Robert Swain ( rob opendot cl )
*/
#ifndef AVCODEC_AACSBR_H
#define AVCODEC_AACSBR_H
#include "get_bits.h"
#include "aac.h"
#include "sbr.h"
/** Initialize SBR. */
av_cold void ff_aac_sbr_init(void);
/** Initialize one SBR context. */
av_cold void ff_aac_sbr_ctx_init(SpectralBandReplication *sbr);
/** Close one SBR context. */
av_cold void ff_aac_sbr_ctx_close(SpectralBandReplication *sbr);
/** Decode one SBR element. */
int ff_decode_sbr_extension(AACContext *ac, SpectralBandReplication *sbr,
GetBitContext *gb, int crc, int cnt, int id_aac);
/** Apply one SBR element to one AAC element. */
void ff_sbr_apply(AACContext *ac, SpectralBandReplication *sbr, int id_aac,
float* L, float *R);
#endif /* AVCODEC_AACSBR_H */

614
libavcodec/aacsbrdata.h Normal file
View File

@@ -0,0 +1,614 @@
/*
* AAC Spectral Band Replication decoding data
* Copyright (c) 2008-2009 Robert Swain ( rob opendot cl )
*
* 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
*/
/**
* @file
* AAC Spectral Band Replication decoding data
* @author Robert Swain ( rob opendot cl )
*/
#ifndef AVCODEC_AACSBRDATA_H
#define AVCODEC_AACSBRDATA_H
#include <stdint.h>
#include "libavutil/mem.h"
///< Huffman tables for SBR
static const uint8_t t_huffman_env_1_5dB_bits[121] = {
18, 18, 18, 18, 18, 18, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 17, 18, 16, 17, 18, 17,
16, 16, 16, 16, 15, 14, 14, 13,
13, 12, 11, 10, 9, 8, 7, 6,
5, 4, 3, 2, 2, 3, 4, 5,
6, 7, 8, 9, 10, 12, 13, 14,
14, 15, 16, 17, 16, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19,
};
static const uint32_t t_huffman_env_1_5dB_codes[121] = {
0x3ffd6, 0x3ffd7, 0x3ffd8, 0x3ffd9, 0x3ffda, 0x3ffdb, 0x7ffb8, 0x7ffb9,
0x7ffba, 0x7ffbb, 0x7ffbc, 0x7ffbd, 0x7ffbe, 0x7ffbf, 0x7ffc0, 0x7ffc1,
0x7ffc2, 0x7ffc3, 0x7ffc4, 0x7ffc5, 0x7ffc6, 0x7ffc7, 0x7ffc8, 0x7ffc9,
0x7ffca, 0x7ffcb, 0x7ffcc, 0x7ffcd, 0x7ffce, 0x7ffcf, 0x7ffd0, 0x7ffd1,
0x7ffd2, 0x7ffd3, 0x1ffe6, 0x3ffd4, 0x0fff0, 0x1ffe9, 0x3ffd5, 0x1ffe7,
0x0fff1, 0x0ffec, 0x0ffed, 0x0ffee, 0x07ff4, 0x03ff9, 0x03ff7, 0x01ffa,
0x01ff9, 0x00ffb, 0x007fc, 0x003fc, 0x001fd, 0x000fd, 0x0007d, 0x0003d,
0x0001d, 0x0000d, 0x00005, 0x00001, 0x00000, 0x00004, 0x0000c, 0x0001c,
0x0003c, 0x0007c, 0x000fc, 0x001fc, 0x003fd, 0x00ffa, 0x01ff8, 0x03ff6,
0x03ff8, 0x07ff5, 0x0ffef, 0x1ffe8, 0x0fff2, 0x7ffd4, 0x7ffd5, 0x7ffd6,
0x7ffd7, 0x7ffd8, 0x7ffd9, 0x7ffda, 0x7ffdb, 0x7ffdc, 0x7ffdd, 0x7ffde,
0x7ffdf, 0x7ffe0, 0x7ffe1, 0x7ffe2, 0x7ffe3, 0x7ffe4, 0x7ffe5, 0x7ffe6,
0x7ffe7, 0x7ffe8, 0x7ffe9, 0x7ffea, 0x7ffeb, 0x7ffec, 0x7ffed, 0x7ffee,
0x7ffef, 0x7fff0, 0x7fff1, 0x7fff2, 0x7fff3, 0x7fff4, 0x7fff5, 0x7fff6,
0x7fff7, 0x7fff8, 0x7fff9, 0x7fffa, 0x7fffb, 0x7fffc, 0x7fffd, 0x7fffe,
0x7ffff,
};
static const uint8_t f_huffman_env_1_5dB_bits[121] = {
19, 19, 20, 20, 20, 20, 20, 20,
20, 19, 20, 20, 20, 20, 19, 20,
19, 19, 20, 18, 20, 20, 20, 19,
20, 20, 20, 19, 20, 19, 18, 19,
18, 18, 17, 18, 17, 17, 17, 16,
16, 16, 15, 15, 14, 13, 13, 12,
12, 11, 10, 9, 9, 8, 7, 6,
5, 4, 3, 2, 2, 3, 4, 5,
6, 8, 8, 9, 10, 11, 11, 11,
12, 12, 13, 13, 14, 14, 16, 16,
17, 17, 18, 18, 18, 18, 18, 18,
18, 20, 19, 20, 20, 20, 20, 20,
20, 19, 20, 20, 20, 20, 19, 20,
18, 20, 20, 19, 19, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20,
20,
};
static const uint32_t f_huffman_env_1_5dB_codes[121] = {
0x7ffe7, 0x7ffe8, 0xfffd2, 0xfffd3, 0xfffd4, 0xfffd5, 0xfffd6, 0xfffd7,
0xfffd8, 0x7ffda, 0xfffd9, 0xfffda, 0xfffdb, 0xfffdc, 0x7ffdb, 0xfffdd,
0x7ffdc, 0x7ffdd, 0xfffde, 0x3ffe4, 0xfffdf, 0xfffe0, 0xfffe1, 0x7ffde,
0xfffe2, 0xfffe3, 0xfffe4, 0x7ffdf, 0xfffe5, 0x7ffe0, 0x3ffe8, 0x7ffe1,
0x3ffe0, 0x3ffe9, 0x1ffef, 0x3ffe5, 0x1ffec, 0x1ffed, 0x1ffee, 0x0fff4,
0x0fff3, 0x0fff0, 0x07ff7, 0x07ff6, 0x03ffa, 0x01ffa, 0x01ff9, 0x00ffa,
0x00ff8, 0x007f9, 0x003fb, 0x001fc, 0x001fa, 0x000fb, 0x0007c, 0x0003c,
0x0001c, 0x0000c, 0x00005, 0x00001, 0x00000, 0x00004, 0x0000d, 0x0001d,
0x0003d, 0x000fa, 0x000fc, 0x001fb, 0x003fa, 0x007f8, 0x007fa, 0x007fb,
0x00ff9, 0x00ffb, 0x01ff8, 0x01ffb, 0x03ff8, 0x03ff9, 0x0fff1, 0x0fff2,
0x1ffea, 0x1ffeb, 0x3ffe1, 0x3ffe2, 0x3ffea, 0x3ffe3, 0x3ffe6, 0x3ffe7,
0x3ffeb, 0xfffe6, 0x7ffe2, 0xfffe7, 0xfffe8, 0xfffe9, 0xfffea, 0xfffeb,
0xfffec, 0x7ffe3, 0xfffed, 0xfffee, 0xfffef, 0xffff0, 0x7ffe4, 0xffff1,
0x3ffec, 0xffff2, 0xffff3, 0x7ffe5, 0x7ffe6, 0xffff4, 0xffff5, 0xffff6,
0xffff7, 0xffff8, 0xffff9, 0xffffa, 0xffffb, 0xffffc, 0xffffd, 0xffffe,
0xfffff,
};
static const uint8_t t_huffman_env_bal_1_5dB_bits[49] = {
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 12, 11, 9, 7, 5, 3,
1, 2, 4, 6, 8, 11, 12, 15,
16, 16, 16, 16, 16, 16, 16, 17,
17, 17, 17, 17, 17, 17, 17, 17,
17,
};
static const uint32_t t_huffman_env_bal_1_5dB_codes[49] = {
0x0ffe4, 0x0ffe5, 0x0ffe6, 0x0ffe7, 0x0ffe8, 0x0ffe9, 0x0ffea, 0x0ffeb,
0x0ffec, 0x0ffed, 0x0ffee, 0x0ffef, 0x0fff0, 0x0fff1, 0x0fff2, 0x0fff3,
0x0fff4, 0x0ffe2, 0x00ffc, 0x007fc, 0x001fe, 0x0007e, 0x0001e, 0x00006,
0x00000, 0x00002, 0x0000e, 0x0003e, 0x000fe, 0x007fd, 0x00ffd, 0x07ff0,
0x0ffe3, 0x0fff5, 0x0fff6, 0x0fff7, 0x0fff8, 0x0fff9, 0x0fffa, 0x1fff6,
0x1fff7, 0x1fff8, 0x1fff9, 0x1fffa, 0x1fffb, 0x1fffc, 0x1fffd, 0x1fffe,
0x1ffff,
};
static const uint8_t f_huffman_env_bal_1_5dB_bits[49] = {
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 16,
17, 14, 11, 11, 8, 7, 4, 2,
1, 3, 5, 6, 9, 11, 12, 15,
16, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 19,
19,
};
static const uint32_t f_huffman_env_bal_1_5dB_codes[49] = {
0x3ffe2, 0x3ffe3, 0x3ffe4, 0x3ffe5, 0x3ffe6, 0x3ffe7, 0x3ffe8, 0x3ffe9,
0x3ffea, 0x3ffeb, 0x3ffec, 0x3ffed, 0x3ffee, 0x3ffef, 0x3fff0, 0x0fff7,
0x1fff0, 0x03ffc, 0x007fe, 0x007fc, 0x000fe, 0x0007e, 0x0000e, 0x00002,
0x00000, 0x00006, 0x0001e, 0x0003e, 0x001fe, 0x007fd, 0x00ffe, 0x07ffa,
0x0fff6, 0x3fff1, 0x3fff2, 0x3fff3, 0x3fff4, 0x3fff5, 0x3fff6, 0x3fff7,
0x3fff8, 0x3fff9, 0x3fffa, 0x3fffb, 0x3fffc, 0x3fffd, 0x3fffe, 0x7fffe,
0x7ffff,
};
static const uint8_t t_huffman_env_3_0dB_bits[63] = {
18, 18, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 17, 16, 16, 16, 14, 14, 14,
13, 12, 11, 8, 6, 4, 2, 1,
3, 5, 7, 9, 11, 13, 14, 14,
15, 16, 17, 18, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19,
};
static const uint32_t t_huffman_env_3_0dB_codes[63] = {
0x3ffed, 0x3ffee, 0x7ffde, 0x7ffdf, 0x7ffe0, 0x7ffe1, 0x7ffe2, 0x7ffe3,
0x7ffe4, 0x7ffe5, 0x7ffe6, 0x7ffe7, 0x7ffe8, 0x7ffe9, 0x7ffea, 0x7ffeb,
0x7ffec, 0x1fff4, 0x0fff7, 0x0fff9, 0x0fff8, 0x03ffb, 0x03ffa, 0x03ff8,
0x01ffa, 0x00ffc, 0x007fc, 0x000fe, 0x0003e, 0x0000e, 0x00002, 0x00000,
0x00006, 0x0001e, 0x0007e, 0x001fe, 0x007fd, 0x01ffb, 0x03ff9, 0x03ffc,
0x07ffa, 0x0fff6, 0x1fff5, 0x3ffec, 0x7ffed, 0x7ffee, 0x7ffef, 0x7fff0,
0x7fff1, 0x7fff2, 0x7fff3, 0x7fff4, 0x7fff5, 0x7fff6, 0x7fff7, 0x7fff8,
0x7fff9, 0x7fffa, 0x7fffb, 0x7fffc, 0x7fffd, 0x7fffe, 0x7ffff,
};
static const uint8_t f_huffman_env_3_0dB_bits[63] = {
20, 20, 20, 20, 20, 20, 20, 18,
19, 19, 19, 19, 18, 18, 20, 19,
17, 18, 17, 16, 16, 15, 14, 12,
11, 10, 9, 8, 6, 4, 2, 1,
3, 5, 8, 9, 10, 11, 12, 13,
14, 15, 15, 16, 16, 17, 17, 18,
18, 18, 20, 19, 19, 19, 20, 19,
19, 20, 20, 20, 20, 20, 20,
};
static const uint32_t f_huffman_env_3_0dB_codes[63] = {
0xffff0, 0xffff1, 0xffff2, 0xffff3, 0xffff4, 0xffff5, 0xffff6, 0x3fff3,
0x7fff5, 0x7ffee, 0x7ffef, 0x7fff6, 0x3fff4, 0x3fff2, 0xffff7, 0x7fff0,
0x1fff5, 0x3fff0, 0x1fff4, 0x0fff7, 0x0fff6, 0x07ff8, 0x03ffb, 0x00ffd,
0x007fd, 0x003fd, 0x001fd, 0x000fd, 0x0003e, 0x0000e, 0x00002, 0x00000,
0x00006, 0x0001e, 0x000fc, 0x001fc, 0x003fc, 0x007fc, 0x00ffc, 0x01ffc,
0x03ffa, 0x07ff9, 0x07ffa, 0x0fff8, 0x0fff9, 0x1fff6, 0x1fff7, 0x3fff5,
0x3fff6, 0x3fff1, 0xffff8, 0x7fff1, 0x7fff2, 0x7fff3, 0xffff9, 0x7fff7,
0x7fff4, 0xffffa, 0xffffb, 0xffffc, 0xffffd, 0xffffe, 0xfffff,
};
static const uint8_t t_huffman_env_bal_3_0dB_bits[25] = {
13, 13, 13, 13, 13, 13, 13, 12,
8, 7, 4, 3, 1, 2, 5, 6,
9, 13, 13, 13, 13, 13, 13, 14,
14,
};
static const uint16_t t_huffman_env_bal_3_0dB_codes[25] = {
0x1ff2, 0x1ff3, 0x1ff4, 0x1ff5, 0x1ff6, 0x1ff7, 0x1ff8, 0x0ff8,
0x00fe, 0x007e, 0x000e, 0x0006, 0x0000, 0x0002, 0x001e, 0x003e,
0x01fe, 0x1ff9, 0x1ffa, 0x1ffb, 0x1ffc, 0x1ffd, 0x1ffe, 0x3ffe,
0x3fff,
};
static const uint8_t f_huffman_env_bal_3_0dB_bits[25] = {
13, 13, 13, 13, 13, 14, 14, 11,
8, 7, 4, 2, 1, 3, 5, 6,
9, 12, 13, 14, 14, 14, 14, 14,
14,
};
static const uint16_t f_huffman_env_bal_3_0dB_codes[25] = {
0x1ff7, 0x1ff8, 0x1ff9, 0x1ffa, 0x1ffb, 0x3ff8, 0x3ff9, 0x07fc,
0x00fe, 0x007e, 0x000e, 0x0002, 0x0000, 0x0006, 0x001e, 0x003e,
0x01fe, 0x0ffa, 0x1ff6, 0x3ffa, 0x3ffb, 0x3ffc, 0x3ffd, 0x3ffe,
0x3fff,
};
static const uint8_t t_huffman_noise_3_0dB_bits[63] = {
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 11, 8, 6, 4, 3, 1,
2, 5, 8, 10, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 14, 14,
};
static const uint16_t t_huffman_noise_3_0dB_codes[63] = {
0x1fce, 0x1fcf, 0x1fd0, 0x1fd1, 0x1fd2, 0x1fd3, 0x1fd4, 0x1fd5,
0x1fd6, 0x1fd7, 0x1fd8, 0x1fd9, 0x1fda, 0x1fdb, 0x1fdc, 0x1fdd,
0x1fde, 0x1fdf, 0x1fe0, 0x1fe1, 0x1fe2, 0x1fe3, 0x1fe4, 0x1fe5,
0x1fe6, 0x1fe7, 0x07f2, 0x00fd, 0x003e, 0x000e, 0x0006, 0x0000,
0x0002, 0x001e, 0x00fc, 0x03f8, 0x1fcc, 0x1fe8, 0x1fe9, 0x1fea,
0x1feb, 0x1fec, 0x1fcd, 0x1fed, 0x1fee, 0x1fef, 0x1ff0, 0x1ff1,
0x1ff2, 0x1ff3, 0x1ff4, 0x1ff5, 0x1ff6, 0x1ff7, 0x1ff8, 0x1ff9,
0x1ffa, 0x1ffb, 0x1ffc, 0x1ffd, 0x1ffe, 0x3ffe, 0x3fff,
};
static const uint8_t t_huffman_noise_bal_3_0dB_bits[25] = {
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 5, 2, 1, 3, 6, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8,
};
static const uint8_t t_huffman_noise_bal_3_0dB_codes[25] = {
0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3,
0xf4, 0xf5, 0x1c, 0x02, 0x00, 0x06, 0x3a, 0xf6,
0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe,
0xff,
};
static const int8_t sbr_offset[6][16] = {
{-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7}, // fs_sbr = 16000 Hz
{-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13}, // fs_sbr = 22050 Hz
{-5, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16}, // fs_sbr = 24000 Hz
{-6, -4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16}, // fs_sbr = 32000 Hz
{-4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20}, // 44100 Hz <= fs_sbr <= 64000 Hz
{-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24}, // 64000 Hz < fs_sbr
};
///< window coefficients for analysis/synthesis QMF banks
static DECLARE_ALIGNED(16, float, sbr_qmf_window_ds)[320];
static DECLARE_ALIGNED(16, float, sbr_qmf_window_us)[640] = {
0.0000000000, -0.0005525286, -0.0005617692, -0.0004947518,
-0.0004875227, -0.0004893791, -0.0005040714, -0.0005226564,
-0.0005466565, -0.0005677802, -0.0005870930, -0.0006132747,
-0.0006312493, -0.0006540333, -0.0006777690, -0.0006941614,
-0.0007157736, -0.0007255043, -0.0007440941, -0.0007490598,
-0.0007681371, -0.0007724848, -0.0007834332, -0.0007779869,
-0.0007803664, -0.0007801449, -0.0007757977, -0.0007630793,
-0.0007530001, -0.0007319357, -0.0007215391, -0.0006917937,
-0.0006650415, -0.0006341594, -0.0005946118, -0.0005564576,
-0.0005145572, -0.0004606325, -0.0004095121, -0.0003501175,
-0.0002896981, -0.0002098337, -0.0001446380, -0.0000617334,
0.0000134949, 0.0001094383, 0.0002043017, 0.0002949531,
0.0004026540, 0.0005107388, 0.0006239376, 0.0007458025,
0.0008608443, 0.0009885988, 0.0011250155, 0.0012577884,
0.0013902494, 0.0015443219, 0.0016868083, 0.0018348265,
0.0019841140, 0.0021461583, 0.0023017254, 0.0024625616,
0.0026201758, 0.0027870464, 0.0029469447, 0.0031125420,
0.0032739613, 0.0034418874, 0.0036008268, 0.0037603922,
0.0039207432, 0.0040819753, 0.0042264269, 0.0043730719,
0.0045209852, 0.0046606460, 0.0047932560, 0.0049137603,
0.0050393022, 0.0051407353, 0.0052461166, 0.0053471681,
0.0054196775, 0.0054876040, 0.0055475714, 0.0055938023,
0.0056220643, 0.0056455196, 0.0056389199, 0.0056266114,
0.0055917128, 0.0055404363, 0.0054753783, 0.0053838975,
0.0052715758, 0.0051382275, 0.0049839687, 0.0048109469,
0.0046039530, 0.0043801861, 0.0041251642, 0.0038456408,
0.0035401246, 0.0032091885, 0.0028446757, 0.0024508540,
0.0020274176, 0.0015784682, 0.0010902329, 0.0005832264,
0.0000276045, -0.0005464280, -0.0011568135, -0.0018039472,
-0.0024826723, -0.0031933778, -0.0039401124, -0.0047222596,
-0.0055337211, -0.0063792293, -0.0072615816, -0.0081798233,
-0.0091325329, -0.0101150215, -0.0111315548, -0.0121849995,
0.0132718220, 0.0143904666, 0.0155405553, 0.0167324712,
0.0179433381, 0.0191872431, 0.0204531793, 0.0217467550,
0.0230680169, 0.0244160992, 0.0257875847, 0.0271859429,
0.0286072173, 0.0300502657, 0.0315017608, 0.0329754081,
0.0344620948, 0.0359697560, 0.0374812850, 0.0390053679,
0.0405349170, 0.0420649094, 0.0436097542, 0.0451488405,
0.0466843027, 0.0482165720, 0.0497385755, 0.0512556155,
0.0527630746, 0.0542452768, 0.0557173648, 0.0571616450,
0.0585915683, 0.0599837480, 0.0613455171, 0.0626857808,
0.0639715898, 0.0652247106, 0.0664367512, 0.0676075985,
0.0687043828, 0.0697630244, 0.0707628710, 0.0717002673,
0.0725682583, 0.0733620255, 0.0741003642, 0.0747452558,
0.0753137336, 0.0758008358, 0.0761992479, 0.0764992170,
0.0767093490, 0.0768173975, 0.0768230011, 0.0767204924,
0.0765050718, 0.0761748321, 0.0757305756, 0.0751576255,
0.0744664394, 0.0736406005, 0.0726774642, 0.0715826364,
0.0703533073, 0.0689664013, 0.0674525021, 0.0657690668,
0.0639444805, 0.0619602779, 0.0598166570, 0.0575152691,
0.0550460034, 0.0524093821, 0.0495978676, 0.0466303305,
0.0434768782, 0.0401458278, 0.0366418116, 0.0329583930,
0.0290824006, 0.0250307561, 0.0207997072, 0.0163701258,
0.0117623832, 0.0069636862, 0.0019765601, -0.0032086896,
-0.0085711749, -0.0141288827, -0.0198834129, -0.0258227288,
-0.0319531274, -0.0382776572, -0.0447806821, -0.0514804176,
-0.0583705326, -0.0654409853, -0.0726943300, -0.0801372934,
-0.0877547536, -0.0955533352, -0.1035329531, -0.1116826931,
-0.1200077984, -0.1285002850, -0.1371551761, -0.1459766491,
-0.1549607071, -0.1640958855, -0.1733808172, -0.1828172548,
-0.1923966745, -0.2021250176, -0.2119735853, -0.2219652696,
-0.2320690870, -0.2423016884, -0.2526480309, -0.2631053299,
-0.2736634040, -0.2843214189, -0.2950716717, -0.3059098575,
-0.3168278913, -0.3278113727, -0.3388722693, -0.3499914122,
0.3611589903, 0.3723795546, 0.3836350013, 0.3949211761,
0.4062317676, 0.4175696896, 0.4289119920, 0.4402553754,
0.4515996535, 0.4629308085, 0.4742453214, 0.4855253091,
0.4967708254, 0.5079817500, 0.5191234970, 0.5302240895,
0.5412553448, 0.5522051258, 0.5630789140, 0.5738524131,
0.5845403235, 0.5951123086, 0.6055783538, 0.6159109932,
0.6261242695, 0.6361980107, 0.6461269695, 0.6559016302,
0.6655139880, 0.6749663190, 0.6842353293, 0.6933282376,
0.7022388719, 0.7109410426, 0.7194462634, 0.7277448900,
0.7358211758, 0.7436827863, 0.7513137456, 0.7587080760,
0.7658674865, 0.7727780881, 0.7794287519, 0.7858353120,
0.7919735841, 0.7978466413, 0.8034485751, 0.8087695004,
0.8138191270, 0.8185776004, 0.8230419890, 0.8272275347,
0.8311038457, 0.8346937361, 0.8379717337, 0.8409541392,
0.8436238281, 0.8459818469, 0.8480315777, 0.8497805198,
0.8511971524, 0.8523047035, 0.8531020949, 0.8535720573,
0.8537385600,
};
static const float sbr_noise_table[512][2] = {
{-0.99948153278296, -0.59483417516607}, { 0.97113454393991, -0.67528515225647},
{ 0.14130051758487, -0.95090983575689}, {-0.47005496701697, -0.37340549728647},
{ 0.80705063769351, 0.29653668284408}, {-0.38981478896926, 0.89572605717087},
{-0.01053049862020, -0.66959058036166}, {-0.91266367957293, -0.11522938140034},
{ 0.54840422910309, 0.75221367176302}, { 0.40009252867955, -0.98929400334421},
{-0.99867974711855, -0.88147068645358}, {-0.95531076805040, 0.90908757154593},
{-0.45725933317144, -0.56716323646760}, {-0.72929675029275, -0.98008272727324},
{ 0.75622801399036, 0.20950329995549}, { 0.07069442601050, -0.78247898470706},
{ 0.74496252926055, -0.91169004445807}, {-0.96440182703856, -0.94739918296622},
{ 0.30424629369539, -0.49438267012479}, { 0.66565033746925, 0.64652935542491},
{ 0.91697008020594, 0.17514097332009}, {-0.70774918760427, 0.52548653416543},
{-0.70051415345560, -0.45340028808763}, {-0.99496513054797, -0.90071908066973},
{ 0.98164490790123, -0.77463155528697}, {-0.54671580548181, -0.02570928536004},
{-0.01689629065389, 0.00287506445732}, {-0.86110349531986, 0.42548583726477},
{-0.98892980586032, -0.87881132267556}, { 0.51756627678691, 0.66926784710139},
{-0.99635026409640, -0.58107730574765}, {-0.99969370862163, 0.98369989360250},
{ 0.55266258627194, 0.59449057465591}, { 0.34581177741673, 0.94879421061866},
{ 0.62664209577999, -0.74402970906471}, {-0.77149701404973, -0.33883658042801},
{-0.91592244254432, 0.03687901376713}, {-0.76285492357887, -0.91371867919124},
{ 0.79788337195331, -0.93180971199849}, { 0.54473080610200, -0.11919206037186},
{-0.85639281671058, 0.42429854760451}, {-0.92882402971423, 0.27871809078609},
{-0.11708371046774, -0.99800843444966}, { 0.21356749817493, -0.90716295627033},
{-0.76191692573909, 0.99768118356265}, { 0.98111043100884, -0.95854459734407},
{-0.85913269895572, 0.95766566168880}, {-0.93307242253692, 0.49431757696466},
{ 0.30485754879632, -0.70540034357529}, { 0.85289650925190, 0.46766131791044},
{ 0.91328082618125, -0.99839597361769}, {-0.05890199924154, 0.70741827819497},
{ 0.28398686150148, 0.34633555702188}, { 0.95258164539612, -0.54893416026939},
{-0.78566324168507, -0.75568541079691}, {-0.95789495447877, -0.20423194696966},
{ 0.82411158711197, 0.96654618432562}, {-0.65185446735885, -0.88734990773289},
{-0.93643603134666, 0.99870790442385}, { 0.91427159529618, -0.98290505544444},
{-0.70395684036886, 0.58796798221039}, { 0.00563771969365, 0.61768196727244},
{ 0.89065051931895, 0.52783352697585}, {-0.68683707712762, 0.80806944710339},
{ 0.72165342518718, -0.69259857349564}, {-0.62928247730667, 0.13627037407335},
{ 0.29938434065514, -0.46051329682246}, {-0.91781958879280, -0.74012716684186},
{ 0.99298717043688, 0.40816610075661}, { 0.82368298622748, -0.74036047190173},
{-0.98512833386833, -0.99972330709594}, {-0.95915368242257, -0.99237800466040},
{-0.21411126572790, -0.93424819052545}, {-0.68821476106884, -0.26892306315457},
{ 0.91851997982317, 0.09358228901785}, {-0.96062769559127, 0.36099095133739},
{ 0.51646184922287, -0.71373332873917}, { 0.61130721139669, 0.46950141175917},
{ 0.47336129371299, -0.27333178296162}, { 0.90998308703519, 0.96715662938132},
{ 0.44844799194357, 0.99211574628306}, { 0.66614891079092, 0.96590176169121},
{ 0.74922239129237, -0.89879858826087}, {-0.99571588506485, 0.52785521494349},
{ 0.97401082477563, -0.16855870075190}, { 0.72683747733879, -0.48060774432251},
{ 0.95432193457128, 0.68849603408441}, {-0.72962208425191, -0.76608443420917},
{-0.85359479233537, 0.88738125901579}, {-0.81412430338535, -0.97480768049637},
{-0.87930772356786, 0.74748307690436}, {-0.71573331064977, -0.98570608178923},
{ 0.83524300028228, 0.83702537075163}, {-0.48086065601423, -0.98848504923531},
{ 0.97139128574778, 0.80093621198236}, { 0.51992825347895, 0.80247631400510},
{-0.00848591195325, -0.76670128000486}, {-0.70294374303036, 0.55359910445577},
{-0.95894428168140, -0.43265504344783}, { 0.97079252950321, 0.09325857238682},
{-0.92404293670797, 0.85507704027855}, {-0.69506469500450, 0.98633412625459},
{ 0.26559203620024, 0.73314307966524}, { 0.28038443336943, 0.14537913654427},
{-0.74138124825523, 0.99310339807762}, {-0.01752795995444, -0.82616635284178},
{-0.55126773094930, -0.98898543862153}, { 0.97960898850996, -0.94021446752851},
{-0.99196309146936, 0.67019017358456}, {-0.67684928085260, 0.12631491649378},
{ 0.09140039465500, -0.20537731453108}, {-0.71658965751996, -0.97788200391224},
{ 0.81014640078925, 0.53722648362443}, { 0.40616991671205, -0.26469008598449},
{-0.67680188682972, 0.94502052337695}, { 0.86849774348749, -0.18333598647899},
{-0.99500381284851, -0.02634122068550}, { 0.84329189340667, 0.10406957462213},
{-0.09215968531446, 0.69540012101253}, { 0.99956173327206, -0.12358542001404},
{-0.79732779473535, -0.91582524736159}, { 0.96349973642406, 0.96640458041000},
{-0.79942778496547, 0.64323902822857}, {-0.11566039853896, 0.28587846253726},
{-0.39922954514662, 0.94129601616966}, { 0.99089197565987, -0.92062625581587},
{ 0.28631285179909, -0.91035047143603}, {-0.83302725605608, -0.67330410892084},
{ 0.95404443402072, 0.49162765398743}, {-0.06449863579434, 0.03250560813135},
{-0.99575054486311, 0.42389784469507}, {-0.65501142790847, 0.82546114655624},
{-0.81254441908887, -0.51627234660629}, {-0.99646369485481, 0.84490533520752},
{ 0.00287840603348, 0.64768261158166}, { 0.70176989408455, -0.20453028573322},
{ 0.96361882270190, 0.40706967140989}, {-0.68883758192426, 0.91338958840772},
{-0.34875585502238, 0.71472290693300}, { 0.91980081243087, 0.66507455644919},
{-0.99009048343881, 0.85868021604848}, { 0.68865791458395, 0.55660316809678},
{-0.99484402129368, -0.20052559254934}, { 0.94214511408023, -0.99696425367461},
{-0.67414626793544, 0.49548221180078}, {-0.47339353684664, -0.85904328834047},
{ 0.14323651387360, -0.94145598222488}, {-0.29268293575672, 0.05759224927952},
{ 0.43793861458754, -0.78904969892724}, {-0.36345126374441, 0.64874435357162},
{-0.08750604656825, 0.97686944362527}, {-0.96495267812511, -0.53960305946511},
{ 0.55526940659947, 0.78891523734774}, { 0.73538215752630, 0.96452072373404},
{-0.30889773919437, -0.80664389776860}, { 0.03574995626194, -0.97325616900959},
{ 0.98720684660488, 0.48409133691962}, {-0.81689296271203, -0.90827703628298},
{ 0.67866860118215, 0.81284503870856}, {-0.15808569732583, 0.85279555024382},
{ 0.80723395114371, -0.24717418514605}, { 0.47788757329038, -0.46333147839295},
{ 0.96367554763201, 0.38486749303242}, {-0.99143875716818, -0.24945277239809},
{ 0.83081876925833, -0.94780851414763}, {-0.58753191905341, 0.01290772389163},
{ 0.95538108220960, -0.85557052096538}, {-0.96490920476211, -0.64020970923102},
{-0.97327101028521, 0.12378128133110}, { 0.91400366022124, 0.57972471346930},
{-0.99925837363824, 0.71084847864067}, {-0.86875903507313, -0.20291699203564},
{-0.26240034795124, -0.68264554369108}, {-0.24664412953388, -0.87642273115183},
{ 0.02416275806869, 0.27192914288905}, { 0.82068619590515, -0.85087787994476},
{ 0.88547373760759, -0.89636802901469}, {-0.18173078152226, -0.26152145156800},
{ 0.09355476558534, 0.54845123045604}, {-0.54668414224090, 0.95980774020221},
{ 0.37050990604091, -0.59910140383171}, {-0.70373594262891, 0.91227665827081},
{-0.34600785879594, -0.99441426144200}, {-0.68774481731008, -0.30238837956299},
{-0.26843291251234, 0.83115668004362}, { 0.49072334613242, -0.45359708737775},
{ 0.38975993093975, 0.95515358099121}, {-0.97757125224150, 0.05305894580606},
{-0.17325552859616, -0.92770672250494}, { 0.99948035025744, 0.58285545563426},
{-0.64946246527458, 0.68645507104960}, {-0.12016920576437, -0.57147322153312},
{-0.58947456517751, -0.34847132454388}, {-0.41815140454465, 0.16276422358861},
{ 0.99885650204884, 0.11136095490444}, {-0.56649614128386, -0.90494866361587},
{ 0.94138021032330, 0.35281916733018}, {-0.75725076534641, 0.53650549640587},
{ 0.20541973692630, -0.94435144369918}, { 0.99980371023351, 0.79835913565599},
{ 0.29078277605775, 0.35393777921520}, {-0.62858772103030, 0.38765693387102},
{ 0.43440904467688, -0.98546330463232}, {-0.98298583762390, 0.21021524625209},
{ 0.19513029146934, -0.94239832251867}, {-0.95476662400101, 0.98364554179143},
{ 0.93379635304810, -0.70881994583682}, {-0.85235410573336, -0.08342347966410},
{-0.86425093011245, -0.45795025029466}, { 0.38879779059045, 0.97274429344593},
{ 0.92045124735495, -0.62433652524220}, { 0.89162532251878, 0.54950955570563},
{-0.36834336949252, 0.96458298020975}, { 0.93891760988045, -0.89968353740388},
{ 0.99267657565094, -0.03757034316958}, {-0.94063471614176, 0.41332338538963},
{ 0.99740224117019, -0.16830494996370}, {-0.35899413170555, -0.46633226649613},
{ 0.05237237274947, -0.25640361602661}, { 0.36703583957424, -0.38653265641875},
{ 0.91653180367913, -0.30587628726597}, { 0.69000803499316, 0.90952171386132},
{-0.38658751133527, 0.99501571208985}, {-0.29250814029851, 0.37444994344615},
{-0.60182204677608, 0.86779651036123}, {-0.97418588163217, 0.96468523666475},
{ 0.88461574003963, 0.57508405276414}, { 0.05198933055162, 0.21269661669964},
{-0.53499621979720, 0.97241553731237}, {-0.49429560226497, 0.98183865291903},
{-0.98935142339139, -0.40249159006933}, {-0.98081380091130, -0.72856895534041},
{-0.27338148835532, 0.99950922447209}, { 0.06310802338302, -0.54539587529618},
{-0.20461677199539, -0.14209977628489}, { 0.66223843141647, 0.72528579940326},
{-0.84764345483665, 0.02372316801261}, {-0.89039863483811, 0.88866581484602},
{ 0.95903308477986, 0.76744927173873}, { 0.73504123909879, -0.03747203173192},
{-0.31744434966056, -0.36834111883652}, {-0.34110827591623, 0.40211222807691},
{ 0.47803883714199, -0.39423219786288}, { 0.98299195879514, 0.01989791390047},
{-0.30963073129751, -0.18076720599336}, { 0.99992588229018, -0.26281872094289},
{-0.93149731080767, -0.98313162570490}, { 0.99923472302773, -0.80142993767554},
{-0.26024169633417, -0.75999759855752}, {-0.35712514743563, 0.19298963768574},
{-0.99899084509530, 0.74645156992493}, { 0.86557171579452, 0.55593866696299},
{ 0.33408042438752, 0.86185953874709}, { 0.99010736374716, 0.04602397576623},
{-0.66694269691195, -0.91643611810148}, { 0.64016792079480, 0.15649530836856},
{ 0.99570534804836, 0.45844586038111}, {-0.63431466947340, 0.21079116459234},
{-0.07706847005931, -0.89581437101329}, { 0.98590090577724, 0.88241721133981},
{ 0.80099335254678, -0.36851896710853}, { 0.78368131392666, 0.45506999802597},
{ 0.08707806671691, 0.80938994918745}, {-0.86811883080712, 0.39347308654705},
{-0.39466529740375, -0.66809432114456}, { 0.97875325649683, -0.72467840967746},
{-0.95038560288864, 0.89563219587625}, { 0.17005239424212, 0.54683053962658},
{-0.76910792026848, -0.96226617549298}, { 0.99743281016846, 0.42697157037567},
{ 0.95437383549973, 0.97002324109952}, { 0.99578905365569, -0.54106826257356},
{ 0.28058259829990, -0.85361420634036}, { 0.85256524470573, -0.64567607735589},
{-0.50608540105128, -0.65846015480300}, {-0.97210735183243, -0.23095213067791},
{ 0.95424048234441, -0.99240147091219}, {-0.96926570524023, 0.73775654896574},
{ 0.30872163214726, 0.41514960556126}, {-0.24523839572639, 0.63206633394807},
{-0.33813265086024, -0.38661779441897}, {-0.05826828420146, -0.06940774188029},
{-0.22898461455054, 0.97054853316316}, {-0.18509915019881, 0.47565762892084},
{-0.10488238045009, -0.87769947402394}, {-0.71886586182037, 0.78030982480538},
{ 0.99793873738654, 0.90041310491497}, { 0.57563307626120, -0.91034337352097},
{ 0.28909646383717, 0.96307783970534}, { 0.42188998312520, 0.48148651230437},
{ 0.93335049681047, -0.43537023883588}, {-0.97087374418267, 0.86636445711364},
{ 0.36722871286923, 0.65291654172961}, {-0.81093025665696, 0.08778370229363},
{-0.26240603062237, -0.92774095379098}, { 0.83996497984604, 0.55839849139647},
{-0.99909615720225, -0.96024605713970}, { 0.74649464155061, 0.12144893606462},
{-0.74774595569805, -0.26898062008959}, { 0.95781667469567, -0.79047927052628},
{ 0.95472308713099, -0.08588776019550}, { 0.48708332746299, 0.99999041579432},
{ 0.46332038247497, 0.10964126185063}, {-0.76497004940162, 0.89210929242238},
{ 0.57397389364339, 0.35289703373760}, { 0.75374316974495, 0.96705214651335},
{-0.59174397685714, -0.89405370422752}, { 0.75087906691890, -0.29612672982396},
{-0.98607857336230, 0.25034911730023}, {-0.40761056640505, -0.90045573444695},
{ 0.66929266740477, 0.98629493401748}, {-0.97463695257310, -0.00190223301301},
{ 0.90145509409859, 0.99781390365446}, {-0.87259289048043, 0.99233587353666},
{-0.91529461447692, -0.15698707534206}, {-0.03305738840705, -0.37205262859764},
{ 0.07223051368337, -0.88805001733626}, { 0.99498012188353, 0.97094358113387},
{-0.74904939500519, 0.99985483641521}, { 0.04585228574211, 0.99812337444082},
{-0.89054954257993, -0.31791913188064}, {-0.83782144651251, 0.97637632547466},
{ 0.33454804933804, -0.86231516800408}, {-0.99707579362824, 0.93237990079441},
{-0.22827527843994, 0.18874759397997}, { 0.67248046289143, -0.03646211390569},
{-0.05146538187944, -0.92599700120679}, { 0.99947295749905, 0.93625229707912},
{ 0.66951124390363, 0.98905825623893}, {-0.99602956559179, -0.44654715757688},
{ 0.82104905483590, 0.99540741724928}, { 0.99186510988782, 0.72023001312947},
{-0.65284592392918, 0.52186723253637}, { 0.93885443798188, -0.74895312615259},
{ 0.96735248738388, 0.90891816978629}, {-0.22225968841114, 0.57124029781228},
{-0.44132783753414, -0.92688840659280}, {-0.85694974219574, 0.88844532719844},
{ 0.91783042091762, -0.46356892383970}, { 0.72556974415690, -0.99899555770747},
{-0.99711581834508, 0.58211560180426}, { 0.77638976371966, 0.94321834873819},
{ 0.07717324253925, 0.58638399856595}, {-0.56049829194163, 0.82522301569036},
{ 0.98398893639988, 0.39467440420569}, { 0.47546946844938, 0.68613044836811},
{ 0.65675089314631, 0.18331637134880}, { 0.03273375457980, -0.74933109564108},
{-0.38684144784738, 0.51337349030406}, {-0.97346267944545, -0.96549364384098},
{-0.53282156061942, -0.91423265091354}, { 0.99817310731176, 0.61133572482148},
{-0.50254500772635, -0.88829338134294}, { 0.01995873238855, 0.85223515096765},
{ 0.99930381973804, 0.94578896296649}, { 0.82907767600783, -0.06323442598128},
{-0.58660709669728, 0.96840773806582}, {-0.17573736667267, -0.48166920859485},
{ 0.83434292401346, -0.13023450646997}, { 0.05946491307025, 0.20511047074866},
{ 0.81505484574602, -0.94685947861369}, {-0.44976380954860, 0.40894572671545},
{-0.89746474625671, 0.99846578838537}, { 0.39677256130792, -0.74854668609359},
{-0.07588948563079, 0.74096214084170}, { 0.76343198951445, 0.41746629422634},
{-0.74490104699626, 0.94725911744610}, { 0.64880119792759, 0.41336660830571},
{ 0.62319537462542, -0.93098313552599}, { 0.42215817594807, -0.07712787385208},
{ 0.02704554141885, -0.05417518053666}, { 0.80001773566818, 0.91542195141039},
{-0.79351832348816, -0.36208897989136}, { 0.63872359151636, 0.08128252493444},
{ 0.52890520960295, 0.60048872455592}, { 0.74238552914587, 0.04491915291044},
{ 0.99096131449250, -0.19451182854402}, {-0.80412329643109, -0.88513818199457},
{-0.64612616129736, 0.72198674804544}, { 0.11657770663191, -0.83662833815041},
{-0.95053182488101, -0.96939905138082}, {-0.62228872928622, 0.82767262846661},
{ 0.03004475787316, -0.99738896333384}, {-0.97987214341034, 0.36526129686425},
{-0.99986980746200, -0.36021610299715}, { 0.89110648599879, -0.97894250343044},
{ 0.10407960510582, 0.77357793811619}, { 0.95964737821728, -0.35435818285502},
{ 0.50843233159162, 0.96107691266205}, { 0.17006334670615, -0.76854025314829},
{ 0.25872675063360, 0.99893303933816}, {-0.01115998681937, 0.98496019742444},
{-0.79598702973261, 0.97138411318894}, {-0.99264708948101, -0.99542822402536},
{-0.99829663752818, 0.01877138824311}, {-0.70801016548184, 0.33680685948117},
{-0.70467057786826, 0.93272777501857}, { 0.99846021905254, -0.98725746254433},
{-0.63364968534650, -0.16473594423746}, {-0.16258217500792, -0.95939125400802},
{-0.43645594360633, -0.94805030113284}, {-0.99848471702976, 0.96245166923809},
{-0.16796458968998, -0.98987511890470}, {-0.87979225745213, -0.71725725041680},
{ 0.44183099021786, -0.93568974498761}, { 0.93310180125532, -0.99913308068246},
{-0.93941931782002, -0.56409379640356}, {-0.88590003188677, 0.47624600491382},
{ 0.99971463703691, -0.83889954253462}, {-0.75376385639978, 0.00814643438625},
{ 0.93887685615875, -0.11284528204636}, { 0.85126435782309, 0.52349251543547},
{ 0.39701421446381, 0.81779634174316}, {-0.37024464187437, -0.87071656222959},
{-0.36024828242896, 0.34655735648287}, {-0.93388812549209, -0.84476541096429},
{-0.65298804552119, -0.18439575450921}, { 0.11960319006843, 0.99899346780168},
{ 0.94292565553160, 0.83163906518293}, { 0.75081145286948, -0.35533223142265},
{ 0.56721979748394, -0.24076836414499}, { 0.46857766746029, -0.30140233457198},
{ 0.97312313923635, -0.99548191630031}, {-0.38299976567017, 0.98516909715427},
{ 0.41025800019463, 0.02116736935734}, { 0.09638062008048, 0.04411984381457},
{-0.85283249275397, 0.91475563922421}, { 0.88866808958124, -0.99735267083226},
{-0.48202429536989, -0.96805608884164}, { 0.27572582416567, 0.58634753335832},
{-0.65889129659168, 0.58835634138583}, { 0.98838086953732, 0.99994349600236},
{-0.20651349620689, 0.54593044066355}, {-0.62126416356920, -0.59893681700392},
{ 0.20320105410437, -0.86879180355289}, {-0.97790548600584, 0.96290806999242},
{ 0.11112534735126, 0.21484763313301}, {-0.41368337314182, 0.28216837680365},
{ 0.24133038992960, 0.51294362630238}, {-0.66393410674885, -0.08249679629081},
{-0.53697829178752, -0.97649903936228}, {-0.97224737889348, 0.22081333579837},
{ 0.87392477144549, -0.12796173740361}, { 0.19050361015753, 0.01602615387195},
{-0.46353441212724, -0.95249041539006}, {-0.07064096339021, -0.94479803205886},
{-0.92444085484466, -0.10457590187436}, {-0.83822593578728, -0.01695043208885},
{ 0.75214681811150, -0.99955681042665}, {-0.42102998829339, 0.99720941999394},
{-0.72094786237696, -0.35008961934255}, { 0.78843311019251, 0.52851398958271},
{ 0.97394027897442, -0.26695944086561}, { 0.99206463477946, -0.57010120849429},
{ 0.76789609461795, -0.76519356730966}, {-0.82002421836409, -0.73530179553767},
{ 0.81924990025724, 0.99698425250579}, {-0.26719850873357, 0.68903369776193},
{-0.43311260380975, 0.85321815947490}, { 0.99194979673836, 0.91876249766422},
{-0.80692001248487, -0.32627540663214}, { 0.43080003649976, -0.21919095636638},
{ 0.67709491937357, -0.95478075822906}, { 0.56151770568316, -0.70693811747778},
{ 0.10831862810749, -0.08628837174592}, { 0.91229417540436, -0.65987351408410},
{-0.48972893932274, 0.56289246362686}, {-0.89033658689697, -0.71656563987082},
{ 0.65269447475094, 0.65916004833932}, { 0.67439478141121, -0.81684380846796},
{-0.47770832416973, -0.16789556203025}, {-0.99715979260878, -0.93565784007648},
{-0.90889593602546, 0.62034397054380}, {-0.06618622548177, -0.23812217221359},
{ 0.99430266919728, 0.18812555317553}, { 0.97686402381843, -0.28664534366620},
{ 0.94813650221268, -0.97506640027128}, {-0.95434497492853, -0.79607978501983},
{-0.49104783137150, 0.32895214359663}, { 0.99881175120751, 0.88993983831354},
{ 0.50449166760303, -0.85995072408434}, { 0.47162891065108, -0.18680204049569},
{-0.62081581361840, 0.75000676218956}, {-0.43867015250812, 0.99998069244322},
{ 0.98630563232075, -0.53578899600662}, {-0.61510362277374, -0.89515019899997},
{-0.03841517601843, -0.69888815681179}, {-0.30102157304644, -0.07667808922205},
{ 0.41881284182683, 0.02188098922282}, {-0.86135454941237, 0.98947480909359},
{ 0.67226861393788, -0.13494389011014}, {-0.70737398842068, -0.76547349325992},
{ 0.94044946687963, 0.09026201157416}, {-0.82386352534327, 0.08924768823676},
{-0.32070666698656, 0.50143421908753}, { 0.57593163224487, -0.98966422921509},
{-0.36326018419965, 0.07440243123228}, { 0.99979044674350, -0.14130287347405},
{-0.92366023326932, -0.97979298068180}, {-0.44607178518598, -0.54233252016394},
{ 0.44226800932956, 0.71326756742752}, { 0.03671907158312, 0.63606389366675},
{ 0.52175424682195, -0.85396826735705}, {-0.94701139690956, -0.01826348194255},
{-0.98759606946049, 0.82288714303073}, { 0.87434794743625, 0.89399495655433},
{-0.93412041758744, 0.41374052024363}, { 0.96063943315511, 0.93116709541280},
{ 0.97534253457837, 0.86150930812689}, { 0.99642466504163, 0.70190043427512},
{-0.94705089665984, -0.29580042814306}, { 0.91599807087376, -0.98147830385781},
};
#endif /* AVCODEC_AACSBRDATA_H */

View File

@@ -21,7 +21,7 @@
*/
/**
* @file libavcodec/aactab.c
* @file
* AAC data
* @author Oded Shimon ( ods15 ods15 dyndns org )
* @author Maxim Gavrilov ( maxim.gavrilov gmail com )
@@ -29,11 +29,12 @@
#include "libavutil/mem.h"
#include "aac.h"
#include "aac_tablegen.h"
#include <stdint.h>
DECLARE_ALIGNED(16, float, ff_aac_kbd_long_1024[1024]);
DECLARE_ALIGNED(16, float, ff_aac_kbd_short_128[128]);
DECLARE_ALIGNED(16, float, ff_aac_kbd_long_1024)[1024];
DECLARE_ALIGNED(16, float, ff_aac_kbd_short_128)[128];
const uint8_t ff_aac_num_swb_1024[] = {
41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40, 40
@@ -409,7 +410,7 @@ const uint16_t ff_aac_spectral_sizes[11] = {
* 64.0f is a special value indicating the existence of an escape code in the
* bitstream.
*/
static const float codebook_vector0[324] = {
static const DECLARE_ALIGNED(16, float, codebook_vector0)[324] = {
-1.0000000, -1.0000000, -1.0000000, -1.0000000,
-1.0000000, -1.0000000, -1.0000000, 0.0000000,
-1.0000000, -1.0000000, -1.0000000, 1.0000000,
@@ -493,7 +494,7 @@ static const float codebook_vector0[324] = {
1.0000000, 1.0000000, 1.0000000, 1.0000000,
};
static const float codebook_vector2[324] = {
static const DECLARE_ALIGNED(16, float, codebook_vector2)[324] = {
0.0000000, 0.0000000, 0.0000000, 0.0000000,
0.0000000, 0.0000000, 0.0000000, 1.0000000,
0.0000000, 0.0000000, 0.0000000, 2.5198421,
@@ -577,7 +578,7 @@ static const float codebook_vector2[324] = {
2.5198421, 2.5198421, 2.5198421, 2.5198421,
};
static const float codebook_vector4[162] = {
static const DECLARE_ALIGNED(16, float, codebook_vector4)[162] = {
-6.3496042, -6.3496042, -6.3496042, -4.3267487,
-6.3496042, -2.5198421, -6.3496042, -1.0000000,
-6.3496042, 0.0000000, -6.3496042, 1.0000000,
@@ -621,7 +622,7 @@ static const float codebook_vector4[162] = {
6.3496042, 6.3496042,
};
static const float codebook_vector6[128] = {
static const DECLARE_ALIGNED(16, float, codebook_vector6)[128] = {
0.0000000, 0.0000000, 0.0000000, 1.0000000,
0.0000000, 2.5198421, 0.0000000, 4.3267487,
0.0000000, 6.3496042, 0.0000000, 8.5498797,
@@ -656,7 +657,7 @@ static const float codebook_vector6[128] = {
13.3905183, 10.9027236, 13.3905183, 13.3905183,
};
static const float codebook_vector8[338] = {
static const DECLARE_ALIGNED(16, float, codebook_vector8)[338] = {
0.0000000, 0.0000000, 0.0000000, 1.0000000,
0.0000000, 2.5198421, 0.0000000, 4.3267487,
0.0000000, 6.3496042, 0.0000000, 8.5498797,
@@ -744,7 +745,7 @@ static const float codebook_vector8[338] = {
27.4731418, 27.4731418,
};
static const float codebook_vector10[578] = {
static const DECLARE_ALIGNED(16, float, codebook_vector10)[578] = {
0.0000000, 0.0000000, 0.0000000, 1.0000000,
0.0000000, 2.5198421, 0.0000000, 4.3267487,
0.0000000, 6.3496042, 0.0000000, 8.5498797,
@@ -899,127 +900,308 @@ const float * const ff_aac_codebook_vectors[] = {
codebook_vector8, codebook_vector10,
};
#if CONFIG_HARDCODED_TABLES
/**
* Table of pow(2, (i - 200)/4.) used for different purposes depending on the
* range of indices to the table:
* [ 0, 255] scale factor decoding when using C dsp.float_to_int16
* [60, 315] scale factor decoding when using SIMD dsp.float_to_int16
* [45, 300] intensity stereo position decoding mapped in reverse order i.e. 0->300, 1->299, ..., 254->46, 255->45
*/
const float ff_aac_pow2sf_tab[428] = {
8.88178420e-16, 1.05622810e-15, 1.25607397e-15, 1.49373210e-15,
1.77635684e-15, 2.11245619e-15, 2.51214793e-15, 2.98746420e-15,
3.55271368e-15, 4.22491238e-15, 5.02429587e-15, 5.97492839e-15,
7.10542736e-15, 8.44982477e-15, 1.00485917e-14, 1.19498568e-14,
1.42108547e-14, 1.68996495e-14, 2.00971835e-14, 2.38997136e-14,
2.84217094e-14, 3.37992991e-14, 4.01943669e-14, 4.77994272e-14,
5.68434189e-14, 6.75985982e-14, 8.03887339e-14, 9.55988543e-14,
1.13686838e-13, 1.35197196e-13, 1.60777468e-13, 1.91197709e-13,
2.27373675e-13, 2.70394393e-13, 3.21554936e-13, 3.82395417e-13,
4.54747351e-13, 5.40788785e-13, 6.43109871e-13, 7.64790834e-13,
9.09494702e-13, 1.08157757e-12, 1.28621974e-12, 1.52958167e-12,
1.81898940e-12, 2.16315514e-12, 2.57243948e-12, 3.05916334e-12,
3.63797881e-12, 4.32631028e-12, 5.14487897e-12, 6.11832668e-12,
7.27595761e-12, 8.65262056e-12, 1.02897579e-11, 1.22366534e-11,
1.45519152e-11, 1.73052411e-11, 2.05795159e-11, 2.44733067e-11,
2.91038305e-11, 3.46104823e-11, 4.11590317e-11, 4.89466134e-11,
5.82076609e-11, 6.92209645e-11, 8.23180635e-11, 9.78932268e-11,
1.16415322e-10, 1.38441929e-10, 1.64636127e-10, 1.95786454e-10,
2.32830644e-10, 2.76883858e-10, 3.29272254e-10, 3.91572907e-10,
4.65661287e-10, 5.53767716e-10, 6.58544508e-10, 7.83145814e-10,
9.31322575e-10, 1.10753543e-09, 1.31708902e-09, 1.56629163e-09,
1.86264515e-09, 2.21507086e-09, 2.63417803e-09, 3.13258326e-09,
3.72529030e-09, 4.43014173e-09, 5.26835606e-09, 6.26516652e-09,
7.45058060e-09, 8.86028346e-09, 1.05367121e-08, 1.25303330e-08,
1.49011612e-08, 1.77205669e-08, 2.10734243e-08, 2.50606661e-08,
2.98023224e-08, 3.54411338e-08, 4.21468485e-08, 5.01213321e-08,
5.96046448e-08, 7.08822677e-08, 8.42936970e-08, 1.00242664e-07,
1.19209290e-07, 1.41764535e-07, 1.68587394e-07, 2.00485328e-07,
2.38418579e-07, 2.83529071e-07, 3.37174788e-07, 4.00970657e-07,
4.76837158e-07, 5.67058141e-07, 6.74349576e-07, 8.01941314e-07,
9.53674316e-07, 1.13411628e-06, 1.34869915e-06, 1.60388263e-06,
1.90734863e-06, 2.26823256e-06, 2.69739830e-06, 3.20776526e-06,
3.81469727e-06, 4.53646513e-06, 5.39479661e-06, 6.41553051e-06,
7.62939453e-06, 9.07293026e-06, 1.07895932e-05, 1.28310610e-05,
1.52587891e-05, 1.81458605e-05, 2.15791864e-05, 2.56621220e-05,
3.05175781e-05, 3.62917210e-05, 4.31583729e-05, 5.13242441e-05,
6.10351562e-05, 7.25834421e-05, 8.63167458e-05, 1.02648488e-04,
1.22070312e-04, 1.45166884e-04, 1.72633492e-04, 2.05296976e-04,
2.44140625e-04, 2.90333768e-04, 3.45266983e-04, 4.10593953e-04,
4.88281250e-04, 5.80667537e-04, 6.90533966e-04, 8.21187906e-04,
9.76562500e-04, 1.16133507e-03, 1.38106793e-03, 1.64237581e-03,
1.95312500e-03, 2.32267015e-03, 2.76213586e-03, 3.28475162e-03,
3.90625000e-03, 4.64534029e-03, 5.52427173e-03, 6.56950324e-03,
7.81250000e-03, 9.29068059e-03, 1.10485435e-02, 1.31390065e-02,
1.56250000e-02, 1.85813612e-02, 2.20970869e-02, 2.62780130e-02,
3.12500000e-02, 3.71627223e-02, 4.41941738e-02, 5.25560260e-02,
6.25000000e-02, 7.43254447e-02, 8.83883476e-02, 1.05112052e-01,
1.25000000e-01, 1.48650889e-01, 1.76776695e-01, 2.10224104e-01,
2.50000000e-01, 2.97301779e-01, 3.53553391e-01, 4.20448208e-01,
5.00000000e-01, 5.94603558e-01, 7.07106781e-01, 8.40896415e-01,
1.00000000e+00, 1.18920712e+00, 1.41421356e+00, 1.68179283e+00,
2.00000000e+00, 2.37841423e+00, 2.82842712e+00, 3.36358566e+00,
4.00000000e+00, 4.75682846e+00, 5.65685425e+00, 6.72717132e+00,
8.00000000e+00, 9.51365692e+00, 1.13137085e+01, 1.34543426e+01,
1.60000000e+01, 1.90273138e+01, 2.26274170e+01, 2.69086853e+01,
3.20000000e+01, 3.80546277e+01, 4.52548340e+01, 5.38173706e+01,
6.40000000e+01, 7.61092554e+01, 9.05096680e+01, 1.07634741e+02,
1.28000000e+02, 1.52218511e+02, 1.81019336e+02, 2.15269482e+02,
2.56000000e+02, 3.04437021e+02, 3.62038672e+02, 4.30538965e+02,
5.12000000e+02, 6.08874043e+02, 7.24077344e+02, 8.61077929e+02,
1.02400000e+03, 1.21774809e+03, 1.44815469e+03, 1.72215586e+03,
2.04800000e+03, 2.43549617e+03, 2.89630938e+03, 3.44431172e+03,
4.09600000e+03, 4.87099234e+03, 5.79261875e+03, 6.88862343e+03,
8.19200000e+03, 9.74198469e+03, 1.15852375e+04, 1.37772469e+04,
1.63840000e+04, 1.94839694e+04, 2.31704750e+04, 2.75544937e+04,
3.27680000e+04, 3.89679387e+04, 4.63409500e+04, 5.51089875e+04,
6.55360000e+04, 7.79358775e+04, 9.26819000e+04, 1.10217975e+05,
1.31072000e+05, 1.55871755e+05, 1.85363800e+05, 2.20435950e+05,
2.62144000e+05, 3.11743510e+05, 3.70727600e+05, 4.40871900e+05,
5.24288000e+05, 6.23487020e+05, 7.41455200e+05, 8.81743800e+05,
1.04857600e+06, 1.24697404e+06, 1.48291040e+06, 1.76348760e+06,
2.09715200e+06, 2.49394808e+06, 2.96582080e+06, 3.52697520e+06,
4.19430400e+06, 4.98789616e+06, 5.93164160e+06, 7.05395040e+06,
8.38860800e+06, 9.97579232e+06, 1.18632832e+07, 1.41079008e+07,
1.67772160e+07, 1.99515846e+07, 2.37265664e+07, 2.82158016e+07,
3.35544320e+07, 3.99031693e+07, 4.74531328e+07, 5.64316032e+07,
6.71088640e+07, 7.98063385e+07, 9.49062656e+07, 1.12863206e+08,
1.34217728e+08, 1.59612677e+08, 1.89812531e+08, 2.25726413e+08,
2.68435456e+08, 3.19225354e+08, 3.79625062e+08, 4.51452825e+08,
5.36870912e+08, 6.38450708e+08, 7.59250125e+08, 9.02905651e+08,
1.07374182e+09, 1.27690142e+09, 1.51850025e+09, 1.80581130e+09,
2.14748365e+09, 2.55380283e+09, 3.03700050e+09, 3.61162260e+09,
4.29496730e+09, 5.10760567e+09, 6.07400100e+09, 7.22324521e+09,
8.58993459e+09, 1.02152113e+10, 1.21480020e+10, 1.44464904e+10,
1.71798692e+10, 2.04304227e+10, 2.42960040e+10, 2.88929808e+10,
3.43597384e+10, 4.08608453e+10, 4.85920080e+10, 5.77859616e+10,
6.87194767e+10, 8.17216907e+10, 9.71840160e+10, 1.15571923e+11,
1.37438953e+11, 1.63443381e+11, 1.94368032e+11, 2.31143847e+11,
2.74877907e+11, 3.26886763e+11, 3.88736064e+11, 4.62287693e+11,
5.49755814e+11, 6.53773525e+11, 7.77472128e+11, 9.24575386e+11,
1.09951163e+12, 1.30754705e+12, 1.55494426e+12, 1.84915077e+12,
2.19902326e+12, 2.61509410e+12, 3.10988851e+12, 3.69830155e+12,
4.39804651e+12, 5.23018820e+12, 6.21977702e+12, 7.39660309e+12,
8.79609302e+12, 1.04603764e+13, 1.24395540e+13, 1.47932062e+13,
1.75921860e+13, 2.09207528e+13, 2.48791081e+13, 2.95864124e+13,
3.51843721e+13, 4.18415056e+13, 4.97582162e+13, 5.91728247e+13,
7.03687442e+13, 8.36830112e+13, 9.95164324e+13, 1.18345649e+14,
1.40737488e+14, 1.67366022e+14, 1.99032865e+14, 2.36691299e+14,
2.81474977e+14, 3.34732045e+14, 3.98065730e+14, 4.73382598e+14,
5.62949953e+14, 6.69464090e+14, 7.96131459e+14, 9.46765196e+14,
1.12589991e+15, 1.33892818e+15, 1.59226292e+15, 1.89353039e+15,
2.25179981e+15, 2.67785636e+15, 3.18452584e+15, 3.78706078e+15,
4.50359963e+15, 5.35571272e+15, 6.36905167e+15, 7.57412156e+15,
9.00719925e+15, 1.07114254e+16, 1.27381033e+16, 1.51482431e+16,
1.80143985e+16, 2.14228509e+16, 2.54762067e+16, 3.02964863e+16,
3.60287970e+16, 4.28457018e+16, 5.09524134e+16, 6.05929725e+16,
7.20575940e+16, 8.56914035e+16, 1.01904827e+17, 1.21185945e+17,
static const float codebook_vector0_vals[] = {
-1.0000000, 0.0000000, 1.0000000
};
#else
/*
* bits 0:1, 2:3, 4:5, 6:7 index into _vals array
* 8:11 number of non-zero values
* 12:15 bit mask of non-zero values
*/
static const uint16_t codebook_vector02_idx[] = {
0x0000, 0x8140, 0x8180, 0x4110, 0xc250, 0xc290, 0x4120, 0xc260, 0xc2a0,
0x2104, 0xa244, 0xa284, 0x6214, 0xe354, 0xe394, 0x6224, 0xe364, 0xe3a4,
0x2108, 0xa248, 0xa288, 0x6218, 0xe358, 0xe398, 0x6228, 0xe368, 0xe3a8,
0x1101, 0x9241, 0x9281, 0x5211, 0xd351, 0xd391, 0x5221, 0xd361, 0xd3a1,
0x3205, 0xb345, 0xb385, 0x7315, 0xf455, 0xf495, 0x7325, 0xf465, 0xf4a5,
0x3209, 0xb349, 0xb389, 0x7319, 0xf459, 0xf499, 0x7329, 0xf469, 0xf4a9,
0x1102, 0x9242, 0x9282, 0x5212, 0xd352, 0xd392, 0x5222, 0xd362, 0xd3a2,
0x3206, 0xb346, 0xb386, 0x7316, 0xf456, 0xf496, 0x7326, 0xf466, 0xf4a6,
0x320a, 0xb34a, 0xb38a, 0x731a, 0xf45a, 0xf49a, 0x732a, 0xf46a, 0xf4aa,
};
float ff_aac_pow2sf_tab[428];
static const float codebook_vector4_vals[] = {
-6.3496042, -4.3267487,
-2.5198421, -1.0000000,
0.0000000, 1.0000000,
2.5198421, 4.3267487,
6.3496042,
};
#endif /* CONFIG_HARDCODED_TABLES */
/*
* bits 0:3, 4:7 index into _vals array
*/
static const uint16_t codebook_vector4_idx[] = {
0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0070, 0x0080,
0x0001, 0x0011, 0x0021, 0x0031, 0x0041, 0x0051, 0x0061, 0x0071, 0x0081,
0x0002, 0x0012, 0x0022, 0x0032, 0x0042, 0x0052, 0x0062, 0x0072, 0x0082,
0x0003, 0x0013, 0x0023, 0x0033, 0x0043, 0x0053, 0x0063, 0x0073, 0x0083,
0x0004, 0x0014, 0x0024, 0x0034, 0x0044, 0x0054, 0x0064, 0x0074, 0x0084,
0x0005, 0x0015, 0x0025, 0x0035, 0x0045, 0x0055, 0x0065, 0x0075, 0x0085,
0x0006, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0076, 0x0086,
0x0007, 0x0017, 0x0027, 0x0037, 0x0047, 0x0057, 0x0067, 0x0077, 0x0087,
0x0008, 0x0018, 0x0028, 0x0038, 0x0048, 0x0058, 0x0068, 0x0078, 0x0088,
};
/*
* bits 0:3, 4:7 index into _vals array
* 8:11 number of non-zero values
* 12:15 1: only second value non-zero
* 0: other cases
*/
static const uint16_t codebook_vector6_idx[] = {
0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261, 0x0271,
0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262, 0x0272,
0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263, 0x0273,
0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264, 0x0274,
0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265, 0x0275,
0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266, 0x0276,
0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267, 0x0277,
};
/*
* bits 0:3, 4:7 index into _vals array
* 8:11 number of non-zero values
* 12:15 1: only second value non-zero
* 0: other cases
*/
static const uint16_t codebook_vector8_idx[] = {
0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160,
0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0,
0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261,
0x0271, 0x0281, 0x0291, 0x02a1, 0x02b1, 0x02c1,
0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262,
0x0272, 0x0282, 0x0292, 0x02a2, 0x02b2, 0x02c2,
0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263,
0x0273, 0x0283, 0x0293, 0x02a3, 0x02b3, 0x02c3,
0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264,
0x0274, 0x0284, 0x0294, 0x02a4, 0x02b4, 0x02c4,
0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265,
0x0275, 0x0285, 0x0295, 0x02a5, 0x02b5, 0x02c5,
0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266,
0x0276, 0x0286, 0x0296, 0x02a6, 0x02b6, 0x02c6,
0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267,
0x0277, 0x0287, 0x0297, 0x02a7, 0x02b7, 0x02c7,
0x1108, 0x0218, 0x0228, 0x0238, 0x0248, 0x0258, 0x0268,
0x0278, 0x0288, 0x0298, 0x02a8, 0x02b8, 0x02c8,
0x1109, 0x0219, 0x0229, 0x0239, 0x0249, 0x0259, 0x0269,
0x0279, 0x0289, 0x0299, 0x02a9, 0x02b9, 0x02c9,
0x110a, 0x021a, 0x022a, 0x023a, 0x024a, 0x025a, 0x026a,
0x027a, 0x028a, 0x029a, 0x02aa, 0x02ba, 0x02ca,
0x110b, 0x021b, 0x022b, 0x023b, 0x024b, 0x025b, 0x026b,
0x027b, 0x028b, 0x029b, 0x02ab, 0x02bb, 0x02cb,
0x110c, 0x021c, 0x022c, 0x023c, 0x024c, 0x025c, 0x026c,
0x027c, 0x028c, 0x029c, 0x02ac, 0x02bc, 0x02cc,
};
static const float codebook_vector10_vals[] = {
0.0000000, 1.0000000,
2.5198421, 4.3267487,
6.3496042, 8.5498797,
10.9027236, 13.3905183,
16.0000000, 18.7207544,
21.5443469, 24.4637810,
27.4731418, 30.5673509,
33.7419917, 36.9931811,
};
/*
* bits 0:3, 4:7 index into _vals array
* 8:9 bit mask of escape-coded entries
* 12:15 number of non-zero values
*/
static const uint16_t codebook_vector10_idx[] = {
0x0000, 0x1010, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060, 0x1070,
0x1080, 0x1090, 0x10a0, 0x10b0, 0x10c0, 0x10d0, 0x10e0, 0x10f0, 0x1200,
0x1001, 0x2011, 0x2021, 0x2031, 0x2041, 0x2051, 0x2061, 0x2071,
0x2081, 0x2091, 0x20a1, 0x20b1, 0x20c1, 0x20d1, 0x20e1, 0x20f1, 0x2201,
0x1002, 0x2012, 0x2022, 0x2032, 0x2042, 0x2052, 0x2062, 0x2072,
0x2082, 0x2092, 0x20a2, 0x20b2, 0x20c2, 0x20d2, 0x20e2, 0x20f2, 0x2202,
0x1003, 0x2013, 0x2023, 0x2033, 0x2043, 0x2053, 0x2063, 0x2073,
0x2083, 0x2093, 0x20a3, 0x20b3, 0x20c3, 0x20d3, 0x20e3, 0x20f3, 0x2203,
0x1004, 0x2014, 0x2024, 0x2034, 0x2044, 0x2054, 0x2064, 0x2074,
0x2084, 0x2094, 0x20a4, 0x20b4, 0x20c4, 0x20d4, 0x20e4, 0x20f4, 0x2204,
0x1005, 0x2015, 0x2025, 0x2035, 0x2045, 0x2055, 0x2065, 0x2075,
0x2085, 0x2095, 0x20a5, 0x20b5, 0x20c5, 0x20d5, 0x20e5, 0x20f5, 0x2205,
0x1006, 0x2016, 0x2026, 0x2036, 0x2046, 0x2056, 0x2066, 0x2076,
0x2086, 0x2096, 0x20a6, 0x20b6, 0x20c6, 0x20d6, 0x20e6, 0x20f6, 0x2206,
0x1007, 0x2017, 0x2027, 0x2037, 0x2047, 0x2057, 0x2067, 0x2077,
0x2087, 0x2097, 0x20a7, 0x20b7, 0x20c7, 0x20d7, 0x20e7, 0x20f7, 0x2207,
0x1008, 0x2018, 0x2028, 0x2038, 0x2048, 0x2058, 0x2068, 0x2078,
0x2088, 0x2098, 0x20a8, 0x20b8, 0x20c8, 0x20d8, 0x20e8, 0x20f8, 0x2208,
0x1009, 0x2019, 0x2029, 0x2039, 0x2049, 0x2059, 0x2069, 0x2079,
0x2089, 0x2099, 0x20a9, 0x20b9, 0x20c9, 0x20d9, 0x20e9, 0x20f9, 0x2209,
0x100a, 0x201a, 0x202a, 0x203a, 0x204a, 0x205a, 0x206a, 0x207a,
0x208a, 0x209a, 0x20aa, 0x20ba, 0x20ca, 0x20da, 0x20ea, 0x20fa, 0x220a,
0x100b, 0x201b, 0x202b, 0x203b, 0x204b, 0x205b, 0x206b, 0x207b,
0x208b, 0x209b, 0x20ab, 0x20bb, 0x20cb, 0x20db, 0x20eb, 0x20fb, 0x220b,
0x100c, 0x201c, 0x202c, 0x203c, 0x204c, 0x205c, 0x206c, 0x207c,
0x208c, 0x209c, 0x20ac, 0x20bc, 0x20cc, 0x20dc, 0x20ec, 0x20fc, 0x220c,
0x100d, 0x201d, 0x202d, 0x203d, 0x204d, 0x205d, 0x206d, 0x207d,
0x208d, 0x209d, 0x20ad, 0x20bd, 0x20cd, 0x20dd, 0x20ed, 0x20fd, 0x220d,
0x100e, 0x201e, 0x202e, 0x203e, 0x204e, 0x205e, 0x206e, 0x207e,
0x208e, 0x209e, 0x20ae, 0x20be, 0x20ce, 0x20de, 0x20ee, 0x20fe, 0x220e,
0x100f, 0x201f, 0x202f, 0x203f, 0x204f, 0x205f, 0x206f, 0x207f,
0x208f, 0x209f, 0x20af, 0x20bf, 0x20cf, 0x20df, 0x20ef, 0x20ff, 0x220f,
0x1100, 0x2110, 0x2120, 0x2130, 0x2140, 0x2150, 0x2160, 0x2170,
0x2180, 0x2190, 0x21a0, 0x21b0, 0x21c0, 0x21d0, 0x21e0, 0x21f0, 0x2300,
};
const float *const ff_aac_codebook_vector_vals[] = {
codebook_vector0_vals, codebook_vector0_vals,
codebook_vector10_vals, codebook_vector10_vals,
codebook_vector4_vals, codebook_vector4_vals,
codebook_vector10_vals, codebook_vector10_vals,
codebook_vector10_vals, codebook_vector10_vals,
codebook_vector10_vals,
};
const uint16_t *const ff_aac_codebook_vector_idx[] = {
codebook_vector02_idx, codebook_vector02_idx,
codebook_vector02_idx, codebook_vector02_idx,
codebook_vector4_idx, codebook_vector4_idx,
codebook_vector6_idx, codebook_vector6_idx,
codebook_vector8_idx, codebook_vector8_idx,
codebook_vector10_idx,
};
/* @name swb_offsets
* Sample offset into the window indicating the beginning of a scalefactor
* window band
*
* scalefactor window band - term for scalefactor bands within a window,
* given in Table 4.110 to Table 4.128.
*
* scalefactor band - a set of spectral coefficients which are scaled by one
* scalefactor. In case of EIGHT_SHORT_SEQUENCE and grouping a scalefactor band
* may contain several scalefactor window bands of corresponding frequency. For
* all other window_sequences scalefactor bands and scalefactor window bands are
* identical.
* @{
*/
static const uint16_t swb_offset_1024_96[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 64,
72, 80, 88, 96, 108, 120, 132, 144,
156, 172, 188, 212, 240, 276, 320, 384,
448, 512, 576, 640, 704, 768, 832, 896,
960, 1024
};
static const uint16_t swb_offset_128_96[] = {
0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
};
static const uint16_t swb_offset_1024_64[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 64,
72, 80, 88, 100, 112, 124, 140, 156,
172, 192, 216, 240, 268, 304, 344, 384,
424, 464, 504, 544, 584, 624, 664, 704,
744, 784, 824, 864, 904, 944, 984, 1024
};
static const uint16_t swb_offset_1024_48[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 48, 56, 64, 72, 80,
88, 96, 108, 120, 132, 144, 160, 176,
196, 216, 240, 264, 292, 320, 352, 384,
416, 448, 480, 512, 544, 576, 608, 640,
672, 704, 736, 768, 800, 832, 864, 896,
928, 1024
};
static const uint16_t swb_offset_128_48[] = {
0, 4, 8, 12, 16, 20, 28, 36,
44, 56, 68, 80, 96, 112, 128
};
static const uint16_t swb_offset_1024_32[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 48, 56, 64, 72, 80,
88, 96, 108, 120, 132, 144, 160, 176,
196, 216, 240, 264, 292, 320, 352, 384,
416, 448, 480, 512, 544, 576, 608, 640,
672, 704, 736, 768, 800, 832, 864, 896,
928, 960, 992, 1024
};
static const uint16_t swb_offset_1024_24[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 52, 60, 68, 76,
84, 92, 100, 108, 116, 124, 136, 148,
160, 172, 188, 204, 220, 240, 260, 284,
308, 336, 364, 396, 432, 468, 508, 552,
600, 652, 704, 768, 832, 896, 960, 1024
};
static const uint16_t swb_offset_128_24[] = {
0, 4, 8, 12, 16, 20, 24, 28,
36, 44, 52, 64, 76, 92, 108, 128
};
static const uint16_t swb_offset_1024_16[] = {
0, 8, 16, 24, 32, 40, 48, 56,
64, 72, 80, 88, 100, 112, 124, 136,
148, 160, 172, 184, 196, 212, 228, 244,
260, 280, 300, 320, 344, 368, 396, 424,
456, 492, 532, 572, 616, 664, 716, 772,
832, 896, 960, 1024
};
static const uint16_t swb_offset_128_16[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 40, 48, 60, 72, 88, 108, 128
};
static const uint16_t swb_offset_1024_8[] = {
0, 12, 24, 36, 48, 60, 72, 84,
96, 108, 120, 132, 144, 156, 172, 188,
204, 220, 236, 252, 268, 288, 308, 328,
348, 372, 396, 420, 448, 476, 508, 544,
580, 620, 664, 712, 764, 820, 880, 944,
1024
};
static const uint16_t swb_offset_128_8[] = {
0, 4, 8, 12, 16, 20, 24, 28,
36, 44, 52, 60, 72, 88, 108, 128
};
const uint16_t * const ff_swb_offset_1024[] = {
swb_offset_1024_96, swb_offset_1024_96, swb_offset_1024_64,
swb_offset_1024_48, swb_offset_1024_48, swb_offset_1024_32,
swb_offset_1024_24, swb_offset_1024_24, swb_offset_1024_16,
swb_offset_1024_16, swb_offset_1024_16, swb_offset_1024_8,
swb_offset_1024_8
};
const uint16_t * const ff_swb_offset_128[] = {
/* The last entry on the following row is swb_offset_128_64 but is a
duplicate of swb_offset_128_96. */
swb_offset_128_96, swb_offset_128_96, swb_offset_128_96,
swb_offset_128_48, swb_offset_128_48, swb_offset_128_48,
swb_offset_128_24, swb_offset_128_24, swb_offset_128_16,
swb_offset_128_16, swb_offset_128_16, swb_offset_128_8,
swb_offset_128_8
};
// @}
/* @name ff_tns_max_bands
* The maximum number of scalefactor bands on which TNS can operate for the long
* and short transforms respectively. The index to these tables is related to
* the sample rate of the audio.
* @{
*/
const uint8_t ff_tns_max_bands_1024[] = {
31, 31, 34, 40, 42, 51, 46, 46, 42, 42, 42, 39, 39
};
const uint8_t ff_tns_max_bands_128[] = {
9, 9, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
};
// @}

View File

@@ -21,7 +21,7 @@
*/
/**
* @file libavcodec/aactab.h
* @file
* AAC data declarations
* @author Oded Shimon ( ods15 ods15 dyndns org )
* @author Maxim Gavrilov ( maxim.gavrilov gmail com )
@@ -32,6 +32,7 @@
#include "libavutil/mem.h"
#include "aac.h"
#include "aac_tablegen_decl.h"
#include <stdint.h>
@@ -43,8 +44,8 @@
/* @name window coefficients
* @{
*/
DECLARE_ALIGNED(16, extern float, ff_aac_kbd_long_1024[1024]);
DECLARE_ALIGNED(16, extern float, ff_aac_kbd_short_128[128]);
DECLARE_ALIGNED(16, extern float, ff_aac_kbd_long_1024)[1024];
DECLARE_ALIGNED(16, extern float, ff_aac_kbd_short_128)[128];
// @}
/* @name number of scalefactor window bands for long and short transform windows respectively
@@ -64,11 +65,13 @@ extern const uint8_t * const ff_aac_spectral_bits [11];
extern const uint16_t ff_aac_spectral_sizes[11];
extern const float *ff_aac_codebook_vectors[];
extern const float *ff_aac_codebook_vector_vals[];
extern const uint16_t *ff_aac_codebook_vector_idx[];
#if CONFIG_HARDCODED_TABLES
extern const float ff_aac_pow2sf_tab[428];
#else
extern float ff_aac_pow2sf_tab[428];
#endif /* CONFIG_HARDCODED_TABLES */
extern const uint16_t * const ff_swb_offset_1024[13];
extern const uint16_t * const ff_swb_offset_128 [13];
extern const uint8_t ff_tns_max_bands_1024[13];
extern const uint8_t ff_tns_max_bands_128 [13];
#endif /* AVCODEC_AACTAB_H */

View File

@@ -17,7 +17,7 @@
*/
/**
* @file libavcodec/aandcttab.c
* @file
* AAN (Arai Agui Aakajima) (I)DCT tables
*/

Some files were not shown because too many files have changed in this diff Show More