1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

42509 Commits

Author SHA1 Message Date
Mans Rullgard
87466f8124 flacdec: factor out code setting avctx->sample_fmt 2012-07-04 03:34:34 +01:00
Mans Rullgard
d155b60fc8 flac: make FLAC_CHMODE_* constants consecutive 2012-07-04 03:30:43 +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
Michael Niedermayer
df3a96c497 ffmpeg: Add sanity check on frame duplication
This prevents long loops and OOM in case of damaged timestamps in some
cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 04:17:00 +02:00
Piotr Bandurski
a54bc1ebb8 riff: add "YUV8" FourCC
sample:

http://samples.mplayerhq.hu/V-codecs/yuv8/MAILTEST.AVI

Reviewed-by: compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 04:17:00 +02:00
Mans Rullgard
983fa8bc46 fate: add flac encode/decode tests with various options
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 01:22:40 +01:00
Mans Rullgard
360aa2465a flacenc: add option for forcing stereo decorrelation mode
This is mainly useful for testing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 01:22:40 +01:00
Stefano Sabatini
776a4e42a7 doc/muxers/segment: apply minor documentation updates and adjustements
Update documentation to match code behavior after previous changes, also
reword the examples section.
2012-07-04 01:17:58 +02:00
Michael Niedermayer
5eb4af6c59 snow: move init code that depends on picture paramaters to after these parameters are known.
This should fix debug 2048 amongth other things

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 01:02:01 +02:00
Michael Niedermayer
93d672967d video_get_buffer: return ENOMEM instead of -1 on malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:47:18 +02:00
Michael Niedermayer
f339ebc1ff lavc/utils: print error message on get_buffer related errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:46:36 +02:00
Michael Niedermayer
f91b7d8030 mdutils: print error message on error get_buffer related errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:46:08 +02:00
Michael Niedermayer
86e107a7d4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Consistently use C-style comments with multiple inclusion guards
  anm: fix a few Doxygen comments
  misc typo and wording fixes
  attributes: add av_noreturn
  attributes: drop pointless define guards
  configure: do not disable av_always_inline with --enable-small
  flvdec: initial stream switch support
  avplay: fix write on freed memory for rawvideo
  snow: remove a VLA used for edge emulation
  x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
  snow: remove the runs[] VLA.
  snow: Check mallocs at init
  flacdec: remove redundant setting of avctx->sample_fmt

Conflicts:
	ffplay.c
	libavcodec/h264.c
	libavcodec/snow.c
	libavcodec/snow.h
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavformat/flvdec.c
	libavutil/attributes.h
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:32:31 +02:00
Stefano Sabatini
af392efe51 lavf/segment: rename SegmentContext.pb to list_pb
The new name is more auto-explicative, as the pb is used for the segment
list file.
2012-07-04 00:02:56 +02:00
Stefano Sabatini
d8013f38ab lavf/segment: add error log in case of invalid filename template
Better rather than silently exit.
2012-07-03 23:26:07 +02:00
Stefano Sabatini
a1e092ccd3 lavf/segment: fix logic for segmenting audio-only inputs
Also add a comment for clarifying the logic.

Fix trac ticket #1290.
2012-07-03 23:23:36 +02:00
Stefano Sabatini
4e2899dd31 lavf/segment: add more information in log message in seg_write_packet() 2012-07-03 23:23:29 +02:00
Nedeljko Babic
597282efa7 doc: add documentation regarding MIPS optimizations
Add doc/mips.txt document with short explanation regarding targeted
platform for MIPS optimizations and regarding MIPS copyright notice.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-03 22:06:10 +02:00
Stefano Sabatini
fd0e6ef99a lavf/segment: remove unused offset variable 2012-07-03 21:48:50 +02:00
Stefano Sabatini
77dcae5d74 lavf/segment: apply misc fixes to the private options internal documentation
Option help message tell what the option *does*, not what the set field
represents.
2012-07-03 21:48:50 +02:00
Stefano Sabatini
a5af29336a lavf/segment: slightly simplify fail logic in seg_write_packet() 2012-07-03 21:48:50 +02:00
Stefano Sabatini
4ad17bc76b lavf/segment: move list filename printing logic from segment_end() to segment_start()
Allow to deal with the list file printing only in a single point, thus
simplifying logic, and allow a bit of factorization (no special case
needed when printing the first file name of the list).
2012-07-03 21:48:50 +02:00
Martin Storsjö
30327865f3 ismindex: Verify that all bitrate variants match
In Smooth Streaming, the fragments are addressed by time, and
the manifest only stores one list of time offests for all streams,
so all streams need to have identical fragment offsets. Warn if
this isn't the case, so that the user can fix the files instead of
getting failures at runtime when the fragments can't be found.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 22:46:58 +03:00
Martin Storsjö
1be8c90847 ismindex: Properly report errors reading the MFRA atom
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 22:46:53 +03:00
Carl Eugen Hoyos
71e5a14028 Suggest aresample filter if it was not compiled but requested. 2012-07-03 21:35:20 +02:00
Michael Niedermayer
6ea973fc4c avcodec_align_dimensions2: support 12 & 14 bit planar colorspaces
Reviewed-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:03:40 +02:00
Michael Niedermayer
4251a0b84c imgconvert: add planar RGB formats to pix_fmt_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:03:26 +02:00
Michael Niedermayer
6ca8ef5189 imgconvert: add yuv 9,10,12,14 bit planar YUV formats to pix_fmt_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:03:26 +02:00
Michael Niedermayer
e9757066e1 libavutil: add 12 and 14 bit planar colorspaces
Reviewed-by: Jean First <jeanfirst@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 19:02:34 +02:00
Diego Biurrun
1a068bfefd cosmetics: Consistently use C-style comments with multiple inclusion guards 2012-07-03 17:35:12 +02:00
Diego Biurrun
4051be6f50 anm: fix a few Doxygen comments 2012-07-03 17:35:11 +02:00
Diego Biurrun
09f211987c misc typo and wording fixes 2012-07-03 17:35:11 +02:00
Reinhard Tartler
22662ca560 attributes: add av_noreturn
Also use it in the declaration of the various exit_program
implementations in avtools.

