Commit Graph

14738 Commits

Author SHA1 Message Date
Michael Niedermayer
1d186e9e12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."
  swscale: use 15-bit intermediates for 9/10-bit scaling.
  dct32: Add SSE2 ASM optimizations
  Correct chroma vector calculation for RealVideo 3.
  lavf: Add an option to discard corrupted frames
  mpegts: Mark wrongly-sized packets as corrupted
  mpegts: Move scan test to handle_packets
  mpegts: Mark corrupted packets
  mpegts: Reset continuity counter on seek
  mpegts: Fix for continuity counter
  mpegts: Silence "can't seek" warning on unseekable
  apichange: add an entry for AV_PKT_FLAG_CORRUPT
  avpacket: signal possibly corrupted packets
  mpeg4videodec: remove dead code that would have detected erroneous encoding
  aac: Remove some suspicious illegal memcpy()s from LTP.
  bink: Eliminate unnecessary shadow declaration.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/options.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-02 22:12:18 +02:00
Vitor Sessak
18b131de04 dct32: Add SSE2 ASM optimizations
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 10:17:29 -07:00
Kostya Shishkov
6f7fe4723b Correct chroma vector calculation for RealVideo 3.
Old version divided it wrong, which resulted in chroma drift (visible on FATE
sample too as dirty trails left by clouds).

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 08:23:47 -07:00
Luca Barbato
9d39cbf6cf avpacket: signal possibly corrupted packets
Use AV_PKT_FLAG_CORRUPT flag to mark packets that might be incomplete
or have errors. Formats that have a mean to validate their packets
should use this flag to deliver such information instead of silently
dropping the packets.
2011-08-02 02:19:31 +02:00
Dustin Brody
4326f6f525 mpeg4videodec: remove dead code that would have detected erroneous encoding
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-01 21:06:48 +02:00
Alex Converse
a6c49f18ab aac: Remove some suspicious illegal memcpy()s from LTP. 2011-08-01 09:39:33 -07:00
Alex Converse
e11a5fccb2 bink: Eliminate unnecessary shadow declaration. 2011-08-01 09:39:33 -07:00
Carl Eugen Hoyos
318fd9dac2 Remove non-existing fourcc " Y8".
This reverts a line of r1842.
2011-08-01 01:26:55 +02:00
Michael Niedermayer
335bbe424f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
  x11grab: add show_region AVOption.
  x11grab: add follow_mouse AVOption.
  Do not convert RGB buffer at once when stride does not fit exact samples.

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-01 00:35:57 +02:00
Dustin Brody
18cb40f074 lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-31 14:53:38 -07:00
Reimar Döffinger
0e29c4f761 Revert bink dequantization hack that is no longer necessary.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-07-30 11:22:11 +02:00
Michael Niedermayer
faba79e080 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
  H.264: tweak some other x86 asm for Atom
  probe: Fix insane flow control.
  mpegts: remove invalid error check
  s302m: use nondeprecated audio sample format API
  lavc: use designated initialisers for all codecs.
  x86: cabac: add operand size suffixes missing from 6c32576

Conflicts:
	libavcodec/ac3enc_float.c
	libavcodec/flacenc.c
	libavcodec/frwu.c
	libavcodec/pictordec.c
	libavcodec/qtrleenc.c
	libavcodec/v210enc.c
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-30 06:46:08 +02:00
Jason Garrett-Glaser
a3bf7b864a H.264: tweak some other x86 asm for Atom 2011-07-29 12:24:15 -07:00
Dustin Brody
8f9d3f6d9a s302m: use nondeprecated audio sample format API
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-29 08:47:34 +02:00
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
3ad1684126 x86: cabac: add operand size suffixes missing from 6c32576
This fixes build with clang.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 18:59:23 -07:00
Michael Niedermayer
2dd2abe391 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h263dec: Propagate AV_LOG_ERRORs from slice decoding through frame decoding with sufficient error recognition
  x86: cabac: don't load/store context values in asm
  H.264: optimize CABAC x86 asm for Atom
  vp3/theora: flush after seek.
  doc/fftools-common-opts: wording fixes missing from the previous commit.
  doc: document using AVOptions in fftools.
  cmdutils: add codec_opts parameter to setup_find_stream_info_opts()
  cmdutils: clarify documentation for filter_codec_opts()
  cmdutils: clarify documentation for setup_find_stream_info_opts()
  lavf: add forgotten attribute_deprecated to av_find_stream_info()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-29 01:50:53 +02:00
