ffmpeg.git
8 years agobuild: Skip compiling rtmpdh.h if ffrtmpcrypt protocol is not enabled
Diego Biurrun [Mon, 23 Jul 2012 21:53:34 +0000 (23:53 +0200)]
build: Skip compiling rtmpdh.h if ffrtmpcrypt protocol is not enabled

The ffrtmpcrypt protocol depends on external libraries, which are
also required to compile the header file.

8 years agodoc: Add Git configuration section
Diego Biurrun [Sun, 22 Jul 2012 13:11:25 +0000 (15:11 +0200)]
doc: Add Git configuration section

8 years agoconfigure: Add a dependency on https for rtmpts
Martin Storsjö [Mon, 23 Jul 2012 13:38:45 +0000 (16:38 +0300)]
configure: Add a dependency on https for rtmpts

The rtmpts protocol uses https implicitly, via the ffrtmphttp
protocol, but the ffrtmphttp protocol is also useable for plain
rtmpt without https, so the dependency needs to be added here instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortp: Only choose static payload types if the sample rate and channels are right
Adriano Pallavicino [Tue, 17 Jul 2012 07:51:13 +0000 (09:51 +0200)]
rtp: Only choose static payload types if the sample rate and channels are right

If using a different sample rate or number of channels, use a dynamic
payload type instead, where the parameters are passed in the SDP.

G722 is a special case where the normal rules don't apply.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agov410dec: Implement explode mode support
Derek Buitenhuis [Mon, 23 Jul 2012 15:03:58 +0000 (11:03 -0400)]
v410dec: Implement explode mode support

Try and decode broken files, but still fail if explode
mode is enabled.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8 years agozerocodec: fix direct rendering.
Reimar Döffinger [Sat, 21 Jul 2012 11:22:04 +0000 (13:22 +0200)]
zerocodec: fix direct rendering.

Set picture type before calling get_buffer.
This allows the DR application to make better decisions.
It also fixes a resource leak in case of missing reference frames
since it would call get_buffer but never release_buffer.
Also use FFSWAP to ensure that the AVFrame is properly initialized
in the next get_buffer (in particular that data[0] is NULL).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8 years agowav: init st to NULL to avoid a false-positive warning.
Clément Bœsch [Thu, 1 Sep 2011 18:06:05 +0000 (20:06 +0200)]
wav: init st to NULL to avoid a false-positive warning.

If st is NULL, it means no 'fmt ' tag is found, but 'data' tag (which
needs a previous 'fmt ' tag to be parsed correctly and st initialized)
check will make sure st is never dereferenced in that case.

Fixes warning:
    libavformat/wav.c: In function ‘wav_read_header’:
    libavformat/wav.c:499:44: warning: ‘st’ may be used uninitialized in this function [-Wmaybe-uninitialized]

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8 years agowavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
Hendrik Leppkes [Fri, 16 Dec 2011 21:43:35 +0000 (22:43 +0100)]
wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8 years agoh264: refactor NAL decode loop
Ronald S. Bultje [Mon, 23 Jul 2012 03:46:10 +0000 (20:46 -0700)]
h264: refactor NAL decode loop

Write out the NAL decoding loops in full so that they are easier
to parse for a preprocessor without it having to be aware of macros
or other such things in C code.

This also makes the code more readable.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
8 years agoRTMPTE protocol support
Samuel Pitoiset [Fri, 20 Jul 2012 14:36:47 +0000 (16:36 +0200)]
RTMPTE protocol support

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoRTMPE protocol support
Samuel Pitoiset [Thu, 19 Jul 2012 12:13:58 +0000 (14:13 +0200)]
RTMPE protocol support

This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPE protocol implementation uses ffrtmpcrypt:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortmp: Add ff_rtmp_calc_digest_pos()
Samuel Pitoiset [Thu, 5 Jul 2012 11:06:07 +0000 (13:06 +0200)]
rtmp: Add ff_rtmp_calc_digest_pos()

This function is used for calculating digest position for RTMP handshake
packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global
Samuel Pitoiset [Thu, 5 Jul 2012 11:05:46 +0000 (13:05 +0200)]
rtmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoswscale: add missing HAVE_INLINE_ASM check.
Ronald S. Bultje [Sun, 22 Jul 2012 20:55:58 +0000 (13:55 -0700)]
swscale: add missing HAVE_INLINE_ASM check.

