Commit Graph

17047 Commits

Author SHA1 Message Date
Mans Rullgard
ac08f798bb mp3dec: hack: fix decoding with safe bitstream reader
The buffer splicing relies on the bitstream reader over-reading
the end of the buffer as declared in init_get_bits(), although
more data is actually present.  Manually moving the bitstream
boundary after init_get_bits() allows this to work as expected.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17 17:51:22 +00:00
Shitiz Garg
e614fac2e6 adpcm: Check for channels to be a non-zero integer
channels would be 0 sometimes and would cause floating point exception
Fixes bugzilla #124

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-17 09:44:19 -05:00
Ronald S. Bultje
8cfbbd928c get_bits: introduce safe bitreading to prevent overreads.
When turned on, H264/CAVLC gets ~15% (CVPCMNL1_SVA_C.264) slower for
ultra-high-bitrate files, or ~2.5% (CVFI1_SVA_C.264) for lower-bitrate
files. Other codecs are affected to a lesser extent because they are
less optimized; e.g., VC-1 slows down by less than 1% (all on x86).
The patch generated 3 extra instructions (cmp, cmovae and mov) per
call to get_bits().

The performance penalty on ARM is within the error margin for most
files, up to 4% in extreme cases such as CVPCMNL1_SVA_C.264.

Based on work (for GCI) by Aneesh Dogra <lionaneesh@gmail.com>, and
inspired by patch in Chromium by Chris Evans <cevans@chromium.org>.
2011-12-17 14:03:41 +00:00
Michael Niedermayer
83b46713f0 lavc: Check codec_ids against insertion/removial typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-17 06:09:13 +01:00
Michael Niedermayer
f37b2d5a68 aacdec: Fix null pointer crash
Fixes bug170
Bug found by: Gautam Gupta

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-17 05:04:56 +01:00
Michael Niedermayer
4d70023a2a h264: fix init of topleft ref/mv.
Fixes Ticket778

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-17 04:42:04 +01:00
Michael Niedermayer
9af6abdc17 atrac3: Fix crash in tonal component decoding.
Fixes Ticket780
Bug Found by: cosminamironesei

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-17 03:18:58 +01:00
Michael Niedermayer
552ec4c9fd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  get_bits: remove A32 variant
  avconv: support stream specifiers in -metadata and -map_metadata
  wavpack: Fix 32-bit clipping
  wavpack: Clip samples after shifting
  h264: don't drop B-frames after next keyframe on POC reset.
  get_bits: remove useless pointer casts
  configure: refactor lists of tests and components into variables
  rv40: NEON optimised weak loop filter
  mpegts: replace some magic numbers with the existing define
  swscale: add unscaled packed 16 bit per component endianess conversion

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-17 02:18:16 +01:00
Mans Rullgard
a1e98f198e get_bits: remove A32 variant
The A32 bitstream reader variant is only used on ARMv5 and for
Prores due to the larger bit cache this decoder requires.

In benchmarks on ARMv5 (Marvell Sheeva) with gcc 4.6, the only
statistically significant difference between ALT and A32 is
a 4% advantage for ALT in FLAC decoding.  There is thus no (longer)
any reason to keep the A32 reader from this point of view.

This patch adds an option to the ALT reader increasing the bit
cache to 32 bits as required by the Prores decoder.  Benchmarking
shows no significant change in speed on Intel i7.  Again, the
A32 reader fails to justify its existence.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-16 21:21:48 +00:00
Derek Buitenhuis
bb9747c8ee wavpack: Fix 32-bit clipping
In the case that (frame_flags & 0x03) == 3, hybrid_maxclip
may have had a signed integer overflow.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-16 20:55:53 +01:00
Derek Buitenhuis
365e1ec26d wavpack: Clip samples after shifting
It doesn't make much sense to clip pre-shift,
nor is it correct for proper decoding.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-16 20:55:46 +01:00
Michael Niedermayer
6d8e6fe9db CODEC_ID_SOL_DPCM: Fix used write buffer.
Bug found by: Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-16 20:34:34 +01:00
Ronald S. Bultje
0b4c323213 h264: don't drop B-frames after next keyframe on POC reset.
The keyframe after a POC reset may not be the first to be returned to
the user. Therefore, don't reset the expected next POC once we return
a keyframe to the user, but once we know that the next frame in the
return-queue is a keyframe.
2011-12-16 11:24:18 -08:00
Shitiz Garg
4af0262f7d cljr: Check if width or height are positive integers
width and height might get passed as 0 and would cause floating point
exceptions in decode_frame.
Fixes bugzilla #149

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-16 20:23:38 +01:00
Michael Niedermayer
3d07e0aba0 h264: return the consumed amountg in case of Q264
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-16 19:05:19 +01:00
Michael Niedermayer
227960427b h264: retuen the amount read in case of NAL_END_SEQUENCE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-16 18:55:04 +01:00
Michael Niedermayer
902c090413 h264: reset nal_unit_type so that decoding frames without any nal units
dont leave its value at something random.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-16 18:52:56 +01:00
Mans Rullgard
b8909cb364 get_bits: remove useless pointer casts
These pointers are already of the correct type.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-16 15:34:35 +00:00
Mans Rullgard
11b1db2759 rv40: NEON optimised weak loop filter
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-16 14:36:01 +00:00
Michael Niedermayer
1f99939a63 j2kdec: Fix integer overflow leading to a segfault
Fixes Ticket776
Bug found by: Diana Elena Muscalu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-16 04:16:01 +01:00
Carl Eugen Hoyos
9994643fdd Export ff_vdpau_vc1_decode_picture().
XBMC's configure script checks for this function in installed
libavcodec.so to determine VDPAU support.

Fixes ticket #762 reported by Christian Marillat
2011-12-16 02:33:25 +01:00
Michael Niedermayer
175cc378b3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Rudimentary IODs support.
  v410enc: fix output buffer size check
  v410enc: include correct headers
  fate: add -pix_fmt rgb48le to r210 test
  flvenc: Support muxing 16 kHz nellymoser
  configure: refactor list of programs into a variable
  fate: add r210 decoder test
  fate: split off Indeo FATE tests into their own file
  fate: split off ATRAC FATE tests into their own file
  fate: Add FATE tests for v410 encoder and decoder
  ARM: fix external symbol refs in rv40 asm
  westwood: Make sure audio header info is present when parsing audio packets
  libgsm: Reset the MS mode of GSM in the flush function
  libgsm: Set options on the right object
  ARM: dca: disable optimised decode_blockcodes() for old gcc

Conflicts:
	configure
	libavformat/movenc.c
	libavformat/movenc.h
	tests/fate2.mak
	tests/ref/acodec/alac
	tests/ref/vsynth1/mpeg4
	tests/ref/vsynth2/mpeg4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-16 01:23:15 +01:00
Carl Eugen Hoyos
56669837ce Fix typo in v210 decoder options. 2011-12-16 01:04:43 +01:00
Michael Niedermayer
d0f7927177 smacker: Check for overread in smka_decode_frame()
Fixes a segfault with wetlog_fail.smk
Bug found by: Shitiz Garg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 22:52:57 +01:00
Carl Eugen Hoyos
6f2054c589 Fix linesize for bmp with bitdepth < 8.
Fixes ticket #751.
2011-12-15 19:23:07 +01:00
Mans Rullgard
dabba0c676 v410enc: fix output buffer size check
The encoder clearly needs width * height * 4 bytes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 17:47:10 +00:00
Mans Rullgard
0249144a1c v410enc: include correct headers
This file does not use anything from put_bits.h but needs
intreadwrite.h.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 17:47:10 +00:00
Nicolas George
b33fd66f46 lavc: add ffwavesynth pseudo-codec. 2011-12-15 18:38:04 +01:00
Michael Niedermayer
62b5197f97 arm: add back ldr_dpren macro that was lost.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 17:24:43 +01:00
Michael Niedermayer
a4755df523 h264: fix midstream extardata handling with dump.f4v
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 17:23:39 +01:00
Michael Niedermayer
484b1cdd53 jpegdec: check return value of mjpeg_decode_dc()
Fixes Ticket754

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 15:23:38 +01:00
Michael Niedermayer
d998a6ddee h264: Fix build with --disable-everything --enable-decoder='h264' --disable-optimizations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 14:09:23 +01:00
Mans Rullgard
b536c7a3e1 ARM: fix external symbol refs in rv40 asm
External symbol references need prefixes on some systems.
This should fix build errors on Darwin.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 11:02:59 +00:00
Martin Storsjö
1b35af3225 libgsm: Reset the MS mode of GSM in the flush function
The mode is set in libgsm_decode_init, but the decoder
object is simply destroyed and recreated in the flush
function - therefore the mode has to be set again.

This fixes playback using the libgsm_ms decoder in avplay.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-15 09:08:40 +02:00
Martin Storsjö
8637af8d24 libgsm: Set options on the right object
This fixes regressions in decoding using the libgsm_ms decoder,
broken since 0eea212943.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-15 09:08:21 +02:00
Michael Niedermayer
21270cffae h263dec: Fix regression / crash with lowres.
Fixes Ticket757
Bug Found by: ami_stuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 04:59:21 +01:00
Michael Niedermayer
30b996d443 flicvideo: input buffer pointer checks.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 04:42:13 +01:00
Michael Niedermayer
afb2bac48d flicvideo: fix overread.
Bug Found by: Diana Elena Muscalu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 04:24:38 +01:00
Michael Niedermayer
944f5b2779 aacsbr: Fix memory corruption.
Fixes Ticket760 and Ticket761
Bug Found by: Diana Elena Muscalu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 03:59:29 +01:00
Michael Niedermayer
7fff64e00d h264: check chroma_format_idc range.
Fixes Ticket758
Bug found by: Diana Elena Muscalu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 02:43:03 +01:00
Mans Rullgard
f7de52354f ARM: dca: disable optimised decode_blockcodes() for old gcc
Old gcc versions have trouble compiling this function, and
no simple, targeted test is possible.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-15 01:02:58 +00:00
Michael Niedermayer
cd645c15d8 indeo3: check return values of allocate_frame_buffers()
Bug Found by: Diana Elena Muscalu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-15 01:30:38 +01:00
Michael Niedermayer
dcca7d66bd Revert "mpegvideo: remove abort() in ff_find_unused_picture()"
This reverts commit 4f820131fa.

