Commit Graph

14030 Commits

Author SHA1 Message Date
Jason Garrett-Glaser
9f3d6ca4f1 Port x86 10-bit H.264 deblock asm from x264 2011-05-10 20:02:15 -07:00
Jason Garrett-Glaser
8ad77b65b5 Update x86 H.264 deblock asm
Includes AVX versions from x264.
2011-05-10 20:01:58 -07:00
Baptiste Coudurier
580fa76c5c Allocate per codec options, now that options are freed between inputs and outputs. 2011-05-10 16:42:52 -07:00
Michael Niedermayer
3732c48304 error_concealment: Use previous pictures motion vectors when the current ones have been lost.
Looks better for some cases, worse for others, overall not much difference.
Its more correct though.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 00:57:59 +02:00
Multiple Authors
a811ec7cb5 Merging branch 'ffmpeg-mt/master'
Just some cosmetics & comments, the only functional change
"error_resilience: use s->last_picture for accessing last MVs."
Is so buggy that it needs a full rewrite, guess -1.0 PSNR loss wasnt
enough for ronald to realize there was a problem.
2011-05-11 00:57:59 +02:00
Stefano Sabatini
aa909d300f tiff: prefer enum TiffCompr over int for TiffContext.compr
Help debugging, safer.
2011-05-11 00:03:26 +02:00
Stefano Sabatini
1e97700fba tiff: remove duplicated author information, fix @file doxy 2011-05-11 00:03:18 +02:00
Stefano Sabatini
687ff547fc tiff: perform minor cleanups in the header
Add link to official specifications, remove author duplication and
others.
2011-05-11 00:03:11 +02:00
Stefano Sabatini
b50217f6f7 8svx: remove pointless comments 2011-05-11 00:01:27 +02:00
Stefano Sabatini
48dce86065 8svx: add links to documentation resources 2011-05-11 00:01:20 +02:00
Stefano Sabatini
baa1030286 8svx: remove duplicated author/file information 2011-05-11 00:01:13 +02:00
Stefano Sabatini
70b10db24c iff: remove get_image_data() and get_image_size() wrappers
Remove one level of indirection, simplify code.
2011-05-11 00:01:05 +02:00
Stefano Sabatini
8b1171e93e iff: remove get_palette_size() wrapper
Remove one level of indirection/improve readability.
2011-05-11 00:01:01 +02:00
Stefano Sabatini
83294a3251 iff: remove pointless get_palette_data() wrapper
Also rename variable "extradata" to "palette" ff_cmap_read_palette()
and extract_header(), more meaningful.
2011-05-11 00:00:52 +02:00
Maksym Veremeyenko
002e1f1eb3 motion_est: fix ffmpeg compilation with DEBUG defined
Remove the problematic av_dlog() call
2011-05-10 20:38:07 +02:00
Reimar Döffinger
3d929a607a mpegaudio: remove frame_count variable and its only usage, it is always 0. 2011-05-10 20:25:53 +02:00
Anton Khirnov
b66752790a AVOptions: make default_val a union, as proposed in AVOption2.
This breaks API and ABI.
2011-05-10 20:22:06 +02:00
Ronald S. Bultje
b27b54de31 arm/h264pred: add missing argument type. 2011-05-10 08:44:49 -04:00
Ronald S. Bultje
86b29553f8 h264dsp_mmx: place bracket outside #if/#endif block.
Should fix compile on systems missing yasm/nasm.
2011-05-10 08:39:38 -04:00
Ronald S. Bultje
e86fbe1751 h264: do not print "too many references" warning for intra-only.
Fixes issue 2679.
2011-05-10 07:24:39 -04:00
Oskar Arvidsson
d545cf804c Enable decoding of high bit depth h264.
This patch completes the high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:38 -04:00
Oskar Arvidsson
19a0729b4c Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).

Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.

Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:36 -04:00
Oskar Arvidsson
fcc0224e4f Add support for higher QP values in h264.
In high bit depth, the QP values may now be up to (51 + 6*(bit_depth-8)).

Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:35 -04:00
Oskar Arvidsson
6e3ef511d7 Add the notion of pixel size in h264 related functions.
In high bit depth the pixels will not be stored in uint8_t like in the
normal case, but in uint16_t. The pixel size is thus 1 in normal bit
depth and 2 in high bit depth.

Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:33 -04:00
Oskar Arvidsson
44ca80df34 Make the h264 loop filter bit depth aware.
Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:32 -04:00
Oskar Arvidsson
87ce8b495f Template dsputil_template.c with respect to pixel size, etc.
Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:30 -04:00
Oskar Arvidsson
5d4bd9cc89 Template h264idct_template.c with respect to pixel size, etc.
Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:28 -04:00
Oskar Arvidsson
de3e760720 Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:27 -04:00
Oskar Arvidsson
325eefa2ca Move some functions in dsputil.c into a new file dsputil_template.c.
The functions moved are used when decoding h264.
Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:25 -04:00
Oskar Arvidsson
15fb393be6 Move the functions in h264idct into a new file h264idct_template.c.
Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:24 -04:00
Oskar Arvidsson
5ada25245d Move the functions in h264pred.c into a new file h264pred_template.c.
Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:22 -04:00
Oskar Arvidsson
563c72dabb Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:21 -04:00
Oskar Arvidsson
42239ced65 Add pixel formats for 9- and 10-bit yuv420p.
Also add support for these formats in libswscale.