The function called in this block is under HAVE_INLINE_ASM itself also.

8 years agolavfi: place x86 inline assembly under HAVE_INLINE_ASM.
Ronald S. Bultje [Sun, 22 Jul 2012 00:03:12 +0000 (17:03 -0700)]
lavfi: place x86 inline assembly under HAVE_INLINE_ASM.

This allows compiling this code using compilers that do not understand
gcc-style inline assembly.

8 years agovc1: Add a test for interlaced field pictures
Mashiat Sarker Shakkhar [Mon, 16 Jul 2012 07:45:23 +0000 (07:45 +0000)]
vc1: Add a test for interlaced field pictures

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8 years agoswscale: Mark all init functions as av_cold
Diego Biurrun [Sun, 22 Jul 2012 10:29:28 +0000 (12:29 +0200)]
swscale: Mark all init functions as av_cold

8 years agoswscale: x86: Drop pointless _mmx suffix from filenames
Diego Biurrun [Sat, 21 Jul 2012 20:33:03 +0000 (22:33 +0200)]
swscale: x86: Drop pointless _mmx suffix from filenames

The files do not contain only MMX code.

8 years agolavf: use conditional notation for default codec in muxer declarations.
Ronald S. Bultje [Sat, 21 Jul 2012 23:44:26 +0000 (16:44 -0700)]
lavf: use conditional notation for default codec in muxer declarations.

This removes the use of macro nesting in these code constructs, which
makes it easier to parse in pre-processors.

8 years agoswscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.
Ronald S. Bultje [Sun, 22 Jul 2012 21:01:21 +0000 (14:01 -0700)]
swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.

8 years agodsputil: ppc: cosmetics: pretty-print
Justin Ruggles [Sun, 22 Jul 2012 18:37:24 +0000 (14:37 -0400)]
dsputil: ppc: cosmetics: pretty-print

8 years agodsputil: x86: add SHUFFLE_MASK_W macro
Jason Garrett-Glaser [Fri, 20 Jul 2012 22:33:06 +0000 (18:33 -0400)]
dsputil: x86: add SHUFFLE_MASK_W macro

Simplifies pshufb masks that operate on words.

8 years agoconfigure: respect CC_O setting in check_cc
Mans Rullgard [Fri, 20 Jul 2012 21:22:18 +0000 (22:22 +0100)]
configure: respect CC_O setting in check_cc

Use compiler-specific replacements for the -o flag in check_cc.
This makes tests work properly with compilers using non-standard
flags.

The tms470 flags are updated to work with this scheme.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoFATE: fix the asyncts test
Anton Khirnov [Sun, 22 Jul 2012 09:29:06 +0000 (11:29 +0200)]
FATE: fix the asyncts test

Nellymoser is float, so use oneoff comparison instead of md5.

8 years agobuild: Drop gcc-specific warning flag from header compilation rule
Diego Biurrun [Sat, 21 Jul 2012 23:12:24 +0000 (01:12 +0200)]
build: Drop gcc-specific warning flag from header compilation rule

The flag was added to avoid excessive warning spam, but nowadays those
warnings no longer occur in such large numbers as to require silencing.
Besides, gcc-specific flags do not belong in the Makefiles.

8 years agoFATE: add a test for the asyncts audio filter.
Anton Khirnov [Thu, 5 Jul 2012 08:28:28 +0000 (10:28 +0200)]
FATE: add a test for the asyncts audio filter.

8 years agomatroskadec: return more correct error code on read error.
Anton Khirnov [Sat, 21 Jul 2012 08:48:39 +0000 (10:48 +0200)]
matroskadec: return more correct error code on read error.

8 years agobuffersrc: check ff_get_audio_buffer() for errors.
Anton Khirnov [Sun, 15 Jul 2012 09:29:10 +0000 (11:29 +0200)]
buffersrc: check ff_get_audio_buffer() for errors.

8 years agolavfi: check all ff_get_video_buffer() calls for errors.
Anton Khirnov [Sun, 15 Jul 2012 09:16:53 +0000 (11:16 +0200)]
lavfi: check all ff_get_video_buffer() calls for errors.

8 years agolavfi: check all avfilter_ref_buffer() calls for errors.
Anton Khirnov [Sun, 15 Jul 2012 09:16:53 +0000 (11:16 +0200)]
lavfi: check all avfilter_ref_buffer() calls for errors.

