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
Kostya Shishkov
0dfcc36818
Do not attempt to decode RV30/40 B-frames without anchors.
...
This fixes issue 747.
Originally committed as revision 16031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-07 16:30:08 +00:00
Kostya Shishkov
3e16cde430
Fix reading out of buffer during RV30/40 deblock mask calculation
...
Originally committed as revision 15983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-02 18:14:53 +00:00
Kostya Shishkov
958a2b5d6b
34l: forgot to change one case of chroma MC for RV40
...
Originally committed as revision 15982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-02 18:12:48 +00:00
Kostya Shishkov
1799d5223e
Check RV30/40 slice offsets to be inside buffer.
...
This fixes issue 738
Originally committed as revision 15981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-02 17:39:20 +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
f653095bdd
Fix RV40 chroma MC
...
Originally committed as revision 15943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-27 07:26:26 +00:00
Kostya Shishkov
cd98279126
33l Fix applying residue condition in RV30/40 decoder
...
Originally committed as revision 15891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-20 14:07:37 +00:00
Kostya Shishkov
78a0fa8c8f
Eliminate direct use of s->current_picture in RV30/40 decoder
...
Originally committed as revision 15890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-20 14:05:29 +00:00
Kostya Shishkov
7690351cf3
Use wider margins for edge emulation in RV30/40
...
Originally committed as revision 15889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-20 14:03:35 +00:00
Diego Biurrun
52ece41057
Remove unused variable.
...
Originally committed as revision 15803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-12 17:29:02 +00:00
Kostya Shishkov
502ecc97af
Split RV3/4 deblock pattern into horizontal and vertical parts
...
during calculating.
Originally committed as revision 15794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-08 18:15:13 +00:00
Kostya Shishkov
ede0a5f973
Drop redundant check in RV3/4 deblock coefficients calculation
...
Originally committed as revision 15792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-08 07:24:56 +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
b215365817
Introduce RV3-specific motion vector prediction.
...
Now B-frames in RV3 look almost correct.
Originally committed as revision 15764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-01 17:57:44 +00:00
Kostya Shishkov
5f621dd28a
Correct motion vector scaling in B-frames for RV3/4
...
Originally committed as revision 15747 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-30 06:08:47 +00:00
Kostya Shishkov
2ee054c215
Fix chroma motion compensation for RV30
...
Originally committed as revision 15731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-27 19:07:39 +00:00
Kostya Shishkov
60ce2f9cae
Choose RV3/4 DC quantizer correctly
...
Originally committed as revision 15675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-24 06:17:18 +00:00
Kostya Shishkov
ccfe8ae310
34l: free RV3/4 context variables at the end
...
Originally committed as revision 15652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-20 05:59:50 +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
c0b821befb
Mark some of RV3/4 block types as having separate DC subblock
...
Originally committed as revision 15650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-20 05:54:31 +00:00
Diego Biurrun
ccd425e799
Remove unnecessary parentheses from return calls.
...
Originally committed as revision 13069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-06 09:16:36 +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
Kostya Shishkov
86c90cc7a6
Skip blocks in B-frames reuse motion vectors from next reference frame.
...
So if referenced blocks is 16x8, 8x16 or 8x8 partitions, skip block
will have them too.
Originally committed as revision 12987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-26 13:09:36 +00:00
Zuxy Meng
98a6fff98c
Apply 'cold' attribute to init/uninit functions in libavcodec
...
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Aurelien Jacobs
9701840bb5
add FF_ prefix to all (frame)_TYPE usage
...
Originally committed as revision 12399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-09 23:31:02 +00:00
Kostya Shishkov
34093ab58e
Save quantizer values as well
...
Originally committed as revision 11555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-18 07:04:58 +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
81df386929
Fractional parts of motion vectors should be accounted separately too
...
Originally committed as revision 11433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-06 11:47:53 +00:00
Kostya Shishkov
f1917274cc
RV30 thirdpel motion compensation support
...
Originally committed as revision 11398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 17:50:45 +00:00
Kostya Shishkov
b44665c4e6
Make decode210() common function.
...
Originally committed as revision 11382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-03 09:16:56 +00:00
Kostya Shishkov
e640a5c4ce
Direct blocks should use motion vectors from the second reference frame
...
Originally committed as revision 11361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-31 07:12:50 +00:00
Kostya Shishkov
b0797570df
Correct spatial prediction mode in RV30/40 for vertical left direction
...
and add its version that does not rely on down left neighbour subblock.
Originally committed as revision 11252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-17 18:43:34 +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