Commit Graph

60 Commits

Author SHA1 Message Date
Michael Niedermayer
1eb7f39c7b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: error out on invalid bitdepth.
  aacsbr: use a swap index for the Y matrix rather than copy buffers.
  huffyuv: do not abort on unknown pix_fmt; instead, return an error.
  lcl: return negative error codes on decode_init() errors.
  rtpenc: Use MB info side data for splitting H263 packets for RFC 2190
  h263enc: Add an option for outputting info about MBs as side data
  avpacket: Add a function for shrinking already allocated side data
  nellymoserdec: Saner and faster IMDCT windowing

Conflicts:
	doc/APIchanges
	libavcodec/avpacket.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-01 23:11:31 +01:00
Christophe Gisquet
cc412b7104 aacsbr: use a swap index for the Y matrix rather than copy buffers.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-03-01 11:03:00 -08:00
Michael Niedermayer
c065255bba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacenc: Fix LONG_START windowing.
  aacenc: Fix a bug where deinterleaved samples were stored in the wrong place.
  avplay: use the correct array size for stride.
  lavc: extend doxy for avcodec_alloc_context3().
  APIchanges: mention avcodec_alloc_context()/2/3
  avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS.
  aacsbr: ARM NEON optimised sbrdsp functions
  aacsbr: align some arrays
  aacsbr: move some simdable loops to function pointers
  cosmetics: Remove extra newlines at EOF

Conflicts:
	libavcodec/utils.c
	libavfilter/formats.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 00:34:59 +01:00
Mans Rullgard
8996ed2b73 aacsbr: align some arrays
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-01-28 14:56:18 +00:00
Mans Rullgard
aac46e088d aacsbr: move some simdable loops to function pointers
This prepares for assembly optimisations by moving the most
time-consuming loops to functions called through pointers
in a new context.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-01-28 14:56:18 +00:00
Michael Niedermayer
0e7fc3cafe Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  rv34: frame-level multi-threading
  mpegvideo: claim ownership of referenced pictures
  aacsbr: prevent out of bounds memcpy().
  ipmovie: fix pts for CODEC_ID_INTERPLAY_DPCM
  sierravmd: fix audio pts
  bethsoftvideo: Use bytestream2 functions to prevent buffer overreads.
  bmpenc: support for PIX_FMT_RGB444
  swscale: fix crash in fast_bilinear code when compiled with -mred-zone.
  swscale: specify register type.
  rv34: use get_bits_left()
  avconv: reinitialize the filtergraph on resolution change.
  vsrc_buffer: error on changing frame parameters.
  avconv: fix -copyinkf.
  fate: Update file checksums after the mov muxer change in a78dbada55
  movenc: Don't store a nonzero creation time if nothing was set by the caller
  bmpdec: support for rgb444 with bitfields compression
  rgb2rgb: allow conversion for <15 bpp
  doc: fix stray reference to FFmpeg
  v4l2: use C99 struct initializer
  v4l2: poll the file descriptor
  ...

Conflicts:
	avconv.c
	libavcodec/aacsbr.c
	libavcodec/bethsoftvideo.c
	libavcodec/kmvc.c
	libavdevice/v4l2.c
	libavfilter/vsrc_buffer.c
	libswscale/swscale_unscaled.c
	libswscale/x86/input.asm
	tests/ref/acodec/alac
	tests/ref/acodec/pcm_s16be
	tests/ref/acodec/pcm_s24be
	tests/ref/acodec/pcm_s32be
	tests/ref/acodec/pcm_s8
	tests/ref/lavf/mov
	tests/ref/vsynth1/dnxhd_1080i
	tests/ref/vsynth1/mpeg4
	tests/ref/vsynth1/qtrle
	tests/ref/vsynth1/svq1
	tests/ref/vsynth2/dnxhd_1080i
	tests/ref/vsynth2/mpeg4
	tests/ref/vsynth2/qtrle
	tests/ref/vsynth2/svq1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-11 02:44:43 +01:00
Alex Converse
17ce52912f aacsbr: prevent out of bounds memcpy().
Fixes Libav Bug 195.

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