Needed for high bit depth h264 decoding.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:19 -04:00
Oskar Arvidsson
e39e3abad4 Choose h264 chroma dc dequant function dynamically.
Needed for high bit depth h264 decoding.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:17 -04:00
Ronald S. Bultje
dd561441b1 h264: DSP'ize MBAFF loopfilter. 2011-05-10 07:24:08 -04:00
Anton Khirnov
188dea1dbf lavc: move some flac-specific options to its private context. 2011-05-10 07:42:33 +02:00
Michael Niedermayer
b97b4b58a6 Merge remote branch 'qatar/master'
* qatar/master:
  mpegaudiodec: group #includes more sanely
  mpegaudio: remove #if 0 blocks
  ffmpeg.c: reset avoptions after each input/output file.
  ffmpeg.c: store per-output stream sws flags.
  mpegaudio: remove CONFIG_MPEGAUDIO_HP option
  mpegtsenc: Clear st->priv_data when freeing it
  udp: Fix receiving RTP data over multicast
  rtpproto: Remove an unused variable
  regtest: fix wma tests
NOT pulled:  mpegaudio: remove CONFIG_AUDIO_NONSHORT
  regtest: separate flags for encoding and decoding

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 04:03:17 +02:00
Mans Rullgard
a88ef93b4a mpegaudiodec: group #includes more sanely
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-09 22:27:16 +01:00
Mans Rullgard
0d849074a4 mpegaudio: remove #if 0 blocks
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-09 22:22:12 +01:00
Mans Rullgard
6bb6fb05ba mpegaudio: remove CONFIG_MPEGAUDIO_HP option
The low quality mode is off by default and never tested.  The high
quality mode is also plenty fast enough.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-09 17:30:12 +01:00
Michael Niedermayer
38bb5a5434 mpeg4videoenc: Support negative timestamps.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 17:51:04 +02:00
Mans Rullgard
3a2e80ecbc mpegaudio: remove CONFIG_AUDIO_NONSHORT
This fake option cannot be enabled by normal means, and the
floating-point decoder should provide the higher quality this
option presumably was intended for.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-09 10:12:47 +01:00
Michael Niedermayer
6841c8c579 Merge remote branch 'qatar/master'
* qatar/master:
  log: Fix an oob array read.
  cosmetics: trim trailing whitespace in postproc
  Ban strncpy() it's too easy to misuse.
  psymodel: Remove wrapper functions.
  aacenc: Replace loop counters in aac_encode_frame() with more descriptive 'ch' and 'w'.
  regtest: remove redundant flags in jpg test
  regtest: use run_ffmpeg in do_image_formats
  regtest: simplify encoding functions
  ffmpeg.c: check for interlaced flag in the correct place.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 04:50:56 +02:00
Nathan Caldwell
b58e298572 psymodel: Remove wrapper functions.
Instead use the function pointers directly.
2011-05-08 12:43:04 -07:00
Nathan Caldwell
5b29af624f aacenc: Replace loop counters in aac_encode_frame() with more descriptive 'ch' and 'w'. 2011-05-08 12:42:34 -07:00
Stefano Sabatini
554d3ad730 pnmdec: reindent after the previous commit 2011-05-08 20:04:57 +02:00
Stefano Sabatini
4a745b4177 pnmdec: add support for mono images with non-space-separated pixel digits
When the file to decode contains a sequence of binary values like
"1101110...", decode_frame() was reading the sequence of digits like a
unique integer value, which was resulting in integer overflows.