inspired by a clang-scan report.
2012-07-03 17:26:51 +02:00
Reinhard Tartler
a1641e9540 attributes: drop pointless define guards
the av_-prefixed attributes must not be defined outside of this file
2012-07-03 17:26:51 +02:00
Mans Rullgard
06eb4f0885 configure: do not disable av_always_inline with --enable-small
Currently, --enable-small turns av_always_inline into plain inline,
which is more or less ignored by the compiler.  While the intent of
this is probably to reduce code size by avoiding some inlining, it
has more far-reaching effects.

We use av_always_inline in two situations:

1. The body of a function is smaller than the call overhead.
   Instances of these are abundant in libavutil, the bswap.h
   functions being good examples.

2. The function is a template relying on constant propagation
   through inlined calls for sane code generation.  These are
   often found in motion compensation code.

Both of these types of functions should be inlined even if targeting
small code size.

Although GCC has heuristics for detecting the first of these types,
it is not always reliable, especially when the function uses inline
assembler, which is often the reason for having those functions in
the first place, so making it explicit is generally a good idea.

The size increase from inlining template-type functions is usually
much smaller than it seems due to different branches being mutually
exclusive between the different invocations.  The dead branches can,
however, only be removed after inlining and constant propagation have
been performed, which means the initial cost estimate for inlining
these is much higher than is actually the case, resulting in GCC
often making bad choices if left to its own devices.

Furthermore, the GCC inliner limits how much it allows a function to
grow due to automatic inlining of calls, and this appears to not take
call overhead into account.  When nested inlining is used, the limit
may be hit before the innermost level is reached.  In some cases, this
has prevented inlining of type 1 functions as defined above, resulting
in significant performance loss.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 16:10:54 +01:00
Luca Barbato
09a445ce34 flvdec: initial stream switch support
Codec change midstream gets mapped to a separate stream.
2012-07-03 15:35:51 +02:00
Luca Barbato
906f9dce85 avplay: fix write on freed memory for rawvideo
Do not assume avpacket and the decoded frames are independent.

To be absolutely sure and not sprinkle av_free_packet around the code
the call had been placed before getting the frame and on the error path.
2012-07-03 15:35:51 +02:00
Ronald S. Bultje
3389545157 snow: remove a VLA used for edge emulation
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 16:31:23 +03:00
Mans Rullgard
fb93e61e2b x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
These functions are defined conditionally so any uses need to have
preprocessor guards.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 14:14:13 +01:00
Paul B Mahol
5d171b1f47 jvdec: check if there is enough data
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Paul B Mahol
f8a81755c2 jvdec: remove redundant check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Paul B Mahol
1bc9e4c5b2 jvdec: remove buf_size
It is same as avpkt->size.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Paul B Mahol
1c638cfc25 jvdec: stop reading partial palette
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 13:06:23 +00:00
Michael Niedermayer
c673a90b0d tools: add bisect script
This script works like "git bisect" except that you can
specify with "bisect need ffmpeg|ffplay|ffserver|ffprobe" which tool(s)
are needed for testing a checkout

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 13:29:12 +02:00
Michael Niedermayer
c9de83fefd yadif/x86: add prototypes for functions, make code valid C again.
Broken by: libav (a87b17f328)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 12:47:11 +02:00
Michael Niedermayer
114f82ee7e jvdec: check that the video_size fits in the packet.
Prevents use of out of array data and fate failure.

Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 12:38:03 +02:00
Paul B Mahol
596814f978 jvdec: fix memleak of jv->frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 09:53:42 +00:00
Ronald S. Bultje
cbd9b2f918 snow: remove the runs[] VLA.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:46 +03:00
Martin Storsjö
4d8516fdb1 snow: Check mallocs at init
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:39 +03:00