1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

15467 Commits

Author SHA1 Message Date
Justin Ruggles
04b24cf94b dpcm: output AV_SAMPLE_FMT_U8 for Sol DPCM subcodecs 1 and 2.
Uses the native sample format for the codec instead of left-shifting all
samples by 8.
2011-09-30 18:15:52 -04:00
Justin Ruggles
76db17dc7d dpcm: calculate and check actual output data size prior to decoding. 2011-09-30 18:15:52 -04:00
Justin Ruggles
3db8db406f dpcm: factor out the stereo flag calculation 2011-09-30 18:15:52 -04:00
Justin Ruggles
b09c7eefb7 dpcm: cosmetics: rename channel_number to ch
Make the code easier to read.
2011-09-30 18:15:52 -04:00
Reimar Döffinger
812010c17e Remove unused variable.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-09-30 23:33:43 +02:00
Carl Eugen Hoyos
bcb1555489 dxva2_h264: pass the correct 8x8 scaling lists
Copy the Inter 8x8 scaling list as second 8x8 matrix into DXVA2's
quantization matrix data structure instead of a potentially unset
Intra chroma scaling matrix.

Fix dxva2 decoding for some H264 samples.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-30 20:15:17 +02:00
Mans Rullgard
bf5d46d8e6 dca: NEON optimised high freq VQ decoding
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-30 19:01:23 +01:00
Justin Ruggles
6326afd5e9 avcodec: reject audio packets with NULL data and non-zero size
There is no valid reason the user should ever send such packets in the
first place, but the documentation for CODEC_CAP_DELAY states that the
codec is guaranteed not to get a NULL packet unless that capability is
set. That isn't true without preventing this case.
2011-09-30 11:02:50 -04:00
Jean First
f65c6f751f Enable multithreding when decoding with libopenjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 15:40:56 +02:00
Jean First
125ea3ee06 Warn the user if lowres > max_lowres, set lowres to max_lowres and continue
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 15:30:35 +02:00
Joakim Plate
dcce09d64b dxva: Add ability to enable workaround for older ATI cards
The workaround needs to be enabled per PCI ID which cannot be detected inside
libavcodec. So add a flag to manually enable the alternate behavior.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-30 11:17:53 +02:00
Laurent Aimar
f42b3195d3 Fix out of bound writes in fix_bitshift() of the shorten decoder.
The data pointers s->decoded[*] already take into account s->nwrap.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 04:14:23 +02:00
Michael Niedermayer
c329972687 g729: dont force all cpu optims to off but override just the one that doesnt work.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 03:02:02 +02:00
Michael Niedermayer
8045af65d4 ppc: fix usage of dsp_mask
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:43:20 +02:00
Michael Niedermayer
30ba924bc8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dca: clear inactive subbands only once in qmf_32_subbands()
  vf_unsharp: set default chroma size value to 5x5
  vf_unsharp: fix out-of-buffer read

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:19:36 +02:00
Laurent Aimar
5d7e3d7167 Check for out of bound reads in the Tiertex Limited SEQ decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:09:59 +02:00
Laurent Aimar
62234a4d3a Fix the size of workspace buffers in the motion pixels decoder.
Some buffers must be mod 4 in width and/or height.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:09:59 +02:00
Laurent Aimar
e60619f9b4 Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of the temporary buffer used in motion pixels decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:09:59 +02:00
Laurent Aimar
3035c4034b Check for out of bounds writes in the Delphine Software International CIN decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:09:58 +02:00
Laurent Aimar
8e5f093c2c Check for out of bounds reads in the Delphine Software International CIN decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:09:57 +02:00
Laurent Aimar
44e2f0c3cd Check for out of bound reads in the QuickDraw decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 02:09:57 +02:00
Michael Niedermayer
9cff6d9eff libstagefright: change Libav to FFmpeg in copyright header with permission of author.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-30 00:08:20 +02:00
Laurent Aimar
c8b835954a Check for out of bound reads in xan_huffman_decode() of the xan decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 23:21:15 +02:00
Justin Ruggles
e562fbd003 adpcm: move codec-specific variable declarations to the sections for the corresponding codecs. 2011-09-29 16:54:01 -04:00
Justin Ruggles
9662539c10 adpcm: check buffer size in Funcom ISS decoder before reading header.
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
ba5d2890d7 adpcm: simplify reading of Funcom ISS frame header. 2011-09-29 16:54:01 -04:00
Justin Ruggles
5c9eb4fabb adpcm: check buffer size in IMA DK4 decoder before reading header.
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
a57ea1a87e adpcm: simplify reading of IMA DK4 frame header. 2011-09-29 16:54:01 -04:00
Justin Ruggles
8114f94ac9 adpcm_ms: clean up reading of predictor coefficients 2011-09-29 16:54:01 -04:00
Justin Ruggles
943f4db552 adpcm_4xm: process planar packets sequentially rather than simultaneously.
Also properly clip the right channel step_index.
2011-09-29 16:54:00 -04:00
Justin Ruggles
119974b164 adpcm_ima_wav: process channel-interleaved blocks sequentially rather than simultaneously.
Speeds up the ADPCM IMA WAV decoder by 15-20% overall.
2011-09-29 16:54:00 -04:00
Justin Ruggles
7c287b18a0 adpcm: update reference links
Add Multimedia Wiki link.
Mark dead links with [dead]. Some can still be accessed through archive.org.
Update URLs for pages which have moved.
Replace duplicated links in adpcmenc.c with a note to see the ADPCM decoder
reference documents.
2011-09-29 16:54:00 -04:00
Justin Ruggles
ac94b8bcc6 adpcm: simplify packet size bounds checking in the ADPCM IMA QT decoder.
This is easier to understand. It also avoids returning existing samples mixed
with new samples when the packet is too small.
2011-09-29 16:54:00 -04:00
Justin Ruggles
de0b586a87 adpcm: simplify and speed up several ADPCM decoders. 2011-09-29 16:54:00 -04:00
Justin Ruggles
5a9ed7c110 adpcm: pretty-print tables 2011-09-29 16:54:00 -04:00
Michael Niedermayer
04b4353f07 g723.1: very minor simplify of gen_acb_excitation()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:50:59 +02:00
Michael Niedermayer
631eee6e90 g723.1: use MULL(a,b,15) for MULL2()
idea by vitor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:46:37 +02:00
Michael Niedermayer
cb58adaaa3 g723.1: simplify scale_vector()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:44:04 +02:00
Michael Niedermayer
431f8af824 g723.1: replace loop of normalize_bits( by av_log2()
idea by vitor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:44:03 +02:00
Vitor Sessak
6e505547f1 g723.1: cleanup square_root()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:44:03 +02:00
Michael Niedermayer
c02c52f7b2 g723.1_ use skip_bits1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:44:03 +02:00
Michael Niedermayer
fac3ac3970 g723.1: use get_bits1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:44:03 +02:00
Michael Niedermayer
11512367d3 celp_math: cleanup ff_dot_product()
based on code & idea by vitor

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 21:44:03 +02:00
Mohamed Naufal Basheer
f990dc374e Add the G723.1 demuxer and decoder 2011-09-29 21:44:03 +02:00
Mohamed Naufal Basheer
da43980fa5 Add G.723.1 decoder data tables 2011-09-29 21:44:03 +02:00
Mohamed Naufal Basheer
a82c6238ae Add dot_product function for use by the G.723.1 decoder 2011-09-29 21:44:03 +02:00
Mohamed Naufal Basheer
bcc67dffa0 Add a shift parameter to celp_lp_synthesis_filter for reuse by the G.723.1 decoder 2011-09-29 21:43:52 +02:00
Alex Converse
fcbe421cee prores: Handle 0 or fewer bits left
show_bits() is undefined when the number of bits is less than or equal to
zero.
2011-09-29 09:45:57 -07:00
Mans Rullgard
bf00a73ace dca: clear inactive subbands only once in qmf_32_subbands()
Writing zeros to the high entries in the array need only be
done once as the cutoff position is constant throughout the
loop.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-29 12:34:17 +01:00
Laurent Aimar
b4483a531a Check for unsupported parameters in ff_j2k_dwt_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 06:11:18 +02:00
Laurent Aimar
02660a8713 Check for out of bound reads in jpeg 2000 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 06:11:18 +02:00
Laurent Aimar
41b7389cad Prevent calling init_vlc() with invalid parameters in motionpixels decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 06:11:18 +02:00
Laurent Aimar
56ee5a9ad1 Prevent NULL dereference when the palette is missing in the xan decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 06:11:18 +02:00
Laurent Aimar
5279141c1d Fixed out of bound accesses in xan_unpack() of the xan decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 06:11:18 +02:00
Michael Niedermayer
f9a2d0c3fe Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  avconv: Reformat s16 volume adjustment.
  ARM: NEON optimised vector_fmac_scalar()
  dca: use vector_fmac_scalar from dsputil
  dsputil: add vector_fmac_scalar()
  latmenc: Fix private options
  vf_unsharp: store hsub/vsub in the filter context
  vf_unsharp: adopt a more natural order of params in apply_unsharp()
  vf_unsharp: rename method "unsharpen" to "apply_unsharp"
  vf_scale: apply the same transform to the aspect during init that is applied per frame
  vf_pad: fix "vsub" variable value computation
  vf_scale: add a "sar" variable
  lavfi: fix realloc size computation in avfilter_add_format()
  vsrc_color: use internal timebase
  lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()
  graphparser: prefer void * over AVClass * for log contexts
  avfiltergraph: use meaningful error codes
  avconv: Initialize return value for codec copy path.
  fate: use 'run' helper for seek-test
  fate: remove seek-mpeg2reuse test
  Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080.
  ...

Conflicts:
	doc/filters.texi
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/avfiltergraph.h
	libavfilter/graphparser.c
	libavfilter/vf_scale.c
	libavfilter/vsrc_color.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 01:11:01 +02:00
Michael Niedermayer
237d31e0b9 h264: fix FIXME and use list_count in ff_h264_fill_mbaff_ref_list()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 22:28:47 +02:00
Michael Niedermayer
dc9ce40069 h264: More correct ref_count check in decode_slice_header()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 22:28:47 +02:00
Carl Eugen Hoyos
75f26a6f0b Use "JPEG 2000" as long name for j2k. 2011-09-28 18:43:49 +02:00
Nicolas George
769298a686 libvpxenc: Replace av_realloc by av_realloc_f when relevant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 18:13:52 +02:00
Nicolas George
198ed6474d bitstream: Replace av_realloc by av_realloc_f when relevant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 18:13:52 +02:00
Michael Niedermayer
e89f58810d libx264: remove check_default_settings()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 18:13:52 +02:00
Mans Rullgard
baf6b738f2 ARM: NEON optimised vector_fmac_scalar()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:09 +01:00
Mans Rullgard
a92a1b93b4 dca: use vector_fmac_scalar from dsputil
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:09 +01:00
Mans Rullgard
fcca826a63 dsputil: add vector_fmac_scalar()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:08 +01:00
Nicolas George
6d98e2db35 j2kdec: use correct printf format.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 16:11:01 +02:00
Michael Niedermayer
7393b41744 j2kenc: Fix pointer<->integer casts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 15:25:04 +02:00
Michael Niedermayer
5a6e7771ed h264: dont set key_frame when the frame is not a real keyframe.
Fixes Ticket514

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 03:47:39 +02:00
Laurent Aimar
1f024b8820 Check for out of bound reads in the flic decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 02:59:28 +02:00
Laurent Aimar
feca3ba053 Prevent out of bound accesses in the xan decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 01:04:52 +02:00
Laurent Aimar
b9596a5037 Check for invalid/corrupted bitstream in sun raster decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 00:52:37 +02:00
Laurent Aimar
19e95b8845 Prevent NULL dereferences when missing the reference frame in the xan decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 00:49:25 +02:00
Laurent Aimar
039f3c33ff Check for out of bounds reads in sun rasterfile decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 00:24:51 +02:00
Laurent Aimar
61930119cb Check for corrupted extra data in wmavoice decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 00:20:04 +02:00
Laurent Aimar
e09ae22ab7 Check for out of bound writes in the wmavoice decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 00:18:38 +02:00
Laurent Aimar
66aae97a60 Prevent NULL dereferences when missing the reference frame in the bink decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 23:45:37 +02:00
Michael Niedermayer
2fbf691038 j2kenc: Fix use of value before its initialized.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 21:32:39 +02:00
Michael Niedermayer
398b5327a3 j2kenc: only list pixel formats that fully work currently.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 21:32:39 +02:00
Michael Niedermayer
2214a67de5 j2kenc: fix colors on yuv444
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 21:32:39 +02:00
Michael Niedermayer
34ac8ec2ea j2kenc: enable 4:2:0 YUV it works as "well" as the other subsampled yuv formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:19 +02:00
Michael Niedermayer
c4b269c5c6 build system: enable j2kenc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:19 +02:00
Michael Niedermayer
e6aed5f404 j2kenc: fix coded_frame and prevent null pointer dereference.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:19 +02:00
Michael Niedermayer
40923e1567 j2kenc: Update ff_j2k_init_component() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:19 +02:00
Michael Niedermayer
2f16b6a525 j2kenc: fix arguments for ff_j2k_getnbctxno()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:19 +02:00
Michael Niedermayer
0db973e0d7 j2kenc: mark as experimental.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:19 +02:00
Michael Niedermayer
1c20a0b354 j2kenc: s/CODEC_TYPE_VIDEO/AVMEDIA_TYPE_VIDEO/
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:18 +02:00
Michael Niedermayer
de89bc994c j2kenc: update codec name to modern ffmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:18 +02:00
Michael Niedermayer
1e086fd730 j2kenc: cleanup() is not used outside thus it is static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:18 +02:00
Michael Niedermayer
c153c00367 j2kenc: update function name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 19:30:18 +02:00
Laurent Aimar
254af56dd1 Check for out of bound writes when building tree in bink decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 15:15:54 +02:00
Laurent Aimar
36bf135d4c Check for various out of bound writes in the bink decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 15:15:54 +02:00
Michael Niedermayer
7c1aba4f01 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  fate: allow testing with libavfilter disabled
  x86: XOP/FMA4 CPU detection support
  ws_snd: misc cosmetic clean-ups
  ws_snd: remove the 2-bit ADPCM table and just subtract 2 instead.
  ws_snd: use memcpy() and memset() instead of loops
  ws_snd: use samples pointer for loop termination instead of a separate iterator variable.
  ws_snd: make sure number of channels is 1
  ws_snd: add some checks to prevent buffer overread or overwrite.
  ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
  flacdec: fix buffer size checking in get_metadata_size()
  rtp: Simplify ff_rtp_get_payload_type
  rtpenc: Add a payload type private option
  rtp: Correct ff_rtp_get_payload_type documentation
  avconv: replace all fprintf() by av_log().
  avconv: change av_log verbosity from ERROR to FATAL for fatal errors.
  cmdutils: replace fprintf() by av_log()
  avtools: parse loglevel before all the other options.
  oggdec: add support for Xiph's CELT codec
  sol: return error if av_get_packet() fails.
  cosmetics: reindent and pretty-print
  ...

Conflicts:
	avconv.c
	cmdutils.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/oggparsecelt.c
	libavformat/utils.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 02:14:37 +02:00
Laurent Aimar
c2a016ad4d Reset internal state on corrupted blocks in wavpack decoder.
wavpack_decode_block() supposes that it is called back with the exact
same buffer unless it has returned with an error. With multi-channels
files, wavpack_decode_frame() was breaking this assumption.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 01:07:58 +02:00
Laurent Aimar
fc64434030 Validate the number of audio channels before using it in wmapro decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-27 01:07:58 +02:00
Justin Ruggles
3d371f417e ws_snd: misc cosmetic clean-ups 2011-09-26 16:23:58 -04:00
Justin Ruggles
659c719bc7 ws_snd: remove the 2-bit ADPCM table and just subtract 2 instead. 2011-09-26 16:23:15 -04:00
Justin Ruggles
618b067d21 ws_snd: use memcpy() and memset() instead of loops 2011-09-26 16:23:14 -04:00
Justin Ruggles
6896aa7a38 ws_snd: use samples pointer for loop termination instead of a separate
iterator variable.
2011-09-26 16:23:14 -04:00
Justin Ruggles
6a818cb3ff ws_snd: make sure number of channels is 1 2011-09-26 16:23:10 -04:00
Justin Ruggles
417364ce1f ws_snd: add some checks to prevent buffer overread or overwrite. 2011-09-26 15:49:50 -04:00
Justin Ruggles
2322ced8da ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
8-bit unsigned is the native sample format.
2011-09-26 15:49:50 -04:00
Justin Ruggles
4c5e7b27d5 flacdec: fix buffer size checking in get_metadata_size()
Adds an additional check before reading the next block header and avoids a
potential integer overflow when checking the metadata size against the
remaining buffer size.
2011-09-26 15:29:45 -04:00
Michael Niedermayer
d5a3635b2c libx264: free x4->sei
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-26 18:53:12 +02:00
Mike Scheutzow
e2dae1faa8 Fix a buffer overflow in libx264 interface to x264 encoder. Previous code ignored the compressed buffer size passed in. This change returns as many complete NALs as can fit in the buffer, and logs an error message.
Signed-off-by: Mike Scheutzow <mike.scheutzow@alcatel-lucent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-26 18:48:38 +02:00
Nicolas George
4ca59d1948 oggdec: add support for Xiph's CELT codec
This patch also introduces CODEC_ID_CELT.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-09-26 13:51:29 +02:00
tipok
cbf914cf16 libaac+ support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-26 02:28:21 +02:00
Aurelien Jacobs
023e9960d7 mjpegenc: use named struct initializers 2011-09-26 00:24:38 +02:00
Michael Niedermayer
f85c9b7771 h264dec: fix decoding problems introduced with baad01d8b4.
This affected cases where extradata was not set.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 23:51:32 +02:00
Michael Niedermayer
537a9e5cc2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: fix some pointer to integer casts
  ppc: fix 32-bit PIC build
  vmdaudio: fix decoding of 16-bit audio format.
  lavf: do not set codec_tag for rawvideo
  h264: check for out of bounds reads in ff_h264_decode_extradata().
  flvdec: Check for overflow before allocating arrays
  avconv: use correct output stream index when checking max_frames
  avconv: remove fake coded_frame on streamcopy hack

Conflicts:
	avconv.c
	libavcodec/h264.c
	libavcodec/ppc/asm.S
	libavcodec/vmdav.c
	libavformat/flvdec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 23:30:25 +02:00
Laurent Aimar
508e47a575 Check for out of bound bands limit in mpc v8 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 23:01:44 +02:00
Vitor Sessak
02aabd820f g729dec: avoid unnecessary struct copying
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 23:01:43 +02:00
Vitor Sessak
22dd24fc7d g729dec: remove useless headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 23:01:43 +02:00
Vitor Sessak
58c61492c6 g729dec: fix warnings:
libavcodec/g729postfilter.c: In function ‘long_term_filter’:
libavcodec/g729postfilter.c:114: warning: unused variable ‘n’

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 21:17:22 +02:00
Vitor Sessak
82d99e0b41 g729dec: Fix warnings:
libavcodec/g729dec.c: In function ‘decode_frame’:
libavcodec/g729dec.c:662: warning: passing argument 3 of ‘ff_g729_postfilter’ from incompatible pointer type
libavcodec/g729postfilter.h:96: note: expected ‘int16_t *’ but argument is of type ‘int *’

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 21:16:55 +02:00
Vitor Sessak
1c4712db81 g729dec: Add ff_ prefix to g729_postfilter() and g729_adaptive_gain_control()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 21:13:19 +02:00
Justin Ruggles
88f908fbdc cosmetics: reindent and pretty-print 2011-09-25 14:38:08 -04:00
Justin Ruggles
8febd6afbc libgsm: split init and close fuctions for encoder and decoder.
The decoder shouldn't be allocating coded_frame. It's also cleaner to split
them than to check avctx->codec->encode and avctx->codec->decode.
2011-09-25 14:38:08 -04:00
Mans Rullgard
6e4a35ced9 ppc: fix 32-bit PIC build
On 32-bit ppc, the GOT pointer must be loaded manually.
This adds a "get_got" assembler macro to compute the
GOT address.  The "movrel" macro is updated to take an
additional parameter containing the GOT address since
no register is reserved for this purpose on ppc32.
These changes have no effect on ppc64 builds.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-25 17:27:48 +01:00
Carl Eugen Hoyos
ef8756dab2 Support LZW and ZLIB compressed 4bpp tiff samples.
Fixes ticket #439 and ticket #440.
2011-09-25 17:21:46 +02:00
Alexander Strasser
baad01d8b4 h264: improve checks before calling ff_h264_decode_extradata
The ff_h264_decode_extradata routine now checks for the buffer size
and pointer internally. This makes it possible to remove the external
checks in ff_h264_decode_init.

  In decode_frame there was a size check missing because the buffer
gets tested prior to the invocation of ff_h264_decode_extradata().

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2011-09-25 17:16:44 +02:00
Alexander Strasser
715f259bf9 h264: ff_h264_decode_extradata: check buffer args
The buffer size and pointer were not checked prior to testing the first
byte of the buffer. These were sometimes checked before calling, but it is
better to add it inside the function as it takes buf and size arguments.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2011-09-25 17:16:44 +02:00
Jean First
251345a3fe cosmetics, remove unused and rename variables for consistency 2011-09-25 16:43:23 +02:00
Justin Ruggles
4568c2bf97 vmdaudio: fix decoding of 16-bit audio format.
The initial sample of each block is raw 16-bit PCM, not DPCM.
Fixes decoding of all samples in:
http://streams.videolan.org/samples/game-formats/sierra-vmd/Lighthouse/
2011-09-25 10:39:00 -04:00
Jean First
1a0770f3f7 tiffenc: Enable RGB48LE (16-bit) encoding support 2011-09-25 16:14:33 +02:00
Jean First
72381b2b47 tiffdec: add RGB48 (16bit) support 2011-09-25 16:00:04 +02:00
Laurent Aimar
d1186ff72d h264: check for out of bounds reads in ff_h264_decode_extradata().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-25 15:04:58 +02:00
Michael Niedermayer
035320a52f dnxhdenc: remove unneeded entries from array.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 14:56:40 +02:00
Michael Niedermayer
b8bad984ef dnxhdenc: optimize whats left of dnxhd_switch_matrix()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 13:06:04 +02:00
Michael Niedermayer
a2eae0ffd4 amvenc: another quant table fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 12:29:20 +02:00
Michael Niedermayer
2aaf32f52f mpegvideo: support encoding with chroma intra tables that differ from luma.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 12:29:20 +02:00
Michael Niedermayer
a2f27818b5 amvenc: fix quant tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 04:33:58 +02:00
Michael Niedermayer
f2f28861da AMV video encoder.
Authors are Vladimir Voroshilov and Dobrica Pavlinušić based on svn blame/log
For full details of authorship see http://code.google.com/p/amv-codec-tools/

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 04:33:16 +02:00
Laurent Aimar
35cb6854bb Fix potential pointer arithmetic overflows in rle_unpack() of vmd video decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 00:42:42 +02:00
Laurent Aimar
4749e07498 Fix out of bound reads in rle_unpack() of vmd video decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 00:42:06 +02:00
Laurent Aimar
e07377e736 Check for out of bound reads in vmd_decode() of vmd video decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 00:34:39 +02:00
Laurent Aimar
78cb39d2b2 Fix potential pointer arithmetic overflows in lz_unpack of vmd video decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 00:27:29 +02:00
Laurent Aimar
5127f465bd Prevent out of bound read in lz_unpack in vmd video decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 00:25:42 +02:00
Laurent Aimar
6a6383bebc Prevent NULL dereferences when the previous frame is missing in vmd video decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 23:42:49 +02:00
Laurent Aimar
e7aed1280e Check for invalid update parameters in vmd video decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 23:42:49 +02:00
Laurent Aimar
00cbe9e405 Fix potential overread in vmd audio decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 23:42:49 +02:00
Michael Niedermayer
eae3cf06a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flvdec: Fix invalid pointer deferences when parsing index
  configure: disable hardware capabilities ELF section with suncc on Solaris x86
  Use explicit struct initializers for AVCodec declarations.
  Use explicit struct initializers for AVOutputFormat/AVInputFormat declarations.
  adpcmenc: Set bits_per_coded_sample
  adpcmenc: fix QT IMA ADPCM encoder
  adpcmdec: Fix QT IMA ADPCM decoder
  permit decoding of multichannel ADPCM_EA_XAS
  Fix input buffer size check in adpcm_ea decoder.
  fft: avoid a signed overflow
  mpegps: Handle buffer exhaustion when reading packets.

Conflicts:
	libavcodec/adpcm.c
	libavcodec/adpcmenc.c
	libavdevice/alsa-audio-enc.c
	libavformat/flvdec.c
	libavformat/mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 22:39:52 +02:00
Sascha Sommer
780d45473c Fix segfault in save_bits:
use put_bits_count to get the buffer fill state instead of
num_saved_bits as num_saved_bits is sometimes reset when
frames are lost
(Ticket 495)
2011-09-24 21:29:08 +02:00
Michael Niedermayer
43e05685f2 g729dec: disable all cpu acceleration, the code does not provide any alignment.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 21:11:01 +02:00
Michael Niedermayer
91c5f81b74 g729dec: set sample format.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 21:11:01 +02:00
Vladimir Voroshilov
5d5b3e527a Disable MMX 2011-09-24 21:11:01 +02:00
Vladimir Voroshilov
8db3b85616 Fix comments about implemented codecs 2011-09-24 21:11:01 +02:00
Vladimir Voroshilov
682337672c Adaptive gain control 2011-09-24 21:11:01 +02:00
Vladimir Voroshilov
aca516cd67 G.729 postfilter 2011-09-24 21:11:01 +02:00
Vladimir Voroshilov
16bbb8dfea Replace pitch_delay_int with array 2011-09-24 21:11:01 +02:00
Vladimir Voroshilov
bfbfe56f94 G.729 build environment 2011-09-24 21:11:00 +02:00
Michael Niedermayer
ce7c954800 g729dec: Make 2 functions static that are not used outside g729dec.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
c458bff934 High-pass filter 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
e610c5f383 Add G.729D decoder 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
b7c7fc3359 Synthesis filter 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
4920a1a913 Indentation fix after gain codes decoding2 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
0b42463aec Gain pitch and gain code for G729D 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
12081d0599 Indentation fix 2 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
f7980a7bed Convert gain pitch and gain code to arrays 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
f830d1b7da Interolate excitation signal 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
0a3337883f Fixed- and adaptive-codebook gains 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
7fadc0151c Frame erasure support for fixed-codebook vectors 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
9297c7822f Fixed-codebook vector decoding 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
70efd101f1 Add packet_type 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
50cad25625 Frame erasure support for pitch delay decoding 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
d1a643e749 Doxy for LSF erasure case 2011-09-24 21:11:00 +02:00
Vladimir Voroshilov
b29e5a6780 doxy comments for LSF array 2011-09-24 21:10:59 +02:00
Vladimir Voroshilov
cd3e2820d3 Indentation fix in LSF 2011-09-24 21:10:59 +02:00
Vladimir Voroshilov
388f225561 Frame erasure support for LSF decoding 2011-09-24 21:10:59 +02:00
Michael Niedermayer
a5e0c4ddb5 Revert "g729: Merge g729.h into g729dec.c."
This reverts commit a2077b85da.
2011-09-24 21:10:27 +02:00
Michael Niedermayer
0b61af7382 Restore WIP g729 code that has been remvoed by diego biurrun.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 19:39:18 +02:00
Laurent Aimar
1aad9cd9d2 vp56:Fix error recovery code on size changes in vp5/6 decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 19:13:37 +02:00
Laurent Aimar
91f104496b vp6:Reset the internal state when aborting key frames header parsing in vp6 decoder.
It prevents leaving the state only half initialized.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 19:13:37 +02:00
Laurent Aimar
57764c6996 h264: Check for out of bounds reads in ff_h264_decode_extradata().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 16:54:16 +02:00
Diego Biurrun
8671488799 Use explicit struct initializers for AVCodec declarations. 2011-09-24 12:11:19 +02:00
Jean First
9569a3c9f4 Add new pix_fmt RGBA64 2011-09-24 06:01:45 +02:00
Justin Ruggles
9ff6d0791b adpcmenc: Set bits_per_coded_sample 2011-09-23 20:54:29 -04:00
Baptiste Coudurier
b304244b54 adpcmenc: fix QT IMA ADPCM encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:29 -04:00
Baptiste Coudurier
bf334535b4 adpcmdec: Fix QT IMA ADPCM decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:28 -04:00
Peter Ross
3a549eb82b permit decoding of multichannel ADPCM_EA_XAS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:28 -04:00
Reimar Döffinger
ffe92ff9f0 Fix input buffer size check in adpcm_ea decoder.
Unfortunately the output buffer size check assumes that the
input buffer is never over-consumed, thus this actually
also allowed to write outside the output buffer if "lucky".

Based on:
git.videolan.org/ffmpeg.git
commit 701d0eb185
2011-09-23 20:54:28 -04:00
Sean McGovern
c2d3f56107 fft: avoid a signed overflow
As a signed integer, 1<<31 overflows, so force it to unsigned.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-09-23 17:02:58 -07:00
Michael Niedermayer
a7758884db Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtp: factorize  dynamic payload type fallback
  flvdec: Ignore the index if it's from a creator known to be different
  cmdutils: move grow_array out of #if CONFIG_AVFILTER
  avconv: actually set InputFile.rate_emu
  ratecontrol: update last_qscale_for sooner
  Fix unnecessary shift with 9/10bit vertical scaling
  prores: mark prores as intra-only in libavformat/utils.c:is_intra_only()
  prores: return more meaningful error values
  prores: improve error message wording
  prores: cosmetics: prettyprinting, drop useless parentheses
  prores: lowercase AVCodec name entry

Conflicts:
	cmdutils.c
	libavcodec/proresdec_lgpl.c
	tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-24 01:03:07 +02:00
Jean First
f7e797aa5c tiffenc: initialize forgotten avctx. 2011-09-23 23:39:51 +02:00
Jean First
43c481e569 tiffenc: Add forgotten avclass to context. 2011-09-23 23:39:26 +02:00
Michael Niedermayer
0bc5d4fd8b aacdec: fix channel reconfigs on LATM
Fixes Ticket200

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 22:41:10 +02:00
Michael Niedermayer
b6aaa6d9a0 aacdec: Make aac-latm closer to the spec (not reading random data leading to random false configurations)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 22:34:26 +02:00
Michael Niedermayer
ad51833a1a aacsbr: prevent multiple ff_aac_sbr_ctx_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 22:31:57 +02:00
Michael Niedermayer
abe0dbea2e aacsbr: add a assert0 to check for a inconsistency that
occurd during debug. I dont know if this can happen normally but if so
it would be quite bad.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 22:30:27 +02:00
Michael Niedermayer
9b73fbcff6 h264dec: Decode in stream avc extradata.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 06:01:45 +02:00
Michael Niedermayer
4ba396834d h264: pass buffer & size to ff_h264_decode_extradata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 06:01:45 +02:00
Michael Niedermayer
9815039053 aacdec: disable locking code for parse_adts_frame_header() non zero chan config.
This fixes changing channels
It possibly might cause regressions but i cant avoid this without having a test
case that needs the locking code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 02:43:57 +02:00
Luca Barbato
d554b33efe ratecontrol: update last_qscale_for sooner
In order to make ratecontrol converge properly update the
last_qscale_for values when populating the qscale array.

It fixes the issue reported on
http://lists.libav.org/pipermail/libav-tools/2011-September/000050.html
2011-09-22 17:25:48 -07:00
Diego Biurrun
167d3b1673 prores: return more meaningful error values 2011-09-23 01:42:13 +02:00
Diego Biurrun
2161282439 prores: improve error message wording 2011-09-23 01:42:12 +02:00
Diego Biurrun
27ba121e90 prores: cosmetics: prettyprinting, drop useless parentheses 2011-09-23 01:42:12 +02:00
Diego Biurrun
2983f1f3be prores: lowercase AVCodec name entry
All other codecs use lowercase names in that field.
2011-09-23 01:42:11 +02:00
Michael Niedermayer
93c220e895 forgot git add prores_*c
Authorship of the decoders is elvis / maxim. For more details see previous
comits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 01:12:29 +02:00
Michael Niedermayer
28d3738428 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add LATM demuxer
  avplay: flush audio decoder with empty packets at EOF if the decoder has CODEC_CAP_DELAY set.
  8svx/iff: fix decoding of compressed stereo 8svx files.
  8svx: log an error message if output buffer is too small
  8svx: check packet size before reading the initial sample value.
  8svx: output 8-bit samples instead of 16-bit.
  8svx: split delta decoding into a separate function.
  mp4: Don't read an empty Decoder Config Descriptor
  fate.sh: Ignore errors from rm command during cleanup.
  fate.sh: Run git-pull in quiet mode to avoid console spam.
  Apple ProRes decoder
  rtmp: Make the input FLV parser handle data cut at any point
  rv34: Check for invalid slices offsets
  eval: test isnan(sqrt(-1)) instead of just sqrt(-1)

Conflicts:
	Changelog
	libavcodec/8svx.c
	libavcodec/proresdec.c
	libavcodec/version.h
	libavformat/iff.c
	libavformat/version.h
	tests/ref/fate/eval

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 00:35:31 +02:00
Justin Ruggles
1993c6849c 8svx/iff: fix decoding of compressed stereo 8svx files.
Make the iff demuxer send the whole audio chunk to the decoder as a
single packet and move stereo interleaving from the iff demuxer to the
decoder.

Based on a patch by Stefano Sabatini.
git.videolan.org/ffmpeg.git
commit e280a4da2a
2011-09-22 14:11:34 -04:00
Justin Ruggles
fda459cee7 8svx: log an error message if output buffer is too small
Based on a patch by Stefano Sabatini.
git.videolan.org/ffmpeg.git
commit e280a4da2a
2011-09-22 14:11:34 -04:00
Justin Ruggles
0ac3b8fc4a 8svx: check packet size before reading the initial sample value. 2011-09-22 14:11:34 -04:00