8 years agovf_select: avoid an unnecessary avfilter_ref_buffer().
Anton Khirnov [Sun, 15 Jul 2012 09:00:49 +0000 (11:00 +0200)]
vf_select: avoid an unnecessary avfilter_ref_buffer().

8 years agobuffersrc: avoid creating unnecessary buffer reference
Anton Khirnov [Sun, 15 Jul 2012 08:28:17 +0000 (10:28 +0200)]
buffersrc: avoid creating unnecessary buffer reference

8 years agolavfi: use avfilter_unref_bufferp() where appropriate.
Anton Khirnov [Sun, 15 Jul 2012 08:12:51 +0000 (10:12 +0200)]
lavfi: use avfilter_unref_bufferp() where appropriate.

8 years agovf_fps: add more error checks.
Anton Khirnov [Sun, 15 Jul 2012 08:07:59 +0000 (10:07 +0200)]
vf_fps: add more error checks.

8 years agovf_fps: fix a memleak on malloc failure.
Anton Khirnov [Sun, 15 Jul 2012 07:50:49 +0000 (09:50 +0200)]
vf_fps: fix a memleak on malloc failure.

8 years agolavfi: check all ff_start_frame/draw_slice/end_frame calls for errors
Anton Khirnov [Sun, 15 Jul 2012 07:47:01 +0000 (09:47 +0200)]
lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors

8 years agolavfi: add error handling to end_frame().
Anton Khirnov [Sat, 14 Jul 2012 07:25:33 +0000 (09:25 +0200)]
lavfi: add error handling to end_frame().

8 years agolavfi: add error handling to draw_slice().
Anton Khirnov [Sat, 14 Jul 2012 07:25:33 +0000 (09:25 +0200)]
lavfi: add error handling to draw_slice().

8 years agolavfi: add error handling to start_frame().
Anton Khirnov [Sun, 8 Jul 2012 15:29:42 +0000 (17:29 +0200)]
lavfi: add error handling to start_frame().

8 years agoBump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer
Kostya Shishkov [Sun, 22 Jul 2012 06:06:19 +0000 (08:06 +0200)]
Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer

8 years agoG.723.1 demuxer and decoder
Mohamed Naufal Basheer [Thu, 17 Mar 2011 22:56:50 +0000 (23:56 +0100)]
G.723.1 demuxer and decoder

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
8 years agoAdd a shift parameter to celp_lp_synthesis_filter()
Mohamed Naufal Basheer [Tue, 10 Jul 2012 17:58:39 +0000 (19:58 +0200)]
Add a shift parameter to celp_lp_synthesis_filter()

This is intended for reuse by the G.723.1 decoder

Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
8 years agolibopenjpeg: K&R formatting cosmetics
Luca Barbato [Thu, 19 Jul 2012 20:22:08 +0000 (22:22 +0200)]
libopenjpeg: K&R formatting cosmetics

8 years agoyadif: use emms_c() instead of inline assembly for emms invocations.
Ronald S. Bultje [Sun, 22 Jul 2012 00:04:06 +0000 (17:04 -0700)]
yadif: use emms_c() instead of inline assembly for emms invocations.

8 years agoac3: don't use different names for option tables in the template file.
Ronald S. Bultje [Sat, 21 Jul 2012 23:42:36 +0000 (16:42 -0700)]
ac3: don't use different names for option tables in the template file.

The variables which are declared in the teplate file are static and
therefore there is no symbol clash.

8 years agolavfi: use const for AVFilterPad declarations in all filters.
Ronald S. Bultje [Sat, 21 Jul 2012 16:45:52 +0000 (09:45 -0700)]
lavfi: use const for AVFilterPad declarations in all filters.

8 years agoadpcm: don't duplicate identical AVSampleFmt array for each encoder.
Ronald S. Bultje [Sat, 21 Jul 2012 15:56:18 +0000 (08:56 -0700)]
adpcm: don't duplicate identical AVSampleFmt array for each encoder.

8 years agoconfigure: cosmetics: Group test dependencies together
Diego Biurrun [Tue, 10 Jul 2012 20:18:42 +0000 (22:18 +0200)]
configure: cosmetics: Group test dependencies together

8 years agoconfigure: add more passthrough flags in tms470 filter
Mans Rullgard [Fri, 20 Jul 2012 00:27:53 +0000 (01:27 +0100)]
configure: add more passthrough flags in tms470 filter

