Commit Graph

25 Commits

Author SHA1 Message Date
Anton Khirnov
df9b956751 lavc: fix decode_frame() third parameter semantics for video decoders
It's got_frame, not data size
2012-12-04 21:45:36 +01:00
Christophe GISQUET
272b252c01 rv40dsp: implement prescaled versions for biweight.
Quite often, the original weights are multiple of 512. By prescaling them
by 1/512 when they are computed (once per frame), no intermediate shifting
is needed, and no prescaling on each call either.

The x86 code already used that trick.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-04-10 10:06:48 -07:00
Janne Grunau
bf61ef2316 rv34: use uint16_t for RV34DecContext.deblock_coefs
It is used as bitfield with 16 entries.
2012-02-14 14:42:55 +01:00
Janne Grunau
9472d37d8e rv34: frame-level multi-threading
Statistics for bourne.rmvb -an -f null

1 thread:  37.12s user 0.03s system  99% cpu 37.174 total
2 threads: 47.63s user 0.24s system 185% cpu 25.807 total
4 threads: 41.21s user 0.30s system 327% cpu 12.674 total
2012-01-10 22:51:56 +01:00
Janne Grunau
e652cc9606 rv34: use get_bits_left()
It is not necessary to store the bit stream length in a RV34DecContext
field.
2012-01-10 16:58:53 +01:00
Kostya Shishkov
b86ab38137 Add weighted motion compensation for RV40 B-frames
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:58 -07:00
Kostya Shishkov
e5ec68699e RV3/4: calculate B-frame motion weights once per frame
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:23 -07:00
Kostya Shishkov
d241f51e0f Move RV3/4-specific DSP functions into their own context
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:15 -07: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 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
Måns Rullgård
84dc2d8afa Remove DECLARE_ALIGNED_{8,16} macros
These macros are redundant.  All uses are replaced with the generic
DECLARE_ALIGNED macro instead.

Originally committed as revision 22233 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 14:24:59 +00:00
Måns Rullgård
c67278098d Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 21377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-22 03:25:11 +00:00
Kostya Shishkov
39c601b5e7 RV3/4 intra types array causes alignment issues (at least on ARM5), thus change
its stride and offset to always have align 4.

Originally committed as revision 19316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-01 15:08:02 +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
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Kostya Shishkov
a1c1c78019 Update ff_rv34_decode_frame() arguments definition
Originally committed as revision 15980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-02 17:35:38 +00:00
Kostya Shishkov
de8cac167d Invoke future RV30/40 loop filter for already decoded rows instead of
the whole frame at once.

Originally committed as revision 15949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-29 06:22:31 +00:00
Kostya Shishkov
e122311261 Calculating an additional MV-based deblocking pattern is the same
for both RV3 and RV4, so move it into common code.

Originally committed as revision 15786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-07 07:18:22 +00:00
Kostya Shishkov
def4f63b85 RV3 and RV4 decoders set some deblocking coefs for each macroblock,
so store them in the context and register a function to calculate them.

Originally committed as revision 15651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-20 05:58:05 +00:00
Kostya Shishkov
cba64af245 Register RV-[34] block specific feature for long future loop filter
Originally committed as revision 15565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-05 16:11:12 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Kostya Shishkov
39902a8c93 Calculate motion vector information based on PTS provided in slice header
Originally committed as revision 13011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-28 13:37:36 +00:00
Diego Biurrun
1db38dad33 Make luma_dc_quant_i and luma_dc_quant_p const, fixes a couple of
"assignment discards qualifiers from pointer target type" warnings.
blessed by Konstantin Shishkov

Originally committed as revision 11850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-04 10:26:35 +00:00
Kostya Shishkov
b008e6b869 Save coded block patterns for future loop filtering.
Originally committed as revision 11554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-18 07:04:11 +00:00
Kostya Shishkov
a52ef6a894 RV30/40 decoding core
Originally committed as revision 11229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-16 12:44:25 +00:00