Dustin Brody
2a11952f45 h263dec: Propagate AV_LOG_ERRORs from slice decoding through frame decoding with sufficient error recognition
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-28 15:23:07 -07:00
Mans Rullgard
f5f004bc5a x86: cabac: don't load/store context values in asm
Inspection of compiled code shows gcc handles these fine on its own.
Benchmarking also shows no measurable speed difference.

Removing the remaining cases in get_cabac_bypass_sign_x86() does
cause more substantial changes to the compiled code with uncertain
impact.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 22:25:21 +01:00
Jason Garrett-Glaser
6c32576548 H.264: optimize CABAC x86 asm for Atom 2011-07-28 13:06:13 -07:00
Ronald S. Bultje
8dcf518430 vp3/theora: flush after seek. 2011-07-28 12:17:26 -07:00
Jeff Downs
4105443872 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.
2011-07-28 15:11:16 -04:00
Jeff Downs
e80e2d5ba1 h264 - correct the check for invalid long term frame index in MMCO decode
The current checks 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.
2011-07-28 15:11:16 -04:00
Jeff Downs
188694b2f5 h264 - Fix PCM intra coded blocks in monochrome case 2011-07-28 15:11:16 -04:00
Michael Niedermayer
2fb9fc0f6c h264: improve max slices error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-28 11:50:02 +02:00
Stefano Sabatini
539940d42f imgconvert: remove unused and inconsistent PixFmtInfo.depth field 2011-07-28 10:27:51 +02:00
Stefano Sabatini
fdd130a213 prefer "SAR" over "PAR" in av_dump_format()
"SAR" (Sample Aspect Ratio) is globally preferred over "PAR" (Pixel
Aspect Ratio), although the two terms share the same semantics.

For example the corresponding AVStream field is called
sample_aspect_ratio, and libavfilter has a filter named setsar.

Therefore prefer the term "SAR" over "PAR" in the
libavformat/utils.c:dump_stream_format() and avcodec_string() output
for avoiding confusion.
2011-07-28 10:24:43 +02:00
Michael Niedermayer
44187717c1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: remove redundant setting of Altivec IDCT
  mpegvideo: initialise DSPContext in ff_dct_common_init()
  cosmetics: reindent
  eac3enc: support writing of basic mixing and info metadata
  dnxhdenc: fix declarations in for loops
  dsputil: remove stale bink prototypes and comments
  dsputil: move a bink-only function to binkdsp
  dsputil: remove some unused functions
  bink: make IDCT take 32-bit input

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-28 09:28:01 +02:00
Mans Rullgard
ca6a904656 ppc: remove redundant setting of Altivec IDCT
This is already set by dsputil_init_ppc() and is best done in only
one place.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Mans Rullgard
c3027b4d2f mpegvideo: initialise DSPContext in ff_dct_common_init()
The functions and tables initialised in this function rely on an
initialised DSPContext.  Make sure they always have one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Justin Ruggles
093ee8e199 cosmetics: reindent 2011-07-27 11:51:46 -04:00
Justin Ruggles
1bca72e1bd eac3enc: support writing of basic mixing and info metadata 2011-07-27 11:51:46 -04:00
Mans Rullgard
e72f3d10f6 dnxhdenc: fix declarations in for loops
Apparently the gcc warning doesn't trigger on these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:36:02 +01:00
Mans Rullgard
c358a0364e dsputil: remove stale bink prototypes and comments
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
1b3539d453 dsputil: move a bink-only function to binkdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
cbd58a872d dsputil: remove some unused functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Kostya Shishkov
2968bedf12 bink: make IDCT take 32-bit input
Since IDCT transforming 32-bit input to 8-bit output is unusual and unpractical
for most codecs, move Bink IDCT into separate context. Get rid of an additional
permutation table while at it since SIMD support for Bink IDCT is unlikely to
be implemented in foreseeable future.
Quantisation tables also have to change type to signed for proper
dequantisation of DCT coefficients.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 14:39:56 +01:00
Michael Niedermayer
f52ad8cedd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: spelling cosmetics
  dctref: make sure function declarations match between .c and .h file
  x86: fix build with gcc 4.7

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-27 10:40:34 +02:00
Stefano Sabatini
e324619ca9 imgconvert: change logic in avcodec_get_pix_fmt_loss()
Avoid the use of the brittle/inconsistent information in
PixFmtInfo.depth, and implement a possibly more robust logic which
exposes the information in pixdesc.