This is in preparation for following changes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: move flag filtering functions out of if/else blocks
Mans Rullgard [Wed, 18 Jul 2012 19:27:09 +0000 (20:27 +0100)]
configure: move flag filtering functions out of if/else blocks

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agox86: swscale: Place inline assembly code under appropriate #ifdefs
Ronald S. Bultje [Sun, 15 Jul 2012 04:25:55 +0000 (21:25 -0700)]
x86: swscale: Place inline assembly code under appropriate #ifdefs

Fixes compilation for compilers that do not support gcc inline assembly.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years agortsp: remove terminal comma in FF_RTP_FLAG_OPTS macro.
Ronald S. Bultje [Sat, 21 Jul 2012 14:13:48 +0000 (14:13 +0000)]
rtsp: remove terminal comma in FF_RTP_FLAG_OPTS macro.

This makes usage of the macro look more natural when
used with array entries.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
8 years agoconfigure: Remove redundant RTMPT/RTMPTS dependencies
Samuel Pitoiset [Thu, 19 Jul 2012 12:16:01 +0000 (14:16 +0200)]
configure: Remove redundant RTMPT/RTMPTS dependencies

The incompatibility with librtmp is already expressed in the ffrtmphttp
protocol dependency declaration, which both RTMPT and RTMPTS depend on.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years agoconfigure: add filtering of host cflags/ldflags
Mans Rullgard [Fri, 20 Jul 2012 12:48:13 +0000 (13:48 +0100)]
configure: add filtering of host cflags/ldflags

This is in preparation for supporting host compilers with
non-standard flags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: initialise all flag filters at the same place
Mans Rullgard [Fri, 20 Jul 2012 11:20:23 +0000 (12:20 +0100)]
configure: initialise all flag filters at the same place

This is more consistent, and doing it earlier is harmless.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: add filtering of linker flags
Mans Rullgard [Fri, 20 Jul 2012 02:06:49 +0000 (03:06 +0100)]
configure: add filtering of linker flags

This allows filtering of linker flags the same was as already
supported for CFLAGS.  The filter must be initialised to 'echo'
early since it is invoked by --extra-ldflags.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: name some variables more consistently
Mans Rullgard [Fri, 20 Jul 2012 11:02:18 +0000 (12:02 +0100)]
configure: name some variables more consistently

Name variables pertaining to various types of flags with 'cflags' etc
as prefix instead of suffix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: remove filter_cppflags
Mans Rullgard [Fri, 20 Jul 2012 11:02:29 +0000 (12:02 +0100)]
configure: remove filter_cppflags

This is not used and the current design would not work properly
if mixing tools needing different filters.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agoconfigure: set icc_version where it is needed
Mans Rullgard [Wed, 18 Jul 2012 19:40:38 +0000 (20:40 +0100)]
configure: set icc_version where it is needed

This variable is only used once, so setting it there is clearer.

Signed-off-by: Mans Rullgard <mans@mansr.com>
8 years agompegenc: remove disabled code
Diego Biurrun [Fri, 29 Jul 2011 10:01:37 +0000 (12:01 +0200)]
mpegenc: remove disabled code

8 years agolavfi: unref AVFilterLink.out_buf in ff_end_frame().
Anton Khirnov [Sat, 14 Jul 2012 15:09:43 +0000 (17:09 +0200)]
lavfi: unref AVFilterLink.out_buf in ff_end_frame().

This reduces code duplication and prevents stale pointers from remaining
on the link.

8 years agolavfi: unref AVFilterLink.cur_buf in ff_end_frame().
Anton Khirnov [Sat, 14 Jul 2012 15:09:43 +0000 (17:09 +0200)]
lavfi: unref AVFilterLink.cur_buf in ff_end_frame().

This reduces code duplication and prevents stale pointers from remaining
on the link.

8 years agovsrc_testsrc: avoid an unnecessary avfilter_ref_buffer().
Anton Khirnov [Sun, 15 Jul 2012 09:12:10 +0000 (11:12 +0200)]
vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer().

8 years agovf_slicify: clear AVFilterLink.cur_buf in start_frame().
Anton Khirnov [Wed, 11 Jul 2012 07:58:43 +0000 (09:58 +0200)]
vf_slicify: clear AVFilterLink.cur_buf in start_frame().

The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.

8 years agovf_settb: simplify start_frame().
Anton Khirnov [Wed, 11 Jul 2012 09:00:48 +0000 (11:00 +0200)]
vf_settb: simplify start_frame().

