Kostya Shishkov
78622ef362
rv34: free+allocate buffer instead of reallocating it to preserve alignment
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-12 13:49:25 -07: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
Kostya Shishkov
7351eb1415
Pretty-print RV3/4 decoder source
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-09 12:06:38 +02:00
Kostya Shishkov
6f7fe4723b
Correct chroma vector calculation for RealVideo 3.
...
Old version divided it wrong, which resulted in chroma drift (visible on FATE
sample too as dirty trails left by clouds).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 08:23:47 -07:00
Diego Biurrun
657ccb5ac7
Eliminate FF_COMMON_FRAME macro.
...
FF_COMMON_FRAME holds the contents of the AVFrame structure and is also copied
to struct Picture. Replace by an embedded AVFrame structure in struct Picture.
2011-07-11 00:19:00 +02:00
Diego Biurrun
e589e4b82d
Remove unused static tables and static inline functions.
2011-07-04 14:59:35 +02:00
Reinhard Tartler
21a19b7912
doxygen: Prefer member groups over grouping into modules
...
Before this, almost all module groups have been used for grouping functions
and fields in structures semantically. This causes them to not appear
properly in the file documentation and needlessly clutters up the "Modules"
index.
Additionally, this commit streamlines some spelling and appearances.
2011-07-02 13:52:29 +02:00
Oskar Arvidsson
19a0729b4c
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
...
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).
Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.
Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:24:36 -04:00
Stefano Sabatini
975a1447f7
Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +02:00
Anton Khirnov
e7021c0ed5
lavc: remove FF_API_HURRY_UP cruft
2011-04-26 08:16:05 +02:00
Anton Khirnov
8ed2ae09a2
lavc: mark hurry_up for removal on next major bump
...
It has been deprecated for about five years, skip_idct/skip_frame should
be used instead.
2011-04-02 16:17:24 +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
Ronald S. Bultje
2e27959879
Move ff_emulated_edge_mc() into DSPContext.
2011-01-28 22:13:26 -05:00
Diego Biurrun
423c254c18
Disambiguate bitstream groups for AAC and RV30/RV40.
...
Originally committed as revision 23995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 12:55:36 +00:00
Eli Friedman
85b76ce990
Fix "initialization from incompatible pointer type" warning in rv34.
...
Patch by Eli Friedman (at gmail).
Originally committed as revision 23897 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 06:50:44 +00:00
Måns Rullgård
9bfb72d9e9
rv34: kill VLAs
...
Originally committed as revision 23774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-25 08:19: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
Vitor Sessak
e8ff21fdf5
Revert commit 22378.
...
It broke FATE and kostya asked me on IRC to revert it.
Originally committed as revision 22379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 08:20:11 +00:00
Kostya Shishkov
95bd18eeca
Check for reference frames so RV 3/4 won't segfault trying to copy data from
...
nonexisting reference.
Originally committed as revision 22378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 07:14:34 +00:00
Kostya Shishkov
d90aeeaf56
Call avcodec_set_dimensions() instead of simply setting avctx->width/height
...
when frame dimensions change in RV3/4.
Originally committed as revision 20595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 06:05:41 +00:00
Kostya Shishkov
ec10d2d539
Update dimensions in AVCodecContext when RV3/4 frame dimensions change
...
Originally committed as revision 20572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 07:48:35 +00:00
Kostya Shishkov
1369582777
Convert ZERO8x2 macro into inline function
...
Originally committed as revision 19746 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 10:54:16 +00:00
Kostya Shishkov
b7eb7ef6b5
Zeroing pic->motion_val in RV3/4 causes alignment problems on some 64-bit
...
architectures since stride is multiple of 4 and not of 8, so split
fill_rectangle() calls to operate on 32-bit words instead of 64-bit ones.
Originally committed as revision 19744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 06:30:53 +00:00
Kostya Shishkov
20622c4a8a
Adjust r->avail_cache[] indexes to avoid alignment issues when zeroing block
...
inside it.
Originally committed as revision 19743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-30 06:16:33 +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
Kostya Shishkov
9c4b5eb8ce
Revert changing VLC initialization type for RV3/4 decoder.
...
While using large static table is not good (especially for embedded devices and
CPUs with small cache), other alternatives are not very good either.
Originally committed as revision 18696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-27 05:30:22 +00:00
Kostya Shishkov
3df18b3ed1
Get rid of monstrous static table and initialize VLCs for RV3/4 dynamically.
...
Originally committed as revision 18681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-25 05:47:38 +00:00
Kostya Shishkov
a456df258e
100l: VLC table array should not be const
...
Originally committed as revision 18642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 17:35:30 +00:00
Kostya Shishkov
547b6a4cc7
Make RV3/4 VLC tables use new static initialization method
...
Originally committed as revision 18637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 04:42:27 +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
Kostya Shishkov
0304109df6
Correct MV prediction for B-frame blocks in RV4 decoder
...
Originally committed as revision 17974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 08:21:42 +00:00
Kostya Shishkov
923ed9748c
Fix direct and skip MB motion compensation in RV4:
...
two conditions were incomplete and zeroing motion
vectors was performed only on half of them.
Originally committed as revision 17947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-13 13:48:44 +00:00
Kostya Shishkov
7a47495079
cosmetics: reindent after last commit
...
Originally committed as revision 17585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-25 08:36:00 +00:00
Kostya Shishkov
77f7156d85
Since motion vectors for intra blocks are always zero, do not try to retrieve them.
...
Originally committed as revision 17584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-25 08:35:37 +00:00
Kostya Shishkov
7fa70598e8
Enable dropping frames for RV3/4
...
Originally committed as revision 17221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 06:38:50 +00:00
Kostya Shishkov
86dd3974e5
In RV3/4 nonzero MB offset for the first slice also indicates error
...
Originally committed as revision 17201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-13 07:06:36 +00:00
Kostya Shishkov
432f1f11ea
Move RV3/4 frame type check up so 1-slice unanchored B-frames are checked, too.
...
Originally committed as revision 17031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-07 10:46:51 +00:00
Kostya Shishkov
3ffabd4e49
Silence two pointer assignment compiler warnings in rv34.c
...
Originally committed as revision 16916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 15:03:40 +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
Diego Biurrun
dc8a7c93d3
Add missing void keyword to parameterless function declarations.
...
Originally committed as revision 16860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-30 18:38:25 +00:00
Kostya Shishkov
1aa7335149
Fix Doxygen comments for RV3/4 decoder.
...
Originally committed as revision 16842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-28 07:16:20 +00:00
Aurelien Jacobs
199436b952
moves mid_pred() into mathops.h (with arch specific code split by directory)
...
Originally committed as revision 16681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 22:57:40 +00:00
Kostya Shishkov
592beefe99
It turned out that RV30 uses motion vectors for forward motion B-frame
...
macroblocks to predict motion vectors for backward motion B-frame macroblocks
and vice versa.
Originally committed as revision 16381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-29 10:20:03 +00:00
Kostya Shishkov
ffedb5c19a
352l: correct calculating number of bits for storing macroblock offset in RV3/4
...
Originally committed as revision 16293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-23 18:27:06 +00:00
Kostya Shishkov
17b17c53f4
add const qualifier to some pointers for input data
...
Originally committed as revision 16195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 20:17:07 +00:00
Kostya Shishkov
bb39171beb
use precalculated mb_pos where available
...
Originally committed as revision 16194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 20:10:15 +00:00
Kostya Shishkov
6c3fca6479
Merge deblocking pattern with CBP for RV30/40 loop filtering
...
Originally committed as revision 16192 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 20:00:48 +00:00
Kostya Shishkov
26bc319c1d
Generate correct deblock pattern for RV30
...
Originally committed as revision 16191 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-17 19:39:56 +00:00