Also allow the removal of PixFmtInfo.depth, since this is the only use
of it.
2011-07-27 01:52:09 +02:00
Diego Biurrun
9b3139ebca dctref: make sure function declarations match between .c and .h file 2011-07-27 00:26:13 +02:00
Mans Rullgard
da4c7cce21 x86: fix build with gcc 4.7
The upcoming gcc 4.7 has more advanced constant propagation
resulting some inline asm operands becoming constants and thus
emitted as literals, sometimes in contexts where this results
in invalid instructions.

This patch changes the constraints of the relevant operands
to "rm" thus forcing a valid type.  While obviously suboptimal,
this is what older gcc versions already did, and there is no
change to the code generated with these.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-26 22:17:43 +01:00
Reimar Döffinger
7cbb856efe Remove useless NULL check.
We dereferenced the pointer two lines above, no point in
checking for NULL afterwards.
In addition it cannot be NULL the way it was initialized
just one line further above.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-07-26 22:34:44 +02:00
Stefano Sabatini
d7e14c0d10 imgconvert: remove PixFmtInfo.pixel_type field
The field is only used for checking if a format is YUV planar
and if the format is paletted.

This patch replaces the current is_planar_yuv() code with a function
which uses the pixdesc information. The new implementation is less
efficient, but this should not be an issue as the functions which use
it (av_picture_crop/pad()) are deprecated and currently never used in
the codebase.
2011-07-25 11:11:54 +02:00
Michael Niedermayer
14d5e214bf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  jpegdec: actually search for and parse RSTn

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-25 01:19:40 +02:00
Michael Niedermayer
9e4ed295da mpeg4_decode_profile_level: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-24 16:28:10 +02:00
Michael Niedermayer
52e24c7d7e mpeg4videodec: simplify mpeg4_decode_profile_level()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-24 16:21:37 +02:00
Michael Niedermayer
8c0fa61a97 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 7b8ed831eb)
2011-07-23 19:19:13 +02:00
Stefano Sabatini
3b8bb503ee imgconvert: store padded size information in PixFmtInfo, simplify avg_bits_per_pixel()
Prefer data-driven over procedural logic in avg_bits_per_pixel(),
simplify and improve robustness, as it is easy to miss a function
update when a new format is added.
2011-07-23 17:01:27 +02:00
Stefano Sabatini
49f612ee29 imgconvert: remove useless PixFmtInfo.nb_channels field 2011-07-23 17:01:27 +02:00
Michael Niedermayer
5271b857eb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dnxhddec: avoid a branch in 10-bit decode_dct_block()
  H.264: Add optimizations to predict x86 assembly.
  riff: Add mpgv MPEG-2 fourcc
  add Flash Screen Video 2 decoder

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-23 16:47:10 +02:00