Avoid pointless filter ref/unref. Just use the reference passed to
start_frame().

8 years agovf_fieldorder: don't give up its own reference to the output buffer.
Anton Khirnov [Sun, 8 Jul 2012 15:01:17 +0000 (17:01 +0200)]
vf_fieldorder: don't give up its own reference to the output buffer.

8 years agovf_pad: don't give up its own reference to the output buffer.
Anton Khirnov [Sun, 8 Jul 2012 15:01:17 +0000 (17:01 +0200)]
vf_pad: don't give up its own reference to the output buffer.

8 years agovf_overlay: don't access a buffer reference that's been given away.
Anton Khirnov [Sun, 8 Jul 2012 03:34:20 +0000 (05:34 +0200)]
vf_overlay: don't access a buffer reference that's been given away.

8 years agovf_drawtext: don't give up its own reference to the input buffer.
Anton Khirnov [Sun, 8 Jul 2012 02:20:22 +0000 (04:20 +0200)]
vf_drawtext: don't give up its own reference to the input buffer.

Directly forwarding the input buffer to the next filter means that
drawtext no longer owns any references to it and thus shouldn't refer to
it in any way.

8 years agovf_gradfun: don't store two pointers to one AVFilterBufferRef.
Anton Khirnov [Sun, 8 Jul 2012 02:07:05 +0000 (04:07 +0200)]
vf_gradfun: don't store two pointers to one AVFilterBufferRef.

8 years agovf_delogo: don't store two pointers to one AVFilterBufferRef.
Anton Khirnov [Sun, 8 Jul 2012 02:07:05 +0000 (04:07 +0200)]
vf_delogo: don't store two pointers to one AVFilterBufferRef.

8 years agovf_aspect: clear AVFilterLink.cur_buf in start_frame().
Anton Khirnov [Wed, 11 Jul 2012 07:58:43 +0000 (09:58 +0200)]
vf_aspect: clear AVFilterLink.cur_buf in start_frame().

The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.

8 years agolavfi: add avfilter_unref_bufferp()
Robert Nagy [Mon, 16 Apr 2012 06:17:25 +0000 (08:17 +0200)]
lavfi: add avfilter_unref_bufferp()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agolibopenjpeg: introduce lowres and lowqual private options
Luca Barbato [Wed, 18 Jul 2012 23:31:39 +0000 (01:31 +0200)]
libopenjpeg: introduce lowres and lowqual private options

OpenJPEG can decode in lower resolution or decode only a number
of enhancement layers.

8 years agoFATE: add a test for flac cover art.
Anton Khirnov [Wed, 4 Jul 2012 08:46:10 +0000 (10:46 +0200)]
FATE: add a test for flac cover art.

8 years agocafdec: allow larger ALAC magic cookie
Justin Ruggles [Thu, 19 Jul 2012 23:48:21 +0000 (19:48 -0400)]
cafdec: allow larger ALAC magic cookie

It already skips any extra bytes at the end, and apparently there are some
samples in the wild with larger 'kuki' chunks.

8 years agoalac: fix channel pointer assignment for 24 and 32-bit
Justin Ruggles [Thu, 19 Jul 2012 23:47:08 +0000 (19:47 -0400)]
alac: fix channel pointer assignment for 24 and 32-bit

Needs to be done separately for each element.

8 years agoalac: cosmetics: general pretty-printing and comment clean up
Justin Ruggles [Mon, 9 Jul 2012 21:02:42 +0000 (17:02 -0400)]
alac: cosmetics: general pretty-printing and comment clean up

8 years agoalac: calculate buffer size outside the loop in allocate_buffers()
Justin Ruggles [Mon, 9 Jul 2012 20:57:22 +0000 (16:57 -0400)]
alac: calculate buffer size outside the loop in allocate_buffers()

8 years agoalac: change some data types to plain int
Justin Ruggles [Mon, 9 Jul 2012 20:56:34 +0000 (16:56 -0400)]
alac: change some data types to plain int

8 years agoalac: cosmetics: rename some variables and function names
Justin Ruggles [Mon, 9 Jul 2012 20:52:19 +0000 (16:52 -0400)]
alac: cosmetics: rename some variables and function names

8 years agoalac: multi-channel decoding support
Andrew D'Addesio [Mon, 9 Jul 2012 20:29:49 +0000 (16:29 -0400)]
alac: multi-channel decoding support

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalac: split element parsing into a separate function
Justin Ruggles [Mon, 9 Jul 2012 20:05:53 +0000 (16:05 -0400)]
alac: split element parsing into a separate function