It is better to abort() than to have remotly exploitable arbitrary code
execution bugs. Even more so that this abort has never been triggered
by any input people threw at it.
If after more extensive testing its removial is found safe we can remove
the abort() later.
2011-12-15 00:15:18 +01:00
Michael Niedermayer
e462257242 Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  applehttp: Properly clean up if unable to probe a segment
  applehttp: Avoid reading uninitialized memory
  fate: Replace misleading "aac" in the name of an ADTS test with "adts".
  fate: Drop pointless "-an" from pictor test command.
  fate: split off image codec FATE tests into their own file
  fate: split off WMA codec FATE tests into their own file
  fate: split off lossless video and audio FATE tests into their own files
  fate: split off qtrle codec FATE tests into their own file
  fate: split off Ut Video codec FATE tests into their own file
  fate: split off screen codec FATE tests into their own file
  fate: split off Real Inc. codec FATE tests into their own file
  fate: split off AC-3 codec FATE tests into their own file
  mpegvideo: remove abort() in ff_find_unused_picture()
  rv40: NEON optimised loop filter strength selection
  rv40: rearrange loop filter functions
  configure: cosmetics: sort some lists where appropriate
  swscale_mmx: drop no longer required parameters from VSCALEX macros
  swscale: Mark yuv2planeX_8_mmx as MMX2; it contains MMX2 instructions.
  build: conditionally compile x86 H.264 chroma optimizations
  v410 encoder and decoder
  ...

Conflicts:
	Changelog
	configure
	doc/developer.texi
	doc/general.texi
	libavcodec/arm/asm.S
	libavcodec/avcodec.h
	libavcodec/v410dec.c
	libavcodec/v410enc.c
	libavcodec/version.h
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_mmx.c
	libswscale/x86/swscale_mmx.c
	tests/Makefile
	tests/fate2.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 23:58:10 +01:00
Jean First
a1be5bc79d dnxhdenc: remove unused variable from context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 23:17:59 +01:00
Michael Niedermayer
f129f593f7 ljpeg: Check that lowres is 0 as lowres is not possible with ljpeg.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 22:50:49 +01:00
Michael Niedermayer
e1ba29c764 4xm: check if there are bits left in decode_i_block()
Fixed Ticket753
Bug Found by: Diana Elena Muscalu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 22:24:44 +01:00
Andrey Utkin
4f820131fa mpegvideo: remove abort() in ff_find_unused_picture()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-14 18:17:21 +01:00
Matthieu Bouron
366605ff5d mpeg12enc: fix drop_frame_timecode value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 16:20:51 +01:00
Mans Rullgard
71ce76027d rv40: NEON optimised loop filter strength selection
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-14 11:26:30 +00:00
Mans Rullgard
d8edf1b515 rv40: rearrange loop filter functions
This splits the loop filter functions into smaller, more SIMD-friendly
functions.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-14 11:26:30 +00:00
Diego Biurrun
88b9735753 build: conditionally compile x86 H.264 chroma optimizations 2011-12-14 11:58:45 +01:00
Derek Buitenhuis
309ffa4fe3 v410 encoder and decoder
v410 is a packed 10-bit 4:4:4 YCbCr format used in
QuickTime.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 03:38:57 +01:00
Michael Niedermayer
eda3758c87 ac3dec: update checked AV_EF flags.
A user who wishes to use default error concealment cannot set the
AV_EF_CRCCHECK flag because not every CRC in every format is a
reliable indicator of bitstream damage. In some formats crcrs
can be nonsensical in absence of any damage. We thus add the
AV_EF_CAREFUL flag in addition to the AV_EF_CRCCHECK flag to
allow a user to enable this reliable CRC check without having to
enable all CRC checks in all formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-14 00:39:58 +01:00
Derek Buitenhuis
80f6c0bb95 v410 encoder and decoder
v410 is a packed 10-bit 4:4:4 YCbCr format used in
QuickTime.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-13 23:34:24 +01:00
Michael Niedermayer
3ba0bfe71f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ulti: Fix invalid reads
  lavf: dealloc private options in av_write_trailer
  yadif: support 10bit YUV
  vc1: mark with ER_MB_ERROR bits overconsumption
  lavc: introduce ER_MB_END and ER_MB_ERROR
  error_resilience: use the ER_ namespace
  build: move inclusion of subdir.mak to main subdir loop
  rv34: NEON optimised 4x4 dequant
  rv34: move 4x4 dequant to RV34DSPContext
  aacdec: Use intfloat.h rather than local punning union.

Conflicts:
	libavcodec/h264.c
	libavcodec/vc1dec.c
	libavfilter/vf_yadif.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 23:21:37 +01:00