The change add support for parsing non-space-separated pixel digits
for mono formats, in particular fix decoding of file battrace.pbm, and
fix trac issue #154.
2011-05-08 20:04:57 +02:00
Michael Niedermayer
b0e1d0d9ee ffv1enc: support PIX_FMT_YUV420P10 & PIX_FMT_YUV422P10
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 19:53:39 +02:00
Baptiste Coudurier
74bf9d6231 v210enc:clip values according to specifications
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 19:53:39 +02:00
Baptiste Coudurier
3e002747d1 v210enc: switch to PIX_FMT_422P10
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 19:53:39 +02:00
Baptiste Coudurier
807a058e8b v210dec: switch to PIX_FMT_422P10
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 19:53:39 +02:00
Stefano Sabatini
4737a59373 ffv1: set internal frame defaults
Another fix missed before the vsrc_buffer changes.
2011-05-08 19:27:57 +02:00
Baptiste Coudurier
299cbe2c9b PIX_FMT_422P10 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 14:06:04 +02:00
Michael Niedermayer
af3c8f8230 adpcmenc:Optimize adpcm_ima_qt_compress_sample()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 13:21:51 +02:00
Baptiste Coudurier
35d3d44a84 adpcmenc: fix QT IMA ADPCM encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 13:15:48 +02:00
Baptiste Coudurier
b3d5a4b06e adpcmdec: Fix QT IMA ADPCM decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 13:13:17 +02:00
Michael Niedermayer
732ff29bff svq1dec: simpify mean calculation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 01:33:40 +02:00
Michael Niedermayer
8f5729d54d svq1dec: replace /2 by >>1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 01:33:40 +02:00
Michael Niedermayer
0257ac8f12 pnm: Fix spurious error message.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 01:33:40 +02:00
Stefano Sabatini
7030501383 libopenjpeg: set internal frame defaults
Fix ffmpeg decoding, which was broken after the recent changes in
vsrc_buffer.
2011-05-08 00:02:47 +02:00
Reimar Döffinger
6fd00e9dd9 aacdec: add decode_channel_map overread check
All decode_channel_map calls together can easily read
more data than the amount of padding available.
Thus below patch adds an input length check before reading them.
Fixes some invalid reads with sample from
http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1138
2011-05-07 18:08:46 +02:00
Stefano Sabatini
01042d4123 lavc: set defaults in internal codec frames
This is required specifically for setting frame->format to -1,
otherwise it will be set to 0 = PIX_FMT_YUV420P and code reading
the format from the output decoded frame will get misled.

In particular fix regressions occurring with the pending vsrc_buffer
patch.
2011-05-07 12:03:59 +02:00
Stefano Sabatini
18ded93ab3 lavc: add format field to AVFrame
The format is a per-frame property, having it in AVFrame simplify the
operation of extraction of that information, since avoids the need to
access the codec/stream context.
2011-05-07 11:45:37 +02:00
Stefano Sabatini
22333a6b19 lavc: add width and height fields to AVFrame
width and height are per-frame properties, setting these values in
AVFrame simplify the operation of extraction of that information,
since avoids the need to check the codec/stream context.
2011-05-07 11:45:30 +02:00
Reimar Döffinger
f44967b1b5 Use av_fast_malloc instead of av_fast_realloc.
Avoids a memleak, is less code and might be faster.
2011-05-07 09:58:38 +02:00
Reimar Döffinger
20e5d64a1a msvideo1enc: minor cosmetic cleanup, use FFALIGN, avoid calculating value
twice and add a missing "const".
2011-05-07 09:40:45 +02:00
Michael Niedermayer
e5a85164b1 Merge remote branch 'qatar/master'
* qatar/master:
  mov: fix composition timestamps on movie fragments.
  wmavoice: Use proper size in memeset().
2011-05-07 04:14:09 +02:00
Michael Niedermayer
c25a8d7dfb mpegvideo: fix 422 lowres
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 19:32:30 +02:00
JULIAN GARDNER
423986fc09 Allow encodiing empty subtitles. 2011-05-06 17:12:42 +02:00
Alex Converse
869303bebd wmavoice: Use proper size in memeset().
sizeof(array_functrion_argument) gives the size of the pointer type not
the size of the array to which it points.
2011-05-05 21:25:48 -07:00
Baptiste Coudurier
0fa8d19987 In svq3 decoder, check negative mb_type, fix potential crash.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 00:30:03 +02:00
Michael Niedermayer
757ec2d7e7 MPEG: support 4:4:4 lowres
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 21:44:32 +02:00
Michael Niedermayer
59b9c75d0e MPEG: support 4:4:4 intra lowres
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 21:42:41 +02:00
Baptiste Coudurier
2264c11081 SVQ3: do not modify const input buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 15:43:58 +02:00
Baptiste Coudurier
b0e7a932e6 SVQ3: Check that things match up after a frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 15:43:58 +02:00
Baptiste Coudurier
8811679c8e SVQ3: Move svq3 specific fields to their own context.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 15:43:46 +02:00
Michael Niedermayer
b000b86e1d Merge remote branch 'qatar/master'
* qatar/master: (23 commits)
  doc: Check standalone compilation before submitting new components.
  Fix standalone compilation of pipe protocol.
  Fix standalone compilation of ac3_fixed encoder.
  Fix standalone compilation of binkaudio_dct / binkaudio_rdft decoders.
  Fix standalone compilation of IMC decoder.
  Fix standalone compilation of WTV demuxer.
  Fix standalone compilation of MXPEG decoder.
  flashsv: K&R cosmetics
  matroskaenc: fix memory leak
  vc1: make overlap filter for I-frames bit-exact.
  vc1dec: use s->start/end_mb_y instead of passing them as function args.
  Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
  Replace strncpy() with av_strlcpy().
  indeo3: Eliminate use of long.
  get_bits: make cache unsigned to eliminate undefined signed overflow.
  asfdec: fix assert failure on invalid files
  avfilter: check malloc return values.