This will make multi-channel implementation simpler.
Based partially on a patch by Andrew D'Addesio <modchipv12@gmail.com>.

8 years agoalac: support a read sample size of up to 32
Justin Ruggles [Mon, 9 Jul 2012 19:38:58 +0000 (15:38 -0400)]
alac: support a read sample size of up to 32

Use get_bits_long() in decode_scalar().
Use unsigned int for decoded value.

8 years agoalac: output in planar sample format
Justin Ruggles [Mon, 9 Jul 2012 19:18:51 +0000 (15:18 -0400)]
alac: output in planar sample format

Avoids unneeded interleaving and allows for reusing the AVFrame output buffer
as the internal buffer for 24-bit and 32-bit sample size.

8 years agoalac: add 32-bit decoding support
Justin Ruggles [Mon, 9 Jul 2012 18:36:03 +0000 (14:36 -0400)]
alac: add 32-bit decoding support

8 years agoalac: simplify channel interleaving
Andrew D'Addesio [Mon, 9 Jul 2012 18:34:41 +0000 (14:34 -0400)]
alac: simplify channel interleaving

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoalac: use AVPacket fields directly in alac_decode_frame()
Justin Ruggles [Mon, 9 Jul 2012 17:30:03 +0000 (13:30 -0400)]
alac: use AVPacket fields directly in alac_decode_frame()

8 years agoalac: fix check for valid max_samples_per_frame
Justin Ruggles [Mon, 9 Jul 2012 17:23:22 +0000 (13:23 -0400)]
alac: fix check for valid max_samples_per_frame

8 years agoalac: use get_sbits() to read LPC coefficients instead of casting
Justin Ruggles [Mon, 9 Jul 2012 17:19:10 +0000 (13:19 -0400)]
alac: use get_sbits() to read LPC coefficients instead of casting

8 years agoalac: move the current samples per frame to the ALACContext
Justin Ruggles [Mon, 9 Jul 2012 17:15:35 +0000 (13:15 -0400)]
alac: move the current samples per frame to the ALACContext

This will simplify the multi-channel implementation.

8 years agoalac: avoid using a double-negative when checking if the frame is compressed
Justin Ruggles [Mon, 9 Jul 2012 17:05:35 +0000 (13:05 -0400)]
alac: avoid using a double-negative when checking if the frame is compressed

8 years agoalac: factor out output_size check in predictor_decompress_fir_adapt()
Justin Ruggles [Mon, 9 Jul 2012 17:01:32 +0000 (13:01 -0400)]
alac: factor out output_size check in predictor_decompress_fir_adapt()

8 years agoalac: factor out loading of next decoded sample in LPC prediction
Justin Ruggles [Mon, 9 Jul 2012 16:57:16 +0000 (12:57 -0400)]
alac: factor out loading of next decoded sample in LPC prediction

8 years agoalac: use index into buffer_out instead of incrementing the pointer
Justin Ruggles [Mon, 9 Jul 2012 16:52:30 +0000 (12:52 -0400)]
alac: use index into buffer_out instead of incrementing the pointer

8 years agoalac: simplify lpc coefficient adaptation
Justin Ruggles [Mon, 9 Jul 2012 15:33:31 +0000 (11:33 -0400)]
alac: simplify lpc coefficient adaptation

8 years agoalac: reduce the number of local variables needed in lpc prediction
Justin Ruggles [Mon, 9 Jul 2012 15:18:21 +0000 (11:18 -0400)]
alac: reduce the number of local variables needed in lpc prediction

8 years agoalac: simplify 1st order prediction and reading of warm-up samples
Justin Ruggles [Mon, 9 Jul 2012 15:12:25 +0000 (11:12 -0400)]
alac: simplify 1st order prediction and reading of warm-up samples

8 years agoalac: cosmetics: reindent after last commit
Justin Ruggles [Mon, 9 Jul 2012 15:08:59 +0000 (11:08 -0400)]
alac: cosmetics: reindent after last commit

8 years agoalac: remove unneeded conditionals in predictor_decompress_fir_adapt()
Justin Ruggles [Mon, 9 Jul 2012 15:07:57 +0000 (11:07 -0400)]
alac: remove unneeded conditionals in predictor_decompress_fir_adapt()