Commit Graph

116 Commits

Author SHA1 Message Date
Justin Ruggles
b8e9c99ef1 flac: decode directly to the user-provided AVFrame 2013-02-12 12:21:22 -05:00
Tim Walker
41244e13d5 flac: don't check the number of channels before setting the channel layout.
This is unnecessary, as ff_flac_set_channel_layout can handle any number of channels.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-06 21:43:05 +01:00
Justin Ruggles
aef5150719 flac: only set channel layout if not previously set or on channel count change
Fixes Bug 402
2012-12-22 01:35:28 -05:00
Anton Khirnov
594d4d5df3 lavc: add a wrapper for AVCodecContext.get_buffer().
It will be useful in the upcoming transition to refcounted AVFrames.
2012-12-04 21:41:59 +01:00
Justin Ruggles
a903f8f087 Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Justin Ruggles
99d8686357 flacdec: do not warn on sample rate change 2012-11-01 11:29:16 -04:00
Justin Ruggles
90fcac0e95 flacdec: allow mid-stream channel layout change
Although the libFLAC decoder cannot handle such a change, it is allowed by the
spec and could potentially occur with live streams.
2012-11-01 11:29:16 -04:00
Justin Ruggles
268f8ba112 flacdec: use av_samples_* functions for sample buffer allocation
Also, return an error on allocation failure.
2012-11-01 11:29:16 -04:00
Diego Biurrun
8f4c414df6 Improve wording and spelling of av_log_missing_feature messages. 2012-10-23 10:28:40 +02:00
Diego Biurrun
717addecad Use proper return values in case of missing features 2012-10-12 20:56:54 +02:00
Mans Rullgard
44c56a1617 flacdec: simplify sample buffer handling
Pass pointer to sample buffer instead of channel number to various
functions called from decode_subframe().  Also simplify a few
expressions within this function.
2012-08-21 11:23:13 +01:00
Mans Rullgard
ea98507db0 flacdec: simplify loop in decode_residuals() 2012-08-21 11:23:13 +01:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Mans Rullgard
bf1cf4d5a5 flacdec: reverse lpc coeff order, simplify filter
Reversing the lpc coefficient order simplifies indexing in
the filter.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-19 10:21:32 +01:00
Diego Biurrun
8eea8fdceb flac: Move flac functions shared between libraries to flac common code
This fixes a number of flac-related build dependencies.
2012-07-12 11:11:23 +02:00
Mans Rullgard
784514a4a8 flacdec: add planar output support
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 21:57:51 +01:00
Mans Rullgard
25accf93ad flacdec: move lpc filter to flacdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Mans Rullgard
4a8528349f flacdec: split off channel decorrelation as flacdsp
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Mans Rullgard
87466f8124 flacdec: factor out code setting avctx->sample_fmt 2012-07-04 03:34:34 +01:00
Mans Rullgard
93e7ef9a24 flacdec: allocate sample buffers with av_malloc
The buffers are only allocated once, although it can happen from
any of a few different places, so there is no need to use realloc.
Using av_malloc() ensures they are aligned suitably for SIMD
optimisations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 03:30:01 +01:00
Mans Rullgard
0da301e105 flacdec: remove curr_bps from FLACContext
This value does not need to be persistent across calls.
2012-07-04 03:29:29 +01:00
Mans Rullgard
4719ea7e1e flacdec: remove redundant setting of avctx->sample_fmt
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 22:13:32 +01:00
Martin Storsjö
00c3b67b8a cosmetics: Align codec declarations
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 22:37:38 +03:00
Justin Ruggles
62d5f9e5ca flacdec: set channel_layout based on channel count
Channel layouts are specified in the FLAC format description at
http://flac.sourceforge.net/format.html

fixes Bug 209
2012-02-22 20:14:00 -05:00
Ronald S. Bultje
52e4018be4 flac: fix infinite loops on all-zero input or end-of-stream.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-16 17:08:29 -08:00
Diego Biurrun
a8798c7eb9 Drop unnecessary av_uninit attributes from some variable declarations.
Recent versions of gcc (4.4+) no longer give false positive warnings.
2012-02-13 19:20:52 +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
5bd0343bee flacdec: use av_get_bytes_per_sample() to get sample size 2011-10-29 16:05:25 -04:00
Anton Khirnov
d9cca9fc6a lavc: use avpriv_ prefix for some flac symbols used in lavf.
Specifically, ff_flac_parse_streaminfo, ff_flac_is_extradata_valid and
ff_flac_parse_block_header
2011-10-20 21:06:58 +02: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
Anton Khirnov
ec6402b7c5 lavc: use designated initialisers for all codecs.
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Diego Biurrun
ad4cd0c2a4 doxygen: use Doxygen markup for authors and web links where appropriate 2011-07-15 02:01:21 +02: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
Diego Elio Pettenò
d36beb3f69 Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.
None of these symbols should be accessed directly, so declare them as
hidden.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 16:08:45 +00:00
Michael Chinen
a4151444bd Define FLAC_MIN_FRAME_SIZE and use it in the FLAC decoder.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 14:58:34 +00:00
Michael Chinen
60a684939a Simplify the FLAC decoder now that it no longer has to parse arbitrary raw FLAC
data thanks to the recently added FLAC parser.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 14:57:02 +00:00
Michael Chinen
3c795698d0 Add log_level_offset parameter to ff_flac_decode_frame_header(). It will be used
to optionally silence the error messages.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 14:00:38 +00:00
Michael Chinen
625daac4bd Move decode_frame_header() from flacdec.c to flac.c/h to share with the
forthcoming FLAC parser.
Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 13:30:18 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Justin Ruggles
2e0559b713 Support decoding of FLAC files without a STREAMINFO header.
Originally committed as revision 25315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 20:37:43 +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
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Justin Ruggles
4c1645a458 Set sample format in flac_decode_init() rather than in
ff_flac_parse_streaminfo() since the latter is shared with the raw FLAC
demuxer, which should not be setting the sample format.

Originally committed as revision 20430 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-01 16:48:05 +00:00
Justin Ruggles
78a9a77eac add CODEC_CAP_SUBFRAMES to the FLAC decoder capabilities. also add a FIXME
comment as a reminder that we can remove both capabilities once a parser is
implemented.

Originally committed as revision 19891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 22:57:00 +00:00
Måns Rullgård
8313e17976 flacdec: change variable-length array to fixed length
pred_order can never exceed 32, so always allocating that amount is safe
and not very wasteful.

Originally committed as revision 19669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-19 21:59:36 +00:00
Ronald S. Bultje
ce863d7f36 Rename ff_log_missing_feature() to av_log_missing_feature().
Originally committed as revision 19294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-29 19:07:04 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Thilo Borgmann
7a00bbad21 Implement avcodec_decode_video2(), _audio3() and _subtitle2() which takes an
AVPacket argument rather than a const uint8_t *buf + int buf_size. This allows
passing of packet-specific flags from demuxer to decoder, such as the keyframe
flag, which appears necessary to playback corePNG P-frames.

Patch by Thilo Borgmann thilo.borgmann googlemail com, see also the thread
"Google Summer of Code participation" on the mailinglist.

Originally committed as revision 18351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 15:59:50 +00:00
Justin Ruggles
d7520f217a cosmetics: add an @return to documentation for decode_frame_header()
Originally committed as revision 18179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 22:44:12 +00:00
Justin Ruggles
cd98a03024 flacdec: split frame header decoding and validation into a separate
function

Originally committed as revision 18175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-24 01:17:55 +00:00