Not pulled as reason for reindent is not pulled:  mpegvideo: reindent.
  nutenc: check malloc return values.
Not pulled due to much simpler solution in ffmpeg  *: don't av_malloc(0).
  ...

Conflicts:
	doc/developer.texi
	libavcodec/Makefile
	libavcodec/get_bits.h
	libavcodec/mpegvideo.c
	libavformat/Makefile
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 03:30:24 +02:00
Michael Niedermayer
334187ade7 Fix "libavcodec/dfa.c:189: warning: unused variable ‘frame_end’"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-04 23:33:59 +02:00
JULIAN GARDNER
e822c237b3 dvbsubdec: Split delete_state() 2011-05-04 23:33:59 +02:00
Michael Niedermayer
9522a752bf xsubenc: only 1 rectangle is supported so dont allow 0 as it would crash.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-04 23:33:59 +02:00
Justin Ruggles
d7c91c4cea sonic: fix sonic decoder to match encoder for sample rates other than 44100. 2011-05-04 23:33:59 +02:00
Michael Niedermayer
105a3c7a6b bitstream_reader: Try to fix "get_bits.h:305:45: warning: variable ‘re_cache’ set but not used [-Wunused-but-set-variable]"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-04 21:31:07 +02:00
Diego Biurrun
61165a1bba Fix standalone compilation of WTV demuxer. 2011-05-04 21:12:40 +02:00
Diego Biurrun
091018e0dd Fix standalone compilation of MXPEG decoder. 2011-05-04 21:12:40 +02:00
Diego Biurrun
35e376b0d2 flashsv: K&R cosmetics 2011-05-04 21:12:39 +02:00
Michael Niedermayer
3acc44b739 bitstream reader: remove unneeded variable initilization.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-04 20:26:33 +02:00
Ronald S. Bultje
7d2e03afc8 vc1: make overlap filter for I-frames bit-exact. 2011-05-04 07:40:53 -04:00
Ronald S. Bultje
5c9f147e05 vc1dec: use s->start/end_mb_y instead of passing them as function args. 2011-05-04 07:40:02 -04:00
Ronald S. Bultje
18b6a69ce9 Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
This reverts commit f8bed30d8b. The reason
for this is that the overlap filter, which runs after IDCT, should run
on unclamped values, and thus IDCT and put_pixels() cannot be merged if
we want to attempt to be bitexact.
2011-05-04 07:40:01 -04:00
Alex Converse
1a5e4fd8c5 Replace strncpy() with av_strlcpy(). 2011-05-03 21:20:13 -07:00
Alex Converse
aab6374bbe indeo3: Eliminate use of long. 2011-05-03 21:20:05 -07:00
Alex Converse
47bc52f821 get_bits: make cache unsigned to eliminate undefined signed overflow. 2011-05-03 21:14:39 -07:00
Ronald S. Bultje
d969e93a72 mpegvideo: reindent. 2011-05-03 22:35:19 -04:00
Ronald S. Bultje
fb22c23715 mpegvideo: don't av_malloc(0). 2011-05-03 22:29:00 -04:00
Kostya Shishkov
e4be3485af MS Video 1 encoder 2011-05-04 02:22:12 +02:00
ami_stuff
c402ce418a Remove lowres support from wmv2 decoder
lowres option crashes with wmv2 files which I have for test,
so I think it's better to remove the support to the time when
lowres will be really supported by this codec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-03 04:38:22 +02:00
Michael Niedermayer
2525821f1a Merge remote branch 'qatar/master'
* qatar/master:
  vp8: frame-multithreading.
Duplicate  Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Duplicate  Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().
Bug spoted&removed in last merge:  dpx: Do not use DPX encoder for decoding.

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/h264.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-03 04:08:23 +02:00
Carl Eugen Hoyos
7d70d1937a Support decoding of 24 bit True Audio samples-
Many samples will fail because "Output buffer size is too small."
2011-05-03 01:09:30 +02:00
Carl Eugen Hoyos
4cf2e30f05 Support decoding of 8 bit True Audio samples-
Many samples will fail because "Output buffer size is too small."
2011-05-03 01:06:18 +02:00
Carl Eugen Hoyos
fba418e670 Do not assume AV_SAMPLE_FMT_S16 as tta sample format. 2011-05-03 01:02:07 +02:00