Reimar Döffinger
36be045ed7 Support "VLB " audio in NSV files.
See samples/nsv/vlb_audio.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-12-13 23:07:40 +01:00
Michael Niedermayer
16b771b1f4 cleanup: for(int
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 21:08:43 +01:00
Michael Niedermayer
b39e01a6e8 clenaup: #ifdec CONFIG*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 21:08:43 +01:00
Michael Niedermayer
f39258d587 lavc: set pkt_?ts to NOPTS in get_frame_defaults.
Idea-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 20:04:43 +01:00
Michael Niedermayer
9aeaf62903 Fix all GNU %Ld
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 20:01:49 +01:00
Michael Niedermayer
35f707abe1 twinnvq: remove ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 19:54:31 +01:00
Gaurav Narula
a99273ebf3 ulti: Fix invalid reads
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-13 20:08:15 +02:00
Luca Barbato
4f3667ba59 vc1: mark with ER_MB_ERROR bits overconsumption
This patch is a generalization of what Michael Niedermayer
fixed in a single case.

The wmv8-drm fate test had been updated accordingly.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +01:00
Luca Barbato
63ccd46687 lavc: introduce ER_MB_END and ER_MB_ERROR
Simplify a little error resilience calls

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +01:00
Luca Barbato
5bf2ac2b37 error_resilience: use the ER_ namespace
Add the namespace to {AC_,DC_,MV_}{END,ERROR} macros

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 16:20:58 +01:00
Michael Niedermayer
53be37e368 msrledec: Check for overreads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 15:46:23 +01:00
Michael Niedermayer
be5db7004f aascdec: Check input buffer size on raw data.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 15:45:04 +01:00
Mans Rullgard
878dda5db1 build: move inclusion of subdir.mak to main subdir loop
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 14:26:49 +00:00
Mans Rullgard
4722a03c75 rv34: NEON optimised 4x4 dequant
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 12:06:21 +00:00
Mans Rullgard
40901fc14e rv34: move 4x4 dequant to RV34DSPContext
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 12:05:34 +00:00
Alex Converse
5cd56e193f aacdec: Use intfloat.h rather than local punning union. 2011-12-12 21:36:54 -08:00
Michael Niedermayer
41c2bbaac6 lavc: use hexadecimal debug print for showing err_recognization values.
They are flags which makes them easier to read as hex than decimal.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 01:28:22 +01:00
Michael Niedermayer
b95565074f msmpeg4dec: restore error concealment functionality after merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 01:26:28 +01:00
Michael Niedermayer
c9cab022a3 mpeg4dec: restore error concealment functionality after merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 01:26:14 +01:00
Michael Niedermayer
376ee20614 h263dec: restore error concealment functionality after merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 01:26:00 +01:00
Michael Niedermayer
8bc7fe4daf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxygen: misc consistency, spelling and wording fixes
  vcr1: drop unnecessary emms_c() calls without MMX code
  Replace all uses of av_close_input_file() with avformat_close_input().
  lavf: add avformat_close_input().
  lavf: deprecate av_close_input_stream().
  lavf doxy: add some basic demuxing documentation.
  lavf doxy: add some general lavf information.
  lavf doxy: add misc utility functions to a group.
  lavf doxy: add av_guess_codec/format to the encoding group.
  lavf doxy: add core functions to a doxy group.
  Add basic libavdevice documentation.
  lavc: convert error_recognition to err_recognition.
  avconv: update -map option help text
  x86: Require 7 registers for the cabac asm
  x86: bswap: remove test for bswap instruction
  bswap: make generic implementation more compiler-friendly
  h264: remove useless cast
  proresdec: fix decode_slice() prototype

Conflicts:
	configure
	doc/APIchanges
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/celp_math.h
	libavcodec/h264.c
	libavfilter/src_movie.c
	libavformat/anm.c
	libavformat/avformat.h
	libavformat/version.h
	libavutil/avstring.h
	libavutil/bswap.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 00:39:48 +01:00
Diego Biurrun
58c42af722 doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
Paul B Mahol
8b494b7b27 vcr1: drop unnecessary emms_c() calls without MMX code
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-12 21:17:13 +01:00
Dustin Brody
5b22d6e132 lavc: convert error_recognition to err_recognition.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-12 19:42:50 +01:00
Clément Bœsch
80914cde6f timecode: rename internal ff_* symbols to avpriv_*.
Those functions are shared between libs.

Also fix a typo in function names: smtpe → smpte.
2011-12-12 17:49:34 +01:00
Clément Bœsch
ad5ade6615 timecode: add avpriv_timecode_to_string(). 2011-12-12 17:49:34 +01:00
Clément Bœsch
98aca4bbef timecode: better input checks in init function. 2011-12-12 17:49:34 +01:00
Clément Bœsch
66160bdb01 cleanup: remove two extraneous semicolons. 2011-12-12 17:49:33 +01:00
Martin Storsjö
8349dbfe46 x86: Require 7 registers for the cabac asm
The change in 599b4c6ef didn't turn out to work properly on
i386 on OS X, where it broke building with PIC enabled.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-12 15:39:37 +01:00
Martin Storsjö
f1dba9e498 x86: Require 7 registers for the cabac asm
The change in 599b4c6ef didn't turn out to work properly on
i386 on OS X, where it broke building with PIC enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-12 15:36:20 +02:00
Michael Niedermayer
7fad19a63d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: cabac: replace explicit memory references with "m" operands
  avplay: don't request a stereo downmix
  wmapro: use av_float2int()
  lavc: avoid invalid memcpy() in avcodec_default_release_buffer()
  lavu: replace int/float punning functions
  lavfi: install libavfilter/vsrc_buffer.h
  Remove extraneous semicolons
  sdp: Restore the original mp4 format h264 extradata if converted
  rtpenc: Add support for mp4 format h264
  rtpenc: Simplify code by introducing a separate end pointer
  movenc: Use the actual converted sample for RTP hinting
  Fix a bunch of common typos.

Conflicts:
	doc/developer.texi
	doc/eval.texi
	doc/filters.texi
	doc/protocols.texi
	ffmpeg.c
	ffplay.c
	libavcodec/mpegvideo.h
	libavcodec/x86/cabac.h
	libavfilter/Makefile
	libavformat/avformat.h
	libavformat/cafdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/gxfenc.c
	libavformat/img2.c
	libavformat/movenc.c
	libavformat/mpegts.c
	libavformat/rtpenc_h264.c
	libavformat/utils.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-12 01:25:37 +01:00
Mans Rullgard
5695ae46f8 h264: remove useless cast
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-12 00:02:48 +00:00
Mans Rullgard
179ae53fed proresdec: fix decode_slice() prototype
Make the function prototype match the argument of
AVCodecCntext.execute() and remove the cast hiding
this mismatch.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-12 00:02:47 +00:00
Mans Rullgard
599b4c6efd x86: cabac: replace explicit memory references with "m" operands
This replaces the explicit offset(reg) memory references with
"m" operands for the same locations.  As a result, one fewer
register operand is needed for these inline asm statements.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 22:29:22 +00:00
Mans Rullgard
4424fe9c02 wmapro: use av_float2int()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:55:16 +00:00
Mans Rullgard
a09bb3ba5e lavc: avoid invalid memcpy() in avcodec_default_release_buffer()
When the buf and last pointers are equal, the FFSWAP() results
in an invalid call to memcpy() with same source and destination
on some targets.  Although assigning a struct to itself is valid
C99, gcc does not check for this before calling memcpy().
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:54:28 +00:00
Mans Rullgard
3383a53e7d lavu: replace int/float punning functions
The existing functions defined in intfloat_readwrite.[ch] are
both slow and incorrect (infinities are not handled).

This introduces a new header with fast, inline conversion
functions using direct union punning assuming an IEEE-754
system, an assumption already made throughout the code.

The one use of Intel/Motorola extended 80-bit format is
replaced by simpler code sufficient under the present
constraints (positive normal values).

The old functions are marked deprecated and retained for
compatibility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:47:19 +00:00
Mans Rullgard
373211d828 Remove extraneous semicolons
These semicolons cause invalid empty top-level declarations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 17:23:24 +00:00
Michael Niedermayer
964912aba5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  Warn about avserver being broken.
  avconv: drop code for special handling of avserver streams.
  rawdec: don't set codec timebase.
  lavf doxy: add muxing stuff to lavf_encoding group
  lavf doxy: add demuxing stuff to lavf_decoding group
  lavf doxy: expand/reword metadata API doxy.
  lavf doxy: add installed headers to groups.
  lavf doxy: add avio groups into the lavf_io group.
  lavf doxy: rename lavf I/O group to lavf_io.
  lavf doxy: add metadata docs to the main lavf group
  ttadec: check channel count as read from extradata.
  Add CLJR encoding and decoding regression tests
  cljr: remove unused code
  flacdec: Support for tracks in cuesheet metadata block
  ptx: fix inverted check for sufficient data
  flac muxer: fix writing of file header and STREAMINFO header from extradata
  ptx: emit a warning on insufficient picture data
  utvideo: add fate tests covering all codec variants
  doc: update to refer to avconv
  doc: remove some stale entries from the faq
  ...

Conflicts:
	Changelog
	avconv.c
	doc/avconv.texi
	doc/faq.texi
	doc/ffplay.texi
	doc/ffprobe.texi
	doc/ffserver.texi
	libavcodec/avcodec.h
	libavcodec/cljr.c
	libavformat/avformat.h
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-11 01:05:33 +01:00
Diego Biurrun
da9cea77e3 Fix a bunch of common typos. 2011-12-11 00:32:25 +01:00
Michael Niedermayer
3dea28cc2e h264: Fix concealment regression introduced by babf4fe01a
Limit the new case to when the decoder is flushed instead of at each idr frame

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 23:26:38 +01:00
Michael Niedermayer
8743400961 h264: reset prev_poc_msb to the same value everywhere.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 23:03:49 +01:00
Shitiz Garg
8bd1f1a4c8 ttadec: check channel count as read from extradata.
fixes floating-point exception due to channels being set to 0.
fixes Bug 128.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-10 14:54:19 -05:00
Paul B Mahol
65c1011404 cljr: remove unused code
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-10 20:11:28 +01:00
Michael Niedermayer
cc61643123 h264: improve "no picture" debug output.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 18:51:48 +01:00
Michael Niedermayer
5b2873c1d5 h264: switch from qatars has_b_frames calculation back to mine.
Their 2nd try does like the first not work at all.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 18:51:48 +01:00
Michael Niedermayer
257c85cddd adpcm: fix division by zero in fate/creative/intro-partial.wav with -s 2 and -r 0.001:1
Bug-Found-by: Shitiz Garg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 18:51:48 +01:00
Janne Grunau
8d61eef917 ptx: fix inverted check for sufficient data
Fix regression introduced in 2b53e69.
2011-12-10 17:01:27 +01:00
Janne Grunau
2b53e696c8 ptx: emit a warning on insufficient picture data
Return the whole packet as consumed in this case and not the size the
packet should have had. Move the insufficient data check into the for
condition to fix a ISO C90 error on bigendian.
2011-12-10 15:29:54 +01:00
Kostya Shishkov
19341c58e0 Dxtory capture format decoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-10 11:58:03 +01:00
Michael Niedermayer
f5ecc4c616 lavc: 1000l, unbreak ABI
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 07:03:20 +01:00
Michael Niedermayer
02ce07f8c4 amvenc: support videos with heights that are not a multiple of 16.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 06:39:57 +01:00
Paul B Mahol
85cd1eb12f add missing long_name for amv and dca encoder
Reviewed-by: Carl Eugen Hoyos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 05:02:00 +01:00
Hendrik Leppkes
b7bf93b923 mlp: Use correct speaker locations in TrueHD channel layout.
(cherry picked from commit d7787835ad737d4f4d8b6f17e04d981632eeaa91)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-10 02:11:24 +01:00
Michael Niedermayer
5b98ea1b73 vb: Add some checks on input buffer related values.
Fixes crash with INTRO_FAIL.VB

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-09 23:46:16 +01:00
Michael Niedermayer
4557d7d01f libx264: workaround a bug in some versions of flash player
Fixes Ticket570

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-09 22:56:36 +01:00
Michael Niedermayer
523da37f4c cljrenc: 2x2 ordered dither support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-09 19:04:47 +01:00
Michael Niedermayer
74d9b21340 cljrenc: add AVOption to disable dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-09 19:04:47 +01:00
Michael Niedermayer
43a36ad2ee cljrenc: Add dither to avoid the banding artifcats caused by the very low
number of bits used to represent brightness levels.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-09 01:11:06 +01:00
Michael Niedermayer
25b9eef410 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cljr: K&R cosmetics
  cljr: return a more sensible value when encountering invalid headers
  cljr: drop unnecessary emms_c() calls without MMX code
  cljr: remove useless casts
  cljr: group encode/decode parts under single ifdefs
  cljr: remove stray semicolon
  cljr: add missing return statement in decode_end()
  doc: add pulseaudio to the input list
  avconv: remove unsubstantiated comment
  shorten: avoid abort() on unknown audio types
  cljr: add encoder
  build: merge lists of HTML documentation targets
  tests/examples: Mark some variables only used within their files as static.
  tests/tools/examples: Replace direct exit() calls by return.
  x86 cpuid: set vendor union members separately
  cljr: release picture at end of decoding
  rv40: NEON optimised rv40 qpel motion compensation

Conflicts:
	doc/examples/muxing.c
	libavcodec/cljr.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-09 00:05:51 +01:00
Mashiat Sarker Shakkhar
4fa3f1c507 Do not update buffers in case no speed change is necessary 2011-12-09 01:43:34 +06:00
Mashiat Sarker Shakkhar
153a853718 Use int for channel_coeffs instead of int16_t 2011-12-09 01:39:59 +06:00
Diego Biurrun
6b60a4c9c9 cljr: K&R cosmetics 2011-12-08 20:28:27 +01:00
Diego Biurrun
1c45c64c9d cljr: return a more sensible value when encountering invalid headers 2011-12-08 20:28:27 +01:00
Diego Biurrun
163682fab3 cljr: drop unnecessary emms_c() calls without MMX code 2011-12-08 20:28:26 +01:00
Michael Niedermayer
15c481614b Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Pass pointer to integer buffer instead of integer to memcpy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 18:44:46 +01:00
Michael Niedermayer
bef8dfa056 escape130: replace can_safely_read() by get_bits_left()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 18:31:32 +01:00
Michael Niedermayer
f7da12350e escape130: give all av_log() a context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 18:31:32 +01:00
Michael Niedermayer
40d6296095 escape130: The minimum read in and after decode_skip_count() is 4 bits.
Thus we can check for 4 being available.
If the next block is skiped we need 4 bits to encode the skip. If the
next block is not skiped then we need 1 bit for the skip code and
at least 3 bits for the block.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 18:31:32 +01:00
Michael Niedermayer
59d3656f6e escape130: Check dimensions to be a multiple of the block size.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 18:31:21 +01:00
Mashiat Sarker Shakkhar
6d4deecfdf Pass pointer to integer buffer instead of integer to memcpy 2011-12-08 22:53:36 +06:00
Carl Eugen Hoyos
8ac6469575 Silence a warning when compiling Escape 130 decoder.
Fixes:
libavcodec/escape130.c:177:17: warning: ISO C90 forbids mixed declarations and code

Reviewed-by: Paul B Mahol
2011-12-08 17:14:47 +01:00
Mans Rullgard
bbc10185ee cljr: remove useless casts
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 15:56:31 +00:00
Mans Rullgard
baf3b6e594 cljr: group encode/decode parts under single ifdefs
This groups the encode/decode parts under single ifdefs and
eliminates the encode_init() function as it merely calls
common_init().  Also fix whitespace in moved code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 15:56:30 +00:00
Mans Rullgard
9a1420bfda cljr: remove stray semicolon
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 15:56:30 +00:00
Paul B Mahol
ca52bae6ec cljr: add missing return statement in decode_end()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-08 14:44:05 +00:00
Michael Niedermayer
31c55c572a escape130: 10l for myself for not initializing y_base.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 13:25:40 +01:00
John Brooks
8562d9bd6c shorten: avoid abort() on unknown audio types
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-08 11:30:24 +01:00
Paul B Mahol
e93947b7d8 cljr: add encoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-12-08 09:47:53 +01:00
Michael Niedermayer
06798c6e3b escape130: Fix y_base handling, this fixes some artifacts, vissible in most videos.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 06:01:50 +01:00
Michael Niedermayer
8ff3d1ccec escape130: make sure cliping is done on signed values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 05:59:36 +01:00
Michael Niedermayer
4f79c7dd08 Merge remote-tracking branch 'richardpl/escape130'
* richardpl/escape130:
  escape130: fix colors
  escape130: remove trailing whitespace
  rpl: enable escape130 codec
  escape130: minimal effort to make it compile without warnings
  Escape 130 (RPL) decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 05:47:27 +01:00
Carl Eugen Hoyos
0cc9949ead Mark one colour as transparent in the gif image encoder
if the input palette contains at least one colour
that is more than 50% transparent.

Fixes ticket #715.
2011-12-08 02:48:31 +01:00
Carl Eugen Hoyos
51d7cd3596 Decode RGB ljpeg to RGB24.
No alpha channel is decoded, the output used to be completely transparent.
2011-12-08 02:45:53 +01:00
Carl Eugen Hoyos
9608e3a182 Support decoding 56 byte BMP Bitmap Information Header.
Fixes ticket #719.
2011-12-08 02:45:53 +01:00
Anatoliy Wasserman
6778f9d9f2 pthread: fixed thread initialization issues related to thread-safe buffer allocator
Signed-off-by: Anatoliy Wasserman <anatoliy.wasserman@yandex.ru>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 02:01:21 +01:00
Diego Biurrun
4dccfff9dd tests/examples: Mark some variables only used within their files as static. 2011-12-08 01:01:00 +01:00
Diego Biurrun
9a5d6c23c5 tests/tools/examples: Replace direct exit() calls by return. 2011-12-08 01:00:58 +01:00
Michael Niedermayer
ec8a3e25d8 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Partially fix CDLMS prediction

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 00:37:55 +01:00
Paul B. Mahol
04a5eaa1a5 cljr: release picture at end of decoding
Otherwise after transcoding from cljr we get: Found 1 unreleased buffers!

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-08 00:36:32 +01:00
Michael Niedermayer
8e2bab5d4b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  drawtext: remove typo
  pcm-mpeg: implement new audio decoding api
  w32thread: port fixes to pthread_cond_broadcast() from x264.
  doc: add editor configuration section with Vim and Emacs settings
  dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
  avformat/utils: Drop unused goto label.
  doxygen: Replace '\' by '@' in Doxygen markup tags.
  cosmetics: drop some completely pointless parentheses
  cljr: simplify CLJRContext
  drawtext: introduce rand(min, max)
  drawtext: introduce explicit draw/hide variable
  rtmp: Use nb_invokes for all invoke commands

Conflicts:
	libavcodec/mpegvideo.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 00:23:37 +01:00
Mans Rullgard
392107ad07 rv40: NEON optimised rv40 qpel motion compensation
Based on patch by Janne Grunau.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-07 22:38:14 +00:00
Mashiat Sarker Shakkhar
c5cd231151 Partially fix CDLMS prediction 2011-12-08 03:57:21 +06:00
Michael Niedermayer
8b85c29463 qtrledec: Fix artifacts in tickets/226/qt_rle_bw.mov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 21:11:51 +01:00
Alexis Ballier
1af91978db qtrle.c: Fix for ticket #226.
In 1bpp mode, interpret skip&0x80 as "start a new line" instead of "go to next line", this is almost the same except for the first line which was always skipped before and caused to try to write an extra line at the end of the frame (ticket #226).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 21:11:51 +01:00
Hendrik Leppkes
bc057f7592 pcm-mpeg: implement new audio decoding api
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-07 13:52:00 -05:00
Ronald S. Bultje
8b03d7fe95 w32thread: port fixes to pthread_cond_broadcast() from x264. 2011-12-07 10:30:54 -08:00
Rafaël Carré
7efea2a051 dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-07 16:54:23 +01:00
Diego Biurrun
ff159e7816 doxygen: Replace '\' by '@' in Doxygen markup tags. 2011-12-07 15:29:14 +01:00
Diego Biurrun
ee41963f19 cosmetics: drop some completely pointless parentheses 2011-12-07 15:29:13 +01:00
Paul B. Mahol
fc9489f6ad cljr: simplify CLJRContext
There is no need to have delta, offset and gb in CLJRContext.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-07 15:15:02 +01:00
Carl Eugen Hoyos
a99dbe014d Do not ignore full transparency when writing png palette.
This reverts r6689, "Make PNG produce correct 8-bit pictures".
2011-12-07 11:31:27 +01:00
Michael Niedermayer
1fa8ff38e4 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  Fix lms_update()
  Move num_lms reading out of a loop
  Use correct value for range
  Fix some int / int16_t / int32_t confusion
  Implement revert_mclms() and associated functions
  Fix two more int16_t vs. int confusion
  Init s->cdlms[][].recent to order - 1
  Add a size argument to dump_int_buffer()
  Get rid of logging that are not required anymore
  Fix some int vs. int16_t confusion

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 04:49:42 +01:00
Michael Niedermayer
ff4800c16b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Code cleanup - mpegvideo.c - 500-1000line
  rv40: NEON optimised weighted prediction
  rv40: NEON optimised chroma MC
  ARM: move NEON H264 chroma mc to a separate file
  rv34: NEON optimised inverse transform functions

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 02:04:00 +01:00
Michael Niedermayer
d9ced9fec6 h264: init prev_frame_num to -1 on init
Fixes Ticket711

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 00:47:41 +01:00
Michael Niedermayer
6287a356e3 h264: Fix memleaks on close, reset more fields
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-07 00:47:41 +01:00
Carl Eugen Hoyos
ba3bb53bdc Fix 8BPS RGB32 output, the alpha channel was ignored.
Reviewed-by: Roberto Togni
2011-12-06 23:06:27 +01:00
Konstantin Todorov
4d9ec050a2 Code cleanup - mpegvideo.c - 500-1000line
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-06 11:32:38 -08:00
Janne Grunau
6c88988866 rv40: NEON optimised weighted prediction
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:25 +00:00
Janne Grunau
f5c05b9aa5 rv40: NEON optimised chroma MC
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:25 +00:00
Mans Rullgard
f054a82727 ARM: move NEON H264 chroma mc to a separate file
This allows sharing code with the rv40 version of these functions.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:24 +00:00
Janne Grunau
42d32cf53c rv34: NEON optimised inverse transform functions
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:24 +00:00
Michael Niedermayer
b404ab9e74 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov: Don't av_malloc(0).
  avconv: only allocate 1 AVFrame per input stream
  avconv: fix memleaks due to not freeing the AVFrame for audio
  h264-fate: remove -strict 1 except where necessary (mr4/5-tandberg).
  misc Doxygen markup improvements
  doxygen: eliminate Qt-style doxygen syntax
  g722: Add a regression test for muxing/demuxing in wav
  g722: Change bits per sample to 4
  g722dec: Signal skipping the lower bits via AVOptions instead of bits_per_coded_sample
  api-example: update to use avcodec_decode_audio4()
  avplay: use avcodec_decode_audio4()
  avplay: use a separate buffer for playing silence
  avformat: use avcodec_decode_audio4() in avformat_find_stream_info()
  avconv: use avcodec_decode_audio4() instead of avcodec_decode_audio3()
  mov: Allow empty stts atom.
  doc: document preferred Doxygen syntax and make patcheck detect it

Conflicts:
	avconv.c
	ffplay.c
	libavcodec/mlpdec.c
	libavcodec/version.h
	libavformat/mov.c
	tests/codec-regression.sh
	tests/fate/h264.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-06 01:37:27 +01:00
Michael Niedermayer
51177b1fe9 lavc: Mark fields that require av_opt_ptr()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 13:23:17 +01:00
Michael Niedermayer
31f93fc5f8 lavc: Fix sizeof(AVFrame) useability docs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 13:22:46 +01:00
Michael Niedermayer
b9d2b45165 lavc: Document AVFrame av_opt_ptr() relation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 13:22:20 +01:00
Diego Biurrun
e873c03ac7 misc Doxygen markup improvements 2011-12-05 13:06:58 +01:00
Diego Biurrun
c68fafe0d2 doxygen: eliminate Qt-style doxygen syntax 2011-12-05 13:06:58 +01:00
Sjoerd Simons
f32fd31858 g722: Change bits per sample to 4
Earlier, bits per sample was defined as 8, since
bits_per_coded_sample was used to indicate whether to ignore
the lower bits of the codeword, having values 6, 7 or 8.

g722 encodes 2 samples into one byte codeword, therefore the
bits per sample is 4. By changing this, the generated timestamps
for streams encoded with g722 become correct.

This makes timestamp generation for g722 data correct (both when
encoding and when demuxing from raw g722 files).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-05 12:41:46 +02:00
Martin Storsjö
6fcbb0f553 g722dec: Signal skipping the lower bits via AVOptions instead of bits_per_coded_sample
This avoids using bits_per_coded_sample for this information.
bits_per_coded_sample should be 4 for this codec normally,
since two samples are encoded into one 8 bit codeword.

In principle, this might be info that needs to be passed from
a demuxer, and in that case, a private AVOption isn't the best
choice, but no such samples are available at the moment, so
that use case is purely theoretical at the moment.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-05 12:41:23 +02:00
Michael Niedermayer
fef411ef3b lavc: Add a AVClass for AVFrames.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 03:22:06 +01:00
Justin Ruggles
0bafe04917 api-example: update to use avcodec_decode_audio4() 2011-12-04 18:29:51 -05:00
Michael Niedermayer
707138593a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adpcmenc: cosmetics: pretty-printing
  ac3dec: cosmetics: pretty-printing
  yuv4mpeg: cosmetics: pretty-printing
  shorten: remove dead initialization
  roqvideodec: set AVFrame reference before reget_buffer.
  bmp: fix some 1bit samples.
  latmdec: add fate test for audio config change
  oma: PCM support
  oma: better format detection with small probe buffer
  oma: clearify ambiguous if condition
  wavpack: Properly clip samples during lossy decode
  Code clean-up for crc.c, lfg.c, log.c, random_see.d, rational.c and tree.c.
  Cleaned pixdesc.c file in libavutil
  zmbv.c: coding style clean-up.
  xan.c: coding style clean-up.
  mpegvideo.c: code cleanup - first 500 lines.

Conflicts:
	Changelog
	libavcodec/adpcmenc.c
	libavcodec/bmp.c
	libavcodec/zmbv.c
	libavutil/log.c
	libavutil/pixdesc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-05 00:11:57 +01:00
Chris Berov
dc6d043050 adpcmenc: cosmetics: pretty-printing
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 17:07:48 -05:00
Chris Berov
541d083a40 ac3dec: cosmetics: pretty-printing
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 16:15:48 -05:00
Paul B. Mahol
eda8731285 shorten: remove dead initialization
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 15:12:05 -05:00
Reimar Döffinger
7679bd6e60 roqvideodec: set AVFrame reference before reget_buffer.
Otherwise it might return a write-only frame which would break
decoding completely.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 16:04:27 +01:00
Carl Eugen Hoyos
1e92d58e44 bmp: fix some 1bit samples.
<= 8bpp BMP images always have palette.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 16:04:27 +01:00
Michael Niedermayer
fb266f5973 h264: show when has_b_frames is being increased.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-04 01:41:22 +01:00
Michael Niedermayer
7f92f3d812 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: fix frame reordering code.
  fate: Add a test for the VBLE decoder
  doc: break some long lines in developer.texi
  drawtext: make x and y parametric
  drawtext: manage memory allocation better
  drawtext: refactor draw_text
  doc: remove space between variable and post increment in example code

Conflicts:
	doc/developer.texi
	doc/filters.texi
	libavcodec/h264.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-04 01:02:37 +01:00
Derek Buitenhuis
a548b6cbfc wavpack: Properly clip samples during lossy decode
When decoding lossy WavPack samples, they are supposed
to be clipped, in order to be decoded correctly.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 15:32:21 -08:00
Nathan Adil Maxson
8f8c785ffc zmbv.c: coding style clean-up.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:11:39 -08:00
Nathan Adil Maxson
6eedeefe0b xan.c: coding style clean-up.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:11:26 -08:00
Konstantin Todorov
363114e813 mpegvideo.c: code cleanup - first 500 lines.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:03:27 -08:00
Reimar Döffinger
85372f9d57 Add forgotten %ifdef HAVE_AVX.
Fixes compilation with older YASM/NASM versions.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-12-03 20:46:42 +01:00
Ronald S. Bultje
adedd840e2 h264: fix frame reordering code.
Fixes fate-h264-conformance-{mr2_tandberg_e,mr3_tandberg_b} without
requiring -strict 1.
2011-12-03 08:24:27 -08:00
ami_stuff
28a11a67d2 BMP: Support BMP OS/2 v2 with RLE compression.
Fixes ticket #699.

Patch also provided by Peter Ross.
2011-12-03 12:34:12 +01:00
Carl Eugen Hoyos
88bbabcc00 Support decoding right-to-left targa files.
Fixes ticket #698.
2011-12-03 12:22:12 +01:00
Nicolas George
90bfd511c4 celtdec: adapt to avcodec_decode_audio4.
Original fix by Michael Niedermayer.
Slightly modified to avoid the now redundant multiplications
and divisions in the main code path.
2011-12-03 11:54:30 +01:00
Michael Niedermayer
8bd2b27f6b zmbv: fix 2 memleaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 04:50:35 +01:00
Michael Niedermayer
3eb6e14618 zmbv: Fix keyframe fault protextion.
Fixes zzuf -s467 -r0.001 cat samples/zmbv/wc2_001-partial.avi

Bug-found-by: darkshikari
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 04:49:08 +01:00
Michael Niedermayer
7a5eb40ea1 audeo_get_buffer: fix pkt_pos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 04:42:24 +01:00
Peter Ross
52b7ed4f6e iff: support ExtraHalfBrite (EHB) palette mode
Fixes ticket #663.

Based on patch by ami_stuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:46:14 +01:00
Peter Ross
56f6628bca pictordec: decode 8bpp images when extra header marker is missing
Fixes ticket #696.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:46:14 +01:00
Carl Eugen Hoyos
2d6a45c12a Silence warnings when decoding QNAP Systems H264 codec.
Fixes ticket #571.
2011-12-03 03:34:23 +01:00
Michael Niedermayer
eac5987c4f g723_1dec: update to new API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:49 +01:00
Michael Niedermayer
7db5ff7996 g729dec: update to the new API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:44 +01:00
Michael Niedermayer
e4de71677f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac_latm: reconfigure decoder on audio specific config changes
  latmdec: fix audio specific config parsing
  Add avcodec_decode_audio4().
  avcodec: change number of plane pointers from 4 to 8 at next major bump.
  Update developers documentation with coding conventions.
  svq1dec: avoid undefined get_bits(0) call
  ARM: h264dsp_neon cosmetics
  ARM: make some NEON macros reusable
  Do not memcpy raw video frames when using null muxer
  fate: update asf seektest
  vp8: flush buffers on size changes.
  doc: improve general documentation for MacOSX
  asf: use packet dts as approximation of pts
  asf: do not call av_read_frame
  rtsp: Initialize the media_type_mask in the rtp guessing demuxer
  Cleaned up alacenc.c

Conflicts:
	doc/APIchanges
	doc/developer.texi
	libavcodec/8svx.c
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/nellymoserdec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmadec.c
	libavformat/asfdec.c
	tests/ref/seek/lavf_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:30 +01:00
Janne Grunau
d268b79e34 aac_latm: reconfigure decoder on audio specific config changes 2011-12-03 00:42:48 +01:00
Janne Grunau
fd095539d1 latmdec: fix audio specific config parsing
Pass the correct size in bits to mpeg4audio_get_config and add a flag
to disable parsing of the sync extension when the size is not known.

Latm with AudioMuxVersion 0 does not specify the size of the audio
specific config. Data after the audio specific config can be
misinterpreted as sync extension resulting in random and wrong configs.
2011-12-03 00:42:48 +01:00
Justin Ruggles
0eea212943 Add avcodec_decode_audio4().
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Justin Ruggles
560f773c7d avcodec: change number of plane pointers from 4 to 8 at next major bump.
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
This will allow for supporting more planar audio channels without having to
allocate separate pointer arrays.
2011-12-02 17:40:40 -05:00
Mans Rullgard
51a16077da svq1dec: avoid undefined get_bits(0) call
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 21:52:09 +00:00
Mans Rullgard
59807fee6d ARM: h264dsp_neon cosmetics
- Replace 'ip' with 'r12'.
- Use correct size designators for vld1/vst1.
- Whitespace fixes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Janne Grunau
a760f530bb ARM: make some NEON macros reusable
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Aaron Colwell
e02dec25ab vp8: flush buffers on size changes. 2011-12-02 07:21:08 -08:00
Peter Ross
1fd6924320 pictordec: support uncompressed images
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-02 14:41:10 +01:00
Mashiat Sarker Shakkhar
460bec6800 Fix lms_update() 2011-12-02 16:24:50 +06:00
Nathan Adil Maxson
d0fd6fc201 Cleaned up alacenc.c
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-01 20:14:21 -08:00
Carl Eugen Hoyos
bba8975a9c Be less verbose when skipping RBSP data in H264 PPS.
Fixes ticket #693.
2011-12-02 03:29:24 +01:00
Carl Eugen Hoyos
fab5973fa5 Be less verbose when skipping MPEG-4 ASP frames.
Fixes ticket #560.
2011-12-02 03:27:14 +01:00
Carl Eugen Hoyos
40c36196d5 Support yuva420p encoding via libopenjpeg. 2011-12-02 03:26:21 +01:00
Carl Eugen Hoyos
d7fc100694 Support tiff RGBA encoding. 2011-12-02 03:23:07 +01:00
Paul B Mahol
7bd8b70f19 escape130: fix colors 2011-12-02 01:19:42 +00:00
Michael Niedermayer
7b0b10ce41 Merge remote-tracking branch 'qatar/master'
* qatar/master: (25 commits)
  rtpenc: Add support for G726 audio
  rtpdec: Interpret the different G726 names as bits_per_coded_sample
  rtpenc: Change rtp_send_samples to handle sample sizes other than even bytes
  rtpenc: Cast a rescaling parameter to int64_t
  h264: cap max has_b_frames at MAX_DELAYED_PIC_COUNT - 1.
  ARM: fix indentation in ff_dsputil_init_neon()
  ARM: NEON put/avg_pixels8/16 cosmetics
  ARM: add remaining NEON avg_pixels8/16 functions
  ARM: clean up NEON put/avg_pixels macros
  fate: split acodec-pcm into individual tests
  swscale: #include "libavutil/mathematics.h"
  pmpdec: don't use deprecated av_set_pts_info.
  rv34: align temporary block of "dct" coefs
  Add PlayStation Portable PMP format demuxer
  proto: Realign struct initializers
  proto: Use .priv_data_size to allocate the private context
  mmsh: Properly clean up if the second ffurl_alloc failed
  rtmp: Clean up properly if the handshake failed
  md5proto: Remove the get_file_handle function
  applehttpproto: Use the close function if the open function fails
  ...

Conflicts:
	libavcodec/vble.c
	libavformat/mmsh.c
	libavformat/pmpdec.c
	libavformat/udp.c
	tests/ref/acodec/pcm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-02 00:51:11 +01:00
Carl Eugen Hoyos
8b08f81949 Support transparency in 32bit bmp files. 2011-12-02 00:21:24 +01:00
Derek Buitenhuis
69035f3ec7 Revert "libutvideodec: Make buf_size local"
This change was dependent on a different patch that
never actually made it into FFmpeg, and it actually
ended up breaking builds.

This reverts commit 70cf7bb958.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 23:35:54 +01:00
Mashiat Sarker Shakkhar
075ebdf735 Move num_lms reading out of a loop 2011-12-02 03:11:59 +06:00
Mashiat Sarker Shakkhar
29c2fcb677 Use correct value for range
The current range value causes an underflow
when negated and pushes anything less than zero
to the minimum.
2011-12-02 03:11:21 +06:00
Mashiat Sarker Shakkhar
768261e50d Fix some int / int16_t / int32_t confusion
For now force everything to int16_t, except
for variables used as index
2011-12-02 03:09:19 +06:00
Ronald S. Bultje
2574f08d4c h264: cap max has_b_frames at MAX_DELAYED_PIC_COUNT - 1.
This prevents frame allocation overflows, and fixed
fate-h264-conformance-mr3_tandberg_b with 2 threads.
2011-12-01 12:46:28 -08:00
Michael Niedermayer
dd974c1bc1 libx264: Implement rgb24 support through a seperate AVCodec.
This avoids people mistakely encoding in a way that many players dont support.
Fixes Ticket658

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 21:02:57 +01:00
Mans Rullgard
3adba2de3d ARM: fix indentation in ff_dsputil_init_neon()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
96fef6cf31 ARM: NEON put/avg_pixels8/16 cosmetics
This makes whitespace and register names consistent with
the style used in more recent code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
716f1705e9 ARM: add remaining NEON avg_pixels8/16 functions 2011-12-01 19:41:36 +00:00
Mans Rullgard
94267ddfb2 ARM: clean up NEON put/avg_pixels macros
Although this adds a few lines, the macro calls are less convoluted.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:35 +00:00
Michael Niedermayer
4a8e3324fb libx264: fix generic boolean support
Fixes Ticket660

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 20:38:14 +01:00
Michael Niedermayer
b50be4e38d vc1_parser: fix NULL pointer dereference
Fixes Ticket456

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 18:46:22 +01:00
Michael Niedermayer
3e1951e8f4 h264: More restrictive more_rbsp_data_in_pps()
Fixes Ticket697

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 17:28:46 +01:00
Paul B Mahol
1e8f77324e escape130: remove trailing whitespace 2011-12-01 15:32:21 +00:00
Paul B Mahol
06029fbb7f escape130: minimal effort to make it compile without warnings 2011-12-01 15:32:20 +00:00
Eli Friedman
7d64391441 Escape 130 (RPL) decoder 2011-12-01 15:32:20 +00:00
Mans Rullgard
37fed0e635 rv34: align temporary block of "dct" coefs
This is needed for optimised transforms.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 14:29:29 +00:00
Peter Ross
f3f488423a pictordec: prevent segfault when reading corrupted files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 14:35:46 +01:00
Peter Ross
43a2a8b4a3 pictordec: use correct context for another av_log
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 14:34:46 +01:00
Michael Niedermayer
adfdcf87b1 vble: use dsp.add_hfyu_median_prediction() this allows asm optimizations to be used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:06:32 -08:00
Michael Niedermayer
317ea97bff vble: remove flags copy, its not used in any speed relevant code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:06:15 -08:00
Derek Buitenhuis
e46abbcf77 vble: merge len and val arrays
There's no reason to use two arrays for this.

Based off commit 2fea60c600
to FFmpeg by Michael Niedermayer.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:05:55 -08:00
Michael Niedermayer
0dd704dbd4 vble: remove unused variable len.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:05:31 -08:00
Michael Niedermayer
9d76cf0b18 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Templatize the code for different g726 bitrate variants
  rv40: move loop filter to rv34dsp context
  lavf: make av_set_pts_info private.
  rtpdec: Add support for G726 audio
  rtpdec: Add an init function that can do custom codec context initialization
  avconv: make copy_tb on by default.
  matroskadec: don't set codec timebase.
  rmdec: don't set codec timebase.
  avconv: compute next_pts from input packet duration when possible.
  lavf: estimate frame duration from r_frame_rate.
  avconv: update InputStream.pts in the streamcopy case.

Conflicts:
	avconv.c
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/fbdev.c
	libavdevice/libdc1394.c
	libavdevice/oss_audio.c
	libavdevice/v4l.c
	libavdevice/v4l2.c
	libavdevice/vfwcap.c
	libavdevice/x11grab.c
	libavformat/au.c
	libavformat/eacdata.c
	libavformat/flvdec.c
	libavformat/mpegts.c
	libavformat/mxfenc.c
	libavformat/rtpdec_g726.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 02:54:24 +01:00
Michael Bradshaw
0275b75a7e BPP fix, YUVP9, 10, 16 support, make RGB24 default 2011-11-30 16:48:03 -07:00
Carl Eugen Hoyos
9dcd8b86f9 Use correct context for av_log.
Fixes ticket #695.
2011-12-01 00:28:46 +01:00
Janne Grunau
bb8a6e03cc rv40: move loop filter to rv34dsp context
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-30 20:54:59 +00:00
Michael Niedermayer
77af2672b4 lavc: Fix side data handling for audio decoders.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 21:19:23 +01:00
Michael Niedermayer
11828b8885 nellymoserdec: Use sidedata to support mid stream sample rate changes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 21:17:57 +01:00
Michael Niedermayer
fd3e75d2d4 lavc: horizontal align for IFF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 18:45:33 +01:00
Mashiat Sarker Shakkhar
8aa831c07b Implement revert_mclms() and associated functions 2011-11-30 22:44:59 +06:00
Mashiat Sarker Shakkhar
bf8715719a Fix two more int16_t vs. int confusion
If everything works fine for 16-bit streams,
the current code could be extended to do 24-bit.
2011-11-30 22:44:45 +06:00
Michael Niedermayer
dd32a305bd wmall: fix return type of dump_int_buffer()
Found-by: Dominique Leuenberger
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 15:23:39 +01:00
Michael Niedermayer
dae7ff0416 wmall: remove tabs that leaked in from a merge and seem to have
managed to silently bypass the push checks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 15:21:46 +01:00
Michael Niedermayer
c40a35f8a7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: check per-plane data buffer against input buffer bounds.
  avconv: Handle audio sync for non-S16 sample formats.
  pthread: don't increment index on zero-sized packets.

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 02:34:35 +01:00
Mashiat Sarker Shakkhar
be8a0d26db Init s->cdlms[][].recent to order - 1
Not sure if this is correct. But looks like
it was giving us off-by-one's when used to index
buffers.
2011-11-30 02:17:44 +06:00
Mashiat Sarker Shakkhar
6dd19c97c4 Add a size argument to dump_int_buffer() 2011-11-30 02:16:48 +06:00
Mashiat Sarker Shakkhar
81a3c67169 Get rid of logging that are not required anymore
(Resolves some conflicts)
2011-11-30 02:15:08 +06:00
Mashiat Sarker Shakkhar
e6c66fcf68 Fix some int vs. int16_t confusion
Size should be determined from bits per sample.
The current code only accepts 16-bit streams.
2011-11-30 02:06:12 +06:00
Reimar Döffinger
7076967786 Consistently use %ifdef ARCH_X86_64
One out of 3 places used ifndef, which is needlessly confusing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-29 19:55:38 +01:00
Aneesh Dogra
464ccb0144 indeo3: check per-plane data buffer against input buffer bounds.
Fixes : http://bugzilla.libav.org/show_bug.cgi?id=102

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-29 09:58:05 -08:00
Michael Niedermayer
4b4a02b847 lavc: dont call set_dimensions() on h264 codec init.
This fixes ffprobe showing an incorrect width with
http://panda-test-harness-videos.s3.amazonaws.com/panda.mp4

Idea-by: Joakim Plate <elupus@ecce.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-29 17:33:35 +01:00
Michael Niedermayer
6ffdc262b0 ac3enc: clenaup project name in one comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-29 16:09:56 +01:00
Aaron Colwell
39a7a5b8ab pthread: don't increment index on zero-sized packets.
The next call to decode() will update from an invalid index, which will
either lead to a memcpy() where dest==src (2 threads), or lead to a
crash (>2 threads).

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-28 20:30:30 -08:00
Michael Niedermayer
4dcd1a3145 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adtsenc: Check frame size.
  txd: Fix order of operations.
  APIchanges: fill in some blanks
  timer: fix misspelling of "decicycles"
  Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.
  indeo3: cosmetics
  md5proto: Fix order of operations.
  dca: Replace oversized unused get_bits() with skip_bits_long().

Conflicts:
	doc/APIchanges
	libavformat/mmsh.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-29 00:20:29 +01:00
Alex Converse
a27805189b txd: Fix order of operations. 2011-11-28 11:22:36 -08:00
Michael Niedermayer
4b03d96022 ffv1dec: use PIX_FMT_0RGB32 when there is no transparency plane
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:41:27 +01:00
Michael Niedermayer
2027d073ae ffv1dec: transparency plane support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:40:39 +01:00
Michael Niedermayer
492aab8589 ffv1enc: PIX_FMT_0RGB32 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:39:25 +01:00
Michael Niedermayer
f7b160e829 ffv1enc: Store transparency plane.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 17:38:04 +01:00
Michael Niedermayer
ae5873f13b huffyuvenc: switch from alphaless rgb32 to rgb24
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 15:14:41 +01:00
Clément Bœsch
b1ca5634fd mpeg12: raise timecode to codec context. 2011-11-28 14:06:02 +01:00
Diego Biurrun
c88ebdb42c Eliminate pointless 0/NULL initializers in AVCodec and similar declarations. 2011-11-28 10:01:50 +01:00
Kostya Shishkov
1469f943ad indeo3: cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-11-28 10:01:49 +01:00
Michael Niedermayer
d3fc335bac huffyuvenc: support alphaless rgb32
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 04:29:42 +01:00
Michael Niedermayer
0af7d7082f huffyuvenc: store alpha for bgr32
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 04:14:22 +01:00
Michael Niedermayer
1e19927f12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1: use an enum for Frame Coding Mode
  doc: cleanup filter section
  indeo3: error out if no motion vector is set.
  x86inc: Flag shufps as an floating-point instruction for the AVX emulation code.
  mpegaudio: do not use init_static_data() for initializing tables.
  musepack: fix signed shift overflow in mpc_read_packet()
  mov: Make format string match variable type.
  wmavoice: Make format string match variable type.
  vc1: select interlaced scan table by FCM element
  Generalize RIFF INFO tag support; support reading INFO tag in wav
  pthread: track thread existence in a separate variable.

Conflicts:
	doc/filters.texi
	libavcodec/pthread.c
	libavformat/avi.c
	libavformat/riff.c
	libavformat/riff.h
	libavformat/wav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-28 01:07:11 +01:00
Alex Converse
999e7ebd23 dca: Replace oversized unused get_bits() with skip_bits_long(). 2011-11-27 15:57:38 -08:00
Luca Barbato
1f948745c3 vc1: use an enum for Frame Coding Mode
Document it a little and possibly fix a bug in dxva2_vc1.
2011-11-28 00:40:22 +01:00
Aneesh Dogra
97980db487 indeo3: error out if no motion vector is set.
This fixes a crash on a corrupt bitstream (bugzilla #93).

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-27 13:30:00 -08:00
Michael Niedermayer
e64edeed3c aacenc: make the aac coder user choosable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 21:19:30 +01:00
Michael Niedermayer
1b1223872d aacenc: add AAC_CODER_NB
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 21:19:07 +01:00
Justin Ruggles
0df5e869cb mpegaudio: do not use init_static_data() for initializing tables.
It is called once for each mpegaudio codec that is registered, which adds
significant overhead.
2011-11-27 13:59:34 -05:00
Michael Niedermayer
47044625ba pthread: check pthread_create() return value.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 06:17:03 +01:00
Michael Niedermayer
2bb79b23fe pthread: next try on freeing threads without crashing.
This should fix mingw

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 05:55:20 +01:00
Alex Converse
f11b0e9543 wmavoice: Make format string match variable type. 2011-11-26 19:40:34 -08:00
Kostya Shishkov
498605b4ad vc1: select interlaced scan table by FCM element
Interlaced videos can contain progressive frames too and now wrong scantable
is selected for them.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 18:14:07 -08:00
Peter Ross
3d977edb04 HAM6/HAM8 support for IFF ACBM decoder
Based on patch by ami_stuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 03:11:08 +01:00
Peter Ross
b488679510 iff: fix invalid reads (ticket 689)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 03:11:08 +01:00
Cheng Sun
3f5aa7dfa6 pthread: track thread existence in a separate variable.
This fixes a compile error on mingw32 when using p->thread
directly (as if it were a pointer) to track thread existence,
because the type is opaque and may be a non-pointer.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 17:14:13 -08:00
Kostya Shishkov
801393bc96 vc1: select interlaced scan table by FCM element
Interlaced videos can contain progressive frames too and now wrong scantable
is selected for them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 02:03:25 +01:00
Michael Niedermayer
5c15b78e4a Merge remote-tracking branch 'qatar/master'
* qatar/master: (42 commits)
  swscale: fix signed overflow in yuv2mono_X_c_template
  snow: fix integer overflows
  svq1enc: remove stale altivec-related hack
  snow: fix signed overflow in byte to 32-bit replication
  adx: rename ff_adx_decode_header() to avpriv_adx_decode_header()
  avformat: add CRI ADX format demuxer
  adx: add an ADX parser.
  adx: move header decoding to ADX common code
  adx: calculate the number of blocks in a packet
  adx: define and use 2 new macro constants BLOCK_SIZE and BLOCK_SAMPLES
  adx: check for unsupported ADX formats
  adx: simplify encoding by using put_sbits()
  adx: calculate correct LPC coeffs
  adx: use 12-bit coefficients instead of 14-bit to avoid integer overflow
  adx: simplify adx_decode() by using get_sbits() to read residual samples
  adx: fix the data offset parsing in adx_decode_header()
  adx: remove unneeded post-decode channel interleaving
  adx: validate header values
  adx: cosmetics: general pretty-printing and comment clean-up
  adx: remove useless comments
  ...

Conflicts:
	Changelog
	libavcodec/cook.c
	libavcodec/fraps.c
	libavcodec/nuv.c
	libavcodec/pthread.c
	libavcodec/version.h
	libavformat/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-27 00:30:13 +01:00
Mans Rullgard
8540dcfd7a snow: fix integer overflows
The way these values are used, they should have an unsigned type.
A similar change was made for mpegvideo in cb66847.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 22:53:47 +00:00
Mans Rullgard
0e55edcb57 svq1enc: remove stale altivec-related hack
altivec.h is no longer (indirectly) included, so this hack is not
needed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 22:53:47 +00:00
Mans Rullgard
ff6d9cc558 snow: fix signed overflow in byte to 32-bit replication
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 22:53:46 +00:00
Michael Niedermayer
4fd5e7639b vc1: Fix pic_header_flag=0 (SA10143.vc1)
Bug introduced in:
commit 4509be3d2f
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Oct 11 11:56:42 2011 +0200

    vc1: reset interlaced variables, prevent another bunch of crashes.

    Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 23:13:50 +01:00
Justin Ruggles
9d2dd356c2 adx: rename ff_adx_decode_header() to avpriv_adx_decode_header()
It is used by the ADX decoder, and therefore needs to be exported in order to
work with shared libs.
2011-11-26 17:00:00 -05:00
Justin Ruggles
a17c3c7d15 avformat: add CRI ADX format demuxer 2011-11-26 16:25:07 -05:00
Justin Ruggles
27360ccc5e adx: add an ADX parser.
This simplifies the decoder so it doesn't have to process an in-packet header
or handle arbitrary-sized packets. It also fixes decoding of files with large
headers.
2011-11-26 16:25:07 -05:00
Justin Ruggles
d8cec2d7fc adx: move header decoding to ADX common code 2011-11-26 16:25:07 -05:00
Justin Ruggles
7ff55d9bdb adx: calculate the number of blocks in a packet 2011-11-26 16:25:07 -05:00
Justin Ruggles
05c1f11b56 adx: define and use 2 new macro constants BLOCK_SIZE and BLOCK_SAMPLES 2011-11-26 16:25:07 -05:00
Justin Ruggles
d1745619db adx: check for unsupported ADX formats 2011-11-26 16:25:07 -05:00
Justin Ruggles
994238536a adx: simplify encoding by using put_sbits() 2011-11-26 16:25:07 -05:00
Justin Ruggles
b237248e29 adx: calculate correct LPC coeffs
Instead of using fixed coefficients, the correct way is to calculate the
coefficients using the highpass cutoff frequency from the ADX stream header
and the sample rate.
2011-11-26 16:25:06 -05:00
Justin Ruggles
954d94dd5e adx: use 12-bit coefficients instead of 14-bit to avoid integer overflow 2011-11-26 16:25:06 -05:00
Justin Ruggles
c52ddc6024 adx: simplify adx_decode() by using get_sbits() to read residual samples 2011-11-26 16:25:06 -05:00
Justin Ruggles
ca9e4727ba adx: fix the data offset parsing in adx_decode_header()
first 2 bytes are 0x80, 0x00. offset is only 16-bit.
this is according to format descriptions on multimedia wiki and wikipedia.
2011-11-26 16:25:06 -05:00
Justin Ruggles
837bbd19eb adx: remove unneeded post-decode channel interleaving
instead interleave channels while decoding
2011-11-26 16:25:06 -05:00
Justin Ruggles
e2d1eace00 adx: validate header values 2011-11-26 16:25:06 -05:00
Justin Ruggles
8db67610c0 adx: cosmetics: general pretty-printing and comment clean-up 2011-11-26 16:25:06 -05:00
Justin Ruggles
fbc79a9101 adx: remove useless comments 2011-11-26 16:25:06 -05:00
Justin Ruggles
e0722d7fb7 adx: change short to int16_t 2011-11-26 16:25:06 -05:00
Justin Ruggles
dd1b9f7cd9 adx: rename struct PREV to ADXChannelState 2011-11-26 16:25:06 -05:00
Mans Rullgard
3a83b2461e dnxhdenc: fix signed overflows
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 20:52:10 +00:00
Mans Rullgard
b6ae086682 dv: simplify bitstream splicing in dv_decode_ac()
This is simpler and fixes some overflow checker warnings.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 20:52:09 +00:00
Mans Rullgard
b02aa3a8ea s3tc: fix shift overflow by using unsigned constant
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:42 +00:00
Mans Rullgard
f7f892e4d5 svq1enc: fix signed multiplication overflow
This multiplication can overflow the signed range but not the
unsigned.  After right-shifting it will thus fit in the signed
range again.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:27 +00:00
Mans Rullgard
e4faa31a0a svq1dec: use sign_extend()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:02 +00:00
Mans Rullgard
171ec81223 rv34: fix signed multiplication overflow
Multiply by unsigned 0x01010101 to replicate bytes into 32-bit
word.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:49:51 +00:00
Cheng Sun
e524eadbf8 [PATCH] Fix crash when initializing multi-threaded decoding for corrupted file.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 10:46:08 -08:00
Michael Niedermayer
61c2cec957 pthreads: fix segfault due to the thread beimg killed before it has been allocated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 17:55:01 +01:00
kaptnole
cb8db6423a aacdec: Fix Sound fragments after seeking
Fixes Ticket420

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 14:37:39 +01:00
Mans Rullgard
b7581b5c83 cook: use a table for xor key rotation
This is simpler and avoids an invalid shift by 32 in the
aligned case.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Mans Rullgard
644bff6c9b apedec: fix signed integer overflows
This bit manipulation is equivalent but avoids undefined
shifts and overflows.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Mans Rullgard
93c286e54f qtrle: simplify 32-bit decode using intreadwrite macros
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Mans Rullgard
3bd1162a52 gif: fix invalid signed shifts
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:40 +00:00
Reimar Döffinger
7fb55e0b02 rtjpeg: simplify get_block() by using get_bits_left.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:40:51 +01:00
Reimar Döffinger
7a62ddb689 rtjpeg: check get_block return value for error.
This avoids crashes due to reading out-of-bounds.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:39:58 +01:00
Reimar Döffinger
f6afacdb3b nuv: check per-frame header for validity.
Since it contains dimensions parsing an invalid one has rather
annoying effects.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:38:59 +01:00
Reimar Döffinger
785baa738a nuv: use FFALIGN.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:38:14 +01:00
Carl Eugen Hoyos
1484b5dec5 flicvideo: check extradata_size before accessing extradata.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:36:16 +01:00
Michael Niedermayer
5ace144fe0 fraps: check for overread.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:35:57 +01:00
K.Y.H
51f316a997 cook: fix apparent typo in extradata parsing
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:33:31 +01:00
Anton Khirnov
488eec1044 lavc: update doxy to use nondeprecated API. 2011-11-26 08:26:24 +01:00
Michael Niedermayer
022f8d27dd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Readd #define _SVID_SOURCE
  Fix av_get_channel_layout_string() for positions >31
  configure: Store vda lib flags in extralibs instead of ldflags
  Make channel layout masks unsigned
  dca: ARMv6 optimised decode_blockcode()
  nullenc: drop AVFMT_RAWPICTURE from the flags
  frame-mt: return consumed packet size in ff_thread_decode_frame
  aacdec: add more fate tests covering SBR and PS
  MK(BE)TAG: avoid undefined shifts

Conflicts:
	configure
	libavcodec/arm/dca.h
	libavcodec/dca.c
	libavcodec/mlp_parser.c
	libavcodec/version.h
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/defaults.c
	libavutil/audioconvert.c
	libavutil/avutil.h
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 01:12:08 +01:00
Michael Niedermayer
fc75e6f168 vc1dec: fix scantable for advanced P frames
Fixes: vc1 file from Ticket606
Fixes: vc1+vc1+++artifacts*.vc1
Fixes: mpeg+vc1+++salxxos.evo

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 23:44:39 +01:00
Michael Niedermayer
a3b3562b47 vc1dec: fix 10l typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 22:46:17 +01:00
Michael Niedermayer
9e794d103c vc1dec: drop damaged B frames
Fixes: vc1_error_spilt.avi of Ticket606

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 20:55:25 +01:00
Michael Niedermayer
7d52f46db7 vc1dec: fix used ER flags in vc1_decode_b_blocks()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 20:54:57 +01:00
Michael Niedermayer
1afe49b062 indeo3: out of array read checks for decode_plane()
Fixes: avi+indeo3+++1-dog.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 18:04:17 +01:00
Michael Niedermayer
e9e642cbfb indeo3: Check remaining bits in parse_bintree()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 17:55:23 +01:00
Anatoly Nenashev
a7cfef2994 H264: Check if more RBSP data in PPS provided by current profile due to Annex A.
This patch also fix issue https://ffmpeg.org/trac/ffmpeg/ticket/685.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 17:10:47 +01:00
Mans Rullgard
cc276c85d1 Make channel layout masks unsigned
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.

Fixes a few invalid shifts.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:54 +00:00
Mans Rullgard
00a856e3f9 dca: ARMv6 optimised decode_blockcode()
This is a hand-tuned version of the code with impossible parts of
the FASTDIV function ommitted.

2-5% faster overall on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:53 +00:00
Janne Grunau
117e2a30f2 frame-mt: return consumed packet size in ff_thread_decode_frame
This is required to fulfill avcodec_decode_video2() promise to return
the number of consumed bytes on success.
2011-11-25 08:25:12 +01:00
Michael Niedermayer
92afb43162 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  snow: split snow in snowdec and snowenc
  tiffenc: deprecate using compression_level
  swscale: fix failing fate tests.
  swscale: add support for planar RGB input.
  h264: add support for decoding planar RGB images.
  Clean up swscale pixfmt macros using av_pix_fmt_descriptors[].
  pixfmt: add planar RGB formats.

Conflicts:
	libavcodec/h264.c
	libavcodec/snow.c
	libavcodec/utils.c
	libavutil/avutil.h
	libavutil/pixdesc.c
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 04:34:44 +01:00
Michael Niedermayer
e421b79d01 indeo3: fix null pointer dereference in vulnerable.mov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 22:39:23 +01:00
Alex Zhukov
eb511ef636 yuv pixel formats support in openjpeg decoder + 10bit support
Signed-off-by: Alex Zhukov <zhukov.alex@gmail.com>
Reviewed-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 21:51:15 +01:00
Luca Barbato
7f1b427018 snow: split snow in snowdec and snowenc
The common non inlined code goes in snow.c, the common inlined code in
snow.h, tables move in snowdata.h (included only by snow.c)
2011-11-24 21:35:47 +01:00
Anton Khirnov
8b7412fe4e tiffenc: deprecate using compression_level 2011-11-24 21:31:36 +01:00
Ronald S. Bultje
db431f7efe h264: add support for decoding planar RGB images. 2011-11-24 08:25:36 -08:00
Michael Niedermayer
2bf09826c1 loco: Fix error handling.
Fixes null pointer dereference / http://www.google-melange.com/gci/task/view/google/gci2011/7120335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 15:39:41 +01:00
Sergiy Gur'yev
32ed7da135 Fix adts format creation in aac+ encoder modified: libavcodec/libaacplus.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 14:18:27 +01:00
Michael Niedermayer
8e576d5830 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libavutil: add utility functions to simplify allocation of audio buffers.
  libavutil: add planar sample formats and av_sample_fmt_is_planar()
  avconv: fix segfault at EOF with delayed pictures
  pcmdec: remove unneeded resetting of samples pointer
  avconv: remove a now unused parameter from output_packet().
  avconv: formatting fixes in output_packet()
  avconv: declare some variables in blocks where they are used
  avconv: use the same behavior when decoding audio/video/subs
  bethsoftvideo: return proper consumed size for palette packets.
  cdg: skip packets that don't contain a cdg command.
  crcenc: add flags
  avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.
  tiffenc: add a private option for selecting compression algorithm
  md5enc: add flags
  ARM: remove needless .text/.align directives

Conflicts:
	doc/APIchanges
	libavcodec/tiffenc.c
	libavutil/avutil.h
	libavutil/samplefmt.c
	libavutil/samplefmt.h
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cdgraphics
	tests/ref/fate/film-cvid-pcm-stereo-8bit
	tests/ref/fate/mpeg2-field-enc
	tests/ref/fate/nuv
	tests/ref/fate/tiertex-seq
	tests/ref/fate/tscc-32bit
	tests/ref/fate/vmnc-32bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 03:32:24 +01:00
Justin Ruggles
c1848c4b26 pcmdec: remove unneeded resetting of samples pointer 2011-11-23 16:26:15 -05:00
Anton Khirnov
3eedd29bd7 bethsoftvideo: return proper consumed size for palette packets.
Also check for sufficient packet size.
2011-11-23 21:58:30 +01:00
Anton Khirnov
a94c769dad tiffenc: add a private option for selecting compression algorithm 2011-11-23 20:29:25 +01:00
Mans Rullgard
3a0b72dee0 ARM: remove needless .text/.align directives
The 'function' macro already includes the appropriate
directives.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-23 15:06:50 +00:00
Michael Niedermayer
0b9a69f244 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  aacdec: Fix PS in ADTS.
  avconv: Consistently use PIX_FMT_NONE.
  dsputil: use cpuflags in x86 emu_edge_core
  dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
  wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
  mov: Remove some redundant and obsolete comments.
  Add libavutil/mathematics.h #includes for INFINITY
  doxy: structure libavformat groups
  doxy: introduce an empty structure in libavcodec
  doxy: provide a start page and document libavutil
  doxy: cleanup pixfmt.h
  regtest: split video encode/decode tests into individual targets
  ARM: add explicit .arch and .fpu directives to asm.S
  pthread: do not touch has_b_frames
  avconv: cleanup the transcoding loop in output_packet().
  avconv: split subtitle transcoding out of output_packet().
  avconv: split video transcoding out of output_packet().
  avconv: split audio transcoding out of output_packet().
  avconv: reindent.
  avconv: move streamcopy-only code out of decoding loop.
  ...

Conflicts:
	avconv.c
	libavcodec/aaccoder.c
	libavcodec/pthread.c
	libavcodec/version.h
	libavutil/audioconvert.h
	libavutil/avutil.h
	libavutil/mem.h
	tests/ref/vsynth1/dv
	tests/ref/vsynth1/mpeg2thread
	tests/ref/vsynth2/dv
	tests/ref/vsynth2/mpeg2thread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 04:02:17 +01:00
Alex Converse
963f685535 aacdec: Fix PS in ADTS.
Fixes File1.aac and Bug 80.
2011-11-22 14:33:11 -08:00
Justin Ruggles
0e8fdd41c2 dsputil: use cpuflags in x86 emu_edge_core
avoids passing around the extra argument among all the macros it uses
2011-11-22 15:40:51 -05:00
Justin Ruggles
395f2e70dd dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
This allows emulated_edge_mc_sse() and gmc_sse() to be used under
AV_CPU_FLAG_SSE.
2011-11-22 15:40:51 -05:00
Michael Niedermayer
b429440d85 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall:
  call revert_cdlms()
  Fix some loop conditions to prevent overreads
  Initialize pred in lms_predict()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-22 21:32:11 +01:00
Justin Ruggles
05d1e45d1f 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.
2011-11-22 13:50:18 -05:00
Mans Rullgard
85770d6e56 Add libavutil/mathematics.h #includes for INFINITY
This fixes build errors in some environments.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 16:36:44 +00:00
Luca Barbato
e97e5a2e02 doxy: introduce an empty structure in libavcodec 2011-11-22 17:16:02 +01:00
Mans Rullgard
8ee2b4672f ARM: add explicit .arch and .fpu directives to asm.S
This prevents build errors when compiler and assembler default
targets differ.  Ideally each file would declare the highest
level it requires.  This is however not easily possible as it
complicates assembling pre-armv6t2 code in Thumb-2 mode.

HAVE_NEON is used as indicator for ARMv7-A since no other
symbol exists for this and NEON is only available in this
variant.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 12:13:02 +00:00
Janne Grunau
0945eddec0 pthread: do not touch has_b_frames
Adding the thread count in frame level multithreading to has_b_frames
as an additional delay causes more problems than it solves.
For example inconsistent behaviour during timestamp calculation in
libavformat.
Thread count and frame level multithreading are both set by the user.
If the additional delay caused by frame level multithreading needs
to be considered in the calling code it has all information to take
it into account.
Should it become necessary to calculate a maximum delay inside
libavcodec it should be exported as its own field and not reusing
an existing field.

Based on a patch by Michael Niedermayer.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-22 09:50:33 +01:00
Michael Niedermayer
7876f14f8b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pthread: add some malloc failure checks
  avconv: cosmetics, reformat transcode_init()
  avconv: rename 'os' variable to 'oc'
  doc/filters: fix some typos.
  configure: add libpulse to help output

Conflicts:
	avconv.c
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-22 02:54:50 +01:00
ami_stuff
cf14c82227 [PATCH] IFF Amiga Continuous Bitmap (ACBM)decoder
Some sample IFF ACBM files can be found here:

http://aminet.net/package/dev/basic/ABdemos

Thanks to Peter Ross for his help with this patch.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 23:06:53 +01:00
Michael Niedermayer
7f6a019096 Merge remote-tracking branch 'mjbshaw/master'
* mjbshaw/master:
  Applied patches from Michael Niedermayer to clean up the code
  Added support for J2K encoding with libopenjpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 23:04:02 +01:00
Mashiat Sarker Shakkhar
ea0323b0fa call revert_cdlms() 2011-11-22 01:03:15 +06:00
Mashiat Sarker Shakkhar
6cf31ef263 Fix some loop conditions to prevent overreads 2011-11-22 01:01:30 +06:00
Mashiat Sarker Shakkhar
a3a8d5e0c1 Initialize pred in lms_predict() 2011-11-22 00:54:01 +06:00
Clément Bœsch
2f0f9a87d0 Fix various if parenthesis misplacements. 2011-11-21 19:35:33 +01:00
Michael Niedermayer
4931c8f0f1 svq1dec: call avcodec_set_dimensions() after dimensions changed.
Fixes NGS00148

Found-by: Phillip Langlois
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 16:39:34 +01:00
Michael Niedermayer
eef5c35b43 vp3dec: Check coefficient index in vp3_dequant()
Fixes NGS00145

Found-by: Phillip Langlois
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 16:39:34 +01:00
Michael Niedermayer
895d258e9b qdm2dec: fix buffer overflow.
Fixes NGS00144

Thanks to Phillip for suggestions to improve the patch.
Found-by: Phillip Langlois
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 16:36:49 +01:00
Justin Ruggles
a8fe9a7242 pthread: add some malloc failure checks 2011-11-21 10:18:25 -05:00
Michael Niedermayer
919c00ba5a alsdec: update checked AV_EF flags.
A user who wishes to use default error concealment cannot set the
AV_EF_CRCCHECK flag because not every CRC in every format is a
reliable indicator of bitstream damage. In some formats crcrs
can be nonsensical in absence of any damage. We thus add the
AV_EF_CAREFUL flag in addition to the AV_EF_CRCCHECK flag to
allow a user to enable this reliable CRC check without having to
enable all CRC checks in all formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 15:51:53 +01:00
Michael Niedermayer
833a195905 h264: Fix invalid interlaced progressive MB combinations for direct mode prediction.
Fixes Ticket312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 02:18:47 +01:00
Michael Niedermayer
15a686b714 h263: make default color black, like flv
Fixes Ticket126

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-20 20:40:22 +01:00
Michael Niedermayer
50d6f81956 mpegvideo: dont use ff_mspel_motion() for vc1
Fixes Ticket655

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-20 17:19:25 +01:00
Michael Niedermayer
34465bbcb4 Merge remote-tracking branch 'shariman/wmall'
* shariman/wmall: (24 commits)
  Clean-up
  dump_int_buffer() to dump samples from a buffer
  Implement revert_cdlms()
  Doxy for reset_codec()
  Store transient state and position of transient area
  Implement use_high_update_speed() and use_normal_update_speed()
  Initialize num_logged_tiles and remove unnecessary codes
  Log index for each line of output
  Log tile size
  Output decoded residues
  Replace placeholders with actual calls to clear_codec_buffers() and reset_codec()
  Implement lms_update()
  Implement lms_predict()
  Implement reset_codec()
  Add missing syntax elements to WmallDecodeCtx
  Add .recent syntax element to cdlms struct
  Implement clear_codec_buffers()
  Add buffers to context necessary for reverting cdmls and mclms filter
  Use avpriv_copy_bits() instead of ff_copy_bits()
  Cosmetics
  ...

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-20 15:43:19 +01:00
Mashiat Sarker Shakkhar
7a9807dea4 Clean-up 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
3e2f664b99 dump_int_buffer() to dump samples from a buffer 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
caf9eb85b1 Implement revert_cdlms() 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
d47782df26 Doxy for reset_codec() 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
3e4901b24e Store transient state and position of transient area 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
3f3d2b5f65 Implement use_high_update_speed() and use_normal_update_speed() 2011-11-20 14:51:40 +06:00
Mashiat Sarker Shakkhar
1e0db1c52a Initialize num_logged_tiles and remove unnecessary codes 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
5b2680a2af Log index for each line of output 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
a7c31f1595 Log tile size 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
d5aef477e6 Output decoded residues 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
f3d349f697 Replace placeholders with actual calls to clear_codec_buffers() and reset_codec() 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
269a0dee19 Implement lms_update() 2011-11-20 14:51:39 +06:00
Mashiat Sarker Shakkhar
0faae518e9 Implement lms_predict() 2011-11-20 14:51:39 +06:00