Based on change by Michael Niedermayer.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-01-10 13:13:34 -08: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
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
75a37b57a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  APIchanges: fill in date and commit for request_sample_fmt
  Add floating-point sample format support to the ac3, eac3, dca, aac, and vorbis decoders.
  Add support for request_sample_format in ffmpeg and ffplay.
  Add APIchanges entry for request_sample_fmt.
  Add request_sample_fmt field to AVCodecContext.
  Add float_interleave() to FmtConvertContext with x86-optimized versions.
  Remove unused make variable SEEK_REFFILE
  fate: remove redundant aref and vref references
  fate: remove do_ffmpeg_nocheck function
  fate: do not collect -benchmark output
  mpegaudiodec: remove decode_end() function
  fate: run aref and vref as regular tests
  mpegaudio: sanitise compute_antialias_* names
  mpeg12: add slice-threading checks to slice-threading initializers.
  h264: copy pixel_shift between slice threading contexts.
  mdec: enable frame-level multithreading.
  mdec.c: fix overread.

Conflicts:
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/dca.c
	libavcodec/h264.c
	libavcodec/mdec.c
	libavcodec/mpeg12.c
	libavcodec/options.c
	libavcodec/version.h
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-19 06:00:31 +02:00
Justin Ruggles
9aa8193a23 Add floating-point sample format support to the ac3, eac3, dca, aac, and vorbis
decoders.

Based on patches by clsid2 in ffdshow-tryout.
2011-05-18 17:27:06 -04:00
Michael Niedermayer
d7e5aebae7 Merge remote branch 'qatar/master'
* qatar/master: (23 commits)
  ac3enc: correct the flipped sign in the ac3_fixed encoder
  Eliminate pointless '#if 1' statements without matching '#else'.
  Add AVX FFT implementation.
  Increase alignment of av_malloc() as needed by AVX ASM.
  Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX.
  mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
  documentation: extend documentation for ffmpeg -aspect option
  APIChanges: update commit hashes for recent additions.
  lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
  aac: add headers needed for log2f()
  lavc: remove FF_API_MB_Q cruft
  lavc: remove FF_API_RATE_EMU cruft
  lavc: remove FF_API_HURRY_UP cruft
  pad: make the filter parametric
  vsrc_movie: add key_frame and pict_type.
  vsrc_movie: fix leak in request_frame()
  lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
  vsrc_buffer: add sample_aspect_ratio fields to arguments.
  lavfi: add fieldorder filter
  scale: make the filter parametric
  ...

Conflicts:
	Changelog
	doc/filters.texi
	ffmpeg.c
	libavcodec/ac3dec.h
	libavcodec/dsputil.c
	libavfilter/avfilter.h
	libavfilter/vf_scale.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_buffer.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 03:51:04 +02:00
Michael Niedermayer
30fe971934 aac: add headers needed for log2f()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 08:33:21 +02:00
Michael Niedermayer
3d462373f8 aac: add math.h needed for log2f()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-23 11:06:19 +02:00
Michael Niedermayer
d4a50a2100 Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-21 03:33:28 +01:00
Mans Rullgard
26f548bb59 fft: remove inline wrappers for function pointers
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:18 +00:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Alex Converse
4a7d992437 aac: remove dead SBR input scaling
It has been unused since 9d06d7bce3

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 916dee9f45)
2011-02-14 23:58:21 +01:00
Alex Converse
916dee9f45 aac: remove dead SBR input scaling
It has been unused since 9d06d7bce3

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 09:46:29 +00:00
Justin Ruggles
733dbe7d18 Remove the add bias hack for the C version of DSPContext.float_to_int16_*().
(cherry picked from commit 9d06d7bce3)
2011-01-28 03:15:35 +01:00
Justin Ruggles
9d06d7bce3 Remove the add bias hack for the C version of DSPContext.float_to_int16_*(). 2011-01-28 00:07:35 +00:00
Alex Converse
afa4248e4e aacsbr: Eliminate double precision arithmetic.
Originally committed as revision 24227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-13 00:49:30 +00:00
Alex Converse
fd6eb4a06c Move Parametric Stereo related ps* files to aacps*.
Originally committed as revision 23720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 19:29:03 +00:00
Alex Converse
cf3b4d9a78 aacsbr: Make dk signed. There is no point in it being unsigned.
Originally committed as revision 23671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-20 23:03:32 +00:00
Alex Converse
bd9e0e2905 10l: aacsbr: Fix f_master[2] calculation when k2diff == -1.
Originally committed as revision 23660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-20 19:24:18 +00:00
Alex Converse
a20639017b Add HE-AAC v2 support to the AAC decoder.
Originally committed as revision 23647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-19 14:14:51 +00:00
Alex Converse
bc330b5f15 Cosmetics: Fold constants and re-indent after last commit.
Originally committed as revision 23520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 02:02:16 +00:00
Alex Converse
712209d567 Base downsampled SBR synthesis filterbank on a single IMDCT.
Based on Han-Wen Hsu, et al. "Fast Complex Quadrature Mirror Filterbanks for
MPEG-4 HE-AAC"

Originally committed as revision 23519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 01:57:06 +00:00
Alex Converse
388c795531 10l: Fix types and now unused variables after last commit.
Originally committed as revision 23517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-07 22:55:58 +00:00
Alex Converse
932963b8e2 Rewrite the SBR decoder QMF analysis filter on top of the IMDCT instead of the RDFT.
This is based on a procedure to implement the filterbank on the DCT-IV described in
Hsu, H.W. et al. "A Complex Quadrature Mirror Filterbanks for MPEG-4 HE-AAC"
http://sites.google.com/site/wenchiehlee1020/Papers/ComplexFB_AES_121paper144.pdf

Originally committed as revision 23516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-07 21:52:08 +00:00
Alex Converse
dd8871a63b aacdec: Rename avccontext to avctx.
Originally committed as revision 23488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-05 15:22:19 +00:00
Alex Converse
17d5959998 10l: The SBR refactor requires the use of 2 independent output X buffers.
Originally committed as revision 23014 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-03 19:21:35 +00:00
Alex Converse
2d23fecd5d Enforce time border monotonicity.
Thanks to Chromium.

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

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

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

Originally committed as revision 22995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 21:43:23 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Alex Converse
ba659bedb8 Reindent read_sbr_extension.
Originally committed as revision 22820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:27:39 +00:00
Alex Converse
73c2704608 Print an error and skip PS when PS is found but explicitly found but
signaled to be absent.

Originally committed as revision 22819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-08 06:27:35 +00:00
Alex Converse
b3e5931d18 aacsbr: DSPUtilize analysis input scaling.
Originally committed as revision 22516 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 21:12:45 +00:00
Alex Converse
f8a93a2036 aac: Don't bias output during the IMDCT if SBR will be used.
Originally committed as revision 22515 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 21:12:10 +00:00
Alex Converse
6ebc724060 aacsbr: Check that bs_num_env is valid before writing arrays with it as an offset.
Originally committed as revision 22413 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:50:10 +00:00
Alex Converse
134b8cbb9a aacsbr: Cleanup read_sbr_grid and copy_sbr_grid after the recent overhaul of those functions.
Originally committed as revision 22412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:46:46 +00:00
Alex Converse
f7e7888b2a aacsbr: Factor out the common end border case from t_q setup.
Originally committed as revision 22411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:35:55 +00:00
Alex Converse
ac8d655a79 aacsbr: read bs_rel_bord directly into t_env.
Originally committed as revision 22410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 21:29:43 +00:00
Alex Converse
ecc1f8c3c8 aacsbr: Make the previous value of bs_num_env local to read_sbr_data().
Originally committed as revision 22409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 20:46:41 +00:00
Alex Converse
46751a65e3 aacsbr: Initialize e_a[1] to -1.
This triggers lAPrev (e_a[0]) on the first SBR frame to be -1. The spec is
somewhat ambiguous to what this value should be but this increases the accuracy
of al_sbr_e_44_1 and similar streams from 14 bits to 15 bits.

Originally committed as revision 22408 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 20:16:14 +00:00
Alex Converse
5889172087 aacsbr: Dead code removal.
Originally committed as revision 22387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 11:14:14 +00:00