Commit Graph

640 Commits

Author SHA1 Message Date
Anton Khirnov 9a79bb552a lavc: remove disabled FF_API_THREAD_INIT cruft. 2012-01-27 10:38:34 +01:00
Anton Khirnov 284e65d64e lavc: remove disabled FF_API_OLD_SAMPLE_FMT cruft. 2012-01-27 10:38:33 +01:00
Justin Ruggles 220506d23f avcodec: add a new codec_id for CRYO APC IMA ADPCM.
The stereo layout and extradata is significantly different from that in
Westwood IMA ADPCM, so a separate codec_id is warranted.
2012-01-24 14:13:41 -05:00
Justin Ruggles b2c75b6e63 avcodec: Add avcodec_encode_audio2() as replacement for avcodec_encode_audio()
This allows audio encoders to optionally take an AVFrame as input and write
encoded output to an AVPacket.

This also adds AVCodec.encode2() which will also be usable by video and
subtitle encoders once support is implemented in the public functions.
2012-01-15 21:24:17 -05:00
Justin Ruggles 5ee5fa021f avcodec: add a public function, avcodec_fill_audio_frame().
This is a convenience function for the user to fill audio AVFrame information.
2012-01-15 21:24:17 -05:00
Reinhard Tartler e2ff436ef6 lavc: Relax API strictness in avcodec_decode_audio3 with a custom get_buffer()
Do not fail audio decoding with avcodec_decode_audio3 if user has set a
custom get_buffer. Strictly speaking, this was never allowed by the API,
but it seems that some software packages did so anyways. In order to
unbreak applications (cf. http://bugs.debian.org/655890), this change
clarifies the API and overrides the custom get_buffer() with the defaults.

This change is inspired by a similar
commit (c3846e3eba) in FFmpeg.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2012-01-15 21:40:59 +01:00
Alex Converse 4df30f7114 utils: Check for extradata size overflows. 2012-01-12 13:26:13 -08:00
Martin Storsjö c5d907b6b0 libavcodec: Handle param change side data in avcodec_decode_video2, too
Also call avcodec_set_dimensions on dimension param change packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-07 15:25:35 +02:00
Martin Storsjö 867f923df4 libavcodec: Move apply_param_change up above avcodec_decode_video2
This is in preparation to calling it from avcodec_decode_video2.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-07 15:25:30 +02:00
Janne Grunau b6064d9a59 threads: set thread_count to 1 when thread support is disabled 2012-01-01 14:37:38 +01:00
Stefano Sabatini 8a4a5f6ff7 lavc: add format field to AVFrame
The format is a per-frame property, having it in AVFrame simplify the
operation of extraction of that information, since avoids the need to
access the codec/stream context.
2011-12-25 16:18:57 +01:00
Stefano Sabatini 3a2ddf7c2c lavc: add width and height fields to AVFrame
width and height are per-frame properties, setting these values in
AVFrame simplify the operation of extraction of that information,
since avoids the need to check the codec/stream context.
2011-12-25 16:18:57 +01:00
Stefano Sabatini b58dbb5b03 lavc: add a sample_aspect_ratio field to AVFrame
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
2011-12-25 16:18:57 +01:00
Martin Storsjö f13db94d0a libavcodec: Apply parameter change side data when decoding audio
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-21 22:52:42 +02:00
Rafaël Carré 37c0dc626d lavc: always align height by 32 pixel
Interlaced content for most codec requires it.
This patch is a stop-gap pending a serious rework to support
codecs with non 16 pixel macroblocks.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-21 00:00:23 +01:00
Mans Rullgard 8400b126ac avcodec: deprecate AVFrame.age
This was intended as an optimisation for skipped blocks in MPEG2
P-frames and never used elsewhere.  Removing this "optimisation"
speeds up MPEG2 decoding by 1-2% (ARM Cortex-A9).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-18 22:14:33 +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
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
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
Ronald S. Bultje db431f7efe h264: add support for decoding planar RGB images. 2011-11-24 08:25:36 -08:00
Justin Ruggles f3a29b750a avcodec: move some AVCodecContext fields to an internal struct.
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.

Moved internal_buffer, internal_buffer_count, and is_copy.
2011-11-19 10:01:05 -05:00
Martin Storsjö 2d1b6fb72b avcodec: Allow locking and unlocking an avformat specific mutex
This extends the lock manager in avcodec to manage two separate
mutexes via the user-specified lock functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:08:53 +02:00
Dustin Brody 5ea0001f9e lavc: translate non-flag-based er options into flag-based ef options at codec open
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:22 +02:00
Ronald S. Bultje dc49bf1270 sws/pixfmt/pixdesc: add support for yuv420p9le/be. 2011-10-21 00:58:01 -07:00
Anton Khirnov 0842d58998 lavc: use avpriv_ prefix for ff_toupper4.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Steven Walters 27237d524e w32threads: support for frame multithreading
Replace our incomplete w32threads implementation with x264's pthreads
w32threads wrapper.
Relicensed to LGPL with kind permission by Pegasys Inc.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-16 21:45:16 +02:00
Anton Khirnov d97efd7f87 libx264: support 9- and 10-bit output. 2011-10-06 09:16:06 +02: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
Justin Ruggles 9ff6d0791b adpcmenc: Set bits_per_coded_sample 2011-09-23 20:54:29 -04:00
Anton Khirnov 9ecfbb3e57 lavc/utils: move avcodec_init() higher in the file.
Fixes build on next major bump.
2011-09-21 13:51:53 +02:00
Anton Khirnov bca06e77e1 lavc: add avcodec_get_type() for mapping codec_id -> type. 2011-08-16 20:24:20 +02:00
Baptiste Coudurier 1d36fb13b0 lavc: fix parentheses placement in avcodec_open2().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-10 16:57:33 +02:00
Anton Khirnov 7221139ba0 lavc: make avcodec_init() static on next bump.
It's called from avcodec_register() anyway, so there's no reason for it
to be public.
2011-08-10 12:49:57 +02:00
Ronald S. Bultje d1cf459119 vp8/mt: flush worker thread, not application thread context, on seek.
This prevents a crash when seeking.
2011-07-10 21:41:57 -07:00
Anton Khirnov 0b950fe240 lavc: introduce avcodec_open2() as a replacement for avcodec_open().
Adds support for decoder-private options and makes setting other options
simpler.
2011-07-10 17:06:22 +02:00
Mans Rullgard 0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Jason Garrett-Glaser da55ee6ccc Add new yuv444 pixfmts to avcodec_align_dimensions2
Fixes draw_edges crashes with high-bit-depth 4:4:4 decoding.
2011-06-29 01:00:49 -07:00
Diego Biurrun bb00b15f9e avutil: Remove unused arbitrary precision integer code. 2011-06-28 13:14:46 +02:00
Justin Ruggles e6c52cee54 Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
av_get_bits_per_sample_fmt() is deprecated.
2011-06-20 18:56:06 -04:00
Ronald S. Bultje ceff045dbe utils.c: fix crash with threading enabled. 2011-06-06 10:31:01 -04:00
Anton Khirnov 367732832f lavf,lavc: free avoptions in a generic way.
It's simpler and less error-prone.

Fixes some memleaks along the way.
2011-06-05 15:01:36 +02:00
Stefano Sabatini 94bed8e582 Replace avcodec_get_pix_fmt_name() by av_get_pix_fmt_name().
This fixes warnings about avcodec_get_pix_fmt_name() being deprecated.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-03 13:55:55 +02:00
Alexander Strange 6a9c859444 H264/MPEG frame-level multi-threading.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-06-02 10:16:20 -07:00
Baptiste Coudurier 5c511ad4ce swscale: extend YUV422p support to 10bits depth
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 14:38:14 +02:00
Oskar Arvidsson 6e3ef511d7 Add the notion of pixel size in h264 related functions.
In high bit depth the pixels will not be stored in uint8_t like in the
normal case, but in uint16_t. The pixel size is thus 1 in normal bit
depth and 2 in high bit depth.

Preparatory patch for high bit depth h264 decoding support.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:33 -04:00
Oskar Arvidsson 42239ced65 Add pixel formats for 9- and 10-bit yuv420p.
Also add support for these formats in libswscale.

Needed for high bit depth h264 decoding.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:19 -04:00
Diego Biurrun 3fd3632ffe Simplify av_log_missing_feature().
Do not print the results of the conditional call to av_log_ask_for_sample()
into the same line as the main output, separate the already long text.
2011-04-27 19:48:58 +02:00
Justin Ruggles 688b09fa59 If AVCodecContext.channels is 0 and AVCodecContext.channel_layout is
non-zero, set channels based on channel_layout.

This allows the user to set only channel_layout and not channels.
2011-04-27 12:57:43 -04:00
Justin Ruggles 168f9e8c40 If AVCodecContext.channel_layout and AVCodecContext.channels are both
non-zero, check to make sure they do not contradict eachother.
2011-04-27 12:57:43 -04:00
Justin Ruggles 3dfc3e70c0 cosmetics: indentation 2011-04-27 12:57:43 -04:00
Justin Ruggles 8b00ab0113 Check AVCodec.supported_samplerates and AVCodec.channel_layouts in
avcodec_open().

If the encoder has a channel_layouts list and AVCodecContext.channel_layout
is 0, then only print a warning and let the encoder decide how to handle it.
2011-04-27 12:57:42 -04:00
Stefano Sabatini bebe72f4a0 lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
Also deprecate av_get_pict_type_char() in favor of
av_get_picture_type_char().

The new enum and av_get_picture_type_char() are defined in libavutil.
This allows the use in libavfilter without the need to link against
libavcodec.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 08:38:57 +02:00
Diego Biurrun 44f566b79a Make av_log_ask_for_sample() accept a variable number of arguments. 2011-04-22 20:12:27 +02:00
Anton Khirnov 65af48b559 lavc: provide deprecated avcodec_thread_init until next major version
It was deprecated only recently.
2011-04-21 07:22:23 +02:00
Justin Ruggles 31d76ec288 In avcodec_open(), set return code to an error value only when an error occurs
instead of unconditionally at the start of the function.

This fixes a bug where a successful call to ff_thread_init() masks errors that
occur after that point in the function.  It also makes future bugs like this
less likely since the error code is now set near to the point in the code
where the error is found.
2011-04-19 14:10:03 -04:00
Anton Khirnov 3453a231a6 lavc: remove misc disabled cruft. 2011-04-19 19:01:22 +02:00
Anton Khirnov db4d3a7421 lavc: remove the FF_API_SUBTITLE_OLD cruft. 2011-04-19 18:39:40 +02:00
Anton Khirnov e89e5afdd0 lavc: remove the FF_API_VIDEO_OLD cruft. 2011-04-19 18:37:21 +02:00
Anton Khirnov 9b4f1cdb6a lavc: remove the FF_API_AUDIO_OLD cruft. 2011-04-19 18:37:03 +02:00
Diego Biurrun f0a41afd8a Replace mplayerhq.hu URLs by libav.org. 2011-04-18 18:23:16 +02:00
Diego Biurrun 6001dad6e2 Replace more FFmpeg references by Libav. 2011-04-17 19:31:49 +02:00
Martin Storsjö 029f966c3a g722: Return 8 bits per sample for g722 in av_get_bits_per_sample
This fixes a failing assert in ff_raw_read_header (in
fate-g722dec-1), where bits_per_coded_sample is set using this
function and is required to have a positive value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-11 11:35:43 +03:00
Alexander Strange ba9ef8d04e Remove unnecessary parameter from ff_thread_init() and fix behavior
thread_count passed to ff_thread_init() is only used to set AVCodecContext.
thread_count, and can be removed. Instead move it to the legacy implementation
of avcodec_thread_init().

This also fixes the problem that calling avcodec_thread_init() with pthreads
enabled did not set it since ff1efc524c.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-04-05 16:53:26 +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
Janne Grunau a03be6e1ba use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_* 2011-03-16 21:54:39 +01:00
Janne Grunau 29ba091136 replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Johan Andersson 21de920472 Update the url to the site website and change ffmpeg-devel to libav-devel
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-13 18:45:29 -04:00
Reinhard Tartler 737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Mans Rullgard b4668274b9 Remove incorrect return statement from avcodec_thread_free()
The function return type is void, so a return statement with an
expression is forbidden (and pointless).

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 14:17:24 +00:00
Mans Rullgard 9a77a92c2b Fix build with threading disabled
The avcodec_thread_free() compatibility wrapper calls ff_thread_free(),
which is not defined when threading is disabled.  Make this call
conditional.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-09 20:52:28 +00:00
Reimar Döffinger 2cfa2d9258 check sample_fmt in avcodec_open
check AVCodecContext->sample_fmt against AVCodec->sample_fmts[] to ensure
that the encoder supports the specified sample format. Error out if it doesn't.
Previously, it would continue and output garbage. Fixes issue 2587.
2011-02-09 15:30:53 -05:00
Alexander Strange c0b102ca03 Deprecate avcodec_thread_init()
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.

avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.

Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 09:17:28 -05:00
Alexander Strange 37b00b47cb Frame-based multithreading framework using pthreads
See doc/multithreading.txt for details on use in codecs.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 09:17:28 -05:00
Nicolas George 62ecd3635a Set pkt_pts in avcodec_default_reget_buffer()
This was missed when pkt_pts was first added.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-03 00:25:35 +00:00
Diego Elio Pettenò bb875b75ba Make the ff_lockmgr_cb function pointer static to utils.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 23:45:46 +00:00
Janne Grunau db323491cd update av_log_missing_feature() to git
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-17 22:13:50 +01:00
Aurelien Jacobs e83c716e16 don't complain about codec type/id mismatche for attachment streams
Originally committed as revision 26316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-12 00:33:22 +00:00
Anssi Hannula 2a81f4bde5 Show profile in avcodec_string().
Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26264 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-08 09:23:25 +00:00
Michael Niedermayer 1919feafb1 Add pkt_dts to AVFrame, this will in the future allow multithreading decoders
to not mess up dts

Originally committed as revision 26261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-07 23:07:28 +00:00
Michael Niedermayer 393cbb963b Add AVFrame.pkt_pts that contains the correctly reordered AVPacket.pts
Originally committed as revision 26260 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-07 23:07:24 +00:00
Anssi Hannula 060ec0a829 Add av_get_profile_name() to get profile names.
Patch by Anssi Hannula, anssi d hannula a iki d fi

Originally committed as revision 26259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-07 22:27:26 +00:00
Aurelien Jacobs f19c58b4cf free subtitle_header before overwriting it to avoid memleak
Originally committed as revision 26176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31 00:06:25 +00:00
Anatoly Nenashev ba68d9d3e1 Fix -lowres with ffplay.
Patch by Anatoly Nenashev, anatoly d nenashev a ovsoft d ru

Originally committed as revision 26057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-19 12:17:40 +00:00
Michael Niedermayer 372c3f82b7 Change the argument of memory allocation functions from unsigned int to size_t
with the next major bump in libavcodec.

Originally committed as revision 25872 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 04:00:21 +00:00
Stefano Sabatini 63e8d9760f Use the new libavcore audio channel API.
This also allows to remove a linking dependency of libavfilter on
libavcodec.

Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 20:06:22 +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
Stefano Sabatini ed5d30d91c Move internal function ff_set_systematic_pal() to libavcore, and
rename it ff_set_systematic_pal2().

Originally committed as revision 25712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-09 22:22:36 +00:00
Reimar Döffinger 00d1e96bf4 H.264 decode: support cropping up to 28 pixels in interlaced mode.
Contrary to progressive, just being able to crop up to 14/15 pixels
is not enough to encode all supported resolutions, and the new
behaviour is also consistent with e.g. MPEG-2 etc.

Originally committed as revision 25669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:52:28 +00:00
Stefano Sabatini ba7d6e798e Remove usage of deprecated libavcodec/audioconvert.h functions.
Originally committed as revision 25668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:19:34 +00:00
Stefano Sabatini 6f84cd1279 Add av_get_bits_per_sample_fmt() to libavcore/samplefmt.h and
deprecate av_get_bits_per_sample_format().

Originally committed as revision 25654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 22:20:49 +00:00
Aurelien Jacobs 448ce9258c add FF_API_SUBTITLE_OLD define to disable the deprecated decode_subtitle API
Originally committed as revision 25273 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 20:12:46 +00:00
Aurelien Jacobs 164bc38c26 add FF_API_VIDEO_OLD define to disable the deprecated decode_video API
Originally committed as revision 25272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 19:51:22 +00:00
Aurelien Jacobs a377cfa6c2 add FF_API_AUDIO_OLD define to disable the deprecated decode_audio API
Originally committed as revision 25270 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 15:37:01 +00:00
Michael Niedermayer dc51a72ba4 Move allocation and init to defaults of the private codec contexts to avcodec_get_context_defaults3().
That way the user app can set codec specific parameters in the private context
before opening it.

Originally committed as revision 25257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 15:05:47 +00:00
Michael Niedermayer 6ed040408b Move AVOptions from libavcodec to libavutil
Originally committed as revision 25210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 14:25:22 +00:00
Reimar Döffinger 82eac2f321 Check avctx width/height more thoroughly (e.g. all values 0 except width would
have been accepted before).
Also do not fail if they are invalid but instead override them to 0.
This allows decoding e.g. MPEG video when only the container values are corrupted.
For encoding a value of 0,0 of course makes no sense, but was allowed
through before and will be caught by an extra check in the encode function.

Originally committed as revision 25124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-15 04:46:55 +00:00
Carl Eugen Hoyos 527c91e34a Test lowres before codec init.
Originally committed as revision 25114 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-13 22:03:29 +00:00
Martin Storsjö 535cb0434d Allow the lowres option to affect audio codecs, too
Originally committed as revision 25094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-10 06:19:31 +00:00
Stefano Sabatini 9d2e0ad824 Remove use of deprecated functions av_image_fill_pointers/linesizes in
libavcodec/utils.c, fix warnings.

Originally committed as revision 25069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:24:03 +00:00
Stefano Sabatini e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Stefano Sabatini 6ce9b4310c Remove use of the deprecated function avcodec_check_dimensions(), use
av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:37:04 +00:00
Stefano Sabatini bf176f58b7 Deprecate avcodec_check_dimensions() in favor of the new function
av_check_image_size() declared in libavcore/imgutils.h.

Originally committed as revision 24709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:36:45 +00:00
Stefano Sabatini 05236ed735 Use av_fill_image_pointers/linesizes in place of ff_fill_pointer/linesize,
and drop the the ff_ variants at the next major bump.

Originally committed as revision 24620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-31 16:46:20 +00:00
Stefano Sabatini 126b638ea0 Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.

This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.

Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 23:12:28 +00:00
Reimar Döffinger 8b834ac5d9 100l, change avsubtitle_free to the actually tested and working version.
Originally committed as revision 24188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:53:39 +00:00
Reimar Döffinger e1d7c8831c Add avsubtitle_free function.
Originally committed as revision 24185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 07:35:00 +00:00
Carl Eugen Hoyos 0fd0ef7947 Add new decoder property max_lowres and do not init decoder if requested value is higher.
Originally committed as revision 24098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 21:23:36 +00:00
Måns Rullgård 25cbc8b46e Move av_tempfile() to libxvidff.c as only the xvid wrapper needs it
Originally committed as revision 24074 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-06 13:04:21 +00:00
Måns Rullgård 49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Stefano Sabatini ab0b53786b Make avcodec_string() use av_get_codec_tag_string().
Originally committed as revision 23422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 10:54:50 +00:00
Stefano Sabatini 7e566bbe6c Implement av_get_codec_tag_string() and use it in ffprobe.
Originally committed as revision 23421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-02 10:54:45 +00:00
Jai Menon 3491a9b266 Cosmetics : Fix typo.
Originally committed as revision 23345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-27 04:25:50 +00:00
Janne Grunau 93ebfeea90 Add CODEC_CAP_EXPERIMENTAL and prefer encoders without it.
Patch by Janne Grunau, janne-ffmpeg jannau net

Originally committed as revision 23334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-26 10:38:48 +00:00
Francesco Lavra 603a5f04b2 Factorize some code into the new function ff_toupper4().
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 23158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:16:40 +00:00
Reimar Döffinger b3ab319944 Set coded_frame to NULL when closing a codec, since it might
be invalid after the codec is "gone".

Originally committed as revision 23101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-12 17:05:56 +00:00
Stefano Sabatini 4cf1ba0445 Make avcodec_check_dimensions() return AVERROR(EINVAL) rather than -1
in case of invalid picture size.

Originally committed as revision 22962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 15:05:16 +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 4563cf247d Factorize code in get_bit_rate().
Originally committed as revision 22879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 23:24:25 +00:00
Craig Thomasson 77a670e796 Fix segfault when encoder initialization fails.
Patch by Craig Thomasson $(name) dot $(surname) ripcode com

Originally committed as revision 22811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-06 09:52:41 +00:00
Bobby Bingham 0fb49b597b Add function to export EDGE_WIDTH from libavcodec.
Originally committed as revision 22753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 06:41:16 +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
Carl Eugen Hoyos 406aa93fd0 Make av_get_bit_rate() static and remove av_, the function is only used
inside libavcodec/utils.c.

Originally committed as revision 22117 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 19:05:51 +00:00
Carl Eugen Hoyos 88f83607b6 Include libxvid_internal.h: It contains the prototype for av_tempfile().
Originally committed as revision 22116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-28 19:03:38 +00:00
Reimar Döffinger eb285cfe8e Fix avcodec_align_dimensions to return values suitably aligned for FLV decoding
with SSE and add a avcodec_align_dimensions2 taht returns the stride alignment
requirements independently from doing the width/height padding.

Originally committed as revision 22095 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-27 21:13:22 +00:00
Vitor Sessak c4f267ab75 Free encoder extradata in avcodec_close(). Should fix several small memory
leaks when encoding (at least for asv, wma and aac).

Fix also issue 1577.

Originally committed as revision 21923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-20 18:28:11 +00:00
David Conrad b7098cc153 Special case VP5/6 chroma alignment on x86 as well
Originally committed as revision 21782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-12 22:01:42 +00:00
Zuxy Meng 0752cd39d2 More av_cold for infrequently called functions.
Originally committed as revision 21179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 02:16:00 +00:00
Michael Niedermayer c46eeae2a8 Add a function to match a 2 element vector of uint16_t and use it in h263 and svq1
instead of custom and bloated code to find an index into a w/h array.

Originally committed as revision 21113 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-09 18:33:21 +00:00
Carl Eugen Hoyos 07f2a575c5 100l: Fix compilation after r21037.
Originally committed as revision 21039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 23:15:33 +00:00
Daniel Verkamp 9df9b810c5 Handle more ADPCM codecs in av_get_bits_per_sample().
This removes some special-case code from riff.c.
CODEC_ID_ADPCM_G726 is still handled in riff.c as before because it is
not guaranteed to be fixed 4 bits per sample.

Originally committed as revision 21037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 21:51:20 +00:00
Stefano Sabatini 4160069067 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for XXX_configuration() and
XXX_license() functions, consistent with the rest of FFmpeg.

Originally committed as revision 21005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 14:31:25 +00:00
Michael Niedermayer b8af4fe9a5 Set reordered_opaque in default_reget_buffer() with internal buffers.
From ffmbc0.3, this one appears to be a bugfix.

Originally committed as revision 20862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-14 11:42:17 +00:00
Robert Krüger ce34ff6b45 Factorize av_get_bit_rate (for future use outside of libavcodec).
Patch by Robert Krüger, krueger signal7 de

Originally committed as revision 20569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-21 09:58:15 +00:00
Michael Niedermayer 98c82d6910 Allocate pictures with enough padding for jpeg.
Ensure that jpeg does not use mbs that could require larger padding.
This might have been exploitable.

Originally committed as revision 20566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-20 22:14:37 +00:00
Diego Biurrun c173693698 Add functions to return library license and library configuration.
Originally committed as revision 20547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 17:15:17 +00:00
Michael Niedermayer dccda293a0 Add a NULL pointer check to avcodec_close() this should prevent a segfault
when closing without open.

Originally committed as revision 20495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-10 02:51:47 +00:00
Francesco Lavra 91cc5d3767 Move ff_reverse in libavcodec to av_reverse in libavutil.
Patch by Francesco Lavra, francescolavra interfree it

Originally committed as revision 20484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 09:11:35 +00:00
Reimar Döffinger ea09f69194 Print a warning message when avcodec_default_free_buffers finds unreleased
buffers, this hopefully should help detect codecs that do not release all
buffers e.g. in the decode_end function.

Originally committed as revision 20230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-13 20:48:51 +00:00
Reimar Döffinger 8d23a86f33 Add an execute2 function that is more flexible and allows to use parallel
processing with jobs > threads without wasting too much memory.
It also avoids needing a separate int array when the only additional data
the jobs needs is a single int running from 0 to count-1.

Originally committed as revision 20210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12 11:35:35 +00:00
Reimar Döffinger 681c180dc4 Make avcodec_open set codec_id and codec_type if they haven't been set.
This fixes the API breakage introduced by the check that avctx codec id and type
match the opened codec and should make (almost?) all applications work again.

Originally committed as revision 20125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 15:54:55 +00:00
Michael Niedermayer 2a9b5c9b42 Make sure priv_data is freed and codec is set to NULL in case of failure of avcodec_open().
Originally committed as revision 20002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-23 15:16:36 +00:00
Michael Niedermayer 4c0dda2b3f Check codec_id and codec_type in avcodec_open(), based on 43_codec_type_mismatch.patch from chrome
This is said to be able to lead to a stack based buffer overflow.

Originally committed as revision 19973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-22 22:44:56 +00:00
Diego Biurrun 40461e54ce Add parentheses to logical expression to avoid the warning:
libavcodec/utils.c:476: warning: suggest parentheses around && within ||

Originally committed as revision 19933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-20 18:29:48 +00:00
Peter Ross fa77dd639d perform sanity check on number of audio channels in avcodec_open()
Originally committed as revision 19877 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 11:29:47 +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
Reimar Döffinger 10f9ff9bf6 Set AV_PKT_FLAG_KEY in avcodec_decode_video.
This fixes decoding of MPNG, which currently is incorrectly decoded as
CorePNG delta frames.
CorePNG can not be correctly decoded via this old API either way.

Originally committed as revision 19079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-03 11:23:16 +00:00
Andreas Öman f988ce6cad Add a lock manager API to libavcodec.
Allows an application to register a callback that manages mutexes
on behalf of FFmpeg.
With this callback registered FFmpeg is fully thread safe.

Originally committed as revision 19025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 06:51:18 +00:00
David Conrad ef516f7377 Move ALIGN macro to libavutil/common.h and use it in various places
Originally committed as revision 18898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 21:32:13 +00:00
Stefano Sabatini 2e418f5ed8 Make avcodec_thread_init() set the thread count, even in the case when
threads support is not enabled. This should avoid the need for
thread_count explicit setting in applications.

Originally committed as revision 18670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-23 23:14